net.sourceforge.rssowl.controller.dialog
Class PreferencesDialog

java.lang.Object
  extended by org.eclipse.jface.window.Window
      extended by org.eclipse.jface.dialogs.Dialog
          extended by net.sourceforge.rssowl.controller.dialog.PreferencesDialog
All Implemented Interfaces:
ITranslatable, org.eclipse.jface.window.IShellProvider

public class PreferencesDialog
extends org.eclipse.jface.dialogs.Dialog
implements ITranslatable

The preferences dialog allows the user to change RSSOwl's preferences. The user selects one of the categories from the left tree. Every category offers a "Restore defaults" button to reset to the default settings. The "Apply" or "OK" Button saves the made settings.

Version:
1.2.4
Author:
Benjamin Pasero

Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.jface.window.Window
org.eclipse.jface.window.Window.IExceptionHandler
 
Field Summary
(package private)  PropertyPage activePropertyPage
           
(package private) static boolean blockFilter
          Flag to block Filtering of Preferences Pages
private  TreeItem blogger
           
private  TreeItem browser
           
private  Composite buttonHolder
           
private  ToolItem clearFilter
           
private  TreeItem colors
           
private  TreeItem connection
           
private  Composite contentHolder
           
private static int dialogMinWidth
          Min. width of the dialog in DLUs
(package private)  EventManager eventManager
           
private  Button exportSettingsButton
           
private  TreeItem favorites
           
(package private)  Text filterText
           
private  TreeItem font
           
private  TreeItem formatNewsTipMail
           
private  TreeItem hotkeys
           
private  Composite importExportHolder
           
private  Button importSettingsButton
           
(package private)  boolean isFirstFilterInputFocus
           
(package private)  Label labelImgHolder
           
private  Label labelPrefTitle
           
private  TreeItem language
           
static int lastOpenedPropertyPage
          Remember the last opened property page
private  java.lang.String lastSelectedItemText
           
(package private)  Composite prefTitleHolder
           
private  PropertiesFilter propertiesFilter
           
(package private)  GUI rssOwlGui
           
private  TreeItem sortOrder
           
private  TreeItem systemTray
           
private  java.lang.String title
           
(package private)  Tree tree
           
private  TreeItem view
           
(package private)  TreeItem workbench
           
 
Fields inherited from class org.eclipse.jface.dialogs.Dialog
blockedHandler, buttonBar, dialogArea, DLG_IMG_ERROR, DLG_IMG_INFO, DLG_IMG_MESSAGE_ERROR, DLG_IMG_MESSAGE_INFO, DLG_IMG_MESSAGE_WARNING, DLG_IMG_QUESTION, DLG_IMG_WARNING, ELLIPSIS
 
Fields inherited from class org.eclipse.jface.window.Window
CANCEL, OK
 
Constructor Summary
PreferencesDialog(Shell parentShell, java.lang.String dialogTitle, GUI rssOwlGui)
          Creates a Dialog with a tree holding different categories.
 
Method Summary
protected  void buttonPressed(int buttonId)
           
protected  void configureShell(Shell shell)
           
private  void createBloggerProps()
          Create new PropertyPage: Blogger
private  void createBrowserProps()
          Create new PropertyPage: Browser
protected  Control createButtonBar(Composite parent)
           
private  void createColorProps()
          Create new PropertyPage: Colors
private  void createConnectionProps()
          Create new PropertyPage: Connection
protected  Control createDialogArea(Composite parent)
           
private  void createFavoritesProps()
          Create new PropertyPage: Favorites
private  void createFontProps()
          Create new PropertyPage: Font
private  void createHotkeysProps()
          Create new PropertyPage: Hotkeys
private  void createLanguageProps()
          Create new PropertyPage: Language
private  void createMailProps()
          Create new PropertyPage: Mail
private  void createSortOrderProps()
          Create new PropertyPage: Sort Order
private  void createSystemTrayProps()
          Create new PropertyPage: System Tray
private  void createViewProps()
          Create new PropertyPage: View
private  void createWorkbenchProps()
          Create new PropertyPage: Workbench
(package private)  void filterTree(java.lang.String filterText)
          Filter the Tree containing all Property-Pages by the given Value.
