diff options
7 files changed, 27 insertions, 26 deletions
diff --git a/containers/org.eclipse.linuxtools.docker.core/src/org/eclipse/linuxtools/docker/core/DockerConnectionManager.java b/containers/org.eclipse.linuxtools.docker.core/src/org/eclipse/linuxtools/docker/core/DockerConnectionManager.java index 1c1d7cb07d..11fa967a04 100644 --- a/containers/org.eclipse.linuxtools.docker.core/src/org/eclipse/linuxtools/docker/core/DockerConnectionManager.java +++ b/containers/org.eclipse.linuxtools.docker.core/src/org/eclipse/linuxtools/docker/core/DockerConnectionManager.java @@ -151,7 +151,6 @@ public class DockerConnectionManager { * instead */ @Deprecated - @SuppressWarnings("deprecation") public void notifyListeners(int type) { if (connectionManagerListeners != null) { Object[] listeners = connectionManagerListeners.getListeners(); diff --git a/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/wizards/ImageRunSWTBotTest.java b/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/wizards/ImageRunSWTBotTest.java index fbb7069b1d..65addcb980 100644 --- a/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/wizards/ImageRunSWTBotTest.java +++ b/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/wizards/ImageRunSWTBotTest.java @@ -95,7 +95,7 @@ public class ImageRunSWTBotTest { // when opening the "Run Image..." wizard final SWTBotTree dockerExplorerViewTreeBot = dockerExplorerViewBot.bot().tree(); dockerExplorerViewTreeBot.select(imageTreeItem); - dockerExplorerViewTreeBot.contextMenu("Run Image...").click(); + dockerExplorerViewTreeBot.contextMenu("Run...").click(); // when use an existing container name bot.textWithLabel(WizardMessages.getString("ImageRunSelectionPage.containerName")).setText("foo_bar"); @@ -120,7 +120,7 @@ public class ImageRunSWTBotTest { // when opening the "Run Image..." wizard final SWTBotTree dockerExplorerViewTreeBot = dockerExplorerViewBot.bot().tree(); dockerExplorerViewTreeBot.select(imageTreeItem); - dockerExplorerViewTreeBot.contextMenu("Run Image...").click(); + dockerExplorerViewTreeBot.contextMenu("Run...").click(); // when use an existing container name bot.textWithLabel(WizardMessages.getString("ImageRunSelectionPage.containerName")).setText("foo_bar_baz"); diff --git a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/commands/AddConnectionCommandHandler.java b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/commands/AddConnectionCommandHandler.java index da89fea997..04dd8403e7 100644 --- a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/commands/AddConnectionCommandHandler.java +++ b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/commands/AddConnectionCommandHandler.java @@ -16,7 +16,6 @@ import org.eclipse.linuxtools.internal.docker.ui.wizards.NewDockerConnection; import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.handlers.HandlerUtil; import org.eclipse.ui.navigator.CommonNavigator; -import org.eclipse.ui.navigator.CommonViewer; /** * @author xcoulon @@ -28,11 +27,8 @@ public class AddConnectionCommandHandler extends AbstractHandler { public Object execute(ExecutionEvent event) { final IWorkbenchPart activePart = HandlerUtil.getActivePart(event); if(activePart instanceof CommonNavigator) { - final boolean connectionAdded = CommandUtils.openWizard(new NewDockerConnection(), HandlerUtil.getActiveShell(event)); - if(connectionAdded) { - final CommonViewer viewer = ((CommonNavigator)activePart).getCommonViewer(); - viewer.refresh(); - } + CommandUtils.openWizard(new NewDockerConnection(), + HandlerUtil.getActiveShell(event)); } return null; } diff --git a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/commands/RemoveConnectionCommandHandler.java b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/commands/RemoveConnectionCommandHandler.java index ca0fa146b4..657491bd54 100644 --- a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/commands/RemoveConnectionCommandHandler.java +++ b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/commands/RemoveConnectionCommandHandler.java @@ -23,8 +23,7 @@ import org.eclipse.ui.navigator.CommonNavigator; import org.eclipse.ui.navigator.CommonViewer; /** - * @author xcoulon - * + * Removes the selected {@link IDockerConnection}(s) */ public class RemoveConnectionCommandHandler extends AbstractHandler { @@ -37,7 +36,6 @@ public class RemoveConnectionCommandHandler extends AbstractHandler { for (TreePath treePath : selection.getPaths()) { DockerConnectionManager.getInstance().removeConnection((IDockerConnection) treePath.getLastSegment()); } - viewer.refresh(); } return null; } diff --git a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/views/DockerContainersView.java b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/views/DockerContainersView.java index 7aa3cdfb63..33c2707fa3 100644 --- a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/views/DockerContainersView.java +++ b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/views/DockerContainersView.java @@ -350,6 +350,7 @@ public class DockerContainersView extends ViewPart implements public void selectionChanged(IWorkbenchPart part, ISelection selection) { final ITreeSelection treeSelection = (ITreeSelection) selection; if(treeSelection.isEmpty()) { + setConnection(null); return; } // remove this view as a container listener on the former select connection diff --git a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/views/DockerExplorerView.java b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/views/DockerExplorerView.java index 11b12fc298..539a5af032 100644 --- a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/views/DockerExplorerView.java +++ b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/views/DockerExplorerView.java @@ -19,12 +19,11 @@ import org.eclipse.jface.layout.GridDataFactory; import org.eclipse.jface.layout.GridLayoutFactory; import org.eclipse.jface.viewers.AbstractTreeViewer; import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.jface.viewers.TreePath; import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.jface.viewers.Viewer; import org.eclipse.jface.viewers.ViewerFilter; -import org.eclipse.jface.window.Window; -import org.eclipse.jface.wizard.WizardDialog; import org.eclipse.linuxtools.docker.core.DockerConnectionManager; import org.eclipse.linuxtools.docker.core.IDockerConnection; import org.eclipse.linuxtools.docker.core.IDockerConnectionManagerListener; @@ -33,6 +32,7 @@ import org.eclipse.linuxtools.docker.core.IDockerContainer; import org.eclipse.linuxtools.docker.core.IDockerContainerListener; import org.eclipse.linuxtools.docker.core.IDockerImage; import org.eclipse.linuxtools.docker.core.IDockerImageListener; +import org.eclipse.linuxtools.internal.docker.ui.commands.CommandUtils; import org.eclipse.linuxtools.internal.docker.ui.wizards.NewDockerConnection; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; @@ -211,17 +211,9 @@ public class DockerExplorerView extends CommonNavigator implements return new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { - final NewDockerConnection wizard = new NewDockerConnection(); - final WizardDialog dialog = new WizardDialog(PlatformUI - .getWorkbench().getModalDialogShellProvider() - .getShell(), wizard); - if (dialog.open() == Window.OK) { - getCommonViewer().refresh(); - } - // if a (first) connection is added, the - // DockerExplorerView#changeEvent(int) method - // will be called and the pageBook will show the connectionsPane - // instead of the explanationsPane + CommandUtils.openWizard(new NewDockerConnection(), + PlatformUI.getWorkbench().getModalDialogShellProvider() + .getShell()); } }; } @@ -264,9 +256,22 @@ public class DockerExplorerView extends CommonNavigator implements switch(type) { case IDockerConnectionManagerListener.ADD_EVENT: registerListeners(connection); + getCommonViewer().refresh(); + getCommonViewer().setSelection(new StructuredSelection(connection)); break; case IDockerConnectionManagerListener.REMOVE_EVENT: unregisterListeners(connection); + getCommonViewer().refresh(); + // move viewer selection to the first connection or set to null if + // no other connection exists + final IDockerConnection[] connections = DockerConnectionManager + .getInstance().getConnections(); + if (connections.length > 0) { + getCommonViewer().setSelection( + new StructuredSelection(connections[0]), true); + } else { + getCommonViewer().setSelection(null); + } break; } } diff --git a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/views/DockerImagesView.java b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/views/DockerImagesView.java index 11f6cd8a13..6894b32449 100644 --- a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/views/DockerImagesView.java +++ b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/views/DockerImagesView.java @@ -343,7 +343,9 @@ public class DockerImagesView extends ViewPart implements IDockerImageListener, @Override public void selectionChanged(IWorkbenchPart part, ISelection selection) { final ITreeSelection treeSelection = (ITreeSelection) selection; + // empty the viewer if the selection is empty if(treeSelection.isEmpty()) { + setConnection(null); return; } // remove this view as a container listener on the former select connection @@ -411,7 +413,7 @@ public class DockerImagesView extends ViewPart implements IDockerImageListener, return connection; } - public void setConnection(IDockerConnection conn) { + private void setConnection(final IDockerConnection conn) { this.connection = conn; if (conn != null) { viewer.setInput(conn); |