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

Database navigator context added (avoid keybindings conflicts)

上级 c1b13903
......@@ -638,6 +638,7 @@
</handler>
<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>
<with variable="selection">
<count value="+"/>
......@@ -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.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.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 -->
<key commandId="org.jkiss.dbeaver.core.sql.editor.open" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="CTRL+L"/>
......@@ -1750,7 +1751,11 @@
</extension>
<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
id="org.jkiss.dbeaver.ui.editors.sql"
name="SQL Editor Context"
......
......@@ -64,6 +64,7 @@ import org.jkiss.dbeaver.ui.editors.DatabaseEditorInput;
import org.jkiss.dbeaver.ui.editors.ErrorEditorInput;
import org.jkiss.dbeaver.ui.editors.IDatabaseEditorInput;
import org.jkiss.dbeaver.ui.editors.MultiPageDatabaseEditor;
import org.jkiss.dbeaver.ui.navigator.NavigatorUtils;
import org.jkiss.utils.CommonUtils;
import java.lang.reflect.InvocationTargetException;
......@@ -365,6 +366,8 @@ public class EntityEditor extends MultiPageDatabaseEditor
@Override
protected void createPages()
{
NavigatorUtils.setNavigatorContext(getSite());
if (getEditorInput() instanceof ErrorEditorInput) {
ErrorEditorInput errorInput = (ErrorEditorInput) getEditorInput();
try {
......
......@@ -27,6 +27,7 @@ import org.jkiss.dbeaver.ui.ISearchContextProvider;
import org.jkiss.dbeaver.model.navigator.DBNNode;
import org.jkiss.dbeaver.ui.controls.itemlist.ItemListControl;
import org.jkiss.dbeaver.ui.editors.SinglePageDatabaseEditor;
import org.jkiss.dbeaver.ui.navigator.NavigatorUtils;
/**
* FolderEditor
......@@ -40,6 +41,8 @@ public class FolderEditor extends SinglePageDatabaseEditor<FolderEditorInput> im
@Override
public void createPartControl(Composite parent)
{
NavigatorUtils.setNavigatorContext(getSite());
itemControl = new ItemListControl(parent, SWT.NONE, this.getSite(), getEditorInput().getNavigatorNode(), null);
itemControl.createProgressPanel();
itemControl.loadData();
......
......@@ -33,6 +33,7 @@ import org.eclipse.ui.IWorkbenchActionConstants;
import org.eclipse.ui.IWorkbenchCommandConstants;
import org.eclipse.ui.IWorkbenchPartSite;
import org.eclipse.ui.IWorkbenchSite;
import org.eclipse.ui.contexts.IContextService;
import org.eclipse.ui.dialogs.PreferencesUtil;
import org.eclipse.ui.menus.UIElement;
import org.eclipse.ui.part.IPageSite;
......@@ -60,6 +61,7 @@ import java.util.*;
public class NavigatorUtils {
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)
{
......@@ -424,4 +426,11 @@ public class NavigatorUtils {
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
@Override
public void createPartControl(Composite parent)
{
NavigatorUtils.setNavigatorContext(getSite());
this.tree = createNavigatorTree(parent, getRootNode());
getViewSite().setSelectionProvider(tree.getViewer());
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册