提交 2b21d041 编写于 作者: J jurgen

Database navigator context added (avoid keybindings conflicts)

上级 c1b13903
...@@ -638,6 +638,7 @@ ...@@ -638,6 +638,7 @@
</handler> </handler>
<handler commandId="org.jkiss.dbeaver.core.object.open" class="org.jkiss.dbeaver.ui.actions.navigator.NavigatorHandlerObjectOpen"> <handler commandId="org.jkiss.dbeaver.core.object.open" class="org.jkiss.dbeaver.ui.actions.navigator.NavigatorHandlerObjectOpen">
<activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.navigator.part"/></activeWhen>
<enabledWhen> <enabledWhen>
<with variable="selection"> <with variable="selection">
<count value="+"/> <count value="+"/>
...@@ -1679,7 +1680,7 @@ ...@@ -1679,7 +1680,7 @@
<key commandId="org.jkiss.dbeaver.core.navigator.bookmark.add" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="CTRL+D"/> <key commandId="org.jkiss.dbeaver.core.navigator.bookmark.add" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="CTRL+D"/>
<key commandId="org.jkiss.dbeaver.core.object.create" contextId="org.eclipse.ui.contexts.window" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="NUMPAD_ADD"/> <key commandId="org.jkiss.dbeaver.core.object.create" contextId="org.eclipse.ui.contexts.window" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="NUMPAD_ADD"/>
<key commandId="org.jkiss.dbeaver.core.object.goto" contextId="org.eclipse.ui.contexts.window" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="CTRL+SHIFT+D"/> <key commandId="org.jkiss.dbeaver.core.object.goto" contextId="org.eclipse.ui.contexts.window" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="CTRL+SHIFT+D"/>
<key commandId="org.jkiss.dbeaver.core.object.open" contextId="org.eclipse.ui.contexts.window" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="F4"/> <key commandId="org.jkiss.dbeaver.core.object.open" contextId="org.jkiss.dbeaver.ui.context.navigator" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="F4"/>
<!-- SQL Editor --> <!-- SQL Editor -->
<key commandId="org.jkiss.dbeaver.core.sql.editor.open" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="CTRL+L"/> <key commandId="org.jkiss.dbeaver.core.sql.editor.open" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="CTRL+L"/>
...@@ -1750,7 +1751,11 @@ ...@@ -1750,7 +1751,11 @@
</extension> </extension>
<extension point="org.eclipse.ui.contexts"> <extension point="org.eclipse.ui.contexts">
<context id="org.jkiss.dbeaver.core.navigationContext" name="Navigation context"/> <context
id="org.jkiss.dbeaver.ui.context.navigator"
parentId="org.eclipse.ui.contexts.window"
name="Database navigator context"
description="Database navigator context"/>
<context <context
id="org.jkiss.dbeaver.ui.editors.sql" id="org.jkiss.dbeaver.ui.editors.sql"
name="SQL Editor Context" name="SQL Editor Context"
......
...@@ -64,6 +64,7 @@ import org.jkiss.dbeaver.ui.editors.DatabaseEditorInput; ...@@ -64,6 +64,7 @@ import org.jkiss.dbeaver.ui.editors.DatabaseEditorInput;
import org.jkiss.dbeaver.ui.editors.ErrorEditorInput; import org.jkiss.dbeaver.ui.editors.ErrorEditorInput;
import org.jkiss.dbeaver.ui.editors.IDatabaseEditorInput; import org.jkiss.dbeaver.ui.editors.IDatabaseEditorInput;
import org.jkiss.dbeaver.ui.editors.MultiPageDatabaseEditor; import org.jkiss.dbeaver.ui.editors.MultiPageDatabaseEditor;
import org.jkiss.dbeaver.ui.navigator.NavigatorUtils;
import org.jkiss.utils.CommonUtils; import org.jkiss.utils.CommonUtils;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
...@@ -365,6 +366,8 @@ public class EntityEditor extends MultiPageDatabaseEditor ...@@ -365,6 +366,8 @@ public class EntityEditor extends MultiPageDatabaseEditor
@Override @Override
protected void createPages() protected void createPages()
{ {
NavigatorUtils.setNavigatorContext(getSite());
if (getEditorInput() instanceof ErrorEditorInput) { if (getEditorInput() instanceof ErrorEditorInput) {
ErrorEditorInput errorInput = (ErrorEditorInput) getEditorInput(); ErrorEditorInput errorInput = (ErrorEditorInput) getEditorInput();
try { try {
......
...@@ -27,6 +27,7 @@ import org.jkiss.dbeaver.ui.ISearchContextProvider; ...@@ -27,6 +27,7 @@ import org.jkiss.dbeaver.ui.ISearchContextProvider;
import org.jkiss.dbeaver.model.navigator.DBNNode; import org.jkiss.dbeaver.model.navigator.DBNNode;
import org.jkiss.dbeaver.ui.controls.itemlist.ItemListControl; import org.jkiss.dbeaver.ui.controls.itemlist.ItemListControl;
import org.jkiss.dbeaver.ui.editors.SinglePageDatabaseEditor; import org.jkiss.dbeaver.ui.editors.SinglePageDatabaseEditor;
import org.jkiss.dbeaver.ui.navigator.NavigatorUtils;
/** /**
* FolderEditor * FolderEditor
...@@ -40,6 +41,8 @@ public class FolderEditor extends SinglePageDatabaseEditor<FolderEditorInput> im ...@@ -40,6 +41,8 @@ public class FolderEditor extends SinglePageDatabaseEditor<FolderEditorInput> im
@Override @Override
public void createPartControl(Composite parent) public void createPartControl(Composite parent)
{ {
NavigatorUtils.setNavigatorContext(getSite());
itemControl = new ItemListControl(parent, SWT.NONE, this.getSite(), getEditorInput().getNavigatorNode(), null); itemControl = new ItemListControl(parent, SWT.NONE, this.getSite(), getEditorInput().getNavigatorNode(), null);
itemControl.createProgressPanel(); itemControl.createProgressPanel();
itemControl.loadData(); itemControl.loadData();
......
...@@ -33,6 +33,7 @@ import org.eclipse.ui.IWorkbenchActionConstants; ...@@ -33,6 +33,7 @@ import org.eclipse.ui.IWorkbenchActionConstants;
import org.eclipse.ui.IWorkbenchCommandConstants; import org.eclipse.ui.IWorkbenchCommandConstants;
import org.eclipse.ui.IWorkbenchPartSite; import org.eclipse.ui.IWorkbenchPartSite;
import org.eclipse.ui.IWorkbenchSite; import org.eclipse.ui.IWorkbenchSite;
import org.eclipse.ui.contexts.IContextService;
import org.eclipse.ui.dialogs.PreferencesUtil; import org.eclipse.ui.dialogs.PreferencesUtil;
import org.eclipse.ui.menus.UIElement; import org.eclipse.ui.menus.UIElement;
import org.eclipse.ui.part.IPageSite; import org.eclipse.ui.part.IPageSite;
...@@ -60,6 +61,7 @@ import java.util.*; ...@@ -60,6 +61,7 @@ import java.util.*;
public class NavigatorUtils { public class NavigatorUtils {
public static final String MB_NAVIGATOR_ADDITIONS = "navigator_additions"; public static final String MB_NAVIGATOR_ADDITIONS = "navigator_additions";
public static final String NAVIGATOR_CONTEXT_ID = "org.jkiss.dbeaver.ui.context.navigator";
public static DBNNode getSelectedNode(ISelectionProvider selectionProvider) public static DBNNode getSelectedNode(ISelectionProvider selectionProvider)
{ {
...@@ -424,4 +426,11 @@ public class NavigatorUtils { ...@@ -424,4 +426,11 @@ public class NavigatorUtils {
return false; return false;
} }
public static void setNavigatorContext(IWorkbenchPartSite site) {
IContextService contextService = site.getService(IContextService.class);
if (contextService != null) {
contextService.activateContext(NAVIGATOR_CONTEXT_ID);
}
}
} }
...@@ -82,6 +82,7 @@ public abstract class NavigatorViewBase extends ViewPart implements INavigatorMo ...@@ -82,6 +82,7 @@ public abstract class NavigatorViewBase extends ViewPart implements INavigatorMo
@Override @Override
public void createPartControl(Composite parent) public void createPartControl(Composite parent)
{ {
NavigatorUtils.setNavigatorContext(getSite());
this.tree = createNavigatorTree(parent, getRootNode()); this.tree = createNavigatorTree(parent, getRootNode());
getViewSite().setSelectionProvider(tree.getViewer()); getViewSite().setSelectionProvider(tree.getViewer());
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册