// UI widgets\r
private Group mProxySettingsGroup;\r
private Group mMiscGroup;\r
- private Button mApplyButton;\r
private Label mProxyServerLabel;\r
private Label mProxyPortLabel;\r
private Text mProxyServerText;\r
private Button mForceHttpCheck;\r
private Button mAskAdbRestartCheck;\r
\r
- private ModifyListener mSetApplyDirty = new ModifyListener() {\r
- public void modifyText(ModifyEvent e) {\r
- mApplyButton.setEnabled(true);\r
+ private SelectionAdapter mApplyOnSelected = new SelectionAdapter() {\r
+ @Override\r
+ public void widgetSelected(SelectionEvent e) {\r
+ applyNewSettings(); //$hide$\r
}\r
};\r
\r
+ private ModifyListener mApplyOnModified = new ModifyListener() {\r
+ public void modifyText(ModifyEvent e) {\r
+ applyNewSettings(); //$hide$\r
+ }\r
+ };\r
\r
/**\r
* Create the composite.\r
\r
mProxyServerText = new Text(mProxySettingsGroup, SWT.BORDER);\r
mProxyServerText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));\r
- mProxyServerText.addModifyListener(mSetApplyDirty);\r
+ mProxyServerText.addModifyListener(mApplyOnModified);\r
mProxyServerText.setToolTipText(tooltip);\r
\r
mProxyPortLabel = new Label(mProxySettingsGroup, SWT.NONE);\r
\r
mProxyPortText = new Text(mProxySettingsGroup, SWT.BORDER);\r
mProxyPortText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));\r
- mProxyPortText.addModifyListener(mSetApplyDirty);\r
+ mProxyPortText.addModifyListener(mApplyOnModified);\r
mProxyPortText.setToolTipText(tooltip);\r
\r
mMiscGroup = new Group(this, SWT.NONE);\r
mForceHttpCheck.setText("Force https://... sources to be fetched using http://...");\r
mForceHttpCheck.setToolTipText("If you are not able to connect to the official Android repository " +\r
"using HTTPS, enable this setting to force accessing it via HTTP.");\r
- mForceHttpCheck.addSelectionListener(new SelectionAdapter() {\r
- @Override\r
- public void widgetSelected(SelectionEvent e) {\r
- onForceHttpSelected(); //$hide$\r
- }\r
- });\r
+ mForceHttpCheck.addSelectionListener(mApplyOnSelected);\r
\r
mAskAdbRestartCheck = new Button(mMiscGroup, SWT.CHECK);\r
mAskAdbRestartCheck.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));\r
mAskAdbRestartCheck.setText("Ask before restarting ADB");\r
mAskAdbRestartCheck.setToolTipText("When checked, the user will be asked for permission " +\r
"to restart ADB after updating an addon-on package or a tool package.");\r
- mAskAdbRestartCheck.addSelectionListener(new SelectionAdapter() {\r
- @Override\r
- public void widgetSelected(SelectionEvent e) {\r
- onForceHttpSelected(); //$hide$\r
- }\r
- });\r
-\r
- mApplyButton = new Button(this, SWT.NONE);\r
- mApplyButton.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));\r
- mApplyButton.setText("Save && Apply");\r
- mApplyButton.addSelectionListener(new SelectionAdapter() {\r
- @Override\r
- public void widgetSelected(SelectionEvent e) {\r
- onApplySelected(); //$hide$\r
- }\r
- });\r
+ mAskAdbRestartCheck.addSelectionListener(mApplyOnSelected);\r
\r
postCreate(); //$hide$\r
}\r
mProxyPortText.setText( in_settings.getProperty(KEY_HTTP_PROXY_PORT, "")); //$NON-NLS-1$\r
mForceHttpCheck.setSelection(Boolean.parseBoolean(in_settings.getProperty(KEY_FORCE_HTTP)));\r
mAskAdbRestartCheck.setSelection(Boolean.parseBoolean(in_settings.getProperty(KEY_ASK_ADB_RESTART)));\r
-\r
- // We loaded fresh settings so there's nothing dirty to apply\r
- mApplyButton.setEnabled(false);\r
}\r
\r
/** Called by the application to retrieve settings from the UI and store them in\r
* Callback invoked when user presses the "Save and Apply" button.\r
* Notify the application that settings have changed.\r
*/\r
- private void onApplySelected() {\r
+ private void applyNewSettings() {\r
if (mSettingsChangedCallback != null) {\r
mSettingsChangedCallback.onSettingsChanged(this);\r
- mApplyButton.setEnabled(false);\r
}\r
}\r
\r
- /**\r
- * Callback invoked when the users presses the Force HTTPS checkbox.\r
- */\r
- private void onForceHttpSelected() {\r
- mSetApplyDirty.modifyText(null);\r
- }\r
-\r
// End of hiding from SWT Designer\r
//$hide<<$\r
}\r