/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * */ package org.apache.directory.studio.ldapbrowser.common.widgets.browser; import org.apache.directory.studio.ldapbrowser.common.BrowserCommonActivator; import org.apache.directory.studio.ldapbrowser.common.BrowserCommonConstants; import org.apache.directory.studio.ldapbrowser.core.BrowserCoreConstants; import org.apache.directory.studio.ldapbrowser.core.BrowserCorePlugin; import org.eclipse.core.runtime.Preferences; import org.eclipse.jface.util.IPropertyChangeListener; import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.jface.viewers.TreeViewer; /** * This class is a wrapper for the preferences of the browser widget. * * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a> */ public class BrowserPreferences implements IPropertyChangeListener, Preferences.IPropertyChangeListener { /** The tree viewer */ protected TreeViewer viewer; /** * Creates a new instance of BrowserPreferences. */ public BrowserPreferences() { BrowserCommonActivator.getDefault().getPreferenceStore().addPropertyChangeListener( this ); BrowserCorePlugin.getDefault().getPluginPreferences().addPropertyChangeListener( this ); } /** * Connects the tree viewer to this preferences. * * @param viewer the tree viewer */ public void connect( TreeViewer viewer ) { this.viewer = viewer; } /** * Disposes this preferences. */ public void dispose() { BrowserCommonActivator.getDefault().getPreferenceStore().removePropertyChangeListener( this ); BrowserCorePlugin.getDefault().getPluginPreferences().removePropertyChangeListener( this ); viewer = null; } /** * Gets the sort entries by, one of BrowserCoreConstants.SORT_BY_NONE, * BrowserCoreConstants.SORT_BY_RDN or BrowserCoreConstants.SORT_BY_RDN_VALUE. * * @return the sort entries by */ public int getSortEntriesBy() { return BrowserCommonActivator.getDefault().getPreferenceStore().getInt( BrowserCommonConstants.PREFERENCE_BROWSER_SORT_BY ); } /** * Gets the sort entries order, one of one of BrowserCoreConstants.SORT_ORDER_NONE, * BrowserCoreConstants.SORT_ORDER_ASCENDING or BrowserCoreConstants.SORT_ORDER_DESCENDING. * * @return the sort entries order */ public int getSortEntriesOrder() { return BrowserCommonActivator.getDefault().getPreferenceStore().getInt( BrowserCommonConstants.PREFERENCE_BROWSER_SORT_ORDER ); } /** * Gets the searches sort order, one of one of BrowserCoreConstants.SORT_ORDER_NONE, * BrowserCoreConstants.SORT_ORDER_ASCENDING or BrowserCoreConstants.SORT_ORDER_DESCENDING. * * @return the searches sort order */ public int getSortSearchesOrder() { return BrowserCommonActivator.getDefault().getPreferenceStore().getInt( BrowserCommonConstants.PREFERENCE_BROWSER_SORT_SEARCHES_ORDER ); } /** * Gets the bookmarks sort order, one of one of BrowserCoreConstants.SORT_ORDER_NONE, * BrowserCoreConstants.SORT_ORDER_ASCENDING or BrowserCoreConstants.SORT_ORDER_DESCENDING. * * @return the sort order */ public int getSortBookmarksOrder() { return BrowserCommonActivator.getDefault().getPreferenceStore().getInt( BrowserCommonConstants.PREFERENCE_BROWSER_SORT_BOOKMARKS_ORDER ); } /** * Gets the sort limit. * * @return the sort limit */ public int getSortLimit() { return BrowserCommonActivator.getDefault().getPreferenceStore().getInt( BrowserCommonConstants.PREFERENCE_BROWSER_SORT_LIMIT ); } /** * Returns true if leaf entries should be shown before non-leaf entries. * * @return true, if leaf entries should be shown first */ public boolean isLeafEntriesFirst() { return BrowserCommonActivator.getDefault().getPreferenceStore().getBoolean( BrowserCommonConstants.PREFERENCE_BROWSER_LEAF_ENTRIES_FIRST ); } /** * Returns true if container entries should be shown before leaf entries. * * @return true, if container entries should be shown first */ public boolean isContainerEntriesFirst() { return BrowserCommonActivator.getDefault().getPreferenceStore().getBoolean( BrowserCommonConstants.PREFERENCE_BROWSER_CONTAINER_ENTRIES_FIRST ); } /** * Returns true if meta entries should be shown after non-meta entries. * * @return true, if meta entries should be shown first */ public boolean isMetaEntriesLast() { return BrowserCommonActivator.getDefault().getPreferenceStore().getBoolean( BrowserCommonConstants.PREFERENCE_BROWSER_META_ENTRIES_LAST ); } /** * Returns true if the bookmark category should be visible. * * @return true if the bookmark category should be visible */ public boolean isShowBookmarks() { return BrowserCommonActivator.getDefault().getPreferenceStore().getBoolean( BrowserCommonConstants.PREFERENCE_BROWSER_SHOW_BOOKMARKS ); } /** * Returns true if the DIT category should be visible. * * @return true if the DIT category should be visible */ public boolean isShowDIT() { return BrowserCommonActivator.getDefault().getPreferenceStore().getBoolean( BrowserCommonConstants.PREFERENCE_BROWSER_SHOW_DIT ); } /** * Returns true if the searches category should be visible. * * @return true if the searches category should be visible */ public boolean isShowSearches() { return BrowserCommonActivator.getDefault().getPreferenceStore().getBoolean( BrowserCommonConstants.PREFERENCE_BROWSER_SHOW_SEARCHES ); } /** * Gets the folding size. * * @return the folding size */ public int getFoldingSize() { return BrowserCommonActivator.getDefault().getPreferenceStore().getInt( BrowserCommonConstants.PREFERENCE_BROWSER_FOLDING_SIZE ); } /** * Returns true if folding is enabled. * * @return true if folding is enabled */ public boolean isUseFolding() { return BrowserCommonActivator.getDefault().getPreferenceStore().getBoolean( BrowserCommonConstants.PREFERENCE_BROWSER_ENABLE_FOLDING ); } /** * Returns true if meta entries should be visible. * * @return true if meta entries should be visible */ public boolean isShowDirectoryMetaEntries() { return BrowserCommonActivator.getDefault().getPreferenceStore().getBoolean( BrowserCommonConstants.PREFERENCE_BROWSER_SHOW_DIRECTORY_META_ENTRIES ); } /** * Returns true if entry lables should be abbreviated. * * @return true if entry lables should be abbreviated */ public boolean isEntryAbbreviate() { return BrowserCommonActivator.getDefault().getPreferenceStore().getBoolean( BrowserCommonConstants.PREFERENCE_BROWSER_ENTRY_ABBREVIATE ); } /** * Gets the entry's maximum label length. * * @return the entry's maximum label length */ public int getEntryAbbreviateMaxLength() { return BrowserCommonActivator.getDefault().getPreferenceStore().getInt( BrowserCommonConstants.PREFERENCE_BROWSER_ENTRY_ABBREVIATE_MAX_LENGTH ); } /** * Gets the entry label, one of BrowserWidgetsConstants.SHOW_DN, * BrowserWidgetsConstants.SHOW_RDN or BrowserWidgetsConstants.SHOW_RDN_VALUE. * * @return the entry label */ public int getEntryLabel() { return BrowserCommonActivator.getDefault().getPreferenceStore().getInt( BrowserCommonConstants.PREFERENCE_BROWSER_ENTRY_LABEL ); } /** * Returns true if search result lables should be abbreviated. * * @return true if search result lables should be abbreviated */ public boolean isSearchResultAbbreviate() { return BrowserCommonActivator.getDefault().getPreferenceStore().getBoolean( BrowserCommonConstants.PREFERENCE_BROWSER_SEARCH_RESULT_ABBREVIATE ); } /** * Gets the search result's maximum label length. * * @return the search result's maximum label length */ public int getSearchResultAbbreviateMaxLength() { return BrowserCommonActivator.getDefault().getPreferenceStore().getInt( BrowserCommonConstants.PREFERENCE_BROWSER_SEARCH_RESULT_ABBREVIATE_MAX_LENGTH ); } /** * Gets the search result label, one of BrowserWidgetsConstants.SHOW_DN, * BrowserWidgetsConstants.SHOW_RDN or BrowserWidgetsConstants.SHOW_RDN_VALUE. * * @return the entry label */ public int getSearchResultLabel() { return BrowserCommonActivator.getDefault().getPreferenceStore().getInt( BrowserCommonConstants.PREFERENCE_BROWSER_SEARCH_RESULT_LABEL ); } /** * Returns true if the base entries should be expanded when * opening connection. * * @return true if the base entries should be expanded */ public boolean isExpandBaseEntries() { return BrowserCommonActivator.getDefault().getPreferenceStore().getBoolean( BrowserCommonConstants.PREFERENCE_BROWSER_EXPAND_BASE_ENTRIES ); } /** * Returns true if the browser should check for children * while browsing the directory. * * @return true if the browser should check for children */ public boolean isCheckForChildren() { Preferences coreStore = BrowserCorePlugin.getDefault().getPluginPreferences(); return coreStore.getBoolean( BrowserCoreConstants.PREFERENCE_CHECK_FOR_CHILDREN ); } /** * {@inheritDoc} */ public void propertyChange( PropertyChangeEvent event ) { if ( viewer != null ) { viewer.refresh(); } } /** * {@inheritDoc} */ public void propertyChange( org.eclipse.core.runtime.Preferences.PropertyChangeEvent event ) { if ( viewer != null ) { viewer.refresh(); } } }