Daniel Erez has uploaded a new change for review. Change subject: webadmin: disable disk dialog widgets on error ......................................................................
webadmin: disable disk dialog widgets on error Disable all the widgets of new disk dialog when creating a disk is not applicable. E.g. http://i.imgur.com/kBvem9U.jpg Change-Id: Ic3c7ea57d203d96e5c3595a4f22c0ce21ffe8136 Bug-Url: https://bugzilla.redhat.com/1141797 Signed-off-by: Daniel Erez <[email protected]> --- M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractModelBoundPopupWidget.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmDiskPopupWidget.java 2 files changed, 27 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/61/38361/1 diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractModelBoundPopupWidget.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractModelBoundPopupWidget.java index 1899c36..1d0cddc 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractModelBoundPopupWidget.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractModelBoundPopupWidget.java @@ -1,5 +1,8 @@ package org.ovirt.engine.ui.common.widget.uicommon.popup; +import com.google.gwt.user.client.ui.HasEnabled; +import com.google.gwt.user.client.ui.IndexedPanel; +import com.google.gwt.user.client.ui.Widget; import org.ovirt.engine.ui.common.view.popup.FocusableComponentsContainer; import org.ovirt.engine.ui.common.widget.HasEditorDriver; import org.ovirt.engine.ui.uicommonweb.models.Model; @@ -23,4 +26,13 @@ return nextTabIndex; } + public void disableWidget(Widget widget) { + if (widget instanceof IndexedPanel) { + for (int i = 0; i < ((IndexedPanel) widget).getWidgetCount(); i++) { + disableWidget(((IndexedPanel) widget).getWidget(i)); + } + } else if (widget instanceof HasEnabled) { + ((HasEnabled) widget).setEnabled(false); + } + } } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmDiskPopupWidget.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmDiskPopupWidget.java index 0090a91..670675b 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmDiskPopupWidget.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmDiskPopupWidget.java @@ -19,6 +19,7 @@ import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.VolumeType; import org.ovirt.engine.core.common.businessentities.profiles.DiskProfile; +import org.ovirt.engine.core.compat.StringHelper; import org.ovirt.engine.core.compat.Version; import org.ovirt.engine.ui.common.CommonApplicationConstants; import org.ovirt.engine.ui.common.CommonApplicationResources; @@ -50,6 +51,7 @@ import org.ovirt.engine.ui.uicompat.Event; import org.ovirt.engine.ui.uicompat.EventArgs; import org.ovirt.engine.ui.uicompat.IEventListener; +import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs; import java.util.ArrayList; @@ -314,6 +316,19 @@ } }); + disk.getPropertyChangedEvent().addListener(new IEventListener<PropertyChangedEventArgs>() { + @Override + public void eventRaised(Event<? extends PropertyChangedEventArgs> ev, Object sender, PropertyChangedEventArgs args) { + String propName = args.propertyName; + if ("Message".equals(propName)) { //$NON-NLS-1$ + if (!StringHelper.isNullOrEmpty(disk.getMessage())) { + disableWidget(getWidget()); + disk.getDefaultCommand().setIsExecutionAllowed(false); + } + } + } + }); + diskTypePanel.addRadioButton( constants.internalDisk(), disk.getIsNew() || disk.getDisk().getDiskStorageType() == DiskStorageType.IMAGE, -- To view, visit https://gerrit.ovirt.org/38361 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ic3c7ea57d203d96e5c3595a4f22c0ce21ffe8136 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Daniel Erez <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
