You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
241 lines
6.9 KiB
241 lines
6.9 KiB
// package com.werpu.simplemail;
|
|
|
|
|
|
/**
|
|
* SimpleMailFrm
|
|
* This is the main window from of the simple mail application
|
|
* @author Werner Punz werpu@gmx.at
|
|
* This class was generated by Qt Designer and then converted to Java and
|
|
* redesigned to fit into the KDE Framework
|
|
*/
|
|
|
|
import org.kde.qt.*;
|
|
import org.kde.koala.*;
|
|
import java.util.StringTokenizer;
|
|
import java.util.LinkedList;
|
|
|
|
|
|
|
|
class SimpleMailFrm extends KMainWindow {
|
|
|
|
|
|
QGroupBox groupBox1;
|
|
KLineEdit txtServer;
|
|
KLineEdit txtUserName;
|
|
KPasswordEdit txtPassword;
|
|
QLabel textLabel1;
|
|
QLabel textLabel2;
|
|
QLabel textLabel3;
|
|
KLineEdit txtFrom;
|
|
KLineEdit txtTo;
|
|
KLineEdit txtBCC;
|
|
QLabel textLabel4;
|
|
QLabel textLabel6;
|
|
QLabel textLabel5;
|
|
KPushButton btSend;
|
|
KPushButton btCancel;
|
|
QMultiLineEdit txtMessage;
|
|
|
|
|
|
QGridLayout form1Layout;
|
|
QGridLayout groupBox1Layout;
|
|
|
|
KApplication parentApp = null;
|
|
|
|
public SimpleMailFrm(KApplication kApp)
|
|
|
|
{
|
|
super( null, null,0);
|
|
parentApp = kApp;
|
|
|
|
|
|
resize( 582, 486 );
|
|
setCaption( trUtf8( "Simple Mailer" ) );
|
|
|
|
QGroupBox centralBox = new QGroupBox((QWidget) this,"");
|
|
|
|
form1Layout = new QGridLayout(centralBox, 1, 1, 11, 6, "form1Layout");
|
|
|
|
groupBox1 = new QGroupBox( centralBox, "groupBox1" );
|
|
groupBox1.setTitle( trUtf8( "Mailserver data" ) );
|
|
groupBox1.setColumnLayout(0, Qt.Vertical );
|
|
groupBox1.layout().setSpacing( 6 );
|
|
groupBox1.layout().setMargin( 11 );
|
|
groupBox1Layout = new QGridLayout( groupBox1.layout() );
|
|
groupBox1Layout.setAlignment( Qt.AlignTop );
|
|
|
|
txtServer = new KLineEdit( groupBox1, "txtServer" );
|
|
|
|
groupBox1Layout.addWidget( txtServer, 0, 1 );
|
|
|
|
txtUserName = new KLineEdit( groupBox1, "txtUserName" );
|
|
|
|
groupBox1Layout.addWidget( txtUserName, 1, 1 );
|
|
|
|
txtPassword = new KPasswordEdit( groupBox1, "txtPassword" );
|
|
|
|
groupBox1Layout.addWidget( txtPassword, 2, 1 );
|
|
|
|
textLabel1 = new QLabel( groupBox1, "textLabel1" );
|
|
textLabel1.setText( trUtf8( "Server" ) );
|
|
|
|
groupBox1Layout.addWidget( textLabel1, 0, 0 );
|
|
|
|
textLabel2 = new QLabel( groupBox1, "textLabel2" );
|
|
textLabel2.setText( trUtf8( "Username" ) );
|
|
|
|
groupBox1Layout.addWidget( textLabel2, 1, 0 );
|
|
|
|
textLabel3 = new QLabel( groupBox1, "textLabel3" );
|
|
textLabel3.setText( trUtf8( "Password" ) );
|
|
|
|
groupBox1Layout.addWidget( textLabel3, 2, 0 );
|
|
|
|
txtFrom = new KLineEdit( groupBox1, "txtFrom" );
|
|
|
|
groupBox1Layout.addWidget( txtFrom, 0, 3 );
|
|
|
|
txtTo = new KLineEdit( groupBox1, "txtTo" );
|
|
|
|
groupBox1Layout.addWidget( txtTo, 1, 3 );
|
|
|
|
txtBCC = new KLineEdit( groupBox1, "txtBCC" );
|
|
|
|
groupBox1Layout.addWidget( txtBCC, 2, 3 );
|
|
|
|
textLabel4 = new QLabel( groupBox1, "textLabel4" );
|
|
textLabel4.setText( trUtf8( "From" ) );
|
|
|
|
groupBox1Layout.addWidget( textLabel4, 0, 2 );
|
|
|
|
textLabel6 = new QLabel( groupBox1, "textLabel6" );
|
|
textLabel6.setText( trUtf8( "BCC" ) );
|
|
|
|
groupBox1Layout.addWidget( textLabel6, 2, 2 );
|
|
|
|
textLabel5 = new QLabel( groupBox1, "textLabel5" );
|
|
textLabel5.setText( trUtf8( "To" ) );
|
|
|
|
groupBox1Layout.addWidget( textLabel5, 1, 2 );
|
|
|
|
form1Layout.addMultiCellWidget( groupBox1, 0, 0, 0, 1 );
|
|
|
|
btSend = new KPushButton( centralBox, "btSend" );
|
|
btSend.setText( trUtf8( "Send" ) );
|
|
|
|
form1Layout.addWidget( btSend, 2, 0 );
|
|
|
|
btCancel = new KPushButton( centralBox, "btCancel" );
|
|
btCancel.setText( trUtf8( "Cancel" ) );
|
|
|
|
form1Layout.addWidget( btCancel, 2, 1 );
|
|
|
|
txtMessage = new QMultiLineEdit(centralBox, "txtMessage" );
|
|
|
|
form1Layout.addMultiCellWidget( txtMessage, 1, 1, 0, 1 );
|
|
|
|
setCentralWidget(centralBox);
|
|
// tab order
|
|
setTabOrder( txtServer, txtUserName );
|
|
setTabOrder( txtUserName, txtPassword );
|
|
setTabOrder( txtPassword, txtFrom );
|
|
setTabOrder( txtFrom, txtTo );
|
|
setTabOrder( txtTo, txtBCC );
|
|
setTabOrder( txtBCC, txtMessage );
|
|
setTabOrder( txtMessage, btSend );
|
|
setTabOrder( btSend, btCancel );
|
|
|
|
setEventHandlers();
|
|
}
|
|
|
|
//----------------------------------------------------------
|
|
// Getter Methods to access the data outside of the
|
|
// current class
|
|
//----------------------------------------------------------
|
|
|
|
public String getServer() {
|
|
return txtServer.text();
|
|
}
|
|
|
|
public String getUserName() {
|
|
return txtUserName.text();
|
|
}
|
|
|
|
public String getPassword() {
|
|
return txtPassword.text();
|
|
}
|
|
|
|
public String getFrom() {
|
|
return txtFrom.text();
|
|
}
|
|
|
|
public String getTo() {
|
|
return txtTo.text();
|
|
}
|
|
|
|
public String getBCC() {
|
|
return txtBCC.text();
|
|
}
|
|
|
|
public String getMessage() {
|
|
return txtMessage.text();
|
|
}
|
|
|
|
void setEventHandlers() {
|
|
connect( btCancel, SIGNAL("clicked()"), parentApp, SLOT("quit()"));
|
|
connect( btSend,SIGNAL("clicked()"),this,SLOT("sendMail()"));
|
|
}
|
|
|
|
|
|
//--------------------------------------------
|
|
// Slots
|
|
//-------------------------------------------
|
|
public void sendMail() {
|
|
String server = getServer();
|
|
String userName = getUserName();
|
|
String password = getPassword();
|
|
String from = getFrom();
|
|
String to = getTo();
|
|
String message = getMessage();
|
|
LinkedList bccs = getBCCs();
|
|
|
|
try {
|
|
MailHelper mailer = new MailHelper();
|
|
mailer.setMessage(message);
|
|
mailer.setSubject("Simple Mail");
|
|
mailer.setSender(from);
|
|
mailer.setRecipient(to);
|
|
mailer.addCCAddress(bccs.iterator());
|
|
mailer.setServer(server);
|
|
mailer.setUsername(userName);
|
|
mailer.setPassword(password);
|
|
mailer.send();
|
|
}
|
|
catch (Exception ex) {
|
|
KMessageBox.error(this , ex.getMessage());
|
|
return;
|
|
}
|
|
KMessageBox.information(this,"Mail was successfully sent!");
|
|
}
|
|
|
|
//-------------------------------------
|
|
//Helpers
|
|
//-------------------------------------
|
|
|
|
/**
|
|
* Split the BCCs into single entries if nedded
|
|
*/
|
|
LinkedList getBCCs() {
|
|
LinkedList retVal = new LinkedList();
|
|
|
|
String bcc = getBCC();
|
|
StringTokenizer splitter = new StringTokenizer(bcc,",;");
|
|
|
|
while(splitter.hasMoreTokens())
|
|
retVal.add(splitter.nextToken());
|
|
|
|
return retVal;
|
|
}
|
|
}
|
|
|