提交 e5e2485d 编写于 作者: S serge@jkiss.org

Minor UI fixes.


Former-commit-id: a09a6cfa
上级 5b367ca9
......@@ -20,6 +20,7 @@ import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.handlers.HandlerUtil;
import org.jkiss.dbeaver.DBException;
......@@ -49,20 +50,23 @@ public class NavigatorHandlerObjectRename extends NavigatorHandlerObjectBase {
IStructuredSelection structSelection = (IStructuredSelection) selection;
Object element = structSelection.getFirstElement();
if (element instanceof DBNNode) {
renameNode(HandlerUtil.getActiveWorkbenchWindow(event), (DBNNode) element, null);
renameNode(
HandlerUtil.getActiveWorkbenchWindow(event),
HandlerUtil.getActiveShell(event),
(DBNNode) element, null);
}
}
return null;
}
public static boolean renameNode(IWorkbenchWindow workbenchWindow, final DBNNode node, String newName)
public static boolean renameNode(IWorkbenchWindow workbenchWindow, Shell shell, final DBNNode node, String newName)
{
String oldName = node instanceof DBNDatabaseNode ? ((DBNDatabaseNode) node).getPlainNodeName(true, false) : node.getNodeName();
if (oldName == null) {
oldName = "?";
}
if (newName == null) {
newName = EnterNameDialog.chooseName(workbenchWindow.getShell(), "Rename " + node.getNodeType(), oldName);
newName = EnterNameDialog.chooseName(shell, "Rename " + node.getNodeType(), oldName);
}
if (CommonUtils.isEmpty(newName) || newName.equals(oldName)) {
return false;
......
......@@ -469,7 +469,11 @@ public class DatabaseNavigatorTree extends Composite implements INavigatorListen
disposeOldEditor();
treeViewer.getTree().setFocus();
if (!CommonUtils.isEmpty(newName) && !newName.equals(node.getNodeName())) {
NavigatorHandlerObjectRename.renameNode(UIUtils.getActiveWorkbenchWindow(), node, newName);
NavigatorHandlerObjectRename.renameNode(
UIUtils.getActiveWorkbenchWindow(),
treeViewer.getControl().getShell(),
node,
newName);
}
} else if (e.keyCode == SWT.ESC) {
disposeOldEditor();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册