diff options
author | Shireesh Anjal <anjalshireesh@gmail.com> | 2011-11-09 06:51:54 -0800 |
---|---|---|
committer | Shireesh Anjal <anjalshireesh@gmail.com> | 2011-11-09 06:51:54 -0800 |
commit | 10896cbdfc28fb2e1e3fb118c4194b23bcb907b2 (patch) | |
tree | c5383ab61e5a1b8b731e1c4c1119df36b13189e2 | |
parent | ec4ab870ee1c3278deefc79213e62534360abfc6 (diff) | |
parent | 1e6158569fc775d0c1af5a97c7a3f30d4945c62c (diff) |
Merge pull request #296 from anjalshireesh/master
Added tooltips for the select, create and register radio buttons on the cluster selection dialog.
3 files changed, 63 insertions, 4 deletions
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ConsoleConstants.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ConsoleConstants.java index 47293228..6c7449f2 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ConsoleConstants.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ConsoleConstants.java @@ -24,4 +24,6 @@ package com.gluster.storage.management.console; public class ConsoleConstants { public static final String CONSOLE_TITLE = "Gluster Management Console"; public static final String TERMINAL_VIEW_ID = "org.eclipse.tm.terminal.view.TerminalView"; + public static final String PROPERTY_AUTO_LOGIN_PASSWORD = "auto.login.password"; + public static final String PROPERTY_AUTO_CLUSTER_NAME = "auto.cluster.name"; } diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/ClusterSelectionDialog.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/ClusterSelectionDialog.java index ac510f5e..cbbcbd46 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/ClusterSelectionDialog.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/ClusterSelectionDialog.java @@ -30,6 +30,8 @@ import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.ShellAdapter; +import org.eclipse.swt.events.ShellEvent; import org.eclipse.swt.events.TraverseEvent; import org.eclipse.swt.events.TraverseListener; import org.eclipse.swt.layout.GridData; @@ -43,6 +45,7 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; import com.gluster.storage.management.console.Activator; +import com.gluster.storage.management.console.ConsoleConstants; import com.gluster.storage.management.console.preferences.PreferenceConstants; import com.gluster.storage.management.console.utils.GUIHelper; @@ -50,6 +53,10 @@ import com.gluster.storage.management.console.utils.GUIHelper; * Cluster selection dialog, which prompts for the cluster name to be managed */ public class ClusterSelectionDialog extends Dialog { + private static final String MESSAGE_SELECT_CLUSTER = "Select the Cluster you want to manage in this session."; + private static final String MESSAGE_CREATE_CLUSTER = "Create an empty Cluster and start adding servers to it."; + private static final String MESSAGE_REGISTER_CLUSTER = "Register an existing Cluster with the Management Gateway and start managing it using the Management Console."; + protected enum CLUSTER_MODE { SELECT, CREATE, REGISTER }; private Combo clusterNameCombo = null; @@ -162,8 +169,31 @@ public class ClusterSelectionDialog extends Dialog { createRadioButtons(); createSubComposites(); + setupAutoSelectionIfRequired(); + return composite; } + + private void setupAutoSelectionIfRequired() { + if (clusters.size() == 0) { + return; + } + + final String clusterName = System.getProperty(ConsoleConstants.PROPERTY_AUTO_CLUSTER_NAME, null); + if (clusterName == null) { + return; + } + + getShell().addShellListener(new ShellAdapter() { + @Override + public void shellActivated(ShellEvent e) { + super.shellActivated(e); + clusterNameCombo.setText(clusterName); + okPressed(); + } + }); + } + private void createSubComposites() { Composite subComposite = new Composite(composite, SWT.NONE); @@ -250,15 +280,15 @@ public class ClusterSelectionDialog extends Dialog { clusterSelectionComposite = new Composite(subComposite, SWT.NONE); GridLayout layout = new GridLayout(2, false); clusterSelectionComposite.setLayout(layout); + createClusterNameLabel(clusterSelectionComposite); createClusterNameCombo(clusterSelectionComposite); - - createPreferenceCheckboxes(clusterSelectionComposite); + createPreferenceCheckbox(clusterSelectionComposite); stackLayout.topControl = clusterSelectionComposite; } - private void createPreferenceCheckboxes(Composite composite) { + private void createPreferenceCheckbox(Composite composite) { GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, false); layoutData.verticalIndent = 5; layoutData.horizontalSpan = 2; @@ -277,15 +307,18 @@ public class ClusterSelectionDialog extends Dialog { if (clusters.size() > 0) { selectButton = new Button(composite, SWT.RADIO); selectButton.setText("&Select"); + selectButton.setToolTipText(MESSAGE_SELECT_CLUSTER); } } { createButton = new Button(composite, SWT.RADIO); createButton.setText("&Create"); + createButton.setToolTipText(MESSAGE_CREATE_CLUSTER); } { registerButton = new Button(composite, SWT.RADIO); registerButton.setText("&Register"); + registerButton.setToolTipText(MESSAGE_REGISTER_CLUSTER); } } diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/LoginDialog.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/LoginDialog.java index 4622dc84..6120f5e3 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/LoginDialog.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/LoginDialog.java @@ -34,6 +34,8 @@ import org.eclipse.jface.operation.IRunnableWithProgress; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.window.Window; import org.eclipse.swt.SWT; +import org.eclipse.swt.events.ShellAdapter; +import org.eclipse.swt.events.ShellEvent; import org.eclipse.swt.events.TraverseEvent; import org.eclipse.swt.events.TraverseListener; import org.eclipse.swt.layout.GridData; @@ -49,9 +51,10 @@ import org.eclipse.swt.widgets.Text; import com.gluster.storage.management.client.ClustersClient; import com.gluster.storage.management.client.UsersClient; import com.gluster.storage.management.console.Activator; +import com.gluster.storage.management.console.ConsoleConstants; import com.gluster.storage.management.console.GlusterDataModelManager; import com.gluster.storage.management.console.IImageKeys; -import static com.gluster.storage.management.console.dialogs.ClusterSelectionDialog.CLUSTER_MODE; +import com.gluster.storage.management.console.dialogs.ClusterSelectionDialog.CLUSTER_MODE; import com.gluster.storage.management.console.preferences.PreferenceConstants; import com.gluster.storage.management.console.utils.GUIHelper; import com.gluster.storage.management.console.validators.StringRequiredValidator; @@ -171,6 +174,7 @@ public class LoginDialog extends Dialog { createPasswordLabel(composite); createPasswordText(composite); + setupAutoLoginIfRequired(); return composite; } @@ -203,6 +207,26 @@ public class LoginDialog extends Dialog { setupDataBinding(); } + private void setupAutoLoginIfRequired() { + final String password = System.getProperty(ConsoleConstants.PROPERTY_AUTO_LOGIN_PASSWORD, null); + if (password == null) { + return; + } + getShell().addShellListener(new ShellAdapter() { + @Override + public void shellActivated(ShellEvent e) { + super.shellActivated(e); + + if (passwordText.getText().isEmpty()) { + // Check whether the password has been passed as system parameter. This can be used for avoiding + // human intervention on login dialog while running SWTBot automated tests. + passwordText.setText(password); + okPressed(); + } + } + }); + } + /** * Sets up data binding between the text fields and the connection details object. Also attaches a "string required" * validator to the "password" text field. This validator is configured to do the following on validation failure<br> |