ly pan has uploaded a new change for review.

Change subject: uicommonweb: timezone reset when os type change in VM popup
......................................................................

uicommonweb: timezone reset when os type change in VM popup

It is done by caching the timezone value string for windows
timezone and general timezone

Change-Id: I322df5bae018c4d8d1a0647057634daf05c01ec7
Signed-off-by: plysan <[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, 28 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/08/11708/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 af7016c..c7bd9cf 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
@@ -7,6 +7,7 @@
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Map.Entry;
 
 import org.ovirt.engine.core.common.businessentities.BootSequence;
 import org.ovirt.engine.core.common.businessentities.DisplayType;
@@ -1578,7 +1579,11 @@
         getKernel_parameters().setIsAvailable(getIsLinux_Unassign_UnknownOS());
 
         getDomain().setIsChangable(getIsWindowsOS());
-        getBehavior().updateTimeZone();
+        if (getTimeZone().getSelectedItem() == null) {
+            getBehavior().updateTimeZone();
+        } else {
+            getBehavior().updateTimeZone(((Entry<String, 
String>)getTimeZone().getSelectedItem()).getKey());
+        }
 
     }
 
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 83d690d..0b4ce5f 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
@@ -145,6 +145,9 @@
 
     final int windowsTimezones = 0;
     final int generalTimezones = 1;
+    private boolean lastIsWinOS = false;
+    private String winTimezoneString;
+    private String generalTimezonesString;
 
     protected void updateTimeZone() {
         updateTimeZone(null);
@@ -176,6 +179,25 @@
 
     public void PostUpdateTimeZone(String selectedTimeZone)
     {
+        if (getModel().getIsWindowsOS() != lastIsWinOS) {
+            lastIsWinOS = getModel().getIsWindowsOS();
+            if (selectedTimeZone != null) {
+                if (getModel().getIsWindowsOS()) {
+                    generalTimezonesString = selectedTimeZone;
+                } else {
+                    winTimezoneString = selectedTimeZone;
+                }
+            }
+            selectedTimeZone = getModel().getIsWindowsOS() ? winTimezoneString 
: generalTimezonesString;
+        } else {
+            if (selectedTimeZone != null) {
+                if (getModel().getIsWindowsOS()) {
+                    winTimezoneString = selectedTimeZone;
+                } else {
+                    generalTimezonesString = selectedTimeZone;
+                }
+            }
+        }
         final int index = getModel().getIsWindowsOS() ? windowsTimezones : 
generalTimezones;
         getModel().getTimeZone().setItems(cachedTimeZones.get(index));
 


--
To view, visit http://gerrit.ovirt.org/11708
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I322df5bae018c4d8d1a0647057634daf05c01ec7
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: ly pan <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to