summaryrefslogtreecommitdiffstats
path: root/src/android/jar
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@digia.com>2014-07-12 20:56:23 +0200
committerJ-P Nurmi <jpnurmi@digia.com>2014-07-30 16:24:50 +0200
commitc38af4e6bb51cfb1b52a38dea06a0a8a94db9545 (patch)
tree94a72a34389869cb90344737f5145edbb5c27867 /src/android/jar
parent3dedf5ac37f5236aa1417bcd763e9583d8dad4b7 (diff)
Android: extract ListView divider & selection
Change-Id: I2a4f72d94c4868f9db4b8066bbdadbe222d0da62 Reviewed-by: BogDan Vatra <bogdan@kde.org>
Diffstat (limited to 'src/android/jar')
-rw-r--r--src/android/jar/src/org/qtproject/qt5/android/ExtractStyle.java29
1 files changed, 29 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 ef6d20fc9a..b92d309dd6 100644
--- a/src/android/jar/src/org/qtproject/qt5/android/ExtractStyle.java
+++ b/src/android/jar/src/org/qtproject/qt5/android/ExtractStyle.java
@@ -1526,6 +1526,34 @@ public class ExtractStyle {
jsonWriter.name("simple_spinner_item").value(extractItemStyle(android.R.layout.simple_spinner_item, "simple_spinner_item", -1));
jsonWriter.name("simple_spinner_dropdown_item").value(extractItemStyle(android.R.layout.simple_spinner_dropdown_item, "simple_spinner_dropdown_item",android.R.style.TextAppearance_Large));
jsonWriter.name("simple_dropdown_item_1line").value(extractItemStyle(android.R.layout.simple_dropdown_item_1line, "simple_dropdown_item_1line",android.R.style.TextAppearance_Large));
+ if (Build.VERSION.SDK_INT > 10) {
+ Class<?> layoutClass = Class.forName("android.R$layout");
+ int styleId = layoutClass.getDeclaredField("simple_selectable_list_item").getInt(null);
+ jsonWriter.name("simple_selectable_list_item").value(extractItemStyle(styleId, "simple_selectable_list_item",android.R.style.TextAppearance_Large));
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ void extractListView(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("ListView").get(null);
+ TypedArray a = m_theme.obtainStyledAttributes(null, styleAttrs, styleId, 0);
+
+ Drawable divider = a.getDrawable(getField(styleableClass,"ListView_divider"));
+ if (divider != null)
+ json.put("ListView_divider", getDrawable(divider, styleName + "_ListView_divider"));
+
+ json.put("ListView_dividerHeight", a.getDimensionPixelSize(getField(styleableClass, "ListView_dividerHeight"), 0));
+
+ a.recycle();
+ writer.name(styleName).value(json);
} catch (Exception e) {
e.printStackTrace();
}
@@ -1661,6 +1689,7 @@ public class ExtractStyle {
extractCompoundButton(jsonWriter, "radioButtonStyle", "QRadioButton");
jsonWriter.name("textViewStyle").value(extractTextAppearanceInformations("textViewStyle", "QWidget", null, -1));
jsonWriter.name("scrollViewStyle").value(extractTextAppearanceInformations("scrollViewStyle", "QAbstractScrollArea", null, -1));
+ extractListView(jsonWriter, "listViewStyle", "QListView");
extractItemsStyle(jsonWriter);
extractCompoundButton(jsonWriter, "buttonStyleToggle", null);
if (Build.VERSION.SDK_INT > 10) {