提交 63c298d0 编写于 作者: S serge-rider

#5765 Panels/results viewer focus switch command


Former-commit-id: 936c5267
上级 714fcd04
......@@ -12,7 +12,6 @@ Export-Package: org.jkiss.dbeaver,
org.jkiss.dbeaver.core,
org.jkiss.dbeaver.registry,
org.jkiss.dbeaver.registry.tools,
org.jkiss.dbeaver.tools,
org.jkiss.dbeaver.tools.project,
org.jkiss.dbeaver.tools.scripts,
org.jkiss.dbeaver.ui.actions,
......
......@@ -46,6 +46,8 @@ command.org.jkiss.dbeaver.core.resultset.grid.togglePanel.description=Show/hide
command.org.jkiss.dbeaver.core.resultset.grid.togglePanel.param.panelId.name=Panel Name
command.org.jkiss.dbeaver.core.resultset.grid.toggleLayout.name=Toggle panels layout
command.org.jkiss.dbeaver.core.resultset.grid.toggleLayout.description=Toggle vertical/horizontal panels layout
command.org.jkiss.dbeaver.core.resultset.grid.activatePreview.name=Activate results/panel
command.org.jkiss.dbeaver.core.resultset.grid.activatePreview.description=Switch focus to results viewer/active panel
command.org.jkiss.dbeaver.core.resultset.grid.togglePanelMaximize.name=Maximize/restore panels
command.org.jkiss.dbeaver.core.resultset.grid.togglePanelMaximize.description=Maximize or restore panels within results viewer
command.org.jkiss.dbeaver.core.resultset.grid.copyColumnNames.name=Copy column name(s)
......
......@@ -211,6 +211,7 @@
<command id="org.jkiss.dbeaver.core.resultset.navigateLink" name="%command.org.jkiss.dbeaver.core.resultset.navigateLink.name" description="%command.org.jkiss.dbeaver.core.resultset.navigateLink.description" categoryId="org.jkiss.dbeaver.core.rs"/>
<command id="org.jkiss.dbeaver.core.resultset.cell.save" name="%command.org.jkiss.dbeaver.core.resultset.cell.save.name" description="%command.org.jkiss.dbeaver.core.resultset.cell.save.description" categoryId="org.jkiss.dbeaver.core.rs"/>
<command id="org.jkiss.dbeaver.core.resultset.grid.togglePreview" name="%command.org.jkiss.dbeaver.core.resultset.grid.togglePreview.name" description="%command.org.jkiss.dbeaver.core.resultset.grid.togglePreview.description" categoryId="org.jkiss.dbeaver.core.rs"/>
<command id="org.jkiss.dbeaver.core.resultset.grid.activatePreview" name="%command.org.jkiss.dbeaver.core.resultset.grid.activatePreview.name" description="%command.org.jkiss.dbeaver.core.resultset.grid.activatePreview.description" categoryId="org.jkiss.dbeaver.core.rs"/>
<command id="org.jkiss.dbeaver.core.resultset.grid.togglePanelMaximize" name="%command.org.jkiss.dbeaver.core.resultset.grid.togglePanelMaximize.name" description="%command.org.jkiss.dbeaver.core.resultset.grid.togglePreview.description" categoryId="org.jkiss.dbeaver.core.rs"/>
<command id="org.jkiss.dbeaver.core.resultset.grid.togglePanel" name="%command.org.jkiss.dbeaver.core.resultset.grid.togglePanel.name" description="%command.org.jkiss.dbeaver.core.resultset.grid.togglePanel.description" categoryId="org.jkiss.dbeaver.core.rs">
<commandParameter
......@@ -291,6 +292,7 @@
<handler commandId="org.jkiss.dbeaver.core.resultset.grid.togglePreview" class="org.jkiss.dbeaver.ui.controls.resultset.ResultSetHandlerMain">
<!--<activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.resultset.part"/></activeWhen>-->
</handler>
<handler commandId="org.jkiss.dbeaver.core.resultset.grid.activatePreview" class="org.jkiss.dbeaver.ui.controls.resultset.ResultSetHandlerMain"/>
<handler commandId="org.jkiss.dbeaver.core.resultset.grid.togglePanelMaximize" class="org.jkiss.dbeaver.ui.controls.resultset.ResultSetHandlerMain"/>
<handler commandId="org.jkiss.dbeaver.core.resultset.grid.togglePanel" class="org.jkiss.dbeaver.ui.controls.resultset.ResultSetHandlerTogglePanel">
<activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.resultset.part"/></activeWhen>
......@@ -696,6 +698,7 @@
<key commandId="org.jkiss.dbeaver.core.resultset.rejectChanges" contextId="org.jkiss.dbeaver.ui.context.resultset.focused" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="CTRL+R"/>
<key commandId="org.jkiss.dbeaver.core.resultset.grid.togglePreview" contextId="org.jkiss.dbeaver.ui.context.resultset" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="CTRL+7"/>
<key commandId="org.jkiss.dbeaver.core.resultset.grid.togglePreview" contextId="org.jkiss.dbeaver.ui.context.resultset" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="F7"/>
<key commandId="org.jkiss.dbeaver.core.resultset.grid.activatePreview" contextId="org.jkiss.dbeaver.ui.context.resultset" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="CTRL+SHIFT+7"/>
<key commandId="org.jkiss.dbeaver.core.resultset.cell.save" contextId="org.jkiss.dbeaver.ui.context.resultset.edit" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="CTRL+ALT+SHIFT+ENTER"/>
</extension>
......
......@@ -78,6 +78,7 @@ import java.util.List;
public class ResultSetHandlerMain extends AbstractHandler {
public static final String CMD_TOGGLE_PANELS = "org.jkiss.dbeaver.core.resultset.grid.togglePreview";
public static final String CMD_ACTIVATE_PANELS = "org.jkiss.dbeaver.core.resultset.grid.activatePreview";
public static final String CMD_TOGGLE_MAXIMIZE = "org.jkiss.dbeaver.core.resultset.grid.togglePanelMaximize";
public static final String CMD_TOGGLE_LAYOUT = "org.jkiss.dbeaver.core.resultset.grid.toggleLayout";
public static final String CMD_TOGGLE_MODE = "org.jkiss.dbeaver.core.resultset.toggleMode";
......@@ -167,6 +168,9 @@ public class ResultSetHandlerMain extends AbstractHandler {
case CMD_TOGGLE_PANELS:
rsv.showPanels(!rsv.isPanelsVisible(), true, true);
break;
case CMD_ACTIVATE_PANELS:
rsv.togglePanelsFocus();
break;
case CMD_TOGGLE_MAXIMIZE:
rsv.togglePanelsMaximize();
break;
......
......@@ -1119,6 +1119,18 @@ public class ResultSetViewer extends Viewer
updatePanelsButtons();
}
void togglePanelsFocus() {
boolean panelsActive = UIUtils.hasFocus(panelFolder);
if (panelsActive) {
presentationPanel.setFocus();
} else {
CTabItem activePanelTab = panelFolder.getSelection();
if (activePanelTab != null && activePanelTab.getControl() != null) {
activePanelTab.getControl().setFocus();
}
}
}
boolean isPanelVisible(String panelId) {
return getPresentationSettings().enabledPanelIds.contains(panelId);
}
......@@ -1167,6 +1179,7 @@ public class ResultSetViewer extends Viewer
}
items.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_TOGGLE_MAXIMIZE));
items.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_TOGGLE_PANELS));
items.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_ACTIVATE_PANELS));
return items;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册