]> source.dussan.org Git - vaadin-framework.git/commitdiff
Merges from 6.0 branch. Added i-pressed classname for IButton in IE (down state).
authorJouni Koivuviita <jouni.koivuviita@itmill.com>
Mon, 4 May 2009 06:58:50 +0000 (06:58 +0000)
committerJouni Koivuviita <jouni.koivuviita@itmill.com>
Mon, 4 May 2009 06:58:50 +0000 (06:58 +0000)
svn changeset:7603/svn branch:theme_2009_03

src/com/itmill/toolkit/terminal/gwt/client/BrowserInfo.java
src/com/itmill/toolkit/terminal/gwt/client/ui/IAccordion.java
src/com/itmill/toolkit/terminal/gwt/client/ui/IButton.java

index 0cfc49e87921086722efe4183d4373e467f2c0ae..42e44d037455abebe41a60aa82bd11242fc43193 100644 (file)
@@ -96,12 +96,12 @@ public class BrowserInfo {
      * Examples: Internet Explorer 6: ".i-ie .i-ie6", Firefox 3.0.4:
      * ".i-ff .i-ff3", Opera 9.60: ".i-op .i-op96"
      * 
-     * @param prefix
-     *            a prefix to add to the classnames
      * @return
      */
     public String getCSSClass() {
         String prefix = "i-";
+        boolean ie8 = false;
+
         if (cssClass == null) {
             String bs = getBrowserString().toLowerCase();
             String b = "";
@@ -121,13 +121,25 @@ public class BrowserInfo {
             } else if (bs.indexOf(" msie ") != -1) {
                 b = "ie";
                 int i = bs.indexOf(" msie ") + 6;
-                v = b + bs.substring(i, i + 1);
+                String ieVersion = bs.substring(i, i + 1);
+                v = b + ieVersion;
+
+                // This adds .i-ie7 for ie8 also.
+                // TODO Remove this when IE8 is no longer run in compatibility
+                // mode
+                if (ieVersion != null && ieVersion.equals("8")) {
+                    ie8 = true;
+                }
+
             } else if (bs.indexOf("opera/") != -1) {
                 b = "op";
                 int i = bs.indexOf("opera/") + 6;
                 v = b + bs.substring(i, i + 3).replace(".", "");
             }
             cssClass = prefix + b + " " + prefix + v;
+            if (ie8) {
+                cssClass += " " + prefix + "ie7";
+            }
         }
 
         return cssClass;
index aeec3bf1b085ff2fb826ff369b01528e048a5be7..1ed82d51d408dd7e326abf5b40dc38f3cd7d26c3 100644 (file)
@@ -104,8 +104,8 @@ public class IAccordion extends ITabsheetBase implements
             item = getStackItem(index);
             item = moveStackItemIfNeeded(item, index, tabUidl);
             itemIndex = index;
-            item.updateCaption(tabUidl);
         }
+        item.updateCaption(tabUidl);
 
         item.setVisible(!hidden);
 
@@ -448,8 +448,6 @@ public class IAccordion extends ITabsheetBase implements
             DOM.setElementProperty(captionNode, "className", CLASSNAME
                     + "-item-caption");
             close();
-
-            updateCaption(tabUidl);
         }
 
         @Override
index b4965d580c3c3c406b348f76daea1c171d7ab00f..52f2c05bc37b03af6a2bd8e0f9f2510899ebbccb 100644 (file)
@@ -22,6 +22,7 @@ public class IButton extends Button implements Paintable {
     private String width = null;
 
     public static final String CLASSNAME = "i-button";
+    private static final String CLASSNAME_DOWN = "i-pressed";
 
     String id;
 
@@ -136,13 +137,23 @@ public class IButton extends Button implements Paintable {
         } else if (DOM.eventGetType(event) == Event.ONMOUSEDOWN
                 && event.getButton() == Event.BUTTON_LEFT) {
             clickPending = true;
+            if (BrowserInfo.get().isIE()) {
+                addStyleName(CLASSNAME_DOWN);
+            }
         } else if (DOM.eventGetType(event) == Event.ONMOUSEMOVE) {
             clickPending = false;
         } else if (DOM.eventGetType(event) == Event.ONMOUSEOUT) {
             if (clickPending) {
                 click();
             }
+            if (BrowserInfo.get().isIE()) {
+                removeStyleName(CLASSNAME_DOWN);
+            }
             clickPending = false;
+        } else if (DOM.eventGetType(event) == Event.ONMOUSEUP) {
+            if (BrowserInfo.get().isIE()) {
+                removeStyleName(CLASSNAME_DOWN);
+            }
         }
 
         if (client != null) {