From 69ee5c2094e57a0b50d8993e04d97454f4f834af Mon Sep 17 00:00:00 2001 From: Serge Rider Date: Tue, 13 Aug 2019 18:12:18 +0200 Subject: [PATCH] #5891 Connection/schema selector coloring --- .../actions/datasource/DataSourceToolbarUtils.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/actions/datasource/DataSourceToolbarUtils.java b/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/actions/datasource/DataSourceToolbarUtils.java index e0dc363a76..0b630196b1 100644 --- a/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/actions/datasource/DataSourceToolbarUtils.java +++ b/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/actions/datasource/DataSourceToolbarUtils.java @@ -20,6 +20,7 @@ import org.eclipse.e4.ui.model.application.ui.MElementContainer; import org.eclipse.e4.ui.model.application.ui.MUIElement; import org.eclipse.e4.ui.model.application.ui.basic.MTrimBar; import org.eclipse.e4.ui.model.application.ui.basic.MTrimElement; +import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PlatformUI; @@ -27,6 +28,7 @@ import org.eclipse.ui.commands.ICommandService; import org.eclipse.ui.internal.WorkbenchWindow; import org.jkiss.dbeaver.model.DBPDataSourceContainer; import org.jkiss.dbeaver.model.IDataSourceContainerProvider; +import org.jkiss.dbeaver.ui.UIUtils; public class DataSourceToolbarUtils { @@ -53,11 +55,23 @@ public class DataSourceToolbarUtils if ("dbeaver-connection-selector".equals(element.getElementId())) { boolean showConnectionSelector = false; IEditorPart activeEditor = window.getActivePage().getActiveEditor(); + DBPDataSourceContainer dataSourceContainer = null; if (activeEditor instanceof IDataSourceContainerProvider) { showConnectionSelector = true; + dataSourceContainer = ((IDataSourceContainerProvider) activeEditor).getDataSourceContainer(); } if (element instanceof MElementContainer) { + Object widget = element.getWidget(); + if (widget instanceof Composite) { + Composite controlsPanel = (Composite) widget; + if (dataSourceContainer == null) { + controlsPanel.setBackground(null); + } else { + controlsPanel.setBackground(UIUtils.getConnectionTypeColor(dataSourceContainer.getConnectionConfiguration().getConnectionType())); + } + } + MElementContainer container = (MElementContainer)element; for (MUIElement tbItem : container.getChildren()) { // Handle Eclipse bug. By default it doesn't update contents of main toolbar elements -- GitLab