summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@digia.com>2014-06-17 21:49:54 +0200
committerJ-P Nurmi <jpnurmi@digia.com>2014-06-20 17:18:19 +0200
commit7bd33c36dbf1894f137209d48363d40b2e5997d7 (patch)
tree204b016f9636a20356f067ebbf5acbc42b1ddea5 /src
parent07f21b76b5a54b1444cbbe9f40b6f08db7f4fade (diff)
Android: extract style attributes for tabs
Task-number: QTBUG-39215 Change-Id: I727a12fa9696e22d3f31393a0fe2f9392afbfe45 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: BogDan Vatra <bogdan@kde.org>
Diffstat (limited to 'src')
-rw-r--r--src/android/jar/src/org/qtproject/qt5/android/ExtractStyle.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/android/jar/src/org/qtproject/qt5/android/ExtractStyle.java b/src/android/jar/src/org/qtproject/qt5/android/ExtractStyle.java
index e6005b9a88..5819aca05c 100644
--- a/src/android/jar/src/org/qtproject/qt5/android/ExtractStyle.java
+++ b/src/android/jar/src/org/qtproject/qt5/android/ExtractStyle.java
@@ -168,6 +168,8 @@ public class ExtractStyle {
final int View_minHeight = getField(styleableClass,"View_minHeight");
final int View_onClick = getField(styleableClass,"View_onClick");
final int View_overScrollMode = getField(styleableClass,"View_overScrollMode");
+ final int View_paddingStart = getField(styleableClass,"View_paddingStart");
+ final int View_paddingEnd = getField(styleableClass,"View_paddingEnd");
final int TextAppearance_textColorHighlight = getField(styleableClass,"TextAppearance_textColorHighlight");
final int TextAppearance_textColor = getField(styleableClass,"TextAppearance_textColor");
@@ -1014,6 +1016,10 @@ public class ExtractStyle {
json.put("View_onClick", a.getString(attr));
else if (attr == View_overScrollMode)
json.put("View_overScrollMode", a.getInt(attr, 1));
+ else if (attr == View_paddingStart)
+ json.put("View_paddingStart", a.getDimensionPixelSize(attr, 0));
+ else if (attr == View_paddingEnd)
+ json.put("View_paddingEnd", a.getDimensionPixelSize(attr, 0));
}
a.recycle();
} catch (Exception e) {
@@ -1567,6 +1573,29 @@ public class ExtractStyle {
}
}
+ void extractTabBar(SimpleJsonWriter writer, String styleName, String qtClass)
+ {
+ JSONObject json = extractTextAppearanceInformations(styleName, qtClass, null, -1);
+ try {
+ Class<?> attrClass = Class.forName("android.R$attr");
+ int styleId = attrClass.getDeclaredField(styleName).getInt(null);
+
+ int[] styleAttrs = (int[]) styleableClass.getDeclaredField("LinearLayout").get(null);
+ TypedArray a = m_theme.obtainStyledAttributes(null, styleAttrs, styleId, 0);
+
+ Drawable d = a.getDrawable(getField(styleableClass,"LinearLayout_divider"));
+ if (d != null)
+ json.put("LinearLayout_divider", getDrawable(d, styleName + "_LinearLayout_divider"));
+ json.put("LinearLayout_showDividers", a.getInt(getField(styleableClass, "LinearLayout_showDividers"), 0));
+ json.put("LinearLayout_dividerPadding", a.getDimensionPixelSize(getField(styleableClass, "LinearLayout_dividerPadding"), 0));
+
+ a.recycle();
+ writer.name(styleName).value(json);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
public ExtractStyle(Context context, String extractPath)
{
// Log.i(MinistroService.TAG, "Extract " + extractPath);
@@ -1609,6 +1638,9 @@ public class ExtractStyle {
extractCalendar(jsonWriter, "calendarViewStyle", "QCalendarWidget");
extractToolBar(jsonWriter, "actionBarStyle", "QToolBar");
jsonWriter.name("actionButtonStyle").value(extractTextAppearanceInformations("actionButtonStyle", "QToolButton", null, -1));
+ jsonWriter.name("actionBarTabTextStyle").value(extractTextAppearanceInformations("actionBarTabTextStyle", null, null, -1));
+ jsonWriter.name("actionBarTabStyle").value(extractTextAppearanceInformations("actionBarTabStyle", null, null, -1));
+ extractTabBar(jsonWriter, "actionBarTabBarStyle", "QTabBar");
}
} catch (Exception e) {
e.printStackTrace();