summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShireesh Anjal <shireesh@gluster.com>2011-04-26 18:49:38 +0530
committerShireesh Anjal <shireesh@gluster.com>2011-04-26 18:49:38 +0530
commitf6ae65e4a97c9c55852bd413e26a8e61fc7761c4 (patch)
tree5ba8e7b956315f0958bd55f9586e34146070d8ca
parentc11192c4cf06f14ad90d72819ebeee2ad527f16d (diff)
Bug 2822 - "Add" button gets disabled when search string is entered
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/VolumeOptionsPage.java15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/VolumeOptionsPage.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/VolumeOptionsPage.java
index 179f0a1e..c0a69693 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/VolumeOptionsPage.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/VolumeOptionsPage.java
@@ -39,8 +39,6 @@ import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
@@ -193,7 +191,7 @@ public class VolumeOptionsPage extends Composite {
if(event.getEventType() == EVENT_TYPE.VOLUME_OPTION_SET) {
Entry<String, String> eventEntry = (Entry<String, String>)event.getEventData();
- if (eventEntry.getKey().equals(volume.getOptions().keySet().toArray()[volume.getOptions().size()-1])) {
+ if (isNewOption(volume, eventEntry.getKey())) {
// option has been set successfully by the user. re-enable the add button and search filter textbox
addButton.setEnabled(true);
filterText.setEnabled(true);
@@ -208,6 +206,17 @@ public class VolumeOptionsPage extends Composite {
}
}
}
+
+ private boolean isNewOption(Volume volume, String optionKey) {
+ if(filterText.getText().length() > 0) {
+ // user has been filtering the contents. adding new option is allowed only when contents are NOT
+ // filtered. Thus it's impossible that this is a newly added option
+ return false;
+ }
+
+ // if this is the last option in the volume options, it must be the new option
+ return optionKey.equals(volume.getOptions().keySet().toArray()[volume.getOptions().size()-1]);
+ }
};
GlusterDataModelManager.getInstance().addClusterListener(clusterListener);
}