diff --git a/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/GraphicalEditorPart.java b/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/GraphicalEditorPart.java index 4953f7e79..ef0db5ab7 100755 --- a/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/GraphicalEditorPart.java +++ b/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/GraphicalEditorPart.java @@ -679,6 +679,8 @@ public class GraphicalEditorPart extends EditorPart implements IGraphicalLayoutE // enable the create button if the current and edited config are not equals mConfigComposite.setEnabledCreate( mEditedConfig.equals(mConfigComposite.getCurrentConfig()) == false); + + reloadConfigurationUi(false /*notifyListener*/); } public Clipboard getClipboard() { @@ -967,7 +969,7 @@ public class GraphicalEditorPart extends EditorPart implements IGraphicalLayoutE } } - public void reloadConfigurationUi() { + public void reloadConfigurationUi(boolean notifyListener) { // enable the clipping button if it's supported. Sdk currentSdk = Sdk.getCurrent(); if (currentSdk != null) { @@ -975,7 +977,7 @@ public class GraphicalEditorPart extends EditorPart implements IGraphicalLayoutE AndroidTargetData data = currentSdk.getTargetData(target); if (data != null) { LayoutBridge bridge = data.getLayoutBridge(); - mConfigComposite.reloadDevices(); + mConfigComposite.reloadDevices(notifyListener); mConfigComposite.setClippingSupport(bridge.apiLevel >= 4); } } diff --git a/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/GraphicalLayoutEditor.java b/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/GraphicalLayoutEditor.java index 6d210a802..f3fd97a98 100644 --- a/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/GraphicalLayoutEditor.java +++ b/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/GraphicalLayoutEditor.java @@ -548,7 +548,7 @@ public class GraphicalLayoutEditor extends GraphicalEditorWithPalette mConfigComposite.setEnabledCreate( mEditedConfig.equals(mConfigComposite.getCurrentConfig()) == false); - reloadConfigurationUi(); + reloadConfigurationUi(false /*notifyListener*/); } public Rectangle getBounds() { @@ -730,7 +730,7 @@ public class GraphicalLayoutEditor extends GraphicalEditorWithPalette PaletteFactory.createPaletteRoot(mPaletteRoot, mLayoutEditor.getTargetData()); } - public void reloadConfigurationUi() { + public void reloadConfigurationUi(boolean notifyListener) { // enable the clipping button if it's supported. Sdk currentSdk = Sdk.getCurrent(); if (currentSdk != null) { @@ -738,7 +738,7 @@ public class GraphicalLayoutEditor extends GraphicalEditorWithPalette AndroidTargetData data = currentSdk.getTargetData(target); if (data != null) { LayoutBridge bridge = data.getLayoutBridge(); - mConfigComposite.reloadDevices(); + mConfigComposite.reloadDevices(notifyListener); mConfigComposite.setClippingSupport(bridge.apiLevel >= 4); } } diff --git a/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/IGraphicalLayoutEditor.java b/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/IGraphicalLayoutEditor.java index 664edcb5f..5816af65b 100755 --- a/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/IGraphicalLayoutEditor.java +++ b/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/IGraphicalLayoutEditor.java @@ -82,6 +82,6 @@ import org.eclipse.ui.IEditorPart; abstract Clipboard getClipboard(); - abstract void reloadConfigurationUi(); + abstract void reloadConfigurationUi(boolean notifyListener); } diff --git a/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/LayoutEditor.java b/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/LayoutEditor.java index ca11fc7bb..99670d818 100644 --- a/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/LayoutEditor.java +++ b/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/LayoutEditor.java @@ -410,7 +410,7 @@ public class LayoutEditor extends AndroidEditor implements IShowEditorInput, IPa if (mGraphicalEditor != null) { mGraphicalEditor.reloadEditor(); mGraphicalEditor.reloadPalette(); - mGraphicalEditor.reloadConfigurationUi(); + mGraphicalEditor.reloadConfigurationUi(true /*notify listener */); mGraphicalEditor.recomputeLayout(); } } diff --git a/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationComposite.java b/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationComposite.java index 1cd301ccd..969050a0a 100644 --- a/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationComposite.java +++ b/tools/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationComposite.java @@ -150,7 +150,7 @@ public class ConfigurationComposite extends Composite { mDeviceList.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { - onDeviceChange(); + onDeviceChange(true /* recomputeLayout*/); } }); @@ -451,11 +451,12 @@ public class ConfigurationComposite extends Composite { /** * Reloads the list of {@link DeviceConfiguration} from the {@link Sdk}. + * @param notifyListener */ - public void reloadDevices() { + public void reloadDevices(boolean notifyListener) { mDevices = Sdk.getCurrent().getLayoutDevices(); initUiWithDevices(); - onDeviceChange(); + onDeviceChange(notifyListener); } /** @@ -508,7 +509,7 @@ public class ConfigurationComposite extends Composite { } } - private void onDeviceChange() { + private void onDeviceChange(boolean recomputeLayout) { int deviceIndex = mDeviceList.getSelectionIndex(); DeviceConfiguration device = mDevices.get(deviceIndex); @@ -525,7 +526,9 @@ public class ConfigurationComposite extends Composite { mDeviceConfigs.setEnabled(false); } - onDeviceConfigChange(); + if (recomputeLayout) { + onDeviceConfigChange(); + } } private void onDeviceConfigChange() {