Shahar Havivi has uploaded a new change for review. Change subject: UI: support multi monitor only for cluster 3.3 and up ......................................................................
UI: support multi monitor only for cluster 3.3 and up When the cluster is less then 3.3 or non Linux OS we set the SinglePCI checkbox to false and hide it. Change-Id: I5f65dd3d5ca1409402b9b0b93e1585f4bfa47a64 Bug-Url: https://bugzilla.redhat.com/1009391 Signed-off-by: Shahar Havivi <[email protected]> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java 2 files changed, 32 insertions(+), 10 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/40/20340/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java index e28316f..59dbe66 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java @@ -166,7 +166,7 @@ getDisplayProtocol().setIsChangable(false); getUsbPolicy().setIsChangable(false); getNumOfMonitors().setIsChangable(false); - getIsSingleQxlEnabled().setIsAvailable(false); + getIsSingleQxlEnabled().setIsChangable(false); getIsSmartcardEnabled().setIsChangable(false); getAllowConsoleReconnect().setIsChangable(false); getVncKeyboardLayout().setIsChangable(false); @@ -1340,7 +1340,7 @@ getIsSoundcardEnabled().setIsChangable(false); setIsSingleQxlEnabled(new NotChangableForVmInPoolEntityModel()); - getIsSingleQxlEnabled().setEntity(false); + getBehavior().enableSinglePCI(false); setEditingEnabled(new EntityModel()); getEditingEnabled().setEntity(true); @@ -1361,7 +1361,7 @@ getIsHighlyAvailable().setEntity(false); getIsAutoAssign().setEntity(true); getIsTemplatePublic().setEntity(true); - getIsSingleQxlEnabled().setEntity(false); + getBehavior().enableSinglePCI(false); getHostCpu().setEntity(false); getMigrationMode().setIsChangable(true); @@ -1724,6 +1724,17 @@ } updateMaximalVmMemSize(); + handleQxlClusterLevel(); + } + + private void handleQxlClusterLevel() { + // Enable Single PCI only on cluster 3.3 and high and on Linux OS + boolean isLinux = getIsLinuxOS(); + boolean isQxl = getDisplayType() == DisplayType.qxl; + boolean clusterSupportsSinglePci = getSelectedCluster() != null && + Version.v3_3.compareTo(getSelectedCluster().getcompatibility_version()) <= 0; + + getBehavior().enableSinglePCI(isLinux && isQxl && clusterSupportsSinglePci); } private void template_SelectedItemChanged(Object sender, EventArgs args) @@ -1759,7 +1770,8 @@ getDomain().setIsChangable(getIsWindowsOS()); getBehavior().updateDefaultTimeZone(); - getIsSingleQxlEnabled().setEntity(getIsLinuxOS()); + + handleQxlClusterLevel(); } private void firstBootDevice_SelectedItemChanged(Object sender, EventArgs args) @@ -1792,21 +1804,30 @@ behavior.provisioning_SelectedItemChanged(); } - private void displayProtocol_SelectedItemChanged(Object sender, EventArgs args) - { + private DisplayType getDisplayType() { EntityModel entityModel = (EntityModel) getDisplayProtocol().getSelectedItem(); if (entityModel == null) { + return null; + } + return (DisplayType) entityModel.getEntity(); + } + + private void displayProtocol_SelectedItemChanged(Object sender, EventArgs args) + { + if (getDisplayType() == null) + { return; } - DisplayType type = (DisplayType) entityModel.getEntity(); + DisplayType type = getDisplayType(); if (type == DisplayType.vnc) { getUsbPolicy().setSelectedItem(org.ovirt.engine.core.common.businessentities.UsbPolicy.DISABLED); getIsSmartcardEnabled().setEntity(false); } - getBehavior().updateSingleQxl(type == DisplayType.qxl); + + handleQxlClusterLevel(); getUsbPolicy().setIsChangable(type == DisplayType.qxl); getIsSmartcardEnabled().setIsChangable(type == DisplayType.qxl); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java index 463c6ea..cb18830 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java @@ -1043,7 +1043,8 @@ behavior.initProfiles(hotUpdateSupported, getModel().getSelectedCluster().getId(), getModel().getSelectedDataCenter().getId(), query); } - public void updateSingleQxl(boolean visible) { - getModel().getIsSingleQxlEnabled().setIsAvailable(visible); + public void enableSinglePCI(boolean enabled) { + getModel().getIsSingleQxlEnabled().setIsChangable(enabled); + getModel().getIsSingleQxlEnabled().setEntity(enabled); } } -- To view, visit http://gerrit.ovirt.org/20340 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5f65dd3d5ca1409402b9b0b93e1585f4bfa47a64 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.3 Gerrit-Owner: Shahar Havivi <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
