提交 e88d54ea 编写于 作者: S serge-rider

#3933 Connection wizard redesign

上级 14535c0d
......@@ -350,6 +350,9 @@ public class CoreMessages extends NLS {
public static String dialog_connection_wizard_final_filter_link_not_supported_tooltip;
public static String dialog_connection_wizard_final_button_tunneling;
public static String dialog_connection_wizard_connection_init;
public static String dialog_connection_wizard_connection_init_description;
public static String dialog_connection_wizard_start_connection_monitor_close;
public static String dialog_connection_wizard_start_connection_monitor_start;
public static String dialog_connection_wizard_start_connection_monitor_subtask_test;
......
......@@ -346,6 +346,10 @@ dialog_connection_wizard_final_label_isolation_level_tooltip = Default transacti
dialog_connection_wizard_final_label_keepalive = Keep-Alive
dialog_connection_wizard_final_label_keepalive_tooltip = Keep-alive interval (in seconds). Zero turns keep-alive off
dialog_connection_wizard_final_label_shell_command = Shell Commands
dialog_connection_wizard_connection_init = Initialization
dialog_connection_wizard_connection_init_description = Database connection initialization settings
dialog_connection_wizard_socksproxy_host = Host
dialog_connection_wizard_socksproxy_password = Password
dialog_connection_wizard_socksproxy_port = Port
......
......@@ -114,7 +114,7 @@ public abstract class ConnectionPageAbstract extends DialogPage implements IData
infoLabel.setToolTipText("You can use OS environment variables in connection parameters.\nUse ${variable} patterns.");
}
if (!site.isNew() && !site.getDriver().isEmbedded()) {
if (!site.getDriver().isEmbedded()) {
Link netConfigLink = new Link(placeholder, SWT.NONE);
netConfigLink.setText("<a>" + CoreMessages.dialog_connection_edit_wizard_conn_conf_network_link + "</a>");
......
......@@ -356,6 +356,9 @@ class ConnectionPageSettings extends ActiveWizardPage<ConnectionWizard> implemen
} else {
extraPages = ArrayUtils.concatArrays(extraPages, new IDialogPage[] { page });
}
if (page instanceof IWizardPage) {
((IWizardPage) page).setWizard(getWizard());
}
}
@Override
......
......@@ -22,6 +22,8 @@ import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.osgi.util.NLS;
......@@ -52,7 +54,9 @@ import org.jkiss.utils.CommonUtils;
import java.lang.reflect.InvocationTargetException;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
......@@ -60,10 +64,14 @@ import java.util.Map;
*/
public abstract class ConnectionWizard extends Wizard implements INewWizard {
public static final String PROP_CONNECTION_TYPE = "connection-type";
private static final Log log = Log.getLog(ConnectionWizard.class);
// protected final IProject project;
private final Map<DriverDescriptor, DataSourceDescriptor> infoMap = new HashMap<>();
private final List<IPropertyChangeListener> propertyListeners = new ArrayList<>();
private boolean resized = false;
protected ConnectionWizard()
......@@ -278,4 +286,14 @@ public abstract class ConnectionWizard extends Wizard implements INewWizard {
return Status.OK_STATUS;
}
}
public void addPropertyChangeListener(IPropertyChangeListener listener) {
propertyListeners.add(listener);
}
public void firePropertyChangeEvent(String property, Object oldValue, Object newValue) {
for (IPropertyChangeListener listener : propertyListeners) {
listener.propertyChange(new PropertyChangeEvent(this, property, oldValue, newValue));
}
}
}
\ No newline at end of file
......@@ -61,6 +61,7 @@ public class EditConnectionWizard extends ConnectionWizard
private ConnectionPageSettings pageSettings;
private ConnectionPageGeneral pageGeneral;
private ConnectionPageNetwork pageNetwork;
private ConnectionPageInitialization pageInit;
private EditShellCommandsDialogPage pageEvents;
private List<WizardPrefPage> prefPages = new ArrayList<>();
private PrefPageConnections pageClientSettings;
......@@ -127,6 +128,7 @@ public class EditConnectionWizard extends ConnectionWizard
if (!embedded) {
pageNetwork = new ConnectionPageNetwork(this);
}
pageInit = new ConnectionPageInitialization(dataSource);
pageEvents = new EditShellCommandsDialogPage(dataSource);
addPage(pageGeneral);
......@@ -134,6 +136,7 @@ public class EditConnectionWizard extends ConnectionWizard
if (!embedded) {
pageSettings.addSubPage(pageNetwork);
}
pageSettings.addSubPage(pageInit);
pageSettings.addSubPage(pageEvents);
}
......@@ -289,6 +292,7 @@ public class EditConnectionWizard extends ConnectionWizard
if (isPageActive(pageNetwork)) {
pageNetwork.saveConfigurations(dataSource);
}
pageInit.saveSettings(dataSource);
pageEvents.saveConfigurations(dataSource);
for (WizardPrefPage prefPage : prefPages) {
savePageSettings(prefPage);
......
......@@ -48,7 +48,7 @@ public class NewConnectionWizard extends ConnectionWizard
private Map<DataSourceProviderDescriptor, ConnectionPageSettings> settingsPages = new HashMap<>();
private ConnectionPageGeneral pageGeneral;
private ConnectionPageNetwork pageNetwork;
private ConnectionPageInitialization pageInit;
public NewConnectionWizard()
{
......@@ -114,8 +114,10 @@ public class NewConnectionWizard extends ConnectionWizard
pageGeneral = new ConnectionPageGeneral(this);
pageNetwork = new ConnectionPageNetwork(this);
pageInit = new ConnectionPageInitialization();
addPage(pageGeneral);
addPage(pageNetwork);
addPage(pageInit);
// Initial settings
if (selection != null && !selection.isEmpty()) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册