提交 aacdb6f9 编写于 作者: J jurgen

Database editors reopen is now configurable

上级 cbedb098
......@@ -89,6 +89,7 @@ public final class DBeaverPreferences
// General UI
public static final String UI_AUTO_UPDATE_CHECK = "ui.auto.update.check"; //$NON-NLS-1$
public static final String UI_UPDATE_CHECK_TIME = "ui.auto.update.check.time"; //$NON-NLS-1$
public static final String UI_KEEP_DATABASE_EDITORS = "ui.editors.reopen-after-restart"; //$NON-NLS-1$
public static final String UI_DRIVERS_HOME = "ui.drivers.home"; //$NON-NLS-1$
public static final String UI_PROXY_HOST = "ui.proxy.host"; //$NON-NLS-1$
public static final String UI_PROXY_PORT = "ui.proxy.port"; //$NON-NLS-1$
......
......@@ -1294,6 +1294,7 @@ public class CoreMessages extends NLS {
public static String pref_page_target_link_show_global_settings;
public static String pref_page_ui_general_checkbox_automatic_updates;
public static String pref_page_ui_general_keep_database_editors;
public static String pref_page_ui_general_group_general;
......
......@@ -859,7 +859,8 @@ pref_page_sql_editor_label_sql_timeout=SQL statement timeout
pref_page_target_button_use_datasource_settings=Datasource "{0}" settings
pref_page_target_link_show_datasource_settings=Datasource settings
pref_page_target_link_show_global_settings=Global settings
pref_page_ui_general_checkbox_automatic_updates=Automatic Updates Check
pref_page_ui_general_checkbox_automatic_updates=Automatic updates check
pref_page_ui_general_keep_database_editors=Reopen database editors after restart
pref_page_ui_general_group_general=General
pref_page_ui_general_group_http_proxy=HTTP Proxy (for downloads)
pref_page_ui_general_label_proxy_host=Proxy Host
......
......@@ -142,6 +142,7 @@ public class DBeaverPreferencesInitializer extends AbstractPreferenceInitializer
// General UI
RuntimeUtils.setDefaultPreferenceValue(store, DBeaverPreferences.UI_AUTO_UPDATE_CHECK, true);
RuntimeUtils.setDefaultPreferenceValue(store, DBeaverPreferences.UI_KEEP_DATABASE_EDITORS, true);
RuntimeUtils.setDefaultPreferenceValue(store, DBeaverPreferences.UI_PROXY_HOST, "");
RuntimeUtils.setDefaultPreferenceValue(store, DBeaverPreferences.UI_PROXY_PORT, 0);
RuntimeUtils.setDefaultPreferenceValue(store, DBeaverPreferences.UI_PROXY_USER, "");
......
......@@ -99,7 +99,13 @@ public abstract class DatabaseEditorInput<NODE extends DBNDatabaseNode> implemen
@Override
public IPersistableElement getPersistable()
{
return getExecutionContext() == null ? null : this;
if (getExecutionContext() == null ||
!DBeaverCore.getGlobalPreferenceStore().getBoolean(DBeaverPreferences.UI_KEEP_DATABASE_EDITORS))
{
return null;
}
return this;
}
@Override
......
......@@ -17,6 +17,7 @@
*/
package org.jkiss.dbeaver.ui.editors;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.core.Log;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IAdaptable;
......@@ -168,6 +169,9 @@ public class DatabaseEditorInputFactory implements IElementFactory
public static void saveState(IMemento memento, DatabaseEditorInput input)
{
if (!DBeaverCore.getGlobalPreferenceStore().getBoolean(DBeaverPreferences.UI_KEEP_DATABASE_EDITORS)) {
return;
}
DBCExecutionContext context = input.getExecutionContext();
if (context == null) {
// Detached - nothing to save
......
......@@ -116,10 +116,6 @@ public class SQLEditorInput extends ProjectFileEditorInput implements IPersistab
return this;
}
private static boolean restoreEditorState() {
return WorkbenchPlugin.getDefault().getPreferenceStore().getBoolean(IPreferenceConstants.USE_IPERSISTABLE_EDITORS);
}
@Override
public String getFactoryId()
{
......
......@@ -44,6 +44,7 @@ public class PrefPageDatabaseGeneral extends PreferencePage implements IWorkbenc
public static final String PAGE_ID = "org.jkiss.dbeaver.preferences.main.common"; //$NON-NLS-1$
private Button automaticUpdateCheck;
private Button keepEditorsOnRestart;
private Button longOperationsCheck;
private Spinner longOperationsTimeout;
......@@ -75,6 +76,8 @@ public class PrefPageDatabaseGeneral extends PreferencePage implements IWorkbenc
Group groupObjects = UIUtils.createControlGroup(composite, CoreMessages.pref_page_ui_general_group_general, 1, GridData.VERTICAL_ALIGN_BEGINNING, 300);
automaticUpdateCheck = UIUtils.createCheckbox(groupObjects, CoreMessages.pref_page_ui_general_checkbox_automatic_updates, false);
automaticUpdateCheck.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, true, false, 2, 1));
keepEditorsOnRestart = UIUtils.createCheckbox(groupObjects, CoreMessages.pref_page_ui_general_keep_database_editors, false);
}
// Agent settings
......@@ -117,6 +120,7 @@ public class PrefPageDatabaseGeneral extends PreferencePage implements IWorkbenc
IPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
automaticUpdateCheck.setSelection(store.getBoolean(DBeaverPreferences.UI_AUTO_UPDATE_CHECK));
keepEditorsOnRestart.setSelection(store.getBoolean(DBeaverPreferences.UI_KEEP_DATABASE_EDITORS));
longOperationsCheck.setSelection(store.getBoolean(DBeaverPreferences.AGENT_LONG_OPERATION_NOTIFY));
longOperationsTimeout.setSelection(store.getInt(DBeaverPreferences.AGENT_LONG_OPERATION_TIMEOUT));
expandOnConnectCheck.setSelection(store.getBoolean(DBeaverPreferences.NAVIGATOR_EXPAND_ON_CONNECT));
......@@ -133,6 +137,7 @@ public class PrefPageDatabaseGeneral extends PreferencePage implements IWorkbenc
IPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
store.setValue(DBeaverPreferences.UI_AUTO_UPDATE_CHECK, automaticUpdateCheck.getSelection());
store.setValue(DBeaverPreferences.UI_KEEP_DATABASE_EDITORS, keepEditorsOnRestart.getSelection());
//store.setValue(DBeaverPreferences.AGENT_ENABLED, agentEnabledCheck.getSelection());
store.setValue(DBeaverPreferences.AGENT_LONG_OPERATION_NOTIFY, longOperationsCheck.getSelection());
store.setValue(DBeaverPreferences.AGENT_LONG_OPERATION_TIMEOUT, longOperationsTimeout.getSelection());
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册