# HG changeset patch # User stechong # Date 1284492744 18000 # Node ID 576284888c715fbcaaf8054f2bce065531d54a7c # Parent e9a2c2c218b489b3a97c9b602386de1f1af1fd54 Added checkbox "Scan for installable features in SDKs" to Symbian SDK prefs page. It controls whether Carbide dynamically discover and install features from SDKs during startup and rescanning SDKs, and is on by default. diff -r e9a2c2c218b4 -r 576284888c71 core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/sdk/ui/SDKPreferencePage.java --- a/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/sdk/ui/SDKPreferencePage.java Tue Sep 14 14:24:51 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/sdk/ui/SDKPreferencePage.java Tue Sep 14 14:32:24 2010 -0500 @@ -24,6 +24,7 @@ import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.PreferencePage; import org.eclipse.jface.viewers.ArrayContentProvider; import org.eclipse.jface.viewers.CellEditor; @@ -236,6 +237,7 @@ private Button deleteButton; private Button propertiesButton; private Button rescanButton; + private Button scanPluginsButton; private Label iconLabel; private Label statusLabel; @@ -289,6 +291,9 @@ * @see org.eclipse.jface.preference.PreferencePage#performOk() */ public boolean performOk() { + IPreferenceStore prefsStore = SDKUIPlugin.getDefault().getPreferenceStore(); + prefsStore.setValue(SDKUIPreferenceConstants.SCAN_FOR_NEW_PLUGINS, scanPluginsButton.getSelection()); + // Remember which SDK is enabled for (ISymbianSDK sdk : sdkMgr.getSDKList()) { ((SymbianSDK)sdk).setEnabled(false); @@ -312,6 +317,8 @@ */ @Override public Control createContents(Composite parent) { + IPreferenceStore prefsStore = SDKUIPlugin.getDefault().getPreferenceStore(); + // Set up colors used in this preference page Shell shell = parent.getShell(); black = shell.getDisplay().getSystemColor(SWT.COLOR_BLACK); @@ -377,7 +384,16 @@ statusLabel.setLayoutData(gridData); new Label(content, SWT.WRAP); // filler - + + // Scan for installable features in SDKs button + scanPluginsButton = new Button(content, SWT.CHECK); + scanPluginsButton.setToolTipText(Messages.getString("SDKPreferencePage.scanPlugins_ButtonToolTip")); //$NON-NLS-1$ + scanPluginsButton.setText(Messages.getString("SDKPreferencePage.scanPlugins_Button_Label")); //$NON-NLS-1$ + scanPluginsButton.setSelection(prefsStore.getBoolean(SDKUIPreferenceConstants.SCAN_FOR_NEW_PLUGINS)); + addButtonListener(scanPluginsButton); + + new Label(content, SWT.WRAP); // filler + // Rescan button rescanButton = new Button(content, SWT.NONE); rescanButton.setToolTipText(Messages.getString("SDKPreferencePage.Rescan_Button_ToolTip")); //$NON-NLS-1$ @@ -537,7 +553,9 @@ addSDKComponentTableItems(); sdkListTableViewer.refresh(); selectSDKEntry(0); - NewPluginChecker.checkForNewlyInstalledPlugins(SDKUIPlugin.getDefault().getWorkbench()); + if (scanPluginsButton.getSelection()) { + NewPluginChecker.checkForNewlyInstalledPlugins(SDKUIPlugin.getDefault().getWorkbench()); + } rescanButton.setText(Messages.getString("SDKPreferencePage.Rescan_Button_Label")); //$NON-NLS-1$ rescanButton.setEnabled(true); } diff -r e9a2c2c218b4 -r 576284888c71 core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/sdk/ui/SDKUIPreferenceInitializer.java --- a/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/sdk/ui/SDKUIPreferenceInitializer.java Tue Sep 14 14:24:51 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/sdk/ui/SDKUIPreferenceInitializer.java Tue Sep 14 14:32:24 2010 -0500 @@ -34,7 +34,7 @@ IPreferenceStore store = SDKUIPlugin.getDefault().getPreferenceStore(); store.setDefault(SDKUIPreferenceConstants.ENABLE_BSF_SCANNER, false); store.setDefault(SDKUIPreferenceConstants.LISTEN_FOR_DEVICES_XML_CHANGE, true); - store.setDefault(SDKUIPreferenceConstants.SCAN_FOR_NEW_PLUGINS, false); + store.setDefault(SDKUIPreferenceConstants.SCAN_FOR_NEW_PLUGINS, true); store.setDefault(SDKUIPreferenceConstants.PLAT_EKA2_WINSCW, true); store.setDefault(SDKUIPreferenceConstants.PLAT_EKA2_GCCE, true); diff -r e9a2c2c218b4 -r 576284888c71 core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/sdk/ui/messages.properties --- a/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/sdk/ui/messages.properties Tue Sep 14 14:24:51 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/sdk/ui/messages.properties Tue Sep 14 14:32:24 2010 -0500 @@ -14,6 +14,8 @@ SDKPreferencePage.Rescan_Button_Label=Rescan All SDKs SDKPreferencePage.Rescan_Button_ToolTip=Rebuilds all SDK entries (same as restarting the IDE). SDKPreferencePage.Rescanning_Button_Label=Rescanning... +SDKPreferencePage.scanPlugins_Button_Label=Scan for installable features in SDKs +SDKPreferencePage.scanPlugins_ButtonToolTip=Discover installable features found in SDKs and install them dynamically. SDKPreferencePage.No_SDKs_Available_Message=No SDKs are available. SDKPreferencePage.No_selected_SDK_detected=No selected SDK detected. SDKPreferencePage.List_of_Available_SDKs_ToolTip=List of available SDKs. diff -r e9a2c2c218b4 -r 576284888c71 core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/sdk/ui/SDKUIPlugin.java --- a/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/sdk/ui/SDKUIPlugin.java Tue Sep 14 14:24:51 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/sdk/ui/SDKUIPlugin.java Tue Sep 14 14:32:24 2010 -0500 @@ -61,7 +61,10 @@ */ public void start(BundleContext context) throws Exception { super.start(context); - NewPluginChecker.checkForNewlyInstalledPlugins(getWorkbench()); + IPreferenceStore prefsStore = SDKUIPlugin.getDefault().getPreferenceStore(); + if (prefsStore.getBoolean(SDKUIPreferenceConstants.SCAN_FOR_NEW_PLUGINS)) { + NewPluginChecker.checkForNewlyInstalledPlugins(getWorkbench()); + } ISDKManager sdkMgr = SDKCorePlugin.getSDKManager(); if (HostOS.IS_WIN32){