| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| // CHECKSTYLE:FileLength:OFF |
| package org.apache.hop.workflow.actions.getpop; |
| |
| import jakarta.mail.Folder; |
| import java.text.SimpleDateFormat; |
| import java.util.Calendar; |
| import org.apache.commons.lang.StringUtils; |
| import org.apache.hop.core.Const; |
| import org.apache.hop.core.Props; |
| import org.apache.hop.core.logging.LogChannel; |
| import org.apache.hop.core.util.Utils; |
| import org.apache.hop.core.variables.IVariables; |
| import org.apache.hop.i18n.BaseMessages; |
| import org.apache.hop.ui.core.PropsUi; |
| import org.apache.hop.ui.core.dialog.BaseDialog; |
| import org.apache.hop.ui.core.dialog.MessageBox; |
| import org.apache.hop.ui.core.gui.GuiResource; |
| import org.apache.hop.ui.core.widget.PasswordTextVar; |
| import org.apache.hop.ui.core.widget.TextVar; |
| import org.apache.hop.ui.pipeline.transform.BaseTransformDialog; |
| import org.apache.hop.ui.workflow.action.ActionDialog; |
| import org.apache.hop.ui.workflow.dialog.WorkflowDialog; |
| import org.apache.hop.workflow.WorkflowMeta; |
| import org.apache.hop.workflow.action.IAction; |
| import org.apache.hop.workflow.action.IActionDialog; |
| import org.eclipse.swt.SWT; |
| import org.eclipse.swt.custom.CCombo; |
| import org.eclipse.swt.custom.CTabFolder; |
| import org.eclipse.swt.custom.CTabItem; |
| import org.eclipse.swt.events.ModifyListener; |
| import org.eclipse.swt.events.SelectionAdapter; |
| import org.eclipse.swt.events.SelectionEvent; |
| import org.eclipse.swt.events.SelectionListener; |
| import org.eclipse.swt.layout.FormAttachment; |
| import org.eclipse.swt.layout.FormData; |
| import org.eclipse.swt.layout.FormLayout; |
| import org.eclipse.swt.layout.GridData; |
| import org.eclipse.swt.layout.GridLayout; |
| import org.eclipse.swt.widgets.Button; |
| import org.eclipse.swt.widgets.Composite; |
| import org.eclipse.swt.widgets.DateTime; |
| import org.eclipse.swt.widgets.Group; |
| import org.eclipse.swt.widgets.Label; |
| import org.eclipse.swt.widgets.Shell; |
| import org.eclipse.swt.widgets.Text; |
| |
| /** This dialog allows you to edit the Get POP action settings. */ |
| public class ActionGetPOPDialog extends ActionDialog implements IActionDialog { |
| private static final Class<?> PKG = ActionGetPOP.class; // For Translator |
| |
| private Text wName; |
| |
| private TextVar wServerName; |
| |
| private TextVar wSender; |
| |
| private TextVar wRecipient; |
| |
| private TextVar wSubject; |
| |
| private TextVar wBody; |
| |
| private Label wlAttachmentFolder; |
| |
| private TextVar wAttachmentFolder; |
| |
| private Button wbAttachmentFolder; |
| |
| private Label wlAttachmentWildcard; |
| |
| private TextVar wAttachmentWildcard; |
| |
| private TextVar wUserName; |
| |
| private Label wlIMAPFolder; |
| |
| private TextVar wIMAPFolder; |
| |
| private Label wlMoveToFolder; |
| |
| private TextVar wMoveToFolder; |
| |
| private Button wSelectMoveToFolder; |
| |
| private Button wTestMoveToFolder; |
| |
| private TextVar wPassword; |
| |
| private Label wlOutputDirectory; |
| |
| private TextVar wOutputDirectory; |
| |
| private Label wlFilenamePattern; |
| |
| private TextVar wFilenamePattern; |
| |
| private Button wbDirectory; |
| |
| private Label wlListmails; |
| |
| private CCombo wListmails; |
| |
| private Label wlIMAPListmails; |
| |
| private CCombo wIMAPListmails; |
| |
| private Label wlAfterGetIMAP; |
| |
| private CCombo wAfterGetIMAP; |
| |
| private Label wlFirstmails; |
| |
| private TextVar wFirstmails; |
| |
| private Label wlIMAPFirstmails; |
| |
| private TextVar wIMAPFirstmails; |
| |
| private TextVar wPort; |
| |
| private Button wUseSSL; |
| |
| private Button wUseXOAUTH2; |
| |
| private Button wUseProxy; |
| |
| private Label wlProxyUsername; |
| |
| private TextVar wProxyUsername; |
| |
| private Label wlIncludeSubFolders; |
| |
| private Button wIncludeSubFolders; |
| |
| private Label wlCreateMoveToFolder; |
| |
| private Button wCreateMoveToFolder; |
| |
| private Label wlCreateLocalFolder; |
| |
| private Button wCreateLocalFolder; |
| |
| private Button wNegateSender; |
| |
| private Button wNegateReceipient; |
| |
| private Button wNegateSubject; |
| |
| private Button wNegateBody; |
| |
| private Button wNegateReceivedDate; |
| |
| private Label wlGetAttachment; |
| |
| private Button wGetAttachment; |
| |
| private Label wlGetMessage; |
| |
| private Button wGetMessage; |
| |
| private Label wlDifferentFolderForAttachment; |
| |
| private Button wDifferentFolderForAttachment; |
| |
| private Label wlPOP3Message; |
| |
| private Label wlDelete; |
| |
| private Button wDelete; |
| |
| private ActionGetPOP action; |
| |
| private boolean changed; |
| |
| private Label wlReadFrom; |
| |
| private TextVar wReadFrom; |
| |
| private Button open; |
| |
| private Label wlConditionOnReceivedDate; |
| |
| private CCombo wConditionOnReceivedDate; |
| |
| private CCombo wActionType; |
| |
| private Label wlReadTo; |
| |
| private TextVar wReadTo; |
| |
| private Button opento; |
| |
| private CCombo wProtocol; |
| |
| private Button wTestIMAPFolder; |
| |
| private Button wSelectFolder; |
| |
| private MailConnection mailConn = null; |
| |
| public ActionGetPOPDialog( |
| Shell parent, IAction action, WorkflowMeta workflowMeta, IVariables variables) { |
| super(parent, workflowMeta, variables); |
| this.action = (ActionGetPOP) action; |
| if (this.action.getName() == null) { |
| this.action.setName(BaseMessages.getString(PKG, "ActionGetPOP.Name.Default")); |
| } |
| } |
| |
| @Override |
| public IAction open() { |
| Shell parent = getParent(); |
| |
| shell = new Shell(parent, SWT.DIALOG_TRIM | SWT.MIN | SWT.MAX | SWT.RESIZE); |
| PropsUi.setLook(shell); |
| WorkflowDialog.setShellImage(shell, action); |
| |
| ModifyListener lsMod = |
| e -> { |
| closeMailConnection(); |
| action.setChanged(); |
| }; |
| |
| SelectionListener lsSelection = |
| new SelectionAdapter() { |
| @Override |
| public void widgetSelected(SelectionEvent e) { |
| action.setChanged(); |
| closeMailConnection(); |
| } |
| }; |
| changed = action.hasChanged(); |
| |
| FormLayout formLayout = new FormLayout(); |
| formLayout.marginWidth = PropsUi.getFormMargin(); |
| formLayout.marginHeight = PropsUi.getFormMargin(); |
| |
| shell.setLayout(formLayout); |
| shell.setText(BaseMessages.getString(PKG, "ActionGetPOP.Title")); |
| |
| int middle = props.getMiddlePct(); |
| int margin = PropsUi.getMargin(); |
| |
| // Buttons go at the very bottom |
| // |
| Button wOk = new Button(shell, SWT.PUSH); |
| wOk.setText(BaseMessages.getString(PKG, "System.Button.OK")); |
| wOk.addListener(SWT.Selection, e -> ok()); |
| Button wCancel = new Button(shell, SWT.PUSH); |
| wCancel.setText(BaseMessages.getString(PKG, "System.Button.Cancel")); |
| wCancel.addListener(SWT.Selection, e -> cancel()); |
| BaseTransformDialog.positionBottomButtons(shell, new Button[] {wOk, wCancel}, margin, null); |
| |
| // Filename line |
| Label wlName = new Label(shell, SWT.RIGHT); |
| wlName.setText(BaseMessages.getString(PKG, "ActionGetPOP.Name.Label")); |
| PropsUi.setLook(wlName); |
| FormData fdlName = new FormData(); |
| fdlName.left = new FormAttachment(0, 0); |
| fdlName.right = new FormAttachment(middle, -margin); |
| fdlName.top = new FormAttachment(0, margin); |
| wlName.setLayoutData(fdlName); |
| wName = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER); |
| PropsUi.setLook(wName); |
| wName.addModifyListener(lsMod); |
| FormData fdName = new FormData(); |
| fdName.left = new FormAttachment(middle, 0); |
| fdName.top = new FormAttachment(0, margin); |
| fdName.right = new FormAttachment(100, 0); |
| wName.setLayoutData(fdName); |
| |
| CTabFolder wTabFolder = new CTabFolder(shell, SWT.BORDER); |
| PropsUi.setLook(wTabFolder, Props.WIDGET_STYLE_TAB); |
| |
| // //////////////////////// |
| // START OF GENERAL TAB /// |
| // //////////////////////// |
| |
| CTabItem wGeneralTab = new CTabItem(wTabFolder, SWT.NONE); |
| wGeneralTab.setFont(GuiResource.getInstance().getFontDefault()); |
| wGeneralTab.setText(BaseMessages.getString(PKG, "ActionGetPOP.Tab.General.Label")); |
| Composite wGeneralComp = new Composite(wTabFolder, SWT.NONE); |
| PropsUi.setLook(wGeneralComp); |
| FormLayout generalLayout = new FormLayout(); |
| generalLayout.marginWidth = 3; |
| generalLayout.marginHeight = 3; |
| wGeneralComp.setLayout(generalLayout); |
| |
| // //////////////////////// |
| // START OF SERVER SETTINGS GROUP/// |
| // / |
| Group wServerSettings = new Group(wGeneralComp, SWT.SHADOW_NONE); |
| PropsUi.setLook(wServerSettings); |
| wServerSettings.setText(BaseMessages.getString(PKG, "ActionGetPOP.ServerSettings.Group.Label")); |
| |
| FormLayout serverSettingsgroupLayout = new FormLayout(); |
| serverSettingsgroupLayout.marginWidth = 10; |
| serverSettingsgroupLayout.marginHeight = 10; |
| wServerSettings.setLayout(serverSettingsgroupLayout); |
| |
| // ServerName line |
| Label wlServerName = new Label(wServerSettings, SWT.RIGHT); |
| wlServerName.setText(BaseMessages.getString(PKG, "ActionGetPOP.Server.Label")); |
| PropsUi.setLook(wlServerName); |
| FormData fdlServerName = new FormData(); |
| fdlServerName.left = new FormAttachment(0, 0); |
| fdlServerName.top = new FormAttachment(0, 2 * margin); |
| fdlServerName.right = new FormAttachment(middle, -margin); |
| wlServerName.setLayoutData(fdlServerName); |
| wServerName = new TextVar(variables, wServerSettings, SWT.SINGLE | SWT.LEFT | SWT.BORDER); |
| PropsUi.setLook(wServerName); |
| wServerName.addModifyListener(lsMod); |
| FormData fdServerName = new FormData(); |
| fdServerName.left = new FormAttachment(middle, 0); |
| fdServerName.top = new FormAttachment(0, 2 * margin); |
| fdServerName.right = new FormAttachment(100, 0); |
| wServerName.setLayoutData(fdServerName); |
| |
| // USE connection with SSL |
| Label wlUseSSL = new Label(wServerSettings, SWT.RIGHT); |
| wlUseSSL.setText(BaseMessages.getString(PKG, "ActionGetPOP.UseSSLMails.Label")); |
| PropsUi.setLook(wlUseSSL); |
| FormData fdlUseSSL = new FormData(); |
| fdlUseSSL.left = new FormAttachment(0, 0); |
| fdlUseSSL.top = new FormAttachment(wServerName, margin); |
| fdlUseSSL.right = new FormAttachment(middle, -margin); |
| wlUseSSL.setLayoutData(fdlUseSSL); |
| wUseSSL = new Button(wServerSettings, SWT.CHECK); |
| PropsUi.setLook(wUseSSL); |
| FormData fdUseSSL = new FormData(); |
| wUseSSL.setToolTipText(BaseMessages.getString(PKG, "ActionGetPOP.UseSSLMails.Tooltip")); |
| fdUseSSL.left = new FormAttachment(middle, 0); |
| fdUseSSL.top = new FormAttachment(wlUseSSL, 0, SWT.CENTER); |
| fdUseSSL.right = new FormAttachment(100, 0); |
| wUseSSL.setLayoutData(fdUseSSL); |
| |
| wUseSSL.addSelectionListener( |
| new SelectionAdapter() { |
| @Override |
| public void widgetSelected(SelectionEvent e) { |
| closeMailConnection(); |
| refreshPort(true); |
| } |
| }); |
| |
| // USE connection with XOAUTH2 |
| Label wlUseXOAUTH2 = new Label(wServerSettings, SWT.RIGHT); |
| wlUseXOAUTH2.setText(BaseMessages.getString(PKG, "ActionGetPOP.UseXOAUTH2Mails.Label")); |
| PropsUi.setLook(wlUseXOAUTH2); |
| FormData fdlUseXOAUTH2 = new FormData(); |
| fdlUseXOAUTH2.left = new FormAttachment(0, 0); |
| fdlUseXOAUTH2.top = new FormAttachment(wUseSSL, margin); |
| fdlUseXOAUTH2.right = new FormAttachment(middle, -margin); |
| wlUseXOAUTH2.setLayoutData(fdlUseXOAUTH2); |
| wUseXOAUTH2 = new Button(wServerSettings, SWT.CHECK); |
| PropsUi.setLook(wUseXOAUTH2); |
| FormData fdUseXOAUTH2 = new FormData(); |
| wUseXOAUTH2.setToolTipText(BaseMessages.getString(PKG, "ActionGetPOP.UseXOAUTH2Mails.Tooltip")); |
| fdUseXOAUTH2.left = new FormAttachment(middle, 0); |
| fdUseXOAUTH2.top = new FormAttachment(wUseSSL, margin); |
| fdUseXOAUTH2.right = new FormAttachment(100, 0); |
| wUseXOAUTH2.setLayoutData(fdUseXOAUTH2); |
| |
| wUseXOAUTH2.addSelectionListener( |
| new SelectionAdapter() { |
| @Override |
| public void widgetSelected(SelectionEvent e) { |
| closeMailConnection(); |
| refreshPort(true); |
| } |
| }); |
| |
| // port |
| Label wlPort = new Label(wServerSettings, SWT.RIGHT); |
| wlPort.setText(BaseMessages.getString(PKG, "ActionGetPOP.SSLPort.Label")); |
| PropsUi.setLook(wlPort); |
| FormData fdlPort = new FormData(); |
| fdlPort.left = new FormAttachment(0, 0); |
| fdlPort.top = new FormAttachment(wlUseXOAUTH2, 2 * margin); |
| fdlPort.right = new FormAttachment(middle, -margin); |
| wlPort.setLayoutData(fdlPort); |
| wPort = new TextVar(variables, wServerSettings, SWT.SINGLE | SWT.LEFT | SWT.BORDER); |
| PropsUi.setLook(wPort); |
| wPort.setToolTipText(BaseMessages.getString(PKG, "ActionGetPOP.SSLPort.Tooltip")); |
| wPort.addModifyListener(lsMod); |
| FormData fdPort = new FormData(); |
| fdPort.left = new FormAttachment(middle, 0); |
| fdPort.top = new FormAttachment(wlPort, 0, SWT.CENTER); |
| fdPort.right = new FormAttachment(100, 0); |
| wPort.setLayoutData(fdPort); |
| |
| // UserName line |
| Label wlUserName = new Label(wServerSettings, SWT.RIGHT); |
| wlUserName.setText(BaseMessages.getString(PKG, "ActionGetPOP.Username.Label")); |
| PropsUi.setLook(wlUserName); |
| FormData fdlUserName = new FormData(); |
| fdlUserName.left = new FormAttachment(0, 0); |
| fdlUserName.top = new FormAttachment(wPort, margin); |
| fdlUserName.right = new FormAttachment(middle, -margin); |
| wlUserName.setLayoutData(fdlUserName); |
| wUserName = new TextVar(variables, wServerSettings, SWT.SINGLE | SWT.LEFT | SWT.BORDER); |
| PropsUi.setLook(wUserName); |
| wUserName.setToolTipText(BaseMessages.getString(PKG, "ActionGetPOP.Username.Tooltip")); |
| wUserName.addModifyListener(lsMod); |
| FormData fdUserName = new FormData(); |
| fdUserName.left = new FormAttachment(middle, 0); |
| fdUserName.top = new FormAttachment(wPort, margin); |
| fdUserName.right = new FormAttachment(100, 0); |
| wUserName.setLayoutData(fdUserName); |
| |
| // Password line |
| Label wlPassword = new Label(wServerSettings, SWT.RIGHT); |
| wlPassword.setText(BaseMessages.getString(PKG, "ActionGetPOP.Password.Label")); |
| PropsUi.setLook(wlPassword); |
| FormData fdlPassword = new FormData(); |
| fdlPassword.left = new FormAttachment(0, 0); |
| fdlPassword.top = new FormAttachment(wUserName, margin); |
| fdlPassword.right = new FormAttachment(middle, -margin); |
| wlPassword.setLayoutData(fdlPassword); |
| wPassword = new PasswordTextVar(variables, wServerSettings, SWT.SINGLE | SWT.LEFT | SWT.BORDER); |
| PropsUi.setLook(wPassword); |
| wPassword.addModifyListener(lsMod); |
| FormData fdPassword = new FormData(); |
| fdPassword.left = new FormAttachment(middle, 0); |
| fdPassword.top = new FormAttachment(wUserName, margin); |
| fdPassword.right = new FormAttachment(100, 0); |
| wPassword.setLayoutData(fdPassword); |
| |
| // USE proxy |
| Label wlUseProxy = new Label(wServerSettings, SWT.RIGHT); |
| wlUseProxy.setText(BaseMessages.getString(PKG, "ActionGetPOP.UseProxyMails.Label")); |
| PropsUi.setLook(wlUseProxy); |
| FormData fdlUseProxy = new FormData(); |
| fdlUseProxy.left = new FormAttachment(0, 0); |
| fdlUseProxy.top = new FormAttachment(wPassword, 2 * margin); |
| fdlUseProxy.right = new FormAttachment(middle, -margin); |
| wlUseProxy.setLayoutData(fdlUseProxy); |
| wUseProxy = new Button(wServerSettings, SWT.CHECK); |
| PropsUi.setLook(wUseProxy); |
| FormData fdUseProxy = new FormData(); |
| wUseProxy.setToolTipText(BaseMessages.getString(PKG, "ActionGetPOP.UseProxyMails.Tooltip")); |
| fdUseProxy.left = new FormAttachment(middle, 0); |
| fdUseProxy.top = new FormAttachment(wlUseProxy, 0, SWT.CENTER); |
| fdUseProxy.right = new FormAttachment(100, 0); |
| wUseProxy.setLayoutData(fdUseProxy); |
| |
| wUseProxy.addSelectionListener( |
| new SelectionAdapter() { |
| @Override |
| public void widgetSelected(SelectionEvent e) { |
| setUserProxy(); |
| action.setChanged(); |
| } |
| }); |
| |
| // ProxyUsername line |
| wlProxyUsername = new Label(wServerSettings, SWT.RIGHT); |
| wlProxyUsername.setText(BaseMessages.getString(PKG, "ActionGetPOP.ProxyUsername.Label")); |
| PropsUi.setLook(wlProxyUsername); |
| FormData fdlProxyUsername = new FormData(); |
| fdlProxyUsername.left = new FormAttachment(0, 0); |
| fdlProxyUsername.top = new FormAttachment(wlUseProxy, 2 * margin); |
| fdlProxyUsername.right = new FormAttachment(middle, -margin); |
| wlProxyUsername.setLayoutData(fdlProxyUsername); |
| wProxyUsername = new TextVar(variables, wServerSettings, SWT.SINGLE | SWT.LEFT | SWT.BORDER); |
| PropsUi.setLook(wProxyUsername); |
| wProxyUsername.setToolTipText( |
| BaseMessages.getString(PKG, "ActionGetPOP.ProxyUsername.Tooltip")); |
| wProxyUsername.addModifyListener(lsMod); |
| FormData fdProxyUsername = new FormData(); |
| fdProxyUsername.left = new FormAttachment(middle, 0); |
| fdProxyUsername.top = new FormAttachment(wlProxyUsername, 0, SWT.CENTER); |
| fdProxyUsername.right = new FormAttachment(100, 0); |
| wProxyUsername.setLayoutData(fdProxyUsername); |
| |
| // Protocol |
| Label wlProtocol = new Label(wServerSettings, SWT.RIGHT); |
| wlProtocol.setText(BaseMessages.getString(PKG, "ActionGetPOP.Protocol.Label")); |
| PropsUi.setLook(wlProtocol); |
| FormData fdlProtocol = new FormData(); |
| fdlProtocol.left = new FormAttachment(0, 0); |
| fdlProtocol.right = new FormAttachment(middle, -margin); |
| fdlProtocol.top = new FormAttachment(wProxyUsername, margin); |
| wlProtocol.setLayoutData(fdlProtocol); |
| wProtocol = new CCombo(wServerSettings, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER); |
| wProtocol.setItems(MailConnectionMeta.protocolCodes); |
| wProtocol.select(0); |
| PropsUi.setLook(wProtocol); |
| FormData fdProtocol = new FormData(); |
| fdProtocol.left = new FormAttachment(middle, 0); |
| fdProtocol.top = new FormAttachment(wProxyUsername, margin); |
| fdProtocol.right = new FormAttachment(100, 0); |
| wProtocol.setLayoutData(fdProtocol); |
| wProtocol.addSelectionListener( |
| new SelectionAdapter() { |
| @Override |
| public void widgetSelected(SelectionEvent e) { |
| refreshProtocol(true); |
| } |
| }); |
| |
| // Test connection button |
| Button wTest = new Button(wServerSettings, SWT.PUSH); |
| wTest.setText(BaseMessages.getString(PKG, "ActionGetPOP.TestConnection.Label")); |
| PropsUi.setLook(wTest); |
| FormData fdTest = new FormData(); |
| wTest.setToolTipText(BaseMessages.getString(PKG, "ActionGetPOP.TestConnection.Tooltip")); |
| fdTest.top = new FormAttachment(wProtocol, margin); |
| fdTest.right = new FormAttachment(100, 0); |
| wTest.setLayoutData(fdTest); |
| wTest.addListener(SWT.Selection, e -> test()); |
| |
| FormData fdServerSettings = new FormData(); |
| fdServerSettings.left = new FormAttachment(0, margin); |
| fdServerSettings.top = new FormAttachment(wProtocol, margin); |
| fdServerSettings.right = new FormAttachment(100, -margin); |
| wServerSettings.setLayoutData(fdServerSettings); |
| // /////////////////////////////////////////////////////////// |
| // / END OF SERVER SETTINGS GROUP |
| // /////////////////////////////////////////////////////////// |
| |
| // //////////////////////// |
| // START OF Target Folder GROUP/// |
| // / |
| Group wTargetFolder = new Group(wGeneralComp, SWT.SHADOW_NONE); |
| PropsUi.setLook(wTargetFolder); |
| wTargetFolder.setText(BaseMessages.getString(PKG, "ActionGetPOP.TargetFolder.Group.Label")); |
| |
| FormLayout targetFoldergroupLayout = new FormLayout(); |
| targetFoldergroupLayout.marginWidth = 10; |
| targetFoldergroupLayout.marginHeight = 10; |
| wTargetFolder.setLayout(targetFoldergroupLayout); |
| |
| // OutputDirectory line |
| wlOutputDirectory = new Label(wTargetFolder, SWT.RIGHT); |
| wlOutputDirectory.setText(BaseMessages.getString(PKG, "ActionGetPOP.OutputDirectory.Label")); |
| PropsUi.setLook(wlOutputDirectory); |
| FormData fdlOutputDirectory = new FormData(); |
| fdlOutputDirectory.left = new FormAttachment(0, 0); |
| fdlOutputDirectory.top = new FormAttachment(wServerSettings, margin); |
| fdlOutputDirectory.right = new FormAttachment(middle, -margin); |
| wlOutputDirectory.setLayoutData(fdlOutputDirectory); |
| |
| // Browse Source folders button ... |
| wbDirectory = new Button(wTargetFolder, SWT.PUSH | SWT.CENTER); |
| PropsUi.setLook(wbDirectory); |
| wbDirectory.setText(BaseMessages.getString(PKG, "ActionGetPOP.BrowseFolders.Label")); |
| FormData fdbDirectory = new FormData(); |
| fdbDirectory.right = new FormAttachment(100, -margin); |
| fdbDirectory.top = new FormAttachment(wServerSettings, margin); |
| wbDirectory.setLayoutData(fdbDirectory); |
| wbDirectory.addListener( |
| SWT.Selection, e -> BaseDialog.presentDirectoryDialog(shell, wOutputDirectory, variables)); |
| |
| wOutputDirectory = new TextVar(variables, wTargetFolder, SWT.SINGLE | SWT.LEFT | SWT.BORDER); |
| PropsUi.setLook(wOutputDirectory); |
| wOutputDirectory.setToolTipText( |
| BaseMessages.getString(PKG, "ActionGetPOP.OutputDirectory.Tooltip")); |
| wOutputDirectory.addModifyListener(lsMod); |
| FormData fdOutputDirectory = new FormData(); |
| fdOutputDirectory.left = new FormAttachment(middle, 0); |
| fdOutputDirectory.top = new FormAttachment(wServerSettings, margin); |
| fdOutputDirectory.right = new FormAttachment(wbDirectory, -margin); |
| wOutputDirectory.setLayoutData(fdOutputDirectory); |
| |
| // Create local folder |
| wlCreateLocalFolder = new Label(wTargetFolder, SWT.RIGHT); |
| wlCreateLocalFolder.setText( |
| BaseMessages.getString(PKG, "ActionGetPOP.createLocalFolder.Label")); |
| PropsUi.setLook(wlCreateLocalFolder); |
| FormData fdlCreateLocalFolder = new FormData(); |
| fdlCreateLocalFolder.left = new FormAttachment(0, 0); |
| fdlCreateLocalFolder.top = new FormAttachment(wOutputDirectory, margin); |
| fdlCreateLocalFolder.right = new FormAttachment(middle, -margin); |
| wlCreateLocalFolder.setLayoutData(fdlCreateLocalFolder); |
| wCreateLocalFolder = new Button(wTargetFolder, SWT.CHECK); |
| PropsUi.setLook(wCreateLocalFolder); |
| FormData fdCreateLocalFolder = new FormData(); |
| wCreateLocalFolder.setToolTipText( |
| BaseMessages.getString(PKG, "ActionGetPOP.createLocalFolder.Tooltip")); |
| fdCreateLocalFolder.left = new FormAttachment(middle, 0); |
| fdCreateLocalFolder.top = new FormAttachment(wlCreateLocalFolder, 0, SWT.CENTER); |
| fdCreateLocalFolder.right = new FormAttachment(100, 0); |
| wCreateLocalFolder.setLayoutData(fdCreateLocalFolder); |
| |
| // Filename pattern line |
| wlFilenamePattern = new Label(wTargetFolder, SWT.RIGHT); |
| wlFilenamePattern.setText(BaseMessages.getString(PKG, "ActionGetPOP.FilenamePattern.Label")); |
| PropsUi.setLook(wlFilenamePattern); |
| FormData fdlFilenamePattern = new FormData(); |
| fdlFilenamePattern.left = new FormAttachment(0, 0); |
| fdlFilenamePattern.top = new FormAttachment(wlCreateLocalFolder, 2 * margin); |
| fdlFilenamePattern.right = new FormAttachment(middle, -margin); |
| wlFilenamePattern.setLayoutData(fdlFilenamePattern); |
| wFilenamePattern = new TextVar(variables, wTargetFolder, SWT.SINGLE | SWT.LEFT | SWT.BORDER); |
| PropsUi.setLook(wFilenamePattern); |
| wFilenamePattern.setToolTipText( |
| BaseMessages.getString(PKG, "ActionGetPOP.FilenamePattern.Tooltip")); |
| wFilenamePattern.addModifyListener(lsMod); |
| FormData fdFilenamePattern = new FormData(); |
| fdFilenamePattern.left = new FormAttachment(middle, 0); |
| fdFilenamePattern.top = new FormAttachment(wlCreateLocalFolder, 2 * margin); |
| fdFilenamePattern.right = new FormAttachment(100, 0); |
| wFilenamePattern.setLayoutData(fdFilenamePattern); |
| |
| // Whenever something changes, set the tooltip to the expanded version: |
| wFilenamePattern.addModifyListener( |
| e -> wFilenamePattern.setToolTipText(variables.resolve(wFilenamePattern.getText()))); |
| |
| // Get message? |
| wlGetMessage = new Label(wTargetFolder, SWT.RIGHT); |
| wlGetMessage.setText(BaseMessages.getString(PKG, "ActionGetPOP.GetMessageMails.Label")); |
| PropsUi.setLook(wlGetMessage); |
| FormData fdlGetMessage = new FormData(); |
| fdlGetMessage.left = new FormAttachment(0, 0); |
| fdlGetMessage.top = new FormAttachment(wFilenamePattern, margin); |
| fdlGetMessage.right = new FormAttachment(middle, -margin); |
| wlGetMessage.setLayoutData(fdlGetMessage); |
| wGetMessage = new Button(wTargetFolder, SWT.CHECK); |
| PropsUi.setLook(wGetMessage); |
| FormData fdGetMessage = new FormData(); |
| wGetMessage.setToolTipText(BaseMessages.getString(PKG, "ActionGetPOP.GetMessageMails.Tooltip")); |
| fdGetMessage.left = new FormAttachment(middle, 0); |
| fdGetMessage.top = new FormAttachment(wlGetMessage, 0, SWT.CENTER); |
| fdGetMessage.right = new FormAttachment(100, 0); |
| wGetMessage.setLayoutData(fdGetMessage); |
| |
| wGetMessage.addSelectionListener( |
| new SelectionAdapter() { |
| @Override |
| public void widgetSelected(SelectionEvent e) { |
| if (!wGetAttachment.getSelection() && !wGetMessage.getSelection()) { |
| wGetAttachment.setSelection(true); |
| } |
| } |
| }); |
| |
| // Get attachment? |
| wlGetAttachment = new Label(wTargetFolder, SWT.RIGHT); |
| wlGetAttachment.setText(BaseMessages.getString(PKG, "ActionGetPOP.GetAttachmentMails.Label")); |
| PropsUi.setLook(wlGetAttachment); |
| FormData fdlGetAttachment = new FormData(); |
| fdlGetAttachment.left = new FormAttachment(0, 0); |
| fdlGetAttachment.top = new FormAttachment(wlGetMessage, 2 * margin); |
| fdlGetAttachment.right = new FormAttachment(middle, -margin); |
| wlGetAttachment.setLayoutData(fdlGetAttachment); |
| wGetAttachment = new Button(wTargetFolder, SWT.CHECK); |
| PropsUi.setLook(wGetAttachment); |
| FormData fdGetAttachment = new FormData(); |
| wGetAttachment.setToolTipText( |
| BaseMessages.getString(PKG, "ActionGetPOP.GetAttachmentMails.Tooltip")); |
| fdGetAttachment.left = new FormAttachment(middle, 0); |
| fdGetAttachment.top = new FormAttachment(wlGetAttachment, 0, SWT.CENTER); |
| fdGetAttachment.right = new FormAttachment(100, 0); |
| wGetAttachment.setLayoutData(fdGetAttachment); |
| |
| wGetAttachment.addSelectionListener( |
| new SelectionAdapter() { |
| @Override |
| public void widgetSelected(SelectionEvent e) { |
| activeAttachmentFolder(); |
| } |
| }); |
| |
| // different folder for attachment? |
| wlDifferentFolderForAttachment = new Label(wTargetFolder, SWT.RIGHT); |
| wlDifferentFolderForAttachment.setText( |
| BaseMessages.getString(PKG, "ActionGetPOP.DifferentFolderForAttachmentMails.Label")); |
| PropsUi.setLook(wlDifferentFolderForAttachment); |
| FormData fdlDifferentFolderForAttachment = new FormData(); |
| fdlDifferentFolderForAttachment.left = new FormAttachment(0, 0); |
| fdlDifferentFolderForAttachment.top = new FormAttachment(wlGetAttachment, 2 * margin); |
| fdlDifferentFolderForAttachment.right = new FormAttachment(middle, -margin); |
| wlDifferentFolderForAttachment.setLayoutData(fdlDifferentFolderForAttachment); |
| wDifferentFolderForAttachment = new Button(wTargetFolder, SWT.CHECK); |
| PropsUi.setLook(wDifferentFolderForAttachment); |
| FormData fdDifferentFolderForAttachment = new FormData(); |
| wDifferentFolderForAttachment.setToolTipText( |
| BaseMessages.getString(PKG, "ActionGetPOP.DifferentFolderForAttachmentMails.Tooltip")); |
| fdDifferentFolderForAttachment.left = new FormAttachment(middle, 0); |
| fdDifferentFolderForAttachment.top = |
| new FormAttachment(wlDifferentFolderForAttachment, 0, SWT.CENTER); |
| fdDifferentFolderForAttachment.right = new FormAttachment(100, 0); |
| wDifferentFolderForAttachment.setLayoutData(fdDifferentFolderForAttachment); |
| |
| wDifferentFolderForAttachment.addSelectionListener( |
| new SelectionAdapter() { |
| @Override |
| public void widgetSelected(SelectionEvent e) { |
| activeAttachmentFolder(); |
| } |
| }); |
| |
| // AttachmentFolder line |
| wlAttachmentFolder = new Label(wTargetFolder, SWT.RIGHT); |
| wlAttachmentFolder.setText(BaseMessages.getString(PKG, "ActionGetPOP.AttachmentFolder.Label")); |
| PropsUi.setLook(wlAttachmentFolder); |
| FormData fdlAttachmentFolder = new FormData(); |
| fdlAttachmentFolder.left = new FormAttachment(0, 0); |
| fdlAttachmentFolder.top = new FormAttachment(wlDifferentFolderForAttachment, 2 * margin); |
| fdlAttachmentFolder.right = new FormAttachment(middle, -margin); |
| wlAttachmentFolder.setLayoutData(fdlAttachmentFolder); |
| |
| // Browse Source folders button ... |
| wbAttachmentFolder = new Button(wTargetFolder, SWT.PUSH | SWT.CENTER); |
| PropsUi.setLook(wbAttachmentFolder); |
| wbAttachmentFolder.setText(BaseMessages.getString(PKG, "ActionGetPOP.BrowseFolders.Label")); |
| FormData fdbAttachmentFolder = new FormData(); |
| fdbAttachmentFolder.right = new FormAttachment(100, -margin); |
| fdbAttachmentFolder.top = new FormAttachment(wlAttachmentFolder, 0, SWT.CENTER); |
| wbAttachmentFolder.setLayoutData(fdbAttachmentFolder); |
| wbAttachmentFolder.addListener( |
| SWT.Selection, e -> BaseDialog.presentDirectoryDialog(shell, wAttachmentFolder, variables)); |
| |
| wAttachmentFolder = new TextVar(variables, wTargetFolder, SWT.SINGLE | SWT.LEFT | SWT.BORDER); |
| PropsUi.setLook(wAttachmentFolder); |
| wAttachmentFolder.setToolTipText( |
| BaseMessages.getString(PKG, "ActionGetPOP.AttachmentFolder.Tooltip")); |
| wAttachmentFolder.addModifyListener(lsMod); |
| FormData fdAttachmentFolder = new FormData(); |
| fdAttachmentFolder.left = new FormAttachment(middle, 0); |
| fdAttachmentFolder.top = new FormAttachment(wlAttachmentFolder, 0, SWT.CENTER); |
| fdAttachmentFolder.right = new FormAttachment(wbAttachmentFolder, -margin); |
| wAttachmentFolder.setLayoutData(fdAttachmentFolder); |
| |
| // Limit attached files |
| wlAttachmentWildcard = new Label(wTargetFolder, SWT.RIGHT); |
| wlAttachmentWildcard.setText( |
| BaseMessages.getString(PKG, "ActionGetPOP.AttachmentWildcard.Label")); |
| PropsUi.setLook(wlAttachmentWildcard); |
| FormData fdlAttachmentWildcard = new FormData(); |
| fdlAttachmentWildcard.left = new FormAttachment(0, 0); |
| fdlAttachmentWildcard.top = new FormAttachment(wbAttachmentFolder, margin); |
| fdlAttachmentWildcard.right = new FormAttachment(middle, -margin); |
| wlAttachmentWildcard.setLayoutData(fdlAttachmentWildcard); |
| wAttachmentWildcard = new TextVar(variables, wTargetFolder, SWT.SINGLE | SWT.LEFT | SWT.BORDER); |
| PropsUi.setLook(wAttachmentWildcard); |
| wAttachmentWildcard.setToolTipText( |
| BaseMessages.getString(PKG, "ActionGetPOP.AttachmentWildcard.Tooltip")); |
| wAttachmentWildcard.addModifyListener(lsMod); |
| FormData fdAttachmentWildcard = new FormData(); |
| fdAttachmentWildcard.left = new FormAttachment(middle, 0); |
| fdAttachmentWildcard.top = new FormAttachment(wbAttachmentFolder, margin); |
| fdAttachmentWildcard.right = new FormAttachment(100, 0); |
| wAttachmentWildcard.setLayoutData(fdAttachmentWildcard); |
| |
| // Whenever something changes, set the tooltip to the expanded version: |
| wAttachmentWildcard.addModifyListener( |
| e -> wAttachmentWildcard.setToolTipText(variables.resolve(wAttachmentWildcard.getText()))); |
| |
| FormData fdTargetFolder = new FormData(); |
| fdTargetFolder.left = new FormAttachment(0, margin); |
| fdTargetFolder.top = new FormAttachment(wServerSettings, margin); |
| fdTargetFolder.right = new FormAttachment(100, -margin); |
| wTargetFolder.setLayoutData(fdTargetFolder); |
| // /////////////////////////////////////////////////////////// |
| // / END OF SERVER SETTINGS GROUP |
| // /////////////////////////////////////////////////////////// |
| |
| FormData fdGeneralComp = new FormData(); |
| fdGeneralComp.left = new FormAttachment(0, 0); |
| fdGeneralComp.top = new FormAttachment(wName, 0); |
| fdGeneralComp.right = new FormAttachment(100, 0); |
| fdGeneralComp.bottom = new FormAttachment(100, 0); |
| wGeneralComp.setLayoutData(fdGeneralComp); |
| |
| wGeneralComp.layout(); |
| wGeneralTab.setControl(wGeneralComp); |
| PropsUi.setLook(wGeneralComp); |
| |
| // /////////////////////////////////////////////////////////// |
| // / END OF GENERAL TAB |
| // /////////////////////////////////////////////////////////// |
| |
| // //////////////////////// |
| // START OF SETTINGS TAB /// |
| // //////////////////////// |
| |
| CTabItem wSettingsTab = new CTabItem(wTabFolder, SWT.NONE); |
| wSettingsTab.setFont(GuiResource.getInstance().getFontDefault()); |
| wSettingsTab.setText(BaseMessages.getString(PKG, "ActionGetPOP.Tab.Pop.Label")); |
| Composite wSettingsComp = new Composite(wTabFolder, SWT.NONE); |
| PropsUi.setLook(wSettingsComp); |
| FormLayout popLayout = new FormLayout(); |
| popLayout.marginWidth = 3; |
| popLayout.marginHeight = 3; |
| wSettingsComp.setLayout(popLayout); |
| |
| // Action type |
| Label wlActionType = new Label(wSettingsComp, SWT.RIGHT); |
| wlActionType.setText(BaseMessages.getString(PKG, "ActionGetPOP.ActionType.Label")); |
| PropsUi.setLook(wlActionType); |
| FormData fdlActionType = new FormData(); |
| fdlActionType.left = new FormAttachment(0, 0); |
| fdlActionType.right = new FormAttachment(middle, -margin); |
| fdlActionType.top = new FormAttachment(0, 3 * margin); |
| wlActionType.setLayoutData(fdlActionType); |
| |
| wActionType = new CCombo(wSettingsComp, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER); |
| wActionType.setItems(MailConnectionMeta.actionTypeDesc); |
| wActionType.select(0); // +1: starts at -1 |
| |
| PropsUi.setLook(wActionType); |
| FormData fdActionType = new FormData(); |
| fdActionType.left = new FormAttachment(middle, 0); |
| fdActionType.top = new FormAttachment(0, 3 * margin); |
| fdActionType.right = new FormAttachment(100, 0); |
| wActionType.setLayoutData(fdActionType); |
| wActionType.addSelectionListener( |
| new SelectionAdapter() { |
| @Override |
| public void widgetSelected(SelectionEvent e) { |
| setActionType(); |
| action.setChanged(); |
| } |
| }); |
| |
| // Message: for POP3, only INBOX folder is available! |
| wlPOP3Message = new Label(wSettingsComp, SWT.RIGHT); |
| wlPOP3Message.setText(BaseMessages.getString(PKG, "ActionGetPOP.POP3Message.Label")); |
| PropsUi.setLook(wlPOP3Message); |
| FormData fdlPOP3Message = new FormData(); |
| fdlPOP3Message.left = new FormAttachment(0, margin); |
| fdlPOP3Message.top = new FormAttachment(wActionType, 3 * margin); |
| wlPOP3Message.setLayoutData(fdlPOP3Message); |
| wlPOP3Message.setForeground(GuiResource.getInstance().getColorOrange()); |
| |
| // //////////////////////// |
| // START OF POP3 Settings GROUP/// |
| // / |
| Group wPOP3Settings = new Group(wSettingsComp, SWT.SHADOW_NONE); |
| PropsUi.setLook(wPOP3Settings); |
| wPOP3Settings.setText(BaseMessages.getString(PKG, "ActionGetPOP.POP3Settings.Group.Label")); |
| |
| FormLayout pop3Settingsgrouplayout = new FormLayout(); |
| pop3Settingsgrouplayout.marginWidth = 10; |
| pop3Settingsgrouplayout.marginHeight = 10; |
| wPOP3Settings.setLayout(pop3Settingsgrouplayout); |
| |
| // List of mails of retrieve |
| wlListmails = new Label(wPOP3Settings, SWT.RIGHT); |
| wlListmails.setText(BaseMessages.getString(PKG, "ActionGetPOP.Listmails.Label")); |
| PropsUi.setLook(wlListmails); |
| FormData fdlListmails = new FormData(); |
| fdlListmails.left = new FormAttachment(0, 0); |
| fdlListmails.right = new FormAttachment(middle, 0); |
| fdlListmails.top = new FormAttachment(wlPOP3Message, 2 * margin); |
| wlListmails.setLayoutData(fdlListmails); |
| wListmails = new CCombo(wPOP3Settings, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER); |
| wListmails.add(BaseMessages.getString(PKG, "ActionGetPOP.RetrieveAllMails.Label")); |
| wListmails.add(BaseMessages.getString(PKG, "ActionGetPOP.RetrieveFirstMails.Label")); |
| wListmails.select(0); // +1: starts at -1 |
| |
| PropsUi.setLook(wListmails); |
| FormData fdListmails = new FormData(); |
| fdListmails.left = new FormAttachment(middle, 0); |
| fdListmails.top = new FormAttachment(wlPOP3Message, 2 * margin); |
| fdListmails.right = new FormAttachment(100, 0); |
| wListmails.setLayoutData(fdListmails); |
| |
| wListmails.addSelectionListener( |
| new SelectionAdapter() { |
| @Override |
| public void widgetSelected(SelectionEvent e) { |
| action.setChanged(); |
| chooseListMails(); |
| } |
| }); |
| |
| // Retrieve the first ... mails |
| wlFirstmails = new Label(wPOP3Settings, SWT.RIGHT); |
| wlFirstmails.setText(BaseMessages.getString(PKG, "ActionGetPOP.Firstmails.Label")); |
| PropsUi.setLook(wlFirstmails); |
| FormData fdlFirstmails = new FormData(); |
| fdlFirstmails.left = new FormAttachment(0, 0); |
| fdlFirstmails.right = new FormAttachment(middle, -margin); |
| fdlFirstmails.top = new FormAttachment(wListmails, margin); |
| wlFirstmails.setLayoutData(fdlFirstmails); |
| |
| wFirstmails = new TextVar(variables, wPOP3Settings, SWT.SINGLE | SWT.LEFT | SWT.BORDER); |
| PropsUi.setLook(wFirstmails); |
| wFirstmails.addModifyListener(lsMod); |
| FormData fdFirstmails = new FormData(); |
| fdFirstmails.left = new FormAttachment(middle, 0); |
| fdFirstmails.top = new FormAttachment(wListmails, margin); |
| fdFirstmails.right = new FormAttachment(100, 0); |
| wFirstmails.setLayoutData(fdFirstmails); |
| |
| // Delete mails after retrieval... |
| wlDelete = new Label(wPOP3Settings, SWT.RIGHT); |
| wlDelete.setText(BaseMessages.getString(PKG, "ActionGetPOP.DeleteMails.Label")); |
| PropsUi.setLook(wlDelete); |
| FormData fdlDelete = new FormData(); |
| fdlDelete.left = new FormAttachment(0, 0); |
| fdlDelete.top = new FormAttachment(wFirstmails, margin); |
| fdlDelete.right = new FormAttachment(middle, -margin); |
| wlDelete.setLayoutData(fdlDelete); |
| wDelete = new Button(wPOP3Settings, SWT.CHECK); |
| PropsUi.setLook(wDelete); |
| FormData fdDelete = new FormData(); |
| wDelete.setToolTipText(BaseMessages.getString(PKG, "ActionGetPOP.DeleteMails.Tooltip")); |
| fdDelete.left = new FormAttachment(middle, 0); |
| fdDelete.top = new FormAttachment(wlDelete, 0, SWT.CENTER); |
| fdDelete.right = new FormAttachment(100, 0); |
| wDelete.setLayoutData(fdDelete); |
| |
| FormData fdPOP3Settings = new FormData(); |
| fdPOP3Settings.left = new FormAttachment(0, margin); |
| fdPOP3Settings.top = new FormAttachment(wlPOP3Message, 2 * margin); |
| fdPOP3Settings.right = new FormAttachment(100, -margin); |
| wPOP3Settings.setLayoutData(fdPOP3Settings); |
| // /////////////////////////////////////////////////////////// |
| // / END OF POP3 SETTINGS GROUP |
| // /////////////////////////////////////////////////////////// |
| |
| // //////////////////////// |
| // START OF IMAP Settings GROUP/// |
| // / |
| Group wIMAPSettings = new Group(wSettingsComp, SWT.SHADOW_NONE); |
| PropsUi.setLook(wIMAPSettings); |
| wIMAPSettings.setText(BaseMessages.getString(PKG, "ActionGetPOP.IMAPSettings.Groupp.Label")); |
| |
| FormLayout imapSettingsgroupLayout = new FormLayout(); |
| imapSettingsgroupLayout.marginWidth = 10; |
| imapSettingsgroupLayout.marginHeight = 10; |
| wIMAPSettings.setLayout(imapSettingsgroupLayout); |
| |
| // SelectFolder button |
| wSelectFolder = new Button(wIMAPSettings, SWT.PUSH); |
| wSelectFolder.setText(BaseMessages.getString(PKG, "ActionGetPOP.SelectFolderConnection.Label")); |
| PropsUi.setLook(wSelectFolder); |
| FormData fdSelectFolder = new FormData(); |
| wSelectFolder.setToolTipText( |
| BaseMessages.getString(PKG, "ActionGetPOP.SelectFolderConnection.Tooltip")); |
| fdSelectFolder.top = new FormAttachment(wPOP3Settings, margin); |
| fdSelectFolder.right = new FormAttachment(100, 0); |
| wSelectFolder.setLayoutData(fdSelectFolder); |
| wSelectFolder.addListener(SWT.Selection, e -> selectFolder(wIMAPFolder)); |
| |
| // TestIMAPFolder button |
| wTestIMAPFolder = new Button(wIMAPSettings, SWT.PUSH); |
| wTestIMAPFolder.setText( |
| BaseMessages.getString(PKG, "ActionGetPOP.TestIMAPFolderConnection.Label")); |
| PropsUi.setLook(wTestIMAPFolder); |
| FormData fdTestIMAPFolder = new FormData(); |
| wTestIMAPFolder.setToolTipText( |
| BaseMessages.getString(PKG, "ActionGetPOP.TestIMAPFolderConnection.Tooltip")); |
| fdTestIMAPFolder.top = new FormAttachment(wPOP3Settings, margin); |
| fdTestIMAPFolder.right = new FormAttachment(wSelectFolder, -margin); |
| wTestIMAPFolder.setLayoutData(fdTestIMAPFolder); |
| wTestIMAPFolder.addListener( |
| SWT.Selection, e -> checkFolder(variables.resolve(wIMAPFolder.getText()))); |
| |
| // IMAPFolder line |
| wlIMAPFolder = new Label(wIMAPSettings, SWT.RIGHT); |
| wlIMAPFolder.setText(BaseMessages.getString(PKG, "ActionGetPOP.IMAPFolder.Label")); |
| PropsUi.setLook(wlIMAPFolder); |
| FormData fdlIMAPFolder = new FormData(); |
| fdlIMAPFolder.left = new FormAttachment(0, 0); |
| fdlIMAPFolder.top = new FormAttachment(wPOP3Settings, margin); |
| fdlIMAPFolder.right = new FormAttachment(middle, -margin); |
| wlIMAPFolder.setLayoutData(fdlIMAPFolder); |
| wIMAPFolder = new TextVar(variables, wIMAPSettings, SWT.SINGLE | SWT.LEFT | SWT.BORDER); |
| PropsUi.setLook(wIMAPFolder); |
| wIMAPFolder.setToolTipText(BaseMessages.getString(PKG, "ActionGetPOP.IMAPFolder.Tooltip")); |
| wIMAPFolder.addModifyListener(lsMod); |
| FormData fdIMAPFolder = new FormData(); |
| fdIMAPFolder.left = new FormAttachment(middle, 0); |
| fdIMAPFolder.top = new FormAttachment(wPOP3Settings, margin); |
| fdIMAPFolder.right = new FormAttachment(wTestIMAPFolder, -margin); |
| wIMAPFolder.setLayoutData(fdIMAPFolder); |
| |
| // Include subfolders? |
| wlIncludeSubFolders = new Label(wIMAPSettings, SWT.RIGHT); |
| wlIncludeSubFolders.setText( |
| BaseMessages.getString(PKG, "ActionGetPOP.IncludeSubFoldersMails.Label")); |
| PropsUi.setLook(wlIncludeSubFolders); |
| FormData fdlIncludeSubFolders = new FormData(); |
| fdlIncludeSubFolders.left = new FormAttachment(0, 0); |
| fdlIncludeSubFolders.top = new FormAttachment(wIMAPFolder, margin); |
| fdlIncludeSubFolders.right = new FormAttachment(middle, -margin); |
| wlIncludeSubFolders.setLayoutData(fdlIncludeSubFolders); |
| wIncludeSubFolders = new Button(wIMAPSettings, SWT.CHECK); |
| PropsUi.setLook(wIncludeSubFolders); |
| FormData fdIncludeSubFolders = new FormData(); |
| wIncludeSubFolders.setToolTipText( |
| BaseMessages.getString(PKG, "ActionGetPOP.IncludeSubFoldersMails.Tooltip")); |
| fdIncludeSubFolders.left = new FormAttachment(middle, 0); |
| fdIncludeSubFolders.top = new FormAttachment(wlIncludeSubFolders, 0, SWT.CENTER); |
| fdIncludeSubFolders.right = new FormAttachment(100, 0); |
| wIncludeSubFolders.setLayoutData(fdIncludeSubFolders); |
| wIncludeSubFolders.addSelectionListener(lsSelection); |
| |
| // List of mails of retrieve |
| wlIMAPListmails = new Label(wIMAPSettings, SWT.RIGHT); |
| wlIMAPListmails.setText(BaseMessages.getString(PKG, "ActionGetPOP.IMAPListmails.Label")); |
| PropsUi.setLook(wlIMAPListmails); |
| FormData fdlIMAPListmails = new FormData(); |
| fdlIMAPListmails.left = new FormAttachment(0, 0); |
| fdlIMAPListmails.right = new FormAttachment(middle, -margin); |
| fdlIMAPListmails.top = new FormAttachment(wlIncludeSubFolders, 2 * margin); |
| wlIMAPListmails.setLayoutData(fdlIMAPListmails); |
| wIMAPListmails = new CCombo(wIMAPSettings, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER); |
| wIMAPListmails.setItems(MailConnectionMeta.valueIMAPListDesc); |
| wIMAPListmails.select(0); // +1: starts at -1 |
| PropsUi.setLook(wIMAPListmails); |
| FormData fdIMAPListmails = new FormData(); |
| fdIMAPListmails.left = new FormAttachment(middle, 0); |
| fdIMAPListmails.top = new FormAttachment(wlIncludeSubFolders, 2 * margin); |
| fdIMAPListmails.right = new FormAttachment(100, 0); |
| wIMAPListmails.setLayoutData(fdIMAPListmails); |
| |
| wIMAPListmails.addSelectionListener( |
| new SelectionAdapter() { |
| @Override |
| public void widgetSelected(SelectionEvent e) { |
| // disalbe selection event |
| |
| } |
| }); |
| |
| // Retrieve the first ... mails |
| wlIMAPFirstmails = new Label(wIMAPSettings, SWT.RIGHT); |
| wlIMAPFirstmails.setText(BaseMessages.getString(PKG, "ActionGetPOP.IMAPFirstmails.Label")); |
| PropsUi.setLook(wlIMAPFirstmails); |
| FormData fdlIMAPFirstmails = new FormData(); |
| fdlIMAPFirstmails.left = new FormAttachment(0, 0); |
| fdlIMAPFirstmails.right = new FormAttachment(middle, -margin); |
| fdlIMAPFirstmails.top = new FormAttachment(wIMAPListmails, margin); |
| wlIMAPFirstmails.setLayoutData(fdlIMAPFirstmails); |
| |
| wIMAPFirstmails = new TextVar(variables, wIMAPSettings, SWT.SINGLE | SWT.LEFT | SWT.BORDER); |
| PropsUi.setLook(wIMAPFirstmails); |
| wIMAPFirstmails.addModifyListener(lsMod); |
| FormData fdIMAPFirstmails = new FormData(); |
| fdIMAPFirstmails.left = new FormAttachment(middle, 0); |
| fdIMAPFirstmails.top = new FormAttachment(wIMAPListmails, margin); |
| fdIMAPFirstmails.right = new FormAttachment(100, 0); |
| wIMAPFirstmails.setLayoutData(fdIMAPFirstmails); |
| |
| // After get IMAP |
| wlAfterGetIMAP = new Label(wIMAPSettings, SWT.RIGHT); |
| wlAfterGetIMAP.setText(BaseMessages.getString(PKG, "ActionGetPOP.AfterGetIMAP.Label")); |
| PropsUi.setLook(wlAfterGetIMAP); |
| FormData fdlAfterGetIMAP = new FormData(); |
| fdlAfterGetIMAP.left = new FormAttachment(0, 0); |
| fdlAfterGetIMAP.right = new FormAttachment(middle, -margin); |
| fdlAfterGetIMAP.top = new FormAttachment(wIMAPFirstmails, 2 * margin); |
| wlAfterGetIMAP.setLayoutData(fdlAfterGetIMAP); |
| wAfterGetIMAP = new CCombo(wIMAPSettings, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER); |
| wAfterGetIMAP.setItems(MailConnectionMeta.afterGetIMAPDesc); |
| wAfterGetIMAP.select(0); // +1: starts at -1 |
| |
| PropsUi.setLook(wAfterGetIMAP); |
| FormData fdAfterGetIMAP = new FormData(); |
| fdAfterGetIMAP.left = new FormAttachment(middle, 0); |
| fdAfterGetIMAP.top = new FormAttachment(wIMAPFirstmails, 2 * margin); |
| fdAfterGetIMAP.right = new FormAttachment(100, 0); |
| wAfterGetIMAP.setLayoutData(fdAfterGetIMAP); |
| |
| wAfterGetIMAP.addSelectionListener( |
| new SelectionAdapter() { |
| @Override |
| public void widgetSelected(SelectionEvent e) { |
| setAfterIMAPRetrived(); |
| action.setChanged(); |
| } |
| }); |
| |
| // MoveToFolder line |
| wlMoveToFolder = new Label(wIMAPSettings, SWT.RIGHT); |
| wlMoveToFolder.setText(BaseMessages.getString(PKG, "ActionGetPOP.MoveToFolder.Label")); |
| PropsUi.setLook(wlMoveToFolder); |
| FormData fdlMoveToFolder = new FormData(); |
| fdlMoveToFolder.left = new FormAttachment(0, 0); |
| fdlMoveToFolder.top = new FormAttachment(wAfterGetIMAP, margin); |
| fdlMoveToFolder.right = new FormAttachment(middle, -margin); |
| wlMoveToFolder.setLayoutData(fdlMoveToFolder); |
| |
| // SelectMoveToFolder button |
| wSelectMoveToFolder = new Button(wIMAPSettings, SWT.PUSH); |
| wSelectMoveToFolder.setText( |
| BaseMessages.getString(PKG, "ActionGetPOP.SelectMoveToFolderConnection.Label")); |
| PropsUi.setLook(wSelectMoveToFolder); |
| FormData fdSelectMoveToFolder = new FormData(); |
| wSelectMoveToFolder.setToolTipText( |
| BaseMessages.getString(PKG, "ActionGetPOP.SelectMoveToFolderConnection.Tooltip")); |
| fdSelectMoveToFolder.top = new FormAttachment(wAfterGetIMAP, margin); |
| fdSelectMoveToFolder.right = new FormAttachment(100, 0); |
| wSelectMoveToFolder.setLayoutData(fdSelectMoveToFolder); |
| wSelectMoveToFolder.addListener(SWT.Selection, e -> selectFolder(wMoveToFolder)); |
| |
| // TestMoveToFolder button |
| wTestMoveToFolder = new Button(wIMAPSettings, SWT.PUSH); |
| wTestMoveToFolder.setText( |
| BaseMessages.getString(PKG, "ActionGetPOP.TestMoveToFolderConnection.Label")); |
| PropsUi.setLook(wTestMoveToFolder); |
| FormData fdTestMoveToFolder = new FormData(); |
| wTestMoveToFolder.setToolTipText( |
| BaseMessages.getString(PKG, "ActionGetPOP.TestMoveToFolderConnection.Tooltip")); |
| fdTestMoveToFolder.top = new FormAttachment(wAfterGetIMAP, margin); |
| fdTestMoveToFolder.right = new FormAttachment(wSelectMoveToFolder, -margin); |
| wTestMoveToFolder.setLayoutData(fdTestMoveToFolder); |
| wTestMoveToFolder.addListener( |
| SWT.Selection, e -> checkFolder(variables.resolve(wMoveToFolder.getText()))); |
| |
| wMoveToFolder = new TextVar(variables, wIMAPSettings, SWT.SINGLE | SWT.LEFT | SWT.BORDER); |
| PropsUi.setLook(wMoveToFolder); |
| wMoveToFolder.setToolTipText(BaseMessages.getString(PKG, "ActionGetPOP.MoveToFolder.Tooltip")); |
| wMoveToFolder.addModifyListener(lsMod); |
| FormData fdMoveToFolder = new FormData(); |
| fdMoveToFolder.left = new FormAttachment(middle, 0); |
| fdMoveToFolder.top = new FormAttachment(wAfterGetIMAP, margin); |
| fdMoveToFolder.right = new FormAttachment(wTestMoveToFolder, -margin); |
| wMoveToFolder.setLayoutData(fdMoveToFolder); |
| |
| // Create move to folder |
| wlCreateMoveToFolder = new Label(wIMAPSettings, SWT.RIGHT); |
| wlCreateMoveToFolder.setText( |
| BaseMessages.getString(PKG, "ActionGetPOP.createMoveToFolderMails.Label")); |
| PropsUi.setLook(wlCreateMoveToFolder); |
| FormData fdlCreateMoveToFolder = new FormData(); |
| fdlCreateMoveToFolder.left = new FormAttachment(0, 0); |
| fdlCreateMoveToFolder.top = new FormAttachment(wMoveToFolder, margin); |
| fdlCreateMoveToFolder.right = new FormAttachment(middle, -margin); |
| wlCreateMoveToFolder.setLayoutData(fdlCreateMoveToFolder); |
| wCreateMoveToFolder = new Button(wIMAPSettings, SWT.CHECK); |
| PropsUi.setLook(wCreateMoveToFolder); |
| FormData fdCreateMoveToFolder = new FormData(); |
| wCreateMoveToFolder.setToolTipText( |
| BaseMessages.getString(PKG, "ActionGetPOP.createMoveToFolderMails.Tooltip")); |
| fdCreateMoveToFolder.left = new FormAttachment(middle, 0); |
| fdCreateMoveToFolder.top = new FormAttachment(wlCreateMoveToFolder, 0, SWT.CENTER); |
| fdCreateMoveToFolder.right = new FormAttachment(100, 0); |
| wCreateMoveToFolder.setLayoutData(fdCreateMoveToFolder); |
| |
| FormData fdIMAPSettings = new FormData(); |
| fdIMAPSettings.left = new FormAttachment(0, margin); |
| fdIMAPSettings.top = new FormAttachment(wPOP3Settings, 2 * margin); |
| fdIMAPSettings.right = new FormAttachment(100, -margin); |
| wIMAPSettings.setLayoutData(fdIMAPSettings); |
| // /////////////////////////////////////////////////////////// |
| // / END OF IMAP SETTINGS GROUP |
| // /////////////////////////////////////////////////////////// |
| |
| FormData fdSettingsComp = new FormData(); |
| fdSettingsComp.left = new FormAttachment(0, 0); |
| fdSettingsComp.top = new FormAttachment(wName, 0); |
| fdSettingsComp.right = new FormAttachment(100, 0); |
| fdSettingsComp.bottom = new FormAttachment(100, 0); |
| wSettingsComp.setLayoutData(fdSettingsComp); |
| |
| wSettingsComp.layout(); |
| wSettingsTab.setControl(wSettingsComp); |
| PropsUi.setLook(wSettingsComp); |
| |
| // /////////////////////////////////////////////////////////// |
| // / END OF Pop TAB |
| // /////////////////////////////////////////////////////////// |
| |
| // //////////////////////// |
| // START OF SEARCH TAB /// |
| // //////////////////////// |
| |
| CTabItem wSearchTab = new CTabItem(wTabFolder, SWT.NONE); |
| wSearchTab.setFont(GuiResource.getInstance().getFontDefault()); |
| wSearchTab.setText(BaseMessages.getString(PKG, "ActionGetPOP.Tab.Search.Label")); |
| Composite wSearchComp = new Composite(wTabFolder, SWT.NONE); |
| PropsUi.setLook(wSearchComp); |
| FormLayout searchLayout = new FormLayout(); |
| searchLayout.marginWidth = 3; |
| searchLayout.marginHeight = 3; |
| wSearchComp.setLayout(searchLayout); |
| |
| // //////////////////////// |
| // START OF HEADER ROUP/// |
| // / |
| Group wHeader = new Group(wSearchComp, SWT.SHADOW_NONE); |
| PropsUi.setLook(wHeader); |
| wHeader.setText(BaseMessages.getString(PKG, "ActionGetPOP.Header.Group.Label")); |
| |
| FormLayout headergroupLayout = new FormLayout(); |
| headergroupLayout.marginWidth = 10; |
| headergroupLayout.marginHeight = 10; |
| wHeader.setLayout(headergroupLayout); |
| |
| // Sender line: label, text, negate checkbox |
| // |
| Label wlSender = new Label(wHeader, SWT.RIGHT); |
| wlSender.setText(BaseMessages.getString(PKG, "ActionGetPOP.wSender.Label")); |
| PropsUi.setLook(wlSender); |
| FormData fdlSender = new FormData(); |
| fdlSender.left = new FormAttachment(0, 0); |
| fdlSender.top = new FormAttachment(0, margin); |
| fdlSender.right = new FormAttachment(middle, -margin); |
| wlSender.setLayoutData(fdlSender); |
| |
| wNegateSender = new Button(wHeader, SWT.CHECK); |
| PropsUi.setLook(wNegateSender); |
| FormData fdNegateSender = new FormData(); |
| wNegateSender.setToolTipText(BaseMessages.getString(PKG, "ActionGetPOP.NegateSender.Tooltip")); |
| fdNegateSender.top = new FormAttachment(wlSender, 0, SWT.CENTER); |
| fdNegateSender.right = new FormAttachment(100, -margin); |
| wNegateSender.setLayoutData(fdNegateSender); |
| |
| wSender = new TextVar(variables, wHeader, SWT.SINGLE | SWT.LEFT | SWT.BORDER); |
| PropsUi.setLook(wSender); |
| wSender.addModifyListener(lsMod); |
| FormData fdSender = new FormData(); |
| fdSender.left = new FormAttachment(middle, 0); |
| fdSender.top = new FormAttachment(wlSender, 0, SWT.CENTER); |
| fdSender.right = new FormAttachment(wNegateSender, -margin); |
| wSender.setLayoutData(fdSender); |
| |
| // Recipient: label, text, negate button |
| // |
| Label wlRecipient = new Label(wHeader, SWT.RIGHT); |
| wlRecipient.setText(BaseMessages.getString(PKG, "ActionGetPOP.Receipient.Label")); |
| PropsUi.setLook(wlRecipient); |
| FormData fdlRecipient = new FormData(); |
| fdlRecipient.left = new FormAttachment(0, 0); |
| fdlRecipient.top = new FormAttachment(wSender, 2 * margin); |
| fdlRecipient.right = new FormAttachment(middle, -margin); |
| wlRecipient.setLayoutData(fdlRecipient); |
| |
| wNegateReceipient = new Button(wHeader, SWT.CHECK); |
| PropsUi.setLook(wNegateReceipient); |
| FormData fdNegateRecipient = new FormData(); |
| wNegateReceipient.setToolTipText( |
| BaseMessages.getString(PKG, "ActionGetPOP.NegateReceipient.Tooltip")); |
| fdNegateRecipient.top = new FormAttachment(wlRecipient, 0, SWT.CENTER); |
| fdNegateRecipient.right = new FormAttachment(100, -margin); |
| wNegateReceipient.setLayoutData(fdNegateRecipient); |
| |
| wRecipient = new TextVar(variables, wHeader, SWT.SINGLE | SWT.LEFT | SWT.BORDER); |
| PropsUi.setLook(wRecipient); |
| wRecipient.addModifyListener(lsMod); |
| FormData fdRecipient = new FormData(); |
| fdRecipient.left = new FormAttachment(middle, 0); |
| fdRecipient.top = new FormAttachment(wlRecipient, 0, SWT.CENTER); |
| fdRecipient.right = new FormAttachment(wNegateReceipient, -margin); |
| wRecipient.setLayoutData(fdRecipient); |
| |
| // Subject line: label, text, negate checkbox |
| // |
| Label wlSubject = new Label(wHeader, SWT.RIGHT); |
| wlSubject.setText(BaseMessages.getString(PKG, "ActionGetPOP.Subject.Label")); |
| PropsUi.setLook(wlSubject); |
| FormData fdlSubject = new FormData(); |
| fdlSubject.left = new FormAttachment(0, 0); |
| fdlSubject.top = new FormAttachment(wRecipient, 2 * margin); |
| fdlSubject.right = new FormAttachment(middle, -margin); |
| wlSubject.setLayoutData(fdlSubject); |
| |
| wNegateSubject = new Button(wHeader, SWT.CHECK); |
| PropsUi.setLook(wNegateSubject); |
| FormData fdNegateSubject = new FormData(); |
| wNegateSubject.setToolTipText( |
| BaseMessages.getString(PKG, "ActionGetPOP.NegateSubject.Tooltip")); |
| fdNegateSubject.top = new FormAttachment(wlSubject, 0, SWT.CENTER); |
| fdNegateSubject.right = new FormAttachment(100, -margin); |
| wNegateSubject.setLayoutData(fdNegateSubject); |
| |
| wSubject = new TextVar(variables, wHeader, SWT.SINGLE | SWT.LEFT | SWT.BORDER); |
| PropsUi.setLook(wSubject); |
| wSubject.addModifyListener(lsMod); |
| FormData fdSubject = new FormData(); |
| fdSubject.left = new FormAttachment(middle, 0); |
| fdSubject.top = new FormAttachment(wlSubject, 0, SWT.CENTER); |
| fdSubject.right = new FormAttachment(wNegateSubject, -margin); |
| wSubject.setLayoutData(fdSubject); |
| |
| FormData fdHeader = new FormData(); |
| fdHeader.left = new FormAttachment(0, margin); |
| fdHeader.top = new FormAttachment(wRecipient, 2 * margin); |
| fdHeader.right = new FormAttachment(100, -margin); |
| wHeader.setLayoutData(fdHeader); |
| // /////////////////////////////////////////////////////////// |
| // / END OF HEADER GROUP |
| // /////////////////////////////////////////////////////////// |
| |
| // //////////////////////// |
| // START OF CONTENT GROUP/// |
| // / |
| Group wContent = new Group(wSearchComp, SWT.SHADOW_NONE); |
| PropsUi.setLook(wContent); |
| wContent.setText(BaseMessages.getString(PKG, "ActionGetPOP.Content.Group.Label")); |
| |
| FormLayout contentgroupLayout = new FormLayout(); |
| contentgroupLayout.marginWidth = 10; |
| contentgroupLayout.marginHeight = 10; |
| wContent.setLayout(contentgroupLayout); |
| |
| // Body: label, text, negate checkbox |
| // |
| Label wlBody = new Label(wContent, SWT.RIGHT); |
| wlBody.setText(BaseMessages.getString(PKG, "ActionGetPOP.Body.Label")); |
| PropsUi.setLook(wlBody); |
| FormData fdlBody = new FormData(); |
| fdlBody.left = new FormAttachment(0, 0); |
| fdlBody.top = new FormAttachment(0, margin); |
| fdlBody.right = new FormAttachment(middle, -margin); |
| wlBody.setLayoutData(fdlBody); |
| |
| wNegateBody = new Button(wContent, SWT.CHECK); |
| PropsUi.setLook(wNegateBody); |
| FormData fdNegateBody = new FormData(); |
| wNegateBody.setToolTipText(BaseMessages.getString(PKG, "ActionGetPOP.NegateBody.Tooltip")); |
| fdNegateBody.top = new FormAttachment(wlBody, 0, SWT.CENTER); |
| fdNegateBody.right = new FormAttachment(100, -margin); |
| wNegateBody.setLayoutData(fdNegateBody); |
| |
| wBody = new TextVar(variables, wContent, SWT.SINGLE | SWT.LEFT | SWT.BORDER); |
| PropsUi.setLook(wBody); |
| wBody.addModifyListener(lsMod); |
| FormData fdBody = new FormData(); |
| fdBody.left = new FormAttachment(middle, 0); |
| fdBody.top = new FormAttachment(wlBody, 0, SWT.CENTER); |
| fdBody.right = new FormAttachment(wNegateBody, -margin); |
| wBody.setLayoutData(fdBody); |
| |
| FormData fdContent = new FormData(); |
| fdContent.left = new FormAttachment(0, margin); |
| fdContent.top = new FormAttachment(wHeader, margin); |
| fdContent.right = new FormAttachment(100, -margin); |
| wContent.setLayoutData(fdContent); |
| // /////////////////////////////////////////////////////////// |
| // / END OF CONTENT GROUP |
| // /////////////////////////////////////////////////////////// |
| |
| // //////////////////////// |
| // START OF RECEIVED DATE ROUP/// |
| // / |
| Group wReceivedDate = new Group(wSearchComp, SWT.SHADOW_NONE); |
| PropsUi.setLook(wReceivedDate); |
| wReceivedDate.setText(BaseMessages.getString(PKG, "ActionGetPOP.ReceivedDate.Group.Label")); |
| |
| FormLayout receivedDategroupLayout = new FormLayout(); |
| receivedDategroupLayout.marginWidth = 10; |
| receivedDategroupLayout.marginHeight = 10; |
| wReceivedDate.setLayout(receivedDategroupLayout); |
| |
| // Received Date Condition line: label, text, negate checkbox |
| // |
| wlConditionOnReceivedDate = new Label(wReceivedDate, SWT.RIGHT); |
| wlConditionOnReceivedDate.setText( |
| BaseMessages.getString(PKG, "ActionGetPOP.ConditionOnReceivedDate.Label")); |
| PropsUi.setLook(wlConditionOnReceivedDate); |
| FormData fdlConditionOnReceivedDate = new FormData(); |
| fdlConditionOnReceivedDate.left = new FormAttachment(0, 0); |
| fdlConditionOnReceivedDate.right = new FormAttachment(middle, -margin); |
| fdlConditionOnReceivedDate.top = new FormAttachment(0, margin); |
| wlConditionOnReceivedDate.setLayoutData(fdlConditionOnReceivedDate); |
| |
| wNegateReceivedDate = new Button(wReceivedDate, SWT.CHECK); |
| PropsUi.setLook(wNegateReceivedDate); |
| FormData fdNegateReceivedDate = new FormData(); |
| wNegateReceivedDate.setToolTipText( |
| BaseMessages.getString(PKG, "ActionGetPOP.NegateReceivedDate.Tooltip")); |
| fdNegateReceivedDate.top = new FormAttachment(wlConditionOnReceivedDate, 0, SWT.CENTER); |
| fdNegateReceivedDate.right = new FormAttachment(100, -margin); |
| wNegateReceivedDate.setLayoutData(fdNegateReceivedDate); |
| |
| wConditionOnReceivedDate = new CCombo(wReceivedDate, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER); |
| wConditionOnReceivedDate.setItems(MailConnectionMeta.conditionDateDesc); |
| wConditionOnReceivedDate.select(0); // +1: starts at -1 |
| PropsUi.setLook(wConditionOnReceivedDate); |
| FormData fdConditionOnReceivedDate = new FormData(); |
| fdConditionOnReceivedDate.left = new FormAttachment(middle, 0); |
| fdConditionOnReceivedDate.top = new FormAttachment(wlConditionOnReceivedDate, 0, SWT.CENTER); |
| fdConditionOnReceivedDate.right = new FormAttachment(wNegateReceivedDate, -margin); |
| wConditionOnReceivedDate.setLayoutData(fdConditionOnReceivedDate); |
| wConditionOnReceivedDate.addSelectionListener( |
| new SelectionAdapter() { |
| @Override |
| public void widgetSelected(SelectionEvent e) { |
| conditionReceivedDate(); |
| action.setChanged(); |
| } |
| }); |
| |
| open = new Button(wReceivedDate, SWT.PUSH); |
| open.setImage(GuiResource.getInstance().getImageCalendar()); |
| open.setToolTipText(BaseMessages.getString(PKG, "ActionGetPOP.OpenCalendar")); |
| FormData fdlButton = new FormData(); |
| fdlButton.top = new FormAttachment(wConditionOnReceivedDate, margin); |
| fdlButton.right = new FormAttachment(100, 0); |
| open.setLayoutData(fdlButton); |
| open.addSelectionListener( |
| new SelectionAdapter() { |
| @Override |
| public void widgetSelected(SelectionEvent e) { |
| final Shell dialog = new Shell(shell, SWT.DIALOG_TRIM); |
| dialog.setText(BaseMessages.getString(PKG, "ActionGetPOP.SelectDate")); |
| dialog.setImage(GuiResource.getInstance().getImageHopUi()); |
| dialog.setLayout(new GridLayout(3, false)); |
| |
| final DateTime calendar = new DateTime(dialog, SWT.CALENDAR); |
| final DateTime time = new DateTime(dialog, SWT.TIME); |
| new Label(dialog, SWT.NONE); |
| new Label(dialog, SWT.NONE); |
| |
| Button ok = new Button(dialog, SWT.PUSH); |
| ok.setText(BaseMessages.getString(PKG, "System.Button.OK")); |
| ok.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false)); |
| ok.addSelectionListener( |
| new SelectionAdapter() { |
| @Override |
| public void widgetSelected(SelectionEvent e) { |
| Calendar cal = Calendar.getInstance(); |
| cal.set(Calendar.YEAR, calendar.getYear()); |
| cal.set(Calendar.MONTH, calendar.getMonth()); |
| cal.set(Calendar.DAY_OF_MONTH, calendar.getDay()); |
| |
| cal.set(Calendar.HOUR_OF_DAY, time.getHours()); |
| cal.set(Calendar.MINUTE, time.getMinutes()); |
| cal.set(Calendar.SECOND, time.getSeconds()); |
| |
| wReadFrom.setText( |
| new SimpleDateFormat(ActionGetPOP.DATE_PATTERN).format(cal.getTime())); |
| |
| dialog.close(); |
| } |
| }); |
| dialog.setDefaultButton(ok); |
| dialog.pack(); |
| dialog.open(); |
| } |
| }); |
| |
| wlReadFrom = new Label(wReceivedDate, SWT.RIGHT); |
| wlReadFrom.setText(BaseMessages.getString(PKG, "ActionGetPOP.ReadFrom.Label")); |
| PropsUi.setLook(wlReadFrom); |
| FormData fdlReadFrom = new FormData(); |
| fdlReadFrom.left = new FormAttachment(0, 0); |
| fdlReadFrom.top = new FormAttachment(wConditionOnReceivedDate, margin); |
| fdlReadFrom.right = new FormAttachment(middle, -margin); |
| wlReadFrom.setLayoutData(fdlReadFrom); |
| wReadFrom = new TextVar(variables, wReceivedDate, SWT.SINGLE | SWT.LEFT | SWT.BORDER); |
| wReadFrom.setToolTipText(BaseMessages.getString(PKG, "ActionGetPOP.ReadFrom.Tooltip")); |
| PropsUi.setLook(wReadFrom); |
| wReadFrom.addModifyListener(lsMod); |
| FormData fdReadFrom = new FormData(); |
| fdReadFrom.left = new FormAttachment(middle, 0); |
| fdReadFrom.top = new FormAttachment(wConditionOnReceivedDate, margin); |
| fdReadFrom.right = new FormAttachment(open, -margin); |
| wReadFrom.setLayoutData(fdReadFrom); |
| |
| opento = new Button(wReceivedDate, SWT.PUSH); |
| opento.setImage(GuiResource.getInstance().getImageCalendar()); |
| opento.setToolTipText(BaseMessages.getString(PKG, "ActionGetPOP.OpenCalendar")); |
| FormData fdlButtonto = new FormData(); |
| fdlButtonto.top = new FormAttachment(wReadFrom, 2 * margin); |
| fdlButtonto.right = new FormAttachment(100, 0); |
| opento.setLayoutData(fdlButtonto); |
| opento.addSelectionListener( |
| new SelectionAdapter() { |
| @Override |
| public void widgetSelected(SelectionEvent e) { |
| final Shell dialogto = new Shell(shell, SWT.DIALOG_TRIM); |
| dialogto.setText(BaseMessages.getString(PKG, "ActionGetPOP.SelectDate")); |
| dialogto.setImage(GuiResource.getInstance().getImageHopUi()); |
| dialogto.setLayout(new GridLayout(3, false)); |
| |
| final DateTime calendarto = new DateTime(dialogto, SWT.CALENDAR | SWT.BORDER); |
| final DateTime timeto = new DateTime(dialogto, SWT.TIME); |
| new Label(dialogto, SWT.NONE); |
| new Label(dialogto, SWT.NONE); |
| Button okto = new Button(dialogto, SWT.PUSH); |
| okto.setText(BaseMessages.getString(PKG, "System.Button.OK")); |
| okto.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false)); |
| okto.addSelectionListener( |
| new SelectionAdapter() { |
| @Override |
| public void widgetSelected(SelectionEvent e) { |
| Calendar cal = Calendar.getInstance(); |
| cal.set(Calendar.YEAR, calendarto.getYear()); |
| cal.set(Calendar.MONTH, calendarto.getMonth()); |
| cal.set(Calendar.DAY_OF_MONTH, calendarto.getDay()); |
| |
| cal.set(Calendar.HOUR_OF_DAY, timeto.getHours()); |
| cal.set(Calendar.MINUTE, timeto.getMinutes()); |
| cal.set(Calendar.SECOND, timeto.getSeconds()); |
| |
| wReadTo.setText( |
| new SimpleDateFormat(ActionGetPOP.DATE_PATTERN).format(cal.getTime())); |
| dialogto.close(); |
| } |
| }); |
| dialogto.setDefaultButton(okto); |
| dialogto.pack(); |
| dialogto.open(); |
| } |
| }); |
| |
| wlReadTo = new Label(wReceivedDate, SWT.RIGHT); |
| wlReadTo.setText(BaseMessages.getString(PKG, "ActionGetPOP.ReadTo.Label")); |
| PropsUi.setLook(wlReadTo); |
| FormData fdlReadTo = new FormData(); |
| fdlReadTo.left = new FormAttachment(0, 0); |
| fdlReadTo.top = new FormAttachment(wReadFrom, 2 * margin); |
| fdlReadTo.right = new FormAttachment(middle, -margin); |
| wlReadTo.setLayoutData(fdlReadTo); |
| wReadTo = new TextVar(variables, wReceivedDate, SWT.SINGLE | SWT.LEFT | SWT.BORDER); |
| wReadTo.setToolTipText(BaseMessages.getString(PKG, "ActionGetPOP.ReadTo.Tooltip")); |
| PropsUi.setLook(wReadTo); |
| wReadTo.addModifyListener(lsMod); |
| FormData fdReadTo = new FormData(); |
| fdReadTo.left = new FormAttachment(middle, 0); |
| fdReadTo.top = new FormAttachment(wReadFrom, 2 * margin); |
| fdReadTo.right = new FormAttachment(opento, -margin); |
| wReadTo.setLayoutData(fdReadTo); |
| |
| FormData fdReceivedDate = new FormData(); |
| fdReceivedDate.left = new FormAttachment(0, margin); |
| fdReceivedDate.top = new FormAttachment(wContent, margin); |
| fdReceivedDate.right = new FormAttachment(100, -margin); |
| wReceivedDate.setLayoutData(fdReceivedDate); |
| // /////////////////////////////////////////////////////////// |
| // / END OF RECEIVED DATE GROUP |
| // /////////////////////////////////////////////////////////// |
| |
| FormData fdSearchComp = new FormData(); |
| fdSearchComp.left = new FormAttachment(0, 0); |
| fdSearchComp.top = new FormAttachment(wName, 0); |
| fdSearchComp.right = new FormAttachment(100, 0); |
| fdSearchComp.bottom = new FormAttachment(100, 0); |
| wSearchComp.setLayoutData(fdSearchComp); |
| |
| wSearchComp.layout(); |
| wSearchTab.setControl(wSearchComp); |
| PropsUi.setLook(wSearchComp); |
| |
| // //////////////////////////////// |
| // / END OF SEARCH TAB |
| // //////////////////////////////// |
| |
| FormData fdTabFolder = new FormData(); |
| fdTabFolder.left = new FormAttachment(0, 0); |
| fdTabFolder.top = new FormAttachment(wName, margin); |
| fdTabFolder.right = new FormAttachment(100, 0); |
| fdTabFolder.bottom = new FormAttachment(wOk, -2 * margin); |
| wTabFolder.setLayoutData(fdTabFolder); |
| |
| getData(); |
| setUserProxy(); |
| chooseListMails(); |
| activeAttachmentFolder(); |
| refreshProtocol(false); |
| conditionReceivedDate(); |
| wTabFolder.setSelection(0); |
| |
| BaseDialog.defaultShellHandling(shell, c -> ok(), c -> cancel()); |
| |
| return action; |
| } |
| |
| private void setUserProxy() { |
| wlProxyUsername.setEnabled(wUseProxy.getSelection()); |
| wProxyUsername.setEnabled(wUseProxy.getSelection()); |
| } |
| |
| private boolean connect() { |
| String errordescription = null; |
| boolean retval = false; |
| if (mailConn != null && mailConn.isConnected()) { |
| retval = mailConn.isConnected(); |
| } |
| |
| if (!retval) { |
| String realserver = variables.resolve(wServerName.getText()); |
| String realuser = variables.resolve(wUserName.getText()); |
| String realpass = action.getRealPassword(variables.resolve(wPassword.getText())); |
| int realport = Const.toInt(variables.resolve(wPort.getText()), -1); |
| String realproxyuser = variables.resolve(wProxyUsername.getText()); |
| try { |
| mailConn = |
| new MailConnection( |
| LogChannel.UI, |
| MailConnectionMeta.getProtocolFromString( |
| wProtocol.getText(), MailConnectionMeta.PROTOCOL_IMAP), |
| realserver, |
| realport, |
| realuser, |
| realpass, |
| wUseSSL.getSelection(), |
| wUseXOAUTH2.getSelection(), |
| wUseProxy.getSelection(), |
| realproxyuser); |
| mailConn.connect(); |
| |
| retval = true; |
| } catch (Exception e) { |
| errordescription = e.getMessage(); |
| } |
| } |
| |
| if (!retval) { |
| MessageBox mb = new MessageBox(shell, SWT.OK | SWT.ICON_ERROR); |
| mb.setMessage( |
| BaseMessages.getString( |
| PKG, "ActionGetPOP.Connected.NOK.ConnectionBad", wServerName.getText()) |
| + Const.CR |
| + Const.NVL(errordescription, "")); |
| mb.setText(BaseMessages.getString(PKG, "ActionGetPOP.Connected.Title.Bad")); |
| mb.open(); |
| } |
| |
| return (mailConn.isConnected()); |
| } |
| |
| private void test() { |
| if (connect()) { |
| MessageBox mb = new MessageBox(shell, SWT.OK | SWT.ICON_INFORMATION); |
| mb.setMessage( |
| BaseMessages.getString(PKG, "ActionGetPOP.Connected.OK", wServerName.getText()) |
| + Const.CR); |
| mb.setText(BaseMessages.getString(PKG, "ActionGetPOP.Connected.Title.Ok")); |
| mb.open(); |
| } |
| } |
| |
| private void selectFolder(TextVar input) { |
| if (connect()) { |
| try { |
| Folder folder = mailConn.getStore().getDefaultFolder(); |
| SelectFolderDialog s = new SelectFolderDialog(shell, SWT.NONE, folder); |
| String folderName = s.open(); |
| if (folderName != null) { |
| input.setText(folderName); |
| } |
| } catch (Exception e) { |
| // Ignore errors |
| } |
| } |
| } |
| |
| private void checkFolder(String folderName) { |
| if (!Utils.isEmpty(folderName)) { |
| if (connect()) { |
| // check folder |
| if (mailConn.folderExists(folderName)) { |
| MessageBox mb = new MessageBox(shell, SWT.OK | SWT.ICON_INFORMATION); |
| mb.setMessage( |
| BaseMessages.getString(PKG, "ActionGetPOP.IMAPFolderExists.OK", folderName) |
| + Const.CR); |
| mb.setText(BaseMessages.getString(PKG, "ActionGetPOP.IMAPFolderExists.Title.Ok")); |
| mb.open(); |
| } else { |
| MessageBox mb = new MessageBox(shell, SWT.OK | SWT.ICON_ERROR); |
| mb.setMessage( |
| BaseMessages.getString(PKG, "ActionGetPOP.Connected.NOK.IMAPFolderExists", folderName) |
| + Const.CR); |
| mb.setText(BaseMessages.getString(PKG, "ActionGetPOP.IMAPFolderExists.Title.Bad")); |
| mb.open(); |
| } |
| } |
| } |
| } |
| |
| private void closeMailConnection() { |
| try { |
| if (mailConn != null) { |
| mailConn.disconnect(); |
| mailConn = null; |
| } |
| } catch (Exception e) { |
| // Ignore |
| } |
| } |
| |
| private void conditionReceivedDate() { |
| boolean activeReceivedDate = |
| (MailConnectionMeta.getConditionDateByDesc(wConditionOnReceivedDate.getText()) |
| != MailConnectionMeta.CONDITION_DATE_IGNORE); |
| boolean useBetween = |
| (MailConnectionMeta.getConditionDateByDesc(wConditionOnReceivedDate.getText()) |
| == MailConnectionMeta.CONDITION_DATE_BETWEEN); |
| wlReadFrom.setVisible(activeReceivedDate); |
| wReadFrom.setVisible(activeReceivedDate); |
| open.setVisible(activeReceivedDate); |
| wlReadTo.setVisible(activeReceivedDate && useBetween); |
| wReadTo.setVisible(activeReceivedDate && useBetween); |
| opento.setVisible(activeReceivedDate && useBetween); |
| if (!activeReceivedDate) { |
| wReadFrom.setText(""); |
| wReadTo.setText(""); |
| wNegateReceivedDate.setSelection(false); |
| } |
| } |
| |
| private void activeAttachmentFolder() { |
| boolean getmessages = |
| MailConnectionMeta.getActionTypeByDesc(wActionType.getText()) |
| == MailConnectionMeta.ACTION_TYPE_GET; |
| wlDifferentFolderForAttachment.setEnabled(getmessages && wGetAttachment.getSelection()); |
| wDifferentFolderForAttachment.setEnabled(getmessages && wGetAttachment.getSelection()); |
| boolean activeattachmentfolder = |
| (wGetAttachment.getSelection() && wDifferentFolderForAttachment.getSelection()); |
| wlAttachmentFolder.setEnabled(getmessages && activeattachmentfolder); |
| wAttachmentFolder.setEnabled(getmessages && activeattachmentfolder); |
| wbAttachmentFolder.setEnabled(getmessages && activeattachmentfolder); |
| if (!wGetAttachment.getSelection() && !wGetMessage.getSelection()) { |
| wGetMessage.setSelection(true); |
| } |
| } |
| |
| private void refreshPort(boolean refreshport) { |
| if (refreshport) { |
| if (wProtocol.getText().equals(MailConnectionMeta.PROTOCOL_STRING_POP3)) { |
| if (wUseSSL.getSelection()) { |
| if (Utils.isEmpty(wPort.getText()) |
| || wPort.getText().equals("" + MailConnectionMeta.DEFAULT_SSL_IMAP_PORT)) { |
| wPort.setText("" + MailConnectionMeta.DEFAULT_SSL_POP3_PORT); |
| } |
| } else { |
| if (Utils.isEmpty(wPort.getText()) |
| || wPort.getText().equals(MailConnectionMeta.DEFAULT_IMAP_PORT)) { |
| wPort.setText("" + MailConnectionMeta.DEFAULT_POP3_PORT); |
| } |
| } |
| } else { |
| if (wUseSSL.getSelection()) { |
| if (Utils.isEmpty(wPort.getText()) |
| || wPort.getText().equals("" + MailConnectionMeta.DEFAULT_SSL_POP3_PORT)) { |
| wPort.setText("" + MailConnectionMeta.DEFAULT_SSL_IMAP_PORT); |
| } |
| } else { |
| if (Utils.isEmpty(wPort.getText()) |
| || wPort.getText().equals(MailConnectionMeta.DEFAULT_POP3_PORT)) { |
| wPort.setText("" + MailConnectionMeta.DEFAULT_IMAP_PORT); |
| } |
| } |
| } |
| } |
| } |
| |
| private void refreshProtocol(boolean refreshport) { |
| checkUnavailableMode(); |
| boolean activePOP3 = wProtocol.getText().equals(MailConnectionMeta.PROTOCOL_STRING_POP3); |
| wlPOP3Message.setEnabled(activePOP3); |
| wlListmails.setEnabled(activePOP3); |
| wListmails.setEnabled(activePOP3); |
| wlFirstmails.setEnabled(activePOP3); |
| wlDelete.setEnabled(activePOP3); |
| wDelete.setEnabled(activePOP3); |
| |
| wlIMAPFirstmails.setEnabled(!activePOP3); |
| wIMAPFirstmails.setEnabled(!activePOP3); |
| wlIMAPFolder.setEnabled(!activePOP3); |
| wIMAPFolder.setEnabled(!activePOP3); |
| wlIncludeSubFolders.setEnabled(!activePOP3); |
| wIncludeSubFolders.setEnabled(!activePOP3); |
| wlIMAPListmails.setEnabled(!activePOP3); |
| wIMAPListmails.setEnabled(!activePOP3); |
| wTestIMAPFolder.setEnabled(!activePOP3); |
| wSelectFolder.setEnabled(!activePOP3); |
| wlAfterGetIMAP.setEnabled(!activePOP3); |
| wAfterGetIMAP.setEnabled(!activePOP3); |
| |
| if (activePOP3) { |
| // clear out selections |
| wConditionOnReceivedDate.select(0); |
| conditionReceivedDate(); |
| } |
| // POP3 protocol does not provide information about when a message was received |
| wConditionOnReceivedDate.setEnabled(!activePOP3); |
| wNegateReceivedDate.setEnabled(!activePOP3); |
| wlConditionOnReceivedDate.setEnabled(!activePOP3); |
| |
| chooseListMails(); |
| refreshPort(refreshport); |
| setActionType(); |
| } |
| |
| private void checkUnavailableMode() { |
| if (wProtocol.getText().equals(MailConnectionMeta.PROTOCOL_STRING_POP3) |
| && MailConnectionMeta.getActionTypeByDesc(wActionType.getText()) |
| == MailConnectionMeta.ACTION_TYPE_MOVE) { |
| MessageBox mb = new MessageBox(shell, SWT.OK | SWT.ICON_ERROR); |
| mb.setMessage( |
| "This action is not available for POP3!" |
| + Const.CR |
| + "Only one Folder (INBOX) is available in POP3." |
| + Const.CR |
| + "If you want to move messages to another folder," |
| + Const.CR |
| + "please use IMAP protocol."); |
| mb.setText("ERROR"); |
| mb.open(); |
| wActionType.setText(MailConnectionMeta.getActionTypeDesc(MailConnectionMeta.ACTION_TYPE_GET)); |
| } |
| } |
| |
| private void setActionType() { |
| checkUnavailableMode(); |
| if (MailConnectionMeta.getActionTypeByDesc(wActionType.getText()) |
| != MailConnectionMeta.ACTION_TYPE_GET) { |
| wAfterGetIMAP.setText( |
| MailConnectionMeta.getAfterGetIMAPDesc(MailConnectionMeta.AFTER_GET_IMAP_NOTHING)); |
| } |
| |
| boolean getmessages = |
| MailConnectionMeta.getActionTypeByDesc(wActionType.getText()) |
| == MailConnectionMeta.ACTION_TYPE_GET; |
| |
| wlOutputDirectory.setEnabled(getmessages); |
| wOutputDirectory.setEnabled(getmessages); |
| wbDirectory.setEnabled(getmessages); |
| wlCreateLocalFolder.setEnabled(getmessages); |
| wCreateLocalFolder.setEnabled(getmessages); |
| wFilenamePattern.setEnabled(getmessages); |
| wlFilenamePattern.setEnabled(getmessages); |
| wlAttachmentWildcard.setEnabled(getmessages); |
| wAttachmentWildcard.setEnabled(getmessages); |
| wlDifferentFolderForAttachment.setEnabled(getmessages); |
| wDifferentFolderForAttachment.setEnabled(getmessages); |
| wlGetAttachment.setEnabled(getmessages); |
| wGetAttachment.setEnabled(getmessages); |
| wlGetMessage.setEnabled(getmessages); |
| wGetMessage.setEnabled(getmessages); |
| |
| wlAfterGetIMAP.setEnabled( |
| getmessages && wProtocol.getText().equals(MailConnectionMeta.PROTOCOL_STRING_IMAP)); |
| wAfterGetIMAP.setEnabled( |
| getmessages && wProtocol.getText().equals(MailConnectionMeta.PROTOCOL_STRING_IMAP)); |
| |
| setAfterIMAPRetrived(); |
| } |
| |
| private void setAfterIMAPRetrived() { |
| boolean activeMoveToFolfer = |
| (((wProtocol.getText().equals(MailConnectionMeta.PROTOCOL_STRING_IMAP)) |
| && (MailConnectionMeta.getActionTypeByDesc(wActionType.getText()) |
| == MailConnectionMeta.ACTION_TYPE_MOVE)) |
| || (MailConnectionMeta.getAfterGetIMAPByDesc(wAfterGetIMAP.getText()) |
| == MailConnectionMeta.AFTER_GET_IMAP_MOVE)); |
| wlMoveToFolder.setEnabled(activeMoveToFolfer); |
| wMoveToFolder.setEnabled(activeMoveToFolfer); |
| wTestMoveToFolder.setEnabled(activeMoveToFolfer); |
| wSelectMoveToFolder.setEnabled(activeMoveToFolfer); |
| wlCreateMoveToFolder.setEnabled(activeMoveToFolfer); |
| wCreateMoveToFolder.setEnabled(activeMoveToFolfer); |
| } |
| |
| public void chooseListMails() { |
| boolean ok = |
| (wProtocol.getText().equals(MailConnectionMeta.PROTOCOL_STRING_POP3) |
| && wListmails.getSelectionIndex() == 1); |
| wlFirstmails.setEnabled(ok); |
| wFirstmails.setEnabled(ok); |
| } |
| |
| @Override |
| public void dispose() { |
| closeMailConnection(); |
| super.dispose(); |
| } |
| |
| /** Copy information from the meta-data input to the dialog fields. */ |
| public void getData() { |
| if (action.getName() != null) { |
| wName.setText(action.getName()); |
| } |
| if (action.getServerName() != null) { |
| wServerName.setText(action.getServerName()); |
| } |
| if (action.getUserName() != null) { |
| wUserName.setText(action.getUserName()); |
| } |
| if (action.getPassword() != null) { |
| wPassword.setText(action.getPassword()); |
| } |
| |
| wUseSSL.setSelection(action.isUseSSL()); |
| wUseXOAUTH2.setSelection(action.isUseXOAUTH2()); |
| wGetMessage.setSelection(action.isSaveMessage()); |
| wGetAttachment.setSelection(action.isSaveAttachment()); |
| wDifferentFolderForAttachment.setSelection(action.isDifferentFolderForAttachment()); |
| if (action.getAttachmentFolder() != null) { |
| wAttachmentFolder.setText(action.getAttachmentFolder()); |
| } |
| |
| if (action.getPort() != null) { |
| wPort.setText(action.getPort()); |
| } |
| |
| if (action.getOutputDirectory() != null) { |
| wOutputDirectory.setText(action.getOutputDirectory()); |
| } |
| if (action.getFilenamePattern() != null) { |
| wFilenamePattern.setText(action.getFilenamePattern()); |
| } |
| if (action.getAttachmentWildcard() != null) { |
| wAttachmentWildcard.setText(action.getAttachmentWildcard()); |
| } |
| |
| String protocol = action.getProtocol(); |
| boolean isPop3 = StringUtils.equals(protocol, MailConnectionMeta.PROTOCOL_STRING_POP3); |
| wProtocol.setText(protocol); |
| int i = action.getRetrievemails(); |
| |
| if (i > 0) { |
| if (isPop3) { |
| wListmails.select(i - 1); |
| } else { |
| wListmails.select(i); |
| } |
| } else { |
| wListmails.select(0); // Retrieve All Mails |
| } |
| |
| if (action.getFirstMails() != null) { |
| wFirstmails.setText(action.getFirstMails()); |
| } |
| |
| wDelete.setSelection(action.getDelete()); |
| wIMAPListmails.setText(MailConnectionMeta.getValueImapListDesc(action.getValueImapList())); |
| if (action.getIMAPFolder() != null) { |
| wIMAPFolder.setText(action.getIMAPFolder()); |
| } |
| // search term |
| if (action.getSenderSearchTerm() != null) { |
| wSender.setText(action.getSenderSearchTerm()); |
| } |
| wNegateSender.setSelection(action.isNotTermSenderSearch()); |
| if (action.getReceipientSearch() != null) { |
| wRecipient.setText(action.getReceipientSearch()); |
| } |
| wNegateReceipient.setSelection(action.isNotTermReceipientSearch()); |
| if (action.getSubjectSearch() != null) { |
| wSubject.setText(action.getSubjectSearch()); |
| } |
| wNegateSubject.setSelection(action.isNotTermSubjectSearch()); |
| if (action.getBodySearch() != null) { |
| wBody.setText(action.getBodySearch()); |
| } |
| wNegateBody.setSelection(action.isNotTermBodySearch()); |
| wConditionOnReceivedDate.setText( |
| MailConnectionMeta.getConditionDateDesc(action.getConditionOnReceivedDate())); |
| wNegateReceivedDate.setSelection(action.isNotTermReceivedDateSearch()); |
| if (action.getReceivedDate1() != null) { |
| wReadFrom.setText(action.getReceivedDate1()); |
| } |
| if (action.getReceivedDate2() != null) { |
| wReadTo.setText(action.getReceivedDate2()); |
| } |
| wActionType.setText(MailConnectionMeta.getActionTypeDesc(action.getActionType())); |
| wCreateMoveToFolder.setSelection(action.isCreateMoveToFolder()); |
| wCreateLocalFolder.setSelection(action.isCreateLocalFolder()); |
| if (action.getMoveToIMAPFolder() != null) { |
| wMoveToFolder.setText(action.getMoveToIMAPFolder()); |
| } |
| wAfterGetIMAP.setText(MailConnectionMeta.getAfterGetIMAPDesc(action.getAfterGetIMAP())); |
| wIncludeSubFolders.setSelection(action.isIncludeSubFolders()); |
| wUseProxy.setSelection(action.isUseProxy()); |
| if (action.getProxyUsername() != null) { |
| wProxyUsername.setText(action.getProxyUsername()); |
| } |
| if (action.getFirstIMAPMails() != null) { |
| wIMAPFirstmails.setText(action.getFirstIMAPMails()); |
| } |
| |
| wName.selectAll(); |
| wName.setFocus(); |
| } |
| |
| private void cancel() { |
| action.setChanged(changed); |
| action = null; |
| dispose(); |
| } |
| |
| private void ok() { |
| if (Utils.isEmpty(wName.getText())) { |
| MessageBox mb = new MessageBox(shell, SWT.OK | SWT.ICON_ERROR); |
| mb.setMessage(BaseMessages.getString(PKG, "ActionGetPOP.NoNameMessageBox.Message")); |
| mb.setText(BaseMessages.getString(PKG, "ActionGetPOP.NoNameMessageBox.Text")); |
| mb.open(); |
| return; |
| } |
| action.setName(wName.getText()); |
| action.setServerName(wServerName.getText()); |
| action.setUserName(wUserName.getText()); |
| action.setPassword(wPassword.getText()); |
| action.setUseSSL(wUseSSL.getSelection()); |
| action.setUseXOAUTH2(wUseXOAUTH2.getSelection()); |
| action.setSaveAttachment(wGetAttachment.getSelection()); |
| action.setSaveMessage(wGetMessage.getSelection()); |
| action.setDifferentFolderForAttachment(wDifferentFolderForAttachment.getSelection()); |
| action.setAttachmentFolder(wAttachmentFolder.getText()); |
| action.setPort(wPort.getText()); |
| action.setOutputDirectory(wOutputDirectory.getText()); |
| action.setFilenamePattern(wFilenamePattern.getText()); |
| |
| // Option 'retrieve unread' is removed and there is only 2 options. |
| // for backward compatibility: 0 is 'retrieve all', 1 is 'retrieve first...' |
| int actualIndex = wListmails.getSelectionIndex(); |
| action.setRetrievemails(actualIndex > 0 ? 2 : 0); |
| |
| action.setFirstMails(wFirstmails.getText()); |
| action.setDelete(wDelete.getSelection()); |
| action.setProtocol(wProtocol.getText()); |
| action.setAttachmentWildcard(wAttachmentWildcard.getText()); |
| action.setValueImapList(MailConnectionMeta.getValueImapListByDesc(wIMAPListmails.getText())); |
| action.setFirstIMAPMails(wIMAPFirstmails.getText()); |
| action.setIMAPFolder(wIMAPFolder.getText()); |
| // search term |
| action.setSenderSearchTerm(wSender.getText()); |
| action.setNotTermSenderSearch(wNegateSender.getSelection()); |
| |
| action.setReceipientSearch(wRecipient.getText()); |
| action.setNotTermReceipientSearch(wNegateReceipient.getSelection()); |
| action.setSubjectSearch(wSubject.getText()); |
| action.setNotTermSubjectSearch(wNegateSubject.getSelection()); |
| action.setBodySearch(wBody.getText()); |
| action.setNotTermBodySearch(wNegateBody.getSelection()); |
| action.setConditionOnReceivedDate( |
| MailConnectionMeta.getConditionDateByDesc(wConditionOnReceivedDate.getText())); |
| action.setNotTermReceivedDateSearch(wNegateReceivedDate.getSelection()); |
| action.setReceivedDate1(wReadFrom.getText()); |
| action.setReceivedDate2(wReadTo.getText()); |
| action.setActionType(MailConnectionMeta.getActionTypeByDesc(wActionType.getText())); |
| action.setMoveToIMAPFolder(wMoveToFolder.getText()); |
| action.setCreateMoveToFolder(wCreateMoveToFolder.getSelection()); |
| action.setCreateLocalFolder(wCreateLocalFolder.getSelection()); |
| action.setAfterGetIMAP(MailConnectionMeta.getAfterGetIMAPByDesc(wAfterGetIMAP.getText())); |
| action.setIncludeSubFolders(wIncludeSubFolders.getSelection()); |
| action.setUseProxy(wUseProxy.getSelection()); |
| action.setProxyUsername(wProxyUsername.getText()); |
| dispose(); |
| } |
| } |