]> source.dussan.org Git - vaadin-framework.git/commitdiff
Fixes #3506: Width of DateField is shrinking when value is set programmatically.
authorJouni Koivuviita <jouni.koivuviita@itmill.com>
Mon, 12 Oct 2009 10:44:12 +0000 (10:44 +0000)
committerJouni Koivuviita <jouni.koivuviita@itmill.com>
Mon, 12 Oct 2009 10:44:12 +0000 (10:44 +0000)
svn changeset:9163/svn branch:6.2

src/com/vaadin/terminal/gwt/client/ui/VPopupCalendar.java
src/com/vaadin/terminal/gwt/client/ui/VTextualDate.java

index 413666b64465edd3d4e07613c4f966602c745ff0..9b74167689e54a775a7c474680f55f23c7d59e1e 100644 (file)
@@ -50,6 +50,7 @@ public class VPopupCalendar extends VTextualDate implements Paintable, Field,
 \r
     @Override\r
     public void updateFromUIDL(UIDL uidl, ApplicationConnection client) {\r
+        boolean lastReadOnlyState = readonly;\r
         super.updateFromUIDL(uidl, client);\r
         addStyleName(CLASSNAME + "-popupcalendar");\r
         popup.setStyleName(VDateField.CLASSNAME + "-popup "\r
@@ -60,7 +61,9 @@ public class VPopupCalendar extends VTextualDate implements Paintable, Field,
         }\r
         calendarToggle.setEnabled(enabled);\r
 \r
-        updateWidth();\r
+        if (lastReadOnlyState != readonly) {\r
+            updateWidth();\r
+        }\r
 \r
     }\r
 \r
index c1487f742bba81f0df057df2bb70c763d244709e..af0489088181fa496c18649bc5844a0fa975d875 100644 (file)
@@ -302,8 +302,12 @@ public class VTextualDate extends VDateField implements Paintable, Field,
      */\r
     protected int getFieldExtraWidth() {\r
         if (fieldExtraWidth < 0) {\r
-            text.setWidth("0px");\r
+            text.setWidth("0");\r
             fieldExtraWidth = text.getOffsetWidth();\r
+            if (BrowserInfo.get().isFF3()) {\r
+                // Firefox somehow always leaves the INPUT element 2px wide\r
+                fieldExtraWidth -= 2;\r
+            }\r
         }\r
         return fieldExtraWidth;\r
     }\r