[yocto] [RFC 12/17] plugins/sdk.ide: Add UI method to rename a profile
Timo Mueller
mail at timomueller.eu
Thu Jan 24 07:12:36 PST 2013
From: Timo Mueller <timo.mueller at bmw-carit.de>
When the rename button is clicked a dialog shows up and the user has
to provide the new name for the profile. The validity of the name is
checked during input. If the name is valid and the users confirms the
profile is renamed. Renaming the standard profile is not allowed.
Signed-off-by: Timo Mueller <timo.mueller at bmw-carit.de>
---
.../src/org/yocto/sdk/ide/YoctoProfileSetting.java | 35 ++++++++++++++++++++++
.../org/yocto/sdk/ide/YoctoSDKMessages.properties | 2 ++
2 files changed, 37 insertions(+)
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 cd44b92..309e1de 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/YoctoProfileSetting.java
@@ -34,6 +34,8 @@ public class YoctoProfileSetting {
private static final String NEW_DIALOG_TITLE = "Preferences.Profile.New.Dialog.Title";
private static final String NEW_DIALOG_MESSAGE = "Preferences.Profile.New.Dialog.Message";
private static final String RENAME_PROFILE_TITLE = "Preferences.Profile.Rename.Title";
+ private static final String RENAME_DIALOG_TITLE = "Preferences.Profile.Rename.Dialog.Title";
+ private static final String RENAME_DIALOG_MESSAGE = "Preferences.Profile.Rename.Dialog.Message";
private static final String REMOVE_PROFILE_TITLE = "Preferences.Profile.Remove.Title";
private static final String REMOVE_DIALOG_TITLE = "Preferences.Profile.Remove.Dialog.Title";
private static final String REMOVE_DIALOG_MESSAGE = "Preferences.Profile.Remove.Dialog.Message";
@@ -167,6 +169,39 @@ public class YoctoProfileSetting {
{
btnConfigRename = new Button(storeYoctoConfigurationsGroup, SWT.PUSH | SWT.LEAD);
btnConfigRename.setText(YoctoSDKMessages.getString(RENAME_PROFILE_TITLE));
+ btnConfigRename.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mouseDown(MouseEvent e) {
+ saveChangesOnCurrentProfile();
+ int selectedIndex = sdkConfigsCombo.getSelectionIndex();
+ final String selectedItem = sdkConfigsCombo.getItem(selectedIndex);
+
+ if (selectedItem.equals(PreferenceConstants.STANDARD_PROFILE_NAME)) {
+ MessageDialog.openInformation(null,
+ YoctoSDKMessages.getString(MODIFY_STANDARD_TITLE),
+ YoctoSDKMessages.getString(MODIFY_STANDARD_MESSAGE));
+ return;
+ }
+
+ InputDialog profileNameDialog =
+ new InputDialog(null,
+ YoctoSDKMessages.getString(RENAME_DIALOG_TITLE),
+ YoctoSDKMessages.getString(RENAME_DIALOG_MESSAGE),
+ null,
+ new ProfileNameInputValidator(profileElement, selectedItem));
+
+ int returnCode = profileNameDialog.open();
+ if (returnCode == IDialogConstants.CANCEL_ID) {
+ return;
+ }
+
+ String newProfileName = profileNameDialog.getValue();
+ profileElement.rename(selectedItem, profileNameDialog.getValue());
+
+ sdkConfigsCombo.setItem(selectedIndex, newProfileName);
+ sdkConfigsCombo.select(selectedIndex);
+ }
+ });
}
private void saveChangesOnCurrentProfile() {
diff --git a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/YoctoSDKMessages.properties b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/YoctoSDKMessages.properties
index cd52348..ff0946c 100644
--- a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/YoctoSDKMessages.properties
+++ b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/YoctoSDKMessages.properties
@@ -56,6 +56,8 @@ Preferences.Profile.New.Title = New ...
Preferences.Profile.New.Dialog.Title = Create a new target profile
Preferences.Profile.New.Dialog.Message = Please input a profile name.
Preferences.Profile.Rename.Title = Rename
+Preferences.Profile.Rename.Dialog.Title = Rename target profile
+Preferences.Profile.Rename.Dialog.Message = Please input a new profile name.
Preferences.Profile.Remove.Title = Remove
Preferences.Profile.Remove.Dialog.Title = Remove target profile
Preferences.Profile.Remove.Dialog.Message = Do you really want to the remove the target profile "{0}"?\nProjects using this target profile will be reconfigured to use the standard profile.
--
1.7.11.7
More information about the yocto
mailing list