提交 887eb923 编写于 作者: S Serge Rider

External file editors props

上级 d572b2f2
......@@ -18,18 +18,12 @@
package org.jkiss.dbeaver.core;
import org.eclipse.core.filesystem.EFS;
import org.eclipse.core.filesystem.IFileStore;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IEditorDescriptor;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.ide.FileStoreEditorInput;
import org.eclipse.ui.ide.IDE;
import org.jkiss.dbeaver.Log;
import org.jkiss.dbeaver.IInstanceController;
import org.jkiss.dbeaver.Log;
import org.jkiss.dbeaver.ui.UIUtils;
import org.jkiss.dbeaver.ui.editors.EditorUtils;
import org.jkiss.dbeaver.utils.GeneralUtils;
import org.jkiss.utils.IOUtils;
......@@ -66,20 +60,9 @@ public class DBeaverInstanceServer implements IInstanceController {
for (String filePath : fileNames) {
File file = new File(filePath);
if (file.exists()) {
try {
IEditorDescriptor desc = window.getWorkbench().getEditorRegistry().getDefaultEditor(file.getName());
IFileStore fileStore = EFS.getStore(file.toURI());
IEditorInput input = new FileStoreEditorInput(fileStore);
IDE.openEditor(window.getActivePage(), input, desc.getId());
} catch (CoreException e) {
log.error("Can't open editor from file '" + file.getAbsolutePath(), e);
}
EditorUtils.openExternalFileEditor(file, window);
}
}
// if (!shell.getMinimized())
// {
// shell.setMinimized(true);
// }
shell.setMinimized(false);
shell.forceActive();
}
......
......@@ -89,6 +89,7 @@ import org.jkiss.utils.CommonUtils;
import java.io.File;
import java.io.InputStream;
import java.lang.reflect.InvocationTargetException;
import java.net.URI;
import java.util.*;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
......@@ -636,7 +637,12 @@ public class SQLEditor extends SQLEditorBase implements
} else if (editorInput instanceof IPathEditorInput) {
scriptPath = ((IPathEditorInput) editorInput).getPath().toString();
} else if (editorInput instanceof IURIEditorInput) {
scriptPath = ((IURIEditorInput) editorInput).getURI().toString();
final URI uri = ((IURIEditorInput) editorInput).getURI();
if ("file".equals(uri.getScheme())) {
scriptPath = new File(uri).getAbsolutePath();
} else {
scriptPath = uri.toString();
}
} else {
scriptPath = "<not a file>";
}
......@@ -649,14 +655,16 @@ public class SQLEditor extends SQLEditorBase implements
private String getEditorName() {
final IFile file = EditorUtils.getFileFromInput(getEditorInput());
File localFile = file == null ? EditorUtils.getLocalFileFromInput(getEditorInput()) : null;
String scriptName;
if (file != null) {
scriptName = file.getFullPath().removeFileExtension().lastSegment();
} else if (localFile != null) {
scriptName = localFile.getName();
} else {
scriptName = "<object>";
File localFile = EditorUtils.getLocalFileFromInput(getEditorInput());
if (localFile != null) {
return localFile.getName();
} else {
scriptName = "<object>";
}
}
DBPDataSourceContainer dataSourceContainer = getDataSourceContainer();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册