You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by jw...@apache.org on 2009/10/15 01:31:00 UTC
svn commit: r825342 - in /myfaces/trinidad/trunk:
trinidad-api/src/main/java/org/apache/myfaces/trinidad/render/
trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/skin/
trinidad-impl/src/main/java/org/apache/myfaces/trinida...
Author: jwaldman
Date: Wed Oct 14 23:30:59 2009
New Revision: 825342
URL: http://svn.apache.org/viewvc?rev=825342&view=rev
Log:
TRINIDAD-1562 Nokia's S60 web-browser not displaying show/hide icon of panelAccordion
applied changes from code review. patch from Mamallan Uthaman
Modified:
myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/render/CoreRenderer.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/skin/BaseDesktopSkin.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ShowDetailRenderer.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SkinSelectors.java
Modified: myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/render/CoreRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/render/CoreRenderer.java?rev=825342&r1=825341&r2=825342&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/render/CoreRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/render/CoreRenderer.java Wed Oct 14 23:30:59 2009
@@ -689,6 +689,16 @@
{
return (Agent.PLATFORM_GENERICPDA.equals(rc.getAgent().getPlatformName()));
}
+
+ /**
+ * This method returns true if a user-agent's platform is NokiaS60
+ * @param arc - RenderingContext of a request
+ * @return boolean
+ */
+ static public boolean isNokiaS60(RenderingContext rc)
+ {
+ return (Agent.PLATFORM_NOKIA_S60.equals(rc.getAgent().getPlatformName()));
+ }
static public boolean isInaccessibleMode(RenderingContext rc)
{
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/skin/BaseDesktopSkin.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/skin/BaseDesktopSkin.java?rev=825342&r1=825341&r2=825342&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/skin/BaseDesktopSkin.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/skin/BaseDesktopSkin.java Wed Oct 14 23:30:59 2009
@@ -153,6 +153,25 @@
SkinSelectors.AF_SHOW_DETAIL_UNDISCLOSED_ICON_NAME,
new ReferenceIcon(SkinSelectors.DETAIL_UNDISCLOSED_ICON_ALIAS_NAME),
+
+ // The Webkit browser that runs in Nokia platform doesn't support Unicode
+ // characters that display icons, so we need to render text-icons for
+ // Nokia.
+ // Ideally, we should be able to use different disclosed/undisclosed icons
+ // based on different platforms using the same disclosed/undisclosed
+ // skinning-key, but we don't have such mechanism in Trinidad right now.
+ // Hence, I have created new skinning-keys for Nokia.
+ SkinSelectors.AF_SHOW_DETAIL_DISCLOSED_ICON_NAME_FOR_NOKIA_S60,
+ new TextIcon("[-]",
+ null,
+ SkinSelectors.HIDE_SHOW_DISCLOSED_SYMBOL_STYLE_CLASS,
+ null),
+
+ SkinSelectors.AF_SHOW_DETAIL_UNDISCLOSED_ICON_NAME_FOR_NOKIA_S60,
+ new TextIcon("[+]",
+ null,
+ SkinSelectors.HIDE_SHOW_DISCLOSED_SYMBOL_STYLE_CLASS,
+ null),
// tr:table icons
SkinSelectors.AF_TABLE_SD_DISCLOSED_ICON_NAME,
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ShowDetailRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ShowDetailRenderer.java?rev=825342&r1=825341&r2=825342&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ShowDetailRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ShowDetailRenderer.java Wed Oct 14 23:30:59 2009
@@ -256,10 +256,29 @@
boolean disclosed
)
{
- String iconName = (disclosed
- ? SkinSelectors.AF_SHOW_DETAIL_DISCLOSED_ICON_NAME
- : SkinSelectors.AF_SHOW_DETAIL_UNDISCLOSED_ICON_NAME);
-
+ String iconName;
+
+ // Requests from Nokia's WebKit-browsers are handled by desktop renderer.
+ // But unlike desktop browsers, Nokia's WebKit-browsers don't support icons
+ // that are encoded in Unicode.
+ // Ideally, we should be able to use different disclosed/undisclosed icons
+ // based on different platforms using the same disclosed/undisclosed
+ // skinning-key, but we don't have such mechanism in Trinidad right now.
+ // Hence, I have created new skinning-keys for Nokia to render text-icons.
+ if (isNokiaS60(arc))
+ {
+ iconName =
+ disclosed
+ ? SkinSelectors.AF_SHOW_DETAIL_DISCLOSED_ICON_NAME_FOR_NOKIA_S60
+ : SkinSelectors.AF_SHOW_DETAIL_UNDISCLOSED_ICON_NAME_FOR_NOKIA_S60;
+ }
+ else
+ {
+ iconName = (disclosed
+ ? SkinSelectors.AF_SHOW_DETAIL_DISCLOSED_ICON_NAME
+ : SkinSelectors.AF_SHOW_DETAIL_UNDISCLOSED_ICON_NAME);
+ }
+
return arc.getIcon(iconName);
}
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SkinSelectors.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SkinSelectors.java?rev=825342&r1=825341&r2=825342&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SkinSelectors.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SkinSelectors.java Wed Oct 14 23:30:59 2009
@@ -1235,6 +1235,17 @@
"af|showDetail::undisclosed-icon";
+ // The Webkit browser that runs in Nokia platform doesn't support Unicode
+ // characters that display icons, so we need to render text-icons for
+ // Nokia.
+ // Ideally, we should be able to use above skinning-keys and switch it to
+ // text-icons for Nokia platform, but we don't have such mechanism in Trinidad
+ // right now. Hence, I have created new skinning-keys for Nokia.
+ public static final String AF_SHOW_DETAIL_DISCLOSED_ICON_NAME_FOR_NOKIA_S60 =
+ "af|showDetail::nokia-disclosed-icon";
+ public static final String AF_SHOW_DETAIL_UNDISCLOSED_ICON_NAME_FOR_NOKIA_S60 =
+ "af|showDetail::nokia-undisclosed-icon";
+
// //
// //
// ========================= tr:showDetailHeader ========================= //