[yocto] [PATCH] plugins/sdk.ide: Remove profile edit buttons from property page

Zhang, Jessica jessica.zhang at intel.com
Wed Feb 27 13:19:29 PST 2013


Merged to eclipse-poky master.

Thanks,
Jessica

-----Original Message-----
From: yocto-bounces at yoctoproject.org [mailto:yocto-bounces at yoctoproject.org] On Behalf Of Timo Mueller
Sent: Wednesday, February 27, 2013 6:33 AM
To: yocto at yoctoproject.org
Cc: Timo Mueller
Subject: [yocto] [PATCH] plugins/sdk.ide: Remove profile edit buttons from property page

From: Timo Mueller <timo.mueller at bmw-carit.de>

The project property page for yocto project settings contains the same edit buttons as the preference page. As editing profiles is not allowed in the property page these buttons have been permanently disabled.

This removes them completely from the property page. The remaining profile drop-down box allows the user to select a cross development profile for the project.

Signed-off-by: Timo Mueller <timo.mueller at bmw-carit.de>
---
 .../src/org/yocto/sdk/ide/YoctoProfileSetting.java | 30 ++++++++++++++++------
 .../ide/preferences/YoctoSDKPreferencePage.java    |  2 +-
 .../preferences/YoctoSDKProjectPropertyPage.java   |  3 +--
 3 files changed, 24 insertions(+), 11 deletions(-)

diff --git a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/YoctoProfileSetting.java b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/YoctoProfileSetting.java
index cc3e167..0f36e99 100644
--- a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/YoctoProfileSetting.java
+++ b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/YoctoProfileSettin
+++ g.java
@@ -49,10 +49,12 @@ public class YoctoProfileSetting {

        private YoctoProfileElement profileElement;
        private PreferencePage preferencePage;
+       private final boolean editable;

-       public YoctoProfileSetting(YoctoProfileElement profileElement, PreferencePage preferencePage) {
+       public YoctoProfileSetting(YoctoProfileElement profileElement,
+PreferencePage preferencePage, final boolean editable) {
                this.profileElement = profileElement;
                this.preferencePage = preferencePage;
+               this.editable = editable;
        }

        public void createComposite(Composite composite) { @@ -61,7 +63,11 @@ public class YoctoProfileSetting {
                composite.setLayout(layout);

                Group storeYoctoConfigurationsGroup = new Group (composite, SWT.NONE);
-               layout = new GridLayout(3, false);
+               layout = new GridLayout(1, false);
+               if (isEditable()) {
+                       layout.numColumns = 3;
+               }
+
                storeYoctoConfigurationsGroup.setLayout(layout);
                gd = new GridData(SWT.FILL, SWT.CENTER, true, false);
                gd.horizontalSpan = 2;
@@ -101,9 +107,11 @@ public class YoctoProfileSetting {
                sdkConfigsCombo.addListener(SWT.Selection, selectionListener);
                sdkConfigsCombo.addListener(SWT.Modify, selectionListener);

-               createSaveAsProfileButton(storeYoctoConfigurationsGroup);
-               createRenameButton(storeYoctoConfigurationsGroup);
-               createRemoveButton(storeYoctoConfigurationsGroup);
+               if (isEditable()) {
+                       createSaveAsProfileButton(storeYoctoConfigurationsGroup);
+                       createRenameButton(storeYoctoConfigurationsGroup);
+                       createRemoveButton(storeYoctoConfigurationsGroup);
+               }
        }

        private void createSaveAsProfileButton(Group storeYoctoConfigurationsGroup) { @@ -225,8 +233,14 @@ public class YoctoProfileSetting {
        }

        public void setButtonsEnabledState(boolean isEnabled) {
-               btnConfigRename.setEnabled(isEnabled);
-               btnConfigRemove.setEnabled(isEnabled);
-               btnConfigSaveAs.setEnabled(isEnabled);
+               if (isEditable()) {
+                       btnConfigRename.setEnabled(isEnabled);
+                       btnConfigRemove.setEnabled(isEnabled);
+                       btnConfigSaveAs.setEnabled(isEnabled);
+               }
+       }
+
+       private boolean isEditable() {
+               return editable;
        }
 }
diff --git a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/preferences/YoctoSDKPreferencePage.java b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/preferences/YoctoSDKPreferencePage.java
index 4d57b45..3e0fa54 100644
--- a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/preferences/YoctoSDKPreferencePage.java
+++ b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/preferences/YoctoS
+++ DKPreferencePage.java
@@ -64,7 +64,7 @@ public class YoctoSDKPreferencePage extends PreferencePage implements IWorkbench
                this.yoctoUISetting = new YoctoUISetting(elem);

                YoctoProfileElement profileElement = new YoctoProfileElement(profiles, selectedProfile);
-               this.yoctoProfileSetting = new YoctoProfileSetting(profileElement, this);
+               this.yoctoProfileSetting = new YoctoProfileSetting(profileElement,
+this, true);
        }

        /*
diff --git a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/preferences/YoctoSDKProjectPropertyPage.java b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/preferences/YoctoSDKProjectPropertyPage.java
index eef56c1..7f0d25e 100644
--- a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/preferences/YoctoSDKProjectPropertyPage.java
+++ b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/preferences/YoctoS
+++ DKProjectPropertyPage.java
@@ -51,7 +51,7 @@ public class YoctoSDKProjectPropertyPage extends PropertyPage implements
                }

                yoctoProfileSetting = new YoctoProfileSetting(
-                               new YoctoProfileElement(globalProfileElement.getProfilesAsString(), selectedProfile), this);
+                               new YoctoProfileElement(globalProfileElement.getProfilesAsString(),
+selectedProfile), this, false);
                boolean useProjectSpecificSetting = YoctoSDKUtils.getUseProjectSpecificOptionFromProjectPreferences(project);

                if (useProjectSpecificSetting) {
@@ -78,7 +78,6 @@ public class YoctoSDKProjectPropertyPage extends PropertyPage implements
                                yoctoUISetting.validateInput(SDKCheckRequestFrom.Preferences, false);
                        } else {
                                yoctoProfileSetting.setUIFormEnabledState(true);
-                               yoctoProfileSetting.setButtonsEnabledState(false);
                                yoctoProjectSpecificSetting.setUseProjectSpecificSettings(false);
                                yoctoUISetting.setUIFormEnabledState(false);
                        }
--
1.7.11.7

_______________________________________________
yocto mailing list
yocto at yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto



More information about the yocto mailing list