![JAR search and dependency download from the Maven repository](/logo.png)
org.eclipse.ui.internal.UIPreferenceInitializer Maven / Gradle / Ivy
The newest version!
/*******************************************************************************
* Copyright (c) 2000, 2008 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
* Kiryl Kazakevich, Intel - bug 88359
* Tonny Madsen, RCP Company - bug 201055
*******************************************************************************/
package org.eclipse.ui.internal;
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
import org.eclipse.core.runtime.preferences.DefaultScope;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.IScopeContext;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.SWT;
import org.eclipse.ui.IWorkbenchPreferenceConstants;
import org.eclipse.ui.PlatformUI;
/**
* Implementation of the UI plugin's preference extension's customization
* element. This is needed in order to force the UI plugin's preferences to be
* initialized properly when running without
* org.eclipse.core.runtime.compatibility. For more details, see bug 58975 - New
* preference mechanism does not properly initialize defaults.
*
* @since 3.0
*/
public class UIPreferenceInitializer extends AbstractPreferenceInitializer {
public void initializeDefaultPreferences() {
IScopeContext context = new DefaultScope();
IEclipsePreferences node = context.getNode(UIPlugin.getDefault()
.getBundle().getSymbolicName());
node.put(IWorkbenchPreferenceConstants.OPEN_NEW_PERSPECTIVE,
IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE);
// Deprecated but kept for backwards compatibility
// RAP [bm]: disabled
// node.put(IWorkbenchPreferenceConstants.PROJECT_OPEN_NEW_PERSPECTIVE,
// IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE);
// node.put(IWorkbenchPreferenceConstants.SHIFT_OPEN_NEW_PERSPECTIVE,
// IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE);
// node.put(IWorkbenchPreferenceConstants.ALTERNATE_OPEN_NEW_PERSPECTIVE,
// IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE);
// Although there is no longer any item on the preference pages
// for setting the linking preference, since it is now a per-part
// setting, it remains as a preference to allow product overrides of the
// initial state of linking in the Navigator. By default, linking is
// off.
node.putBoolean(IWorkbenchPreferenceConstants.LINK_NAVIGATOR_TO_EDITOR,
false);
// Appearance / Presentation preferences
node.put(IWorkbenchPreferenceConstants.PRESENTATION_FACTORY_ID,
IWorkbenchConstants.DEFAULT_PRESENTATION_ID);
// RAP [bm]: no sense, disabled in IWPC
// node
// .putBoolean(
// IWorkbenchPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS,
// true);
// node.putBoolean(IWorkbenchPreferenceConstants.ENABLE_ANIMATIONS, true);
// node.putBoolean(IWorkbenchPreferenceConstants.USE_COLORED_LABELS, true);
// RAPEND: [bm]
node.put(IWorkbenchPreferenceConstants.DOCK_PERSPECTIVE_BAR,
IWorkbenchPreferenceConstants.TOP_RIGHT);
node.putBoolean(
IWorkbenchPreferenceConstants.SHOW_TEXT_ON_PERSPECTIVE_BAR,
true);
node.putBoolean(
IWorkbenchPreferenceConstants.SHOW_OTHER_IN_PERSPECTIVE_MENU,
true);
node.putBoolean(
IWorkbenchPreferenceConstants.SHOW_OPEN_ON_PERSPECTIVE_BAR,
true);
// the fast view bar should be on the bottom of a fresh workspace
node.put(IWorkbenchPreferenceConstants.INITIAL_FAST_VIEW_BAR_LOCATION,
IWorkbenchPreferenceConstants.BOTTOM);
// default to showing intro on startup
node.putBoolean(IWorkbenchPreferenceConstants.SHOW_INTRO, true);
// Default to the standard key configuration.
// RAP [bm]: Bindings
// node.put(IWorkbenchPreferenceConstants.KEY_CONFIGURATION_ID,
// IBindingService.DEFAULT_DEFAULT_ACTIVE_SCHEME_ID);
// RAPEND: [bm]
// Preference for showing system jobs in the jobs view
node.putBoolean(IWorkbenchPreferenceConstants.SHOW_SYSTEM_JOBS, false);
// The default minimum character width for editor tabs is undefined
// (i.e., -1)
node
.putInt(
IWorkbenchPreferenceConstants.EDITOR_MINIMUM_CHARACTERS,
-1);
// The default minimum character width for view tabs is 1
node.putInt(IWorkbenchPreferenceConstants.VIEW_MINIMUM_CHARACTERS, 1);
// Default for closing editors on exit.
node.putBoolean(IWorkbenchPreferenceConstants.CLOSE_EDITORS_ON_EXIT,
false);
// Default for using window working sets
node
.putBoolean(
IWorkbenchPreferenceConstants.USE_WINDOW_WORKING_SET_BY_DEFAULT,
false);
// Default for showing filter text widget that determines what is shown
// in a FilteredTree
node
.putBoolean(IWorkbenchPreferenceConstants.SHOW_FILTERED_TEXTS,
true);
// Default for enabling detached views
// RAP [bm]: no detached view
// node.putBoolean(IWorkbenchPreferenceConstants.ENABLE_DETACHED_VIEWS,
// true);
// Default for prompting for save when saveables are still held on to by
// other parts
node.putBoolean(
IWorkbenchPreferenceConstants.PROMPT_WHEN_SAVEABLE_STILL_OPEN,
true);
// Default the min/max behaviour to the old (3.2) style
// RAP [bm]: disabled new min max story due to missing vertical toolbar
node.putBoolean(IWorkbenchPreferenceConstants.ENABLE_NEW_MIN_MAX, false);
// By default the Fast View Bar allows to select a new fast view from
// the view list
node.putBoolean(IWorkbenchPreferenceConstants.DISABLE_NEW_FAST_VIEW,
true);
// Default the sticky view close behaviour to the new style
node.putBoolean(
IWorkbenchPreferenceConstants.ENABLE_32_STICKY_CLOSE_BEHAVIOR,
false);
node.putInt(IWorkbenchPreferenceConstants.VIEW_TAB_POSITION, SWT.TOP);
node.putInt(IWorkbenchPreferenceConstants.EDITOR_TAB_POSITION, SWT.TOP);
node.putBoolean(
IWorkbenchPreferenceConstants.SHOW_MULTIPLE_EDITOR_TABS, true);
migrateInternalPreferences();
// RAP [fappel]: instance scope vs. session scope
// IEclipsePreferences rootNode = (IEclipsePreferences) Platform
// .getPreferencesService().getRootNode()
// .node(InstanceScope.SCOPE);
//
// final String uiName = UIPlugin.getDefault().getBundle()
// .getSymbolicName();
// try {
// if (rootNode.nodeExists(uiName)) {
// ((IEclipsePreferences) rootNode.node(uiName))
// .addPreferenceChangeListener(PlatformUIPreferenceListener
// .getSingleton());
// }
// } catch (BackingStoreException e) {
// IStatus status = new Status(IStatus.ERROR, UIPlugin.getDefault()
// .getBundle().getSymbolicName(), IStatus.ERROR, e
// .getLocalizedMessage(), e);
// UIPlugin.getDefault().getLog().log(status);
// }
//
// rootNode
// .addNodeChangeListener(new IEclipsePreferences.INodeChangeListener() {
// /*
// * (non-Javadoc)
// *
// * @see org.eclipse.core.runtime.preferences.IEclipsePreferences.INodeChangeListener#added(org.eclipse.core.runtime.preferences.IEclipsePreferences.NodeChangeEvent)
// */
// public void added(NodeChangeEvent event) {
// if (!event.getChild().name().equals(uiName)) {
// return;
// }
// ((IEclipsePreferences) event.getChild())
// .addPreferenceChangeListener(PlatformUIPreferenceListener
// .getSingleton());
//
// }
//
// /*
// * (non-Javadoc)
// *
// * @see org.eclipse.core.runtime.preferences.IEclipsePreferences.INodeChangeListener#removed(org.eclipse.core.runtime.preferences.IEclipsePreferences.NodeChangeEvent)
// */
// public void removed(NodeChangeEvent event) {
// // Nothing to do here
//
// }
//
// });
}
/**
* Migrate any old internal preferences to the API store.
*/
private void migrateInternalPreferences() {
IPreferenceStore internalStore = WorkbenchPlugin.getDefault()
.getPreferenceStore();
IPreferenceStore apiStore = PlatformUI.getPreferenceStore();
// Is there a value there?
if (internalStore
.contains(IWorkbenchPreferenceConstants.VIEW_TAB_POSITION)) {
apiStore.setValue(IWorkbenchPreferenceConstants.VIEW_TAB_POSITION,
internalStore.getInt(IWorkbenchPreferenceConstants.VIEW_TAB_POSITION));
internalStore
.setToDefault(IWorkbenchPreferenceConstants.VIEW_TAB_POSITION);
}
// Is there a value there?
if (internalStore
.contains(IWorkbenchPreferenceConstants.EDITOR_TAB_POSITION)) {
apiStore.setValue(
IWorkbenchPreferenceConstants.EDITOR_TAB_POSITION,
internalStore.getInt(IWorkbenchPreferenceConstants.EDITOR_TAB_POSITION));
internalStore
.setToDefault(IWorkbenchPreferenceConstants.EDITOR_TAB_POSITION);
}
// As default is true we need to check if a value was set
if (internalStore
.contains(IWorkbenchPreferenceConstants.SHOW_MULTIPLE_EDITOR_TABS)) {
apiStore
.setValue(
IWorkbenchPreferenceConstants.SHOW_MULTIPLE_EDITOR_TABS,
internalStore
.getBoolean(IWorkbenchPreferenceConstants.SHOW_MULTIPLE_EDITOR_TABS));
internalStore
.setToDefault(IWorkbenchPreferenceConstants.SHOW_MULTIPLE_EDITOR_TABS);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy