From ab36793247fb44539660045ab1ec56db79f8e46b Mon Sep 17 00:00:00 2001 From: Raphael Date: Tue, 20 Oct 2009 15:09:56 -0700 Subject: [PATCH] AVD Manager: Properly disable AVD > Start > ? under Windows SDK BUG 2201546 Change-Id: I5b1f8bcaf57f2e7f94b4109cb62a3a5eadcd24a9 --- .../sdkuilib/internal/widgets/AvdStartDialog.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/tools/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/AvdStartDialog.java b/tools/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/AvdStartDialog.java index 75ec1c906..f444c52fc 100644 --- a/tools/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/AvdStartDialog.java +++ b/tools/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/widgets/AvdStartDialog.java @@ -34,6 +34,7 @@ import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; @@ -202,13 +203,13 @@ final class AvdStartDialog extends GridDialog { } }); - scaleGroup.setEnabled(defaultState); + enableGroup(scaleGroup, defaultState); mScaleButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { boolean enabled = mScaleButton.getSelection(); - scaleGroup.setEnabled(enabled); + enableGroup(scaleGroup, enabled); if (enabled) { onScaleChange(); } else { @@ -239,6 +240,14 @@ final class AvdStartDialog extends GridDialog { } } + /** On Windows we need to manually enable/disable the children of a group */ + private void enableGroup(final Group group, boolean enabled) { + group.setEnabled(enabled); + for (Control c : group.getChildren()) { + c.setEnabled(enabled); + } + } + @Override protected void configureShell(Shell newShell) { super.configureShell(newShell);