org.symbian.tools.wrttools.debug.core/src/org/symbian/tools/wrttools/debug/ui/DebugPreferencePage.java
changeset 272 c91ee4e0a0ad
parent 2 e4420d2515f1
child 275 12c2ea2194c7
equal deleted inserted replaced
271:4ff7e6f31c66 272:c91ee4e0a0ad
    16  * Assumptions/Requirement/Pre-requisites:
    16  * Assumptions/Requirement/Pre-requisites:
    17  * Failures and causes:
    17  * Failures and causes:
    18  *******************************************************************************/
    18  *******************************************************************************/
    19 package org.symbian.tools.wrttools.debug.ui;
    19 package org.symbian.tools.wrttools.debug.ui;
    20 
    20 
       
    21 import org.eclipse.jface.dialogs.MessageDialogWithToggle;
    21 import org.eclipse.jface.preference.DirectoryFieldEditor;
    22 import org.eclipse.jface.preference.DirectoryFieldEditor;
    22 import org.eclipse.jface.preference.FieldEditorPreferencePage;
    23 import org.eclipse.jface.preference.FieldEditorPreferencePage;
       
    24 import org.eclipse.swt.SWT;
       
    25 import org.eclipse.swt.layout.GridData;
       
    26 import org.eclipse.swt.widgets.Button;
    23 import org.eclipse.ui.IWorkbench;
    27 import org.eclipse.ui.IWorkbench;
    24 import org.eclipse.ui.IWorkbenchPreferencePage;
    28 import org.eclipse.ui.IWorkbenchPreferencePage;
    25 import org.symbian.tools.wrttools.debug.internal.Activator;
    29 import org.symbian.tools.wrttools.debug.internal.Activator;
    26 import org.symbian.tools.wrttools.debug.internal.IConstants;
    30 import org.symbian.tools.wrttools.debug.internal.IConstants;
    27 
    31 
    28 public class DebugPreferencePage extends FieldEditorPreferencePage implements
    32 public class DebugPreferencePage extends FieldEditorPreferencePage implements
    29 		IWorkbenchPreferencePage {
    33 		IWorkbenchPreferencePage {
    30 
    34 
    31 	public DebugPreferencePage() {
    35     private Button check;
       
    36 
       
    37     public DebugPreferencePage() {
    32 		super(GRID);
    38 		super(GRID);
    33 		setPreferenceStore(Activator.getDefault().getPreferenceStore());
    39 		setPreferenceStore(Activator.getDefault().getPreferenceStore());
    34 		setDescription("WRT debugger settings");
    40 		setDescription("WRT debugger settings");
    35 	}
    41 	}
    36 
    42 
    37 	@Override
    43 	@Override
    38 	protected void createFieldEditors() {
    44 	protected void createFieldEditors() {
    39 		DirectoryFieldEditor editor = new DirectoryFieldEditor("chrome", "Chrome Install Location:", getFieldEditorParent());
    45 		DirectoryFieldEditor editor = new DirectoryFieldEditor("chrome", "Chrome Install Location:", getFieldEditorParent());
    40 		editor.setPreferenceName(IConstants.PREF_NAME_CHROME_LOCATION);
    46 		editor.setPreferenceName(IConstants.PREF_NAME_CHROME_LOCATION);
    41 		addField(editor);
    47 		addField(editor);
       
    48 
       
    49         check = new Button(getFieldEditorParent(), SWT.CHECK);
       
    50         check.setText("Show warning dialog when resources in the debugged project were changed");
       
    51         check.setLayoutData(new GridData(GridData.BEGINNING, GridData.END, false, false, 3, 1));
       
    52 
       
    53         check.setSelection(MessageDialogWithToggle.ALWAYS.equals(getPreferenceStore().getString(
       
    54                 IConstants.PREF_SHOW_RESOURCE_CHANGE_ERROR)));
    42 	}
    55 	}
       
    56 
       
    57     @Override
       
    58     protected void performDefaults() {
       
    59         super.performDefaults();
       
    60         check.setSelection(false);
       
    61     }
       
    62 
       
    63     @Override
       
    64     public boolean performOk() {
       
    65         if (check.getSelection()) {
       
    66             getPreferenceStore().setValue(IConstants.PREF_SHOW_RESOURCE_CHANGE_ERROR, MessageDialogWithToggle.ALWAYS);
       
    67         } else {
       
    68             getPreferenceStore().setToDefault(IConstants.PREF_SHOW_RESOURCE_CHANGE_ERROR);
       
    69         }
       
    70         return super.performOk();
       
    71     }
    43 
    72 
    44 	public void init(IWorkbench workbench) {
    73 	public void init(IWorkbench workbench) {
    45 		// Do nothing
    74 		// Do nothing
    46 	}
    75 	}
    47 }
    76 }