Rename preference page
diff --git a/org.eclipse.userstorage.ui/User Storage IDE.launch b/org.eclipse.userstorage.ui/User Storage IDE.launch
index dccb826..ccf5a46 100644
--- a/org.eclipse.userstorage.ui/User Storage IDE.launch
+++ b/org.eclipse.userstorage.ui/User Storage IDE.launch
@@ -21,6 +21,7 @@
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dorg.eclipse.userstorage.ui.showServices=false"/>
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
<booleanAttribute key="show_selected_only" value="false"/>
diff --git a/org.eclipse.userstorage.ui/plugin.xml b/org.eclipse.userstorage.ui/plugin.xml
index 6c204d3..bbb7894 100644
--- a/org.eclipse.userstorage.ui/plugin.xml
+++ b/org.eclipse.userstorage.ui/plugin.xml
@@ -21,7 +21,7 @@
<page category="org.eclipse.ui.preferencePages.Workbench"
class="org.eclipse.userstorage.ui.internal.ServicesPreferencePage"
id="org.eclipse.userstorage.ui.ServicesPreferencePage"
- name="User Storage"/>
+ name="User Storage Service"/>
</extension>
</plugin>
diff --git a/org.eclipse.userstorage.ui/src/org/eclipse/userstorage/ui/ServiceSelectorComposite.java b/org.eclipse.userstorage.ui/src/org/eclipse/userstorage/ui/ServiceSelectorComposite.java
index 9b8d98c..5ea99bc 100644
--- a/org.eclipse.userstorage.ui/src/org/eclipse/userstorage/ui/ServiceSelectorComposite.java
+++ b/org.eclipse.userstorage.ui/src/org/eclipse/userstorage/ui/ServiceSelectorComposite.java
@@ -143,4 +143,15 @@
IStructuredSelection selection = (IStructuredSelection)viewer.getSelection();
return (IStorageService)selection.getFirstElement();
}
+
+ public static boolean isShowServices()
+ {
+ String property = System.getProperty("org.eclipse.userstorage.ui.showServices", "auto");
+ if ("auto".equalsIgnoreCase(property))
+ {
+ return IStorageService.Registry.INSTANCE.getServices().length > 1;
+ }
+
+ return Boolean.parseBoolean(property);
+ }
}
diff --git a/org.eclipse.userstorage.ui/src/org/eclipse/userstorage/ui/internal/ServicesPreferencePage.java b/org.eclipse.userstorage.ui/src/org/eclipse/userstorage/ui/internal/ServicesPreferencePage.java
index d7f1b29..3034d78 100644
--- a/org.eclipse.userstorage.ui/src/org/eclipse/userstorage/ui/internal/ServicesPreferencePage.java
+++ b/org.eclipse.userstorage.ui/src/org/eclipse/userstorage/ui/internal/ServicesPreferencePage.java
@@ -11,9 +11,11 @@
package org.eclipse.userstorage.ui.internal;
import org.eclipse.userstorage.IStorageService;
+import org.eclipse.userstorage.IStorageService.Registry;
import org.eclipse.userstorage.internal.Credentials;
import org.eclipse.userstorage.internal.StorageService;
import org.eclipse.userstorage.internal.util.StringUtil;
+import org.eclipse.userstorage.ui.ServiceSelectorComposite;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.layout.TableColumnLayout;
@@ -48,6 +50,8 @@
{
public static final String ID = "org.eclipse.userstorage.ui.ServicesPreferencePage";
+ private static final Registry REGISTRY = IStorageService.Registry.INSTANCE;
+
private Map<IStorageService, Credentials> credentialsMap = new HashMap<IStorageService, Credentials>();
private TableViewer servicesViewer;
@@ -62,7 +66,7 @@
public ServicesPreferencePage()
{
- super("User Storage");
+ super("User Storage Service");
}
@Override
@@ -91,39 +95,42 @@
@Override
protected Control createContents(final Composite parent)
{
+ final ServicesContentProvider contentProvider = ServiceSelectorComposite.isShowServices() ? new ServicesContentProvider() : null;
+
final Composite mainArea = createArea(parent, 2);
mainArea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
Composite leftArea = createArea(mainArea, 1);
leftArea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- Label servicesLabel = new Label(leftArea, SWT.NONE);
- servicesLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- servicesLabel.setText("Services:");
-
- final ServicesContentProvider contentProvider = new ServicesContentProvider();
-
- TableColumnLayout tableLayout = new TableColumnLayout();
- Composite tableComposite = new Composite(leftArea, SWT.NONE);
- tableComposite.setLayout(tableLayout);
- tableComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-
- servicesViewer = new TableViewer(tableComposite, SWT.BORDER);
- servicesViewer.setContentProvider(contentProvider);
- servicesViewer.setLabelProvider(new ServicesLabelProvider());
- servicesViewer.setInput(IStorageService.Registry.INSTANCE);
- servicesViewer.addSelectionChangedListener(new ISelectionChangedListener()
+ if (contentProvider != null)
{
- @Override
- public void selectionChanged(SelectionChangedEvent event)
- {
- IStructuredSelection selection = (IStructuredSelection)event.getSelection();
- setSelectedService((IStorageService)selection.getFirstElement());
- }
- });
+ Label servicesLabel = new Label(leftArea, SWT.NONE);
+ servicesLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
+ servicesLabel.setText("Services:");
- TableColumn tableColumn = new TableColumn(servicesViewer.getTable(), SWT.LEFT);
- tableLayout.setColumnData(tableColumn, new ColumnWeightData(100));
+ TableColumnLayout tableLayout = new TableColumnLayout();
+ Composite tableComposite = new Composite(leftArea, SWT.NONE);
+ tableComposite.setLayout(tableLayout);
+ tableComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+
+ servicesViewer = new TableViewer(tableComposite, SWT.BORDER);
+ servicesViewer.setContentProvider(contentProvider);
+ servicesViewer.setLabelProvider(new ServicesLabelProvider());
+ servicesViewer.setInput(REGISTRY);
+ servicesViewer.addSelectionChangedListener(new ISelectionChangedListener()
+ {
+ @Override
+ public void selectionChanged(SelectionChangedEvent event)
+ {
+ IStructuredSelection selection = (IStructuredSelection)event.getSelection();
+ setSelectedService((IStorageService)selection.getFirstElement());
+ }
+ });
+
+ TableColumn tableColumn = new TableColumn(servicesViewer.getTable(), SWT.LEFT);
+ tableLayout.setColumnData(tableColumn, new ColumnWeightData(100));
+ }
credentialsComposite = new CredentialsComposite(leftArea, SWT.NONE, 0, 0, false)
{
@@ -141,108 +148,112 @@
credentialsComposite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- Composite rightArea = createArea(mainArea, 1);
- rightArea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
-
- new Label(rightArea, SWT.NONE);
-
- addButton = new Button(rightArea, SWT.NONE);
- addButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
- addButton.setText("Add...");
- addButton.addSelectionListener(new SelectionAdapter()
+ if (contentProvider != null)
{
- @Override
- public void widgetSelected(SelectionEvent e)
+ Composite rightArea = createArea(mainArea, 1);
+ rightArea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
+
+ new Label(rightArea, SWT.NONE);
+
+ addButton = new Button(rightArea, SWT.NONE);
+ addButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
+ addButton.setText("Add...");
+ addButton.addSelectionListener(new SelectionAdapter()
{
- AddServiceDialog dialog = new AddServiceDialog(getShell());
- if (dialog.open() == AddServiceDialog.OK)
+ @Override
+ public void widgetSelected(SelectionEvent e)
{
- String serviceLabel = dialog.getServiceLabel();
- URI serviceURI = dialog.getServiceURI();
- URI createAccountURI = dialog.getCreateAccountURI();
- URI editAccountURI = dialog.getEditAccountURI();
- URI recoverPasswordURI = dialog.getRecoverPasswordURI();
-
- IStorageService.Registry.INSTANCE.addService(serviceLabel, serviceURI, createAccountURI, editAccountURI, recoverPasswordURI);
- }
- }
- });
-
- removeButton = new Button(rightArea, SWT.NONE);
- removeButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
- removeButton.setText("Remove");
- removeButton.addSelectionListener(new SelectionAdapter()
- {
- @Override
- public void widgetSelected(SelectionEvent e)
- {
- if (selectedService instanceof IStorageService.Dynamic)
- {
- IStorageService.Dynamic dynamicService = (IStorageService.Dynamic)selectedService;
- Object[] elements = contentProvider.getElements(null);
- final int currentIndex = getCurrentIndex(elements, dynamicService);
-
- if (MessageDialog.openQuestion(getShell(), "Remove Service", "Do you really want to remove the '" + dynamicService.getServiceLabel() + "' service?"))
+ AddServiceDialog dialog = new AddServiceDialog(getShell());
+ if (dialog.open() == AddServiceDialog.OK)
{
- dynamicService.remove();
+ String serviceLabel = dialog.getServiceLabel();
+ URI serviceURI = dialog.getServiceURI();
+ URI createAccountURI = dialog.getCreateAccountURI();
+ URI editAccountURI = dialog.getEditAccountURI();
+ URI recoverPasswordURI = dialog.getRecoverPasswordURI();
- final Control control = servicesViewer.getControl();
- control.getDisplay().asyncExec(new Runnable()
+ REGISTRY.addService(serviceLabel, serviceURI, createAccountURI, editAccountURI, recoverPasswordURI);
+ }
+ }
+ });
+
+ removeButton = new Button(rightArea, SWT.NONE);
+ removeButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
+ removeButton.setText("Remove");
+ removeButton.addSelectionListener(new SelectionAdapter()
+ {
+ @Override
+ public void widgetSelected(SelectionEvent e)
+ {
+ if (selectedService instanceof IStorageService.Dynamic)
+ {
+ IStorageService.Dynamic dynamicService = (IStorageService.Dynamic)selectedService;
+ Object[] elements = contentProvider.getElements(null);
+ final int currentIndex = getCurrentIndex(elements, dynamicService);
+
+ if (MessageDialog.openQuestion(getShell(), "Remove Service",
+ "Do you really want to remove the '" + dynamicService.getServiceLabel() + "' service?"))
{
- @Override
- public void run()
- {
- if (!control.isDisposed())
- {
- Object[] elements = contentProvider.getElements(null);
- if (elements.length != 0)
- {
- int newIndex = currentIndex;
- if (newIndex >= elements.length)
- {
- newIndex = elements.length - 1;
- }
+ dynamicService.remove();
- setSelectedService((IStorageService)elements[newIndex]);
+ final Control control = servicesViewer.getControl();
+ control.getDisplay().asyncExec(new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ if (!control.isDisposed())
+ {
+ Object[] elements = contentProvider.getElements(null);
+ if (elements.length != 0)
+ {
+ int newIndex = currentIndex;
+ if (newIndex >= elements.length)
+ {
+ newIndex = elements.length - 1;
+ }
+
+ setSelectedService((IStorageService)elements[newIndex]);
+ }
}
}
- }
- });
+ });
+ }
}
}
- }
- private int getCurrentIndex(Object[] elements, IStorageService service)
- {
- for (int i = 0; i < elements.length; i++)
+ private int getCurrentIndex(Object[] elements, IStorageService service)
{
- Object element = elements[i];
- if (element == service)
+ for (int i = 0; i < elements.length; i++)
{
- return i;
+ Object element = elements[i];
+ if (element == service)
+ {
+ return i;
+ }
}
+
+ return 0;
}
+ });
- return 0;
- }
- });
-
- Button refreshButton = new Button(rightArea, SWT.NONE);
- refreshButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
- refreshButton.setText("Refresh");
- refreshButton.addSelectionListener(new SelectionAdapter()
- {
- @Override
- public void widgetSelected(SelectionEvent e)
+ Button refreshButton = new Button(rightArea, SWT.NONE);
+ refreshButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
+ refreshButton.setText("Refresh");
+ refreshButton.addSelectionListener(new SelectionAdapter()
{
- IStorageService.Registry.INSTANCE.refresh();
- }
- });
+ @Override
+ public void widgetSelected(SelectionEvent e)
+ {
+ REGISTRY.refresh();
+ }
+ });
- Object[] elements = contentProvider.getElements(null);
- if (elements.length != 0)
- {
- setSelectedService((IStorageService)elements[0]);
+ Object[] elements = contentProvider.getElements(null);
+ if (elements.length != 0)
+ {
+ setSelectedService((IStorageService)elements[0]);
+ }
}
return mainArea;
@@ -321,7 +332,7 @@
private void updateEnablement()
{
boolean dirty = false;
- for (IStorageService service : IStorageService.Registry.INSTANCE.getServices())
+ for (IStorageService service : REGISTRY.getServices())
{
Credentials localCredentials = credentialsMap.get(service);
String localUsername = "";