protected  int getShellStyle()
           
(package private)  void handleTreeItemSelect()
          Handle selection of items in the tree and create new PropertyPage
protected  void initializeBounds()
           
protected  void initializeBounds(boolean updateLocation)
          Set size and location of the dialog
private  void renewPropertyPage(java.lang.String title)
          Renew the property page and set a new title
private  void restoreSelection(java.lang.String selectionText, TreeItem[] items)
          Restore the Selection in the Tree for the given Value.
(package private)  void saveSettings()
          Update all Settings and Save them.
protected  void setButtonLayoutData(Button button)
          Set the layout data of the button to a GridData with appropriate widths This method was slightly modified so that it is not setting a heightHint.
private  void setTreeSelection(int propertyPage)
          Set the selected tree item
 void updateI18N()
          Update I18N - Is only called from the Language properties view!
 
Methods inherited from class org.eclipse.jface.dialogs.Dialog
applyDialogFont, cancelPressed, close, convertHeightInCharsToPixels, convertHeightInCharsToPixels, convertHorizontalDLUsToPixels, convertHorizontalDLUsToPixels, convertVerticalDLUsToPixels, convertVerticalDLUsToPixels, convertWidthInCharsToPixels, convertWidthInCharsToPixels, create, createButton, createButtonsForButtonBar, createContents, dialogFontIsDefault, getBlockedHandler, getButton, getButtonBar, getCancelButton, getDialogArea, getImage, getOKButton, initializeDialogUnits, okPressed, setBlockedHandler, setButtonLayoutFormData, shortenText
 
Methods inherited from class org.eclipse.jface.window.Window
canHandleShellCloseEvent, constrainShellSize, createShell, getConstrainedShellBounds, getContents, getDefaultImage, getDefaultImages, getDefaultOrientation, getInitialLocation, getInitialSize, getLayout, getParentShell, getReturnCode, getShell, getShellListener, getWindowManager, handleFontChange, handleShellCloseEvent, open, setBlockOnOpen, setDefaultImage, setDefaultImages, setDefaultModalParent, setDefaultOrientation, setExceptionHandler, setParentShell, setReturnCode, setShellStyle, setWindowManager
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

lastOpenedPropertyPage

public static int lastOpenedPropertyPage
Remember the last opened property page


dialogMinWidth

private static final int dialogMinWidth
Min. width of the dialog in DLUs

See Also:
Constant Field Values

blockFilter

static boolean blockFilter
Flag to block Filtering of Preferences Pages


blogger

private TreeItem blogger

browser

private TreeItem browser

buttonHolder

private Composite buttonHolder

clearFilter

private ToolItem clearFilter

colors

private TreeItem colors

connection

private TreeItem connection

contentHolder

private Composite contentHolder

exportSettingsButton

private Button exportSettingsButton

favorites

private TreeItem favorites

font

private TreeItem font

formatNewsTipMail

private TreeItem formatNewsTipMail

hotkeys

private TreeItem hotkeys

importExportHolder

private Composite importExportHolder

importSettingsButton

private Button importSettingsButton

labelPrefTitle

private Label labelPrefTitle

language

private TreeItem language

lastSelectedItemText

private java.lang.String lastSelectedItemText

propertiesFilter

private PropertiesFilter propertiesFilter

sortOrder

private TreeItem sortOrder

systemTray

private TreeItem systemTray

title

private java.lang.String title

view

private TreeItem view

activePropertyPage

PropertyPage activePropertyPage

eventManager

EventManager eventManager

filterText

Text filterText

isFirstFilterInputFocus

boolean isFirstFilterInputFocus

labelImgHolder

Label labelImgHolder

prefTitleHolder

Composite prefTitleHolder

rssOwlGui

GUI rssOwlGui

tree

Tree tree

workbench

TreeItem workbench
Constructor Detail

PreferencesDialog

public PreferencesDialog(Shell parentShell,
                         java.lang.String dialogTitle,
                         GUI rssOwlGui)
Creates a Dialog with a tree holding different categories. Each selected tree item will open a view to change some settings. Note that the dialog will have no visual representation (no widgets) until it is told to open.

