WizardPanel p1 = new WizardPanel(wizard, "Introduction");
p1.addLabel(introText.toString());
}
private void addMailPanelToWizard() {
final WizardPanel p2 = new WizardPanel(wizard, "Mail document") {
private static final long serialVersionUID = -1111708493729196988L;
/**
* @see de.chris_soft.utilities.swing.wizard.WizardPanel#isNextButtonEnabled()
*/
@Override
public boolean isNextButtonEnabled() {
if (!Boolean.parseBoolean(wizard.getContent(PROP_KEY_SHALL_SEND_MAIL, "true"))) {
return true;
}
if (!wizard.getContent(PROP_KEY_SENDER_MAIL_ADDRESS, "").contains("@")) {
return false;
}
if (wizard.getContent(PROP_KEY_SENDER_MAIL_PW, "").length() == 0) {
return false;
}
if (wizard.getContent(PROP_KEY_SENDER_MAIL_LOGIN, "").length() == 0) {
return false;
}
if (wizard.getContent(PROP_KEY_SENDER_POP3_SERVER, "").length() == 0) {
return false;
}
if (wizard.getContent(PROP_KEY_SENDER_SMTP_PORT, "").length() == 0) {
return false;
}
if (wizard.getContent(PROP_KEY_SENDER_SMTP_SERVER, "").length() == 0) {
return false;
}
if (!wizard.getContent(PROP_KEY_RECEIVER_MAIL_ADDRESS, "").contains("@")) {
return false;
}
return true;
}
};
// Set default values if missing.
wizard.getContent(PROP_KEY_SHALL_SEND_MAIL, "true");
wizard.getContent(PROP_KEY_SET_FULLTEXT_INTO_MAIL_BODY, "true");
p2.addCheckBoxInput("Send mail per document", PROP_KEY_SHALL_SEND_MAIL, new WizardCheckBoxInputListener() {
@Override
public void checkInputChanged(String key, boolean checked) {
p2.getComponentByName(PROP_KEY_SENDER_MAIL_ADDRESS).setEnabled(checked);
p2.getComponentByName(PROP_KEY_SENDER_MAIL_LOGIN).setEnabled(checked);
p2.getComponentByName(PROP_KEY_SENDER_MAIL_PW).setEnabled(checked);
p2.getComponentByName(PROP_KEY_SENDER_SMTP_PORT).setEnabled(checked);
p2.getComponentByName(PROP_KEY_SENDER_SMTP_SERVER).setEnabled(checked);
p2.getComponentByName(PROP_KEY_SENDER_POP3_SERVER).setEnabled(checked);
p2.getComponentByName(PROP_KEY_RECEIVER_MAIL_ADDRESS).setEnabled(checked);
p2.getComponentByName(PROP_KEY_SET_FULLTEXT_INTO_MAIL_BODY).setEnabled(checked);
p2.getComponentByName(PROP_KEY_ADD_DOCUMENT_AS_ATTACHMENT).setEnabled(checked);
}
});
p2.addTextInput("Sender mail address", PROP_KEY_SENDER_MAIL_ADDRESS, new WizardTextInputListener() {
@Override
public void textInputChanged(String key, String textContent) {
final String lowerContent = textContent.toLowerCase();
((JTextField) p2.getComponentByName(PROP_KEY_SENDER_MAIL_LOGIN)).setText(textContent);
if (lowerContent.endsWith("@googlemail.com") || lowerContent.endsWith("@gmail.com")) {
((JTextField) p2.getComponentByName(PROP_KEY_SENDER_SMTP_SERVER)).setText("smtp.googlemail.com");
((JTextField) p2.getComponentByName(PROP_KEY_SENDER_SMTP_PORT)).setText("587");
((JTextField) p2.getComponentByName(PROP_KEY_SENDER_POP3_SERVER)).setText("pop.googlemail.com");
}
else if (lowerContent.contains("@gmx.")) {
((JTextField) p2.getComponentByName(PROP_KEY_SENDER_SMTP_SERVER)).setText("mail.gmx.net");
((JTextField) p2.getComponentByName(PROP_KEY_SENDER_SMTP_PORT)).setText("587");
((JTextField) p2.getComponentByName(PROP_KEY_SENDER_POP3_SERVER)).setText("pop.gmx.net");
}
else if (lowerContent.endsWith("@aol.com")) {
((JTextField) p2.getComponentByName(PROP_KEY_SENDER_SMTP_SERVER)).setText("smtp.de.aol.com");
((JTextField) p2.getComponentByName(PROP_KEY_SENDER_SMTP_PORT)).setText("587");
((JTextField) p2.getComponentByName(PROP_KEY_SENDER_POP3_SERVER)).setText("pop.aol.com");
String onlyLoginName = lowerContent.substring(0, lowerContent.length() - 8);
((JTextField) p2.getComponentByName(PROP_KEY_SENDER_MAIL_LOGIN)).setText(onlyLoginName);
}
}
});
p2.addTextInput("Sender mail login", PROP_KEY_SENDER_MAIL_LOGIN, null);
p2.addTextInput("Sender mail password", PROP_KEY_SENDER_MAIL_PW, null);
p2.addTextInput("Sender SMTP server", PROP_KEY_SENDER_SMTP_SERVER, null);
p2.addTextInput("Sender SMTP port", PROP_KEY_SENDER_SMTP_PORT, null);
p2.addTextInput("Sender POP3 server", PROP_KEY_SENDER_POP3_SERVER, null);
p2.addTextInput("Receiver mail address", PROP_KEY_RECEIVER_MAIL_ADDRESS, null);
p2.addCheckBoxInput("Set document full text into mail body", PROP_KEY_SET_FULLTEXT_INTO_MAIL_BODY, null);
p2.addCheckBoxInput("Add PDF document as attachment", PROP_KEY_ADD_DOCUMENT_AS_ATTACHMENT, null);
}