From bbfde1793b9e7cde10b9e6eccdfc5d49e837e1bf Mon Sep 17 00:00:00 2001 From: Sergey Inyakin Date: Wed, 3 Mar 2021 23:12:08 +0200 Subject: [PATCH 1/5] =?UTF-8?q?#2003=20=D0=9E=D0=B4=D0=B8=D0=BD=D0=BE?= =?UTF-8?q?=D1=87=D0=BD=D1=8B=D0=B9=20=D0=B2=D1=8B=D0=B1=D0=BE=D1=80=20?= =?UTF-8?q?=D0=B8=D0=B7=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA=D0=B0=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5=D0=BB?= =?UTF-8?q?=D1=8C=D1=81=D0=BA=D0=B8=D1=85=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D0=BD=D1=8B=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ru.runa.gpd.form.ftl/plugin.properties | 1 + plugins/ru.runa.gpd.form.ftl/plugin.xml | 39 +++++++++++++++++++ .../ru.runa.gpd.form.ftl/plugin_ru.properties | 1 + 3 files changed, 41 insertions(+) diff --git a/plugins/ru.runa.gpd.form.ftl/plugin.properties b/plugins/ru.runa.gpd.form.ftl/plugin.properties index 1a6f0c908..5cd9cac5f 100644 --- a/plugins/ru.runa.gpd.form.ftl/plugin.properties +++ b/plugins/ru.runa.gpd.form.ftl/plugin.properties @@ -104,6 +104,7 @@ Method.DisplayMultipleSelectInList = Display multiple selection Method.SelectFromValueList = Select value from value list Method.MultipleSelectFromListUserVariables = Multiple select from user variables list (deprecated) Method.MultipleSelectFromUserTypeList = Multiple select from user variables list +Method.SingleSelectFromUserTypeList = Single select from user variables list Method.EditUserTypeList = Edit list of user variables Method.DisplayListUserVariables = Display list of user variables (deprecated) Method.DisplayUserTypeList = Display list of user variables diff --git a/plugins/ru.runa.gpd.form.ftl/plugin.xml b/plugins/ru.runa.gpd.form.ftl/plugin.xml index f667d2e2d..5137bdf62 100644 --- a/plugins/ru.runa.gpd.form.ftl/plugin.xml +++ b/plugins/ru.runa.gpd.form.ftl/plugin.xml @@ -1170,6 +1170,45 @@ variableAccess="NONE"> + + + + + + + + + + + + + + Date: Fri, 5 Mar 2021 09:19:08 +0200 Subject: [PATCH 2/5] #2003 order --- plugins/ru.runa.gpd.form.ftl/plugin.xml | 84 ++++++++++++------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/plugins/ru.runa.gpd.form.ftl/plugin.xml b/plugins/ru.runa.gpd.form.ftl/plugin.xml index 5137bdf62..246a79816 100644 --- a/plugins/ru.runa.gpd.form.ftl/plugin.xml +++ b/plugins/ru.runa.gpd.form.ftl/plugin.xml @@ -1131,50 +1131,11 @@ variableAccess="NONE"> - - - - - - - - - - - - - - + order="-81"> + + + + + + + + + + + + + + + order="-79"> + order="-78"> Date: Sat, 27 Mar 2021 18:42:31 +0300 Subject: [PATCH 3/5] RM1781 https://rm.processtech.ru/issues/1781 --- plugins/ru.runa.gpd/plugin.properties | 1 + plugins/ru.runa.gpd/plugin_ru.properties | 1 + .../gpd/ui/wizard/ImportParWizardPage.java | 101 +++++++++++++----- 3 files changed, 76 insertions(+), 27 deletions(-) diff --git a/plugins/ru.runa.gpd/plugin.properties b/plugins/ru.runa.gpd/plugin.properties index 21a8898a9..c2c4f2900 100644 --- a/plugins/ru.runa.gpd/plugin.properties +++ b/plugins/ru.runa.gpd/plugin.properties @@ -327,6 +327,7 @@ help = Help task.SynchronizeData = Synchronizing data task.Connect = Connecting task.LoadData = Loading data +task.LoadHistoryData = Loading process \"{0}\"'s history data task.SaveData = Saving data yes = Yes no = No diff --git a/plugins/ru.runa.gpd/plugin_ru.properties b/plugins/ru.runa.gpd/plugin_ru.properties index fbaab55b4..de37e9fa2 100644 --- a/plugins/ru.runa.gpd/plugin_ru.properties +++ b/plugins/ru.runa.gpd/plugin_ru.properties @@ -326,6 +326,7 @@ help = \u0421\u043f\u0440\u0430\u0432\u043a\u0430 task.SynchronizeData = \u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 task.Connect = \u0421\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 task.LoadData = \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 +task.LoadHistoryData = \u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0430 \"{0}\" task.SaveData = \u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 yes = \u0414\u0430 no = \u041d\u0435\u0442 diff --git a/plugins/ru.runa.gpd/src/ru/runa/gpd/ui/wizard/ImportParWizardPage.java b/plugins/ru.runa.gpd/src/ru/runa/gpd/ui/wizard/ImportParWizardPage.java index d619143d8..01cffc276 100644 --- a/plugins/ru.runa.gpd/src/ru/runa/gpd/ui/wizard/ImportParWizardPage.java +++ b/plugins/ru.runa.gpd/src/ru/runa/gpd/ui/wizard/ImportParWizardPage.java @@ -1,5 +1,6 @@ package ru.runa.gpd.ui.wizard; +import com.google.common.base.Strings; import com.google.common.base.Throwables; import com.google.common.collect.Lists; import java.io.ByteArrayInputStream; @@ -9,6 +10,8 @@ import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; import java.util.List; import org.eclipse.core.resources.IContainer; import org.eclipse.core.runtime.IProgressMonitor; @@ -21,6 +24,7 @@ import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.jface.viewers.Viewer; import org.eclipse.jface.viewers.ViewerFilter; +import org.eclipse.osgi.util.NLS; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.SashForm; import org.eclipse.swt.events.ModifyEvent; @@ -38,6 +42,8 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; import org.eclipse.swt.widgets.TreeItem; +import org.eclipse.ui.ISharedImages; +import org.eclipse.ui.internal.WorkbenchImages; import ru.runa.gpd.Localization; import ru.runa.gpd.PluginLogger; import ru.runa.gpd.SharedImages; @@ -60,6 +66,7 @@ public class ImportParWizardPage extends ImportWizardPage { private WfeServerConnectorComposite serverConnectorComposite; private TreeViewer serverDefinitionViewer; private Text serverDefinitionFilter; + private Button clearFilterButton; private String selectedDirFileName; private String[] selectedFileNames; @@ -158,6 +165,8 @@ private void onImportModeChanged() { selectParsButton.setEnabled(fromFile); serverConnectorComposite.setEnabled(!fromFile); serverDefinitionViewer.getControl().setEnabled(!fromFile); + serverDefinitionFilter.setEnabled(!fromFile); + clearFilterButton.setEnabled(!fromFile); if (fromFile) { updateServerDefinitionViewer(null); } else { @@ -166,6 +175,7 @@ private void onImportModeChanged() { } private void updateServerDefinitionViewer(List definitions) { + serverDefinitionFilter.setText(""); if (definitions != null) { DefinitionTreeNode treeDefinitions = createTree(definitions); serverDefinitionViewer.setInput(treeDefinitions); @@ -176,20 +186,38 @@ private void updateServerDefinitionViewer(List definitions) { } private void createServerDefinitionsGroup(Composite parent) { - serverDefinitionFilter = new Text(parent, SWT.SINGLE | SWT.BORDER); - GridData gridDataText = new GridData(SWT.FILL,SWT.BEGINNING, true, false); - serverDefinitionFilter.setLayoutData(gridDataText); + Composite filterArea = new Composite(parent, SWT.NONE); + filterArea.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL)); + GridLayout filterLayout = new GridLayout(); + filterLayout.numColumns = 2; + filterLayout.makeColumnsEqualWidth = false; + filterLayout.marginWidth = 0; + filterLayout.marginHeight = 0; + filterArea.setLayout(filterLayout); + serverDefinitionFilter = new Text(filterArea, SWT.SINGLE | SWT.BORDER); + serverDefinitionFilter.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); serverDefinitionFilter.setMessage(Localization.getString("text.message.filter")); - serverDefinitionFilter.addModifyListener(new ModifyListener( ) { + serverDefinitionFilter.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { serverDefinitionViewer.refresh(); - }}); - + } + }); + clearFilterButton = new Button(filterArea, SWT.PUSH); + clearFilterButton.setToolTipText(Localization.getString("button.clear")); + clearFilterButton.setImage(WorkbenchImages.getImage(ISharedImages.IMG_ETOOL_CLEAR)); + clearFilterButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END)); + clearFilterButton.addSelectionListener(new SelectionAdapter() { + + @Override + public void widgetSelected(SelectionEvent e) { + serverDefinitionFilter.setText(""); + } + }); serverDefinitionViewer = new TreeViewer(parent); GridData gridData = new GridData(GridData.FILL_BOTH); - gridData.heightHint = 100; + gridData.heightHint = 300; serverDefinitionViewer.getControl().setLayoutData(gridData); serverDefinitionViewer.setContentProvider(new ViewContentProvider()); serverDefinitionViewer.setLabelProvider(new ViewLabelProvider()); @@ -197,24 +225,18 @@ public void modifyText(ModifyEvent e) { serverDefinitionViewer.addFilter(new ViewerFilter() { @Override - public boolean select(Viewer viewer, Object parentElement, Object element) { + public boolean select(Viewer viewer, Object parentElement, Object element) { String searchText = serverDefinitionFilter.getText(); if (searchText == null || searchText.trim().length() == 0) { return true; } - - if ((element instanceof DefinitionTreeNode) ) { - String name = ((DefinitionTreeNode) element).getLabel(); - - if (((DefinitionTreeNode) element).definition == null) { - // This is the node. Show nodes with at least one matching child definition - return matchAtLeastOneSub(((DefinitionTreeNode) element).getChildren(), searchText); - } - - // filter leafs only - if (name.toLowerCase().contains(searchText.trim().toLowerCase())) { - return true; - } + DefinitionTreeNode node = (DefinitionTreeNode) element; + if (node.definition == null && node.isGroupNode()) { + // This is the node. Show nodes with at least one matching child definition + return matchAtLeastOneSub(node.children, searchText); + } + if (matchNode(node, searchText)) { + return true; } return false; }}); @@ -225,19 +247,22 @@ private boolean matchAtLeastOneSub(List source, String searc return false; } for (DefinitionTreeNode node: source) { - String name = node.getLabel(); - if (name.toLowerCase().contains(searchText.trim().toLowerCase())) { + if (matchNode(node, searchText)) { return true; } - if (node.getChildren() != null && node.getChildren().size() > 0) { - boolean bSub = matchAtLeastOneSub(node.getChildren(), searchText); + if (node.children.size() > 0) { + boolean bSub = matchAtLeastOneSub(node.children, searchText); if (bSub) { return true; } } } return false; - } + } + + private boolean matchNode(DefinitionTreeNode node, String searchText) { + return node.definition != null && node.definition.getName().toLowerCase().contains(searchText.trim().toLowerCase()); + } public boolean performFinish() { List importInfos = Lists.newArrayList(); @@ -290,6 +315,28 @@ public boolean performFinish() { private DefinitionTreeNode createTree(List definitions) { DefinitionTreeNode rootTreeNode = new DefinitionTreeNode("", "", null, false, false); + Collections.sort(definitions, new Comparator() { + + @Override + public int compare(WfDefinition o1, WfDefinition o2) { + String[] categories1 = o1.getCategories(); + String[] categories2 = o2.getCategories(); + if (categoryIsEmpty(categories1)) { + if (categoryIsEmpty(categories2)) { + return 0; + } + return 1; + } + if (categoryIsEmpty(categories2)) { + return -1; + } + return categories1[0].compareTo(categories2[0]); + } + + private boolean categoryIsEmpty(String[] categories) { + return categories == null || categories.length == 0 || Strings.isNullOrEmpty(categories[0]) || categories[0].trim().length() == 0; + } + }); for (WfDefinition definition : definitions) { rootTreeNode.addElementToTree(rootTreeNode.path, definition.getCategories(), definition); } @@ -426,7 +473,7 @@ private List getChildren() { @Override public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { try { - monitor.beginTask(Localization.getString("task.LoadData"), 1); + monitor.beginTask(NLS.bind(Localization.getString("task.LoadHistoryData"), definition.getName()), 1); List list = WfeServerConnector.getInstance().getProcessDefinitionHistory(definition); if (list.isEmpty()) { String label = Localization.getString("ImportParWizardPage.page.oldDefinitionVersions.empty"); From 854fb1fa9ef05a8331ab307a2e3f69886545ef18 Mon Sep 17 00:00:00 2001 From: Alekseev Mikhail Date: Mon, 29 Mar 2021 13:48:14 +0300 Subject: [PATCH 4/5] Selection in process editor by double click on search results (form and form validation) has been added --- .../ru.runa.gpd/src/ru/runa/gpd/search/SearchPage.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/plugins/ru.runa.gpd/src/ru/runa/gpd/search/SearchPage.java b/plugins/ru.runa.gpd/src/ru/runa/gpd/search/SearchPage.java index d1fe54923..5e11f8e42 100644 --- a/plugins/ru.runa.gpd/src/ru/runa/gpd/search/SearchPage.java +++ b/plugins/ru.runa.gpd/src/ru/runa/gpd/search/SearchPage.java @@ -68,6 +68,7 @@ protected void showMatch(Match match, int offset, int length, boolean activate) ElementMatch elementMatch = (ElementMatch) match.getElement(); IEditorPart editor = null; if (ElementMatch.CONTEXT_FORM.equals(elementMatch.getContext())) { + selectFormNode(elementMatch); try { FormNode formNode = (FormNode) elementMatch.getGraphElement(); editor = FormTypeProvider.getFormType(formNode.getFormType()).openForm(elementMatch.getFile(), formNode); @@ -75,6 +76,7 @@ protected void showMatch(Match match, int offset, int length, boolean activate) PluginLogger.logError(e); } } else if (ElementMatch.CONTEXT_FORM_VALIDATION.equals(elementMatch.getContext())) { + selectFormNode(elementMatch); try { FormNode formNode = (FormNode) elementMatch.getGraphElement(); editor = FormTypeProvider.getFormType(formNode.getFormType()) @@ -143,4 +145,11 @@ protected void clear() { contentProvider.clear(); } } + + private void selectFormNode(ElementMatch elementMatch) { + ProcessEditorBase processEditor = WorkspaceOperations.openProcessDefinition(elementMatch.getParent().getFile()); + if (processEditor != null) { + processEditor.select(elementMatch.getParent().getGraphElement()); + } + } } From 214aa499838a08ba04392346d50b8b17b92e3209 Mon Sep 17 00:00:00 2001 From: Mikhael Gerasimenko Date: Mon, 29 Mar 2021 13:51:34 +0300 Subject: [PATCH 5/5] =?UTF-8?q?#2023=20:=20=D0=92=20DS=20=D0=B2=20=D0=BD?= =?UTF-8?q?=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B0=D1=85=20=D1=81?= =?UTF-8?q?=D0=BE=D0=B5=D0=B4=D0=B8=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=81?= =?UTF-8?q?=20=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=BE=D0=BC=20=D0=B4?= =?UTF-8?q?=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82=D1=8C=20=D0=BA=D0=BE=D0=BC?= =?UTF-8?q?=D0=B0=D0=BD=D0=B4=D1=83=20"=D1=81=D0=BE=D1=85=D1=80=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=82=D1=8C=20=D1=81=D0=BE=D0=B5=D0=B4=D0=B8=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/ru.runa.gpd/plugin.properties | 3 +- plugins/ru.runa.gpd/plugin_ru.properties | 3 +- .../gpd/sync/WfeServerConnectorComposite.java | 35 ++++++++++++++++++- 3 files changed, 38 insertions(+), 3 deletions(-) diff --git a/plugins/ru.runa.gpd/plugin.properties b/plugins/ru.runa.gpd/plugin.properties index 21a8898a9..7d7858b99 100644 --- a/plugins/ru.runa.gpd/plugin.properties +++ b/plugins/ru.runa.gpd/plugin.properties @@ -274,7 +274,8 @@ pref.language.bpmn.expandContextButtonPad = Expand context button pad ApplicationWorkbenchWindowAdvisor.window.title=RunaWFE Developer Studio button.choose=Choose -button.ConnectionSettings = Connection settings +button.add.connection.server = Add +button.ConnectionSettings = Configure button.test.connection = Test connection button.add.connection = Add connection button.delete.connection = Delete connection diff --git a/plugins/ru.runa.gpd/plugin_ru.properties b/plugins/ru.runa.gpd/plugin_ru.properties index fbaab55b4..977e2ac55 100644 --- a/plugins/ru.runa.gpd/plugin_ru.properties +++ b/plugins/ru.runa.gpd/plugin_ru.properties @@ -273,7 +273,8 @@ pref.language.bpmn.override = \u041f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u pref.language.bpmn.expandContextButtonPad = \u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u043e\u043c \u043c\u0435\u043d\u044e \u043d\u0430 \u0433\u0440\u0430\u0444\u0435 button.choose=\u0412\u044b\u0431\u0440\u0430\u0442\u044c -button.ConnectionSettings = \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f +button.add.connection.server=\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c +button.ConnectionSettings = \u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c button.test.connection = \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 button.add.connection = \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u043E\u0435 \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435 button.delete.connection = \u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435 diff --git a/plugins/ru.runa.gpd/src/ru/runa/gpd/sync/WfeServerConnectorComposite.java b/plugins/ru.runa.gpd/src/ru/runa/gpd/sync/WfeServerConnectorComposite.java index c71b44e03..90170e874 100644 --- a/plugins/ru.runa.gpd/src/ru/runa/gpd/sync/WfeServerConnectorComposite.java +++ b/plugins/ru.runa.gpd/src/ru/runa/gpd/sync/WfeServerConnectorComposite.java @@ -13,11 +13,13 @@ import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; +import org.eclipse.ui.dialogs.PreferencesUtil; import org.eclipse.ui.forms.events.HyperlinkEvent; import org.eclipse.ui.forms.widgets.Hyperlink; import ru.runa.gpd.Activator; import ru.runa.gpd.Localization; import ru.runa.gpd.settings.PrefConstants; +import ru.runa.gpd.settings.WfeServerConnectorPreferenceNode; import ru.runa.gpd.settings.WfeServerConnectorPreferencePage; import ru.runa.gpd.settings.WfeServerConnectorsPreferenceNode; import ru.runa.gpd.ui.custom.LoggingHyperlinkAdapter; @@ -28,6 +30,7 @@ public class WfeServerConnectorComposite extends Composite { private final WfeServerConnectorDataImporter importer; private final WfeServerConnectorSynchronizationCallback callback; private Combo combo; + private Hyperlink addConnectionLink; private Hyperlink settingsLink; private Hyperlink synchronizeLink; @@ -35,8 +38,10 @@ public WfeServerConnectorComposite(Composite parent, WfeServerConnectorDataImpor super(parent, SWT.NONE); this.importer = importer; this.callback = callback; - setLayout(new GridLayout(3, true)); + setLayout(new GridLayout(4, false)); + createCombo(); + createAddConnectionLink(); createConnectionSettingsLink(); createSynchronizeLink(); } @@ -45,6 +50,7 @@ public WfeServerConnectorComposite(Composite parent, WfeServerConnectorDataImpor public void setEnabled(boolean enabled) { super.setEnabled(enabled); combo.setEnabled(enabled); + addConnectionLink.setEnabled(enabled); settingsLink.setEnabled(enabled); synchronizeLink.setEnabled(enabled && WfeServerConnector.getInstance().isConfigured()); } @@ -79,6 +85,33 @@ protected void onSelection(SelectionEvent e) throws Exception { }); } + private void createAddConnectionLink() { + addConnectionLink = SwtUtils.createLink(this, Localization.getString("button.add.connection.server"), new LoggingHyperlinkAdapter() { + + @Override + protected void onLinkActivated(HyperlinkEvent e) { + getShell().dispose(); + openAddConnectionDialog(); + } + + }); + } + + private void openAddConnectionDialog() { + WfeServerConnectorsPreferenceNode wfeServerConnectorsNode = WfeServerConnectorsPreferenceNode.getInstance(); + IPreferenceNode[] children = wfeServerConnectorsNode.getSubNodes(); + WfeServerConnectorPreferenceNode lastNode = (WfeServerConnectorPreferenceNode) children[children.length - 1]; + WfeServerConnectorPreferenceNode node = new WfeServerConnectorPreferenceNode(lastNode.getIndex() + 1); + wfeServerConnectorsNode.add(node); + wfeServerConnectorsNode.saveIndices(); + WfeServerConnectorSettings connectorSettings = WfeServerConnectorSettings.createDefault(node.getIndex()); + connectorSettings.saveToStore(); + children = wfeServerConnectorsNode.getSubNodes(); + lastNode = (WfeServerConnectorPreferenceNode) children[children.length - 1]; + PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(null, "gpd.pref.connector.wfe." + lastNode.getIndex(), null, null); + dialog.open(); + } + private void createConnectionSettingsLink() { settingsLink = SwtUtils.createLink(this, Localization.getString("button.ConnectionSettings"), new LoggingHyperlinkAdapter() {