Note that the open method blocks for input dialogs.

Parameters:
parentShell - the parent shell
dialogTitle - the dialog title, or null if none
rssOwlGui - The MainController
Method Detail

updateI18N

public void updateI18N()
Update I18N - Is only called from the Language properties view!

Specified by:
updateI18N in interface ITranslatable

createBloggerProps

private void createBloggerProps()
Create new PropertyPage: Blogger


createBrowserProps

private void createBrowserProps()
Create new PropertyPage: Browser


createColorProps

private void createColorProps()
Create new PropertyPage: Colors


createConnectionProps

private void createConnectionProps()
Create new PropertyPage: Connection


createFavoritesProps

private void createFavoritesProps()
Create new PropertyPage: Favorites


createFontProps

private void createFontProps()
Create new PropertyPage: Font


createHotkeysProps

private void createHotkeysProps()
Create new PropertyPage: Hotkeys


createLanguageProps

private void createLanguageProps()
Create new PropertyPage: Language


createMailProps

private void createMailProps()
Create new PropertyPage: Mail


createSortOrderProps

private void createSortOrderProps()
Create new PropertyPage: Sort Order


createSystemTrayProps

private void createSystemTrayProps()
Create new PropertyPage: System Tray


createViewProps

private void createViewProps()
Create new PropertyPage: View


createWorkbenchProps

private void createWorkbenchProps()
Create new PropertyPage: Workbench


renewPropertyPage

private void renewPropertyPage(java.lang.String title)
Renew the property page and set a new title

Parameters:
title - A new title for the PropertyPage

restoreSelection

private void restoreSelection(java.lang.String selectionText,
                              TreeItem[] items)
Restore the Selection in the Tree for the given Value.

Parameters:
selectionText - The Value of the selected Item.
items - The Items to search for the Selected one.

setTreeSelection

private void setTreeSelection(int propertyPage)
Set the selected tree item

Parameters:
propertyPage - The propertypage number

buttonPressed

protected void buttonPressed(int buttonId)
Overrides:
buttonPressed in class org.eclipse.jface.dialogs.Dialog
See Also:
Dialog.buttonPressed(int)

configureShell

protected void configureShell(Shell shell)
Overrides:
configureShell in class org.eclipse.jface.window.Window
See Also:
Window.configureShell(org.eclipse.swt.widgets.Shell)

createButtonBar

protected Control createButtonBar(Composite parent)
Overrides:
createButtonBar in class org.eclipse.jface.dialogs.Dialog
See Also:
Dialog.createButtonBar(org.eclipse.swt.widgets.Composite)

createDialogArea

protected Control createDialogArea(Composite parent)
Overrides:
createDialogArea in class org.eclipse.jface.dialogs.Dialog
See Also:
Dialog.createDialogArea(org.eclipse.swt.widgets.Composite)

getShellStyle

protected int getShellStyle()
Overrides:
getShellStyle in class org.eclipse.jface.window.Window
See Also:
Window.getShellStyle()

initializeBounds

protected void initializeBounds()
Overrides:
initializeBounds in class org.eclipse.jface.dialogs.Dialog
See Also:
Dialog.initializeBounds()

initializeBounds

protected void initializeBounds(boolean updateLocation)
Set size and location of the dialog

Parameters:
updateLocation - If TRUE also update the location of the dialog

setButtonLayoutData

protected void setButtonLayoutData(Button button)
Set the layout data of the button to a GridData with appropriate widths This method was slightly modified so that it is not setting a heightHint.

Overrides:
setButtonLayoutData in class org.eclipse.jface.dialogs.Dialog
Parameters:
button - The button to layout

filterTree

void filterTree(java.lang.String filterText)
Filter the Tree containing all Property-Pages by the given Value. All Property-Pages not matching the Filter, will be removed. If the Filter-Value NULL or an empty String, all Property-Pages will be shown.

Parameters:
filterText - The Value to use for Filtering.

handleTreeItemSelect

void handleTreeItemSelect()
Handle selection of items in the tree and create new PropertyPage


saveSettings

void saveSettings()
Update all Settings and Save them.



RSSOwl - RSS / RDF / Atom Newsreader

SourceForge.net Logo