summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/controls/Private/TextInputWithHandles.qml6
-rw-r--r--src/controls/Styles/Android/SwitchStyle.qml19
-rw-r--r--src/controls/Styles/Android/drawables/ImageDrawable.qml28
-rw-r--r--src/controls/TextArea.qml6
-rw-r--r--src/controls/doc/images/qtquickcontrols-android.pngbin21393 -> 0 bytes
-rw-r--r--src/controls/doc/images/qtquickcontrols-example-gallery-android.pngbin0 -> 26306 bytes
-rw-r--r--src/controls/doc/images/qtquickcontrols-example-gallery-osx.pngbin0 -> 24118 bytes
-rw-r--r--src/controls/doc/images/qtquickcontrols-example-gallery.pngbin34070 -> 0 bytes
-rw-r--r--src/controls/doc/src/qtquickcontrols-examples.qdoc17
-rw-r--r--src/controls/doc/src/qtquickcontrols-platformnotes.qdoc2
10 files changed, 65 insertions, 13 deletions
diff --git a/src/controls/Private/TextInputWithHandles.qml b/src/controls/Private/TextInputWithHandles.qml
index 726b6863e..75ca947f7 100644
--- a/src/controls/Private/TextInputWithHandles.qml
+++ b/src/controls/Private/TextInputWithHandles.qml
@@ -54,7 +54,7 @@ TextInput {
property alias editMenu: editMenu
cursorDelegate: __style && __style.__cursorDelegate ? __style.__cursorDelegate : null
- selectByMouse: control.selectByMouse && (!cursorHandle.delegate || !selectionHandle.delegate)
+ selectByMouse: control.selectByMouse && (!Settings.isMobile || !cursorHandle.delegate || !selectionHandle.delegate)
// force re-evaluation when selection moves:
// - cursorRectangle changes => content scrolled
@@ -137,7 +137,7 @@ TextInput {
editor: input
parent: control
control: input.control
- active: control.selectByMouse
+ active: control.selectByMouse && Settings.isMobile
maximum: cursorHandle.position - 1
property var mappedPos: parent.mapFromItem(editor, editor.selectionRectangle.x, editor.selectionRectangle.y)
@@ -163,7 +163,7 @@ TextInput {
editor: input
parent: control
control: input.control
- active: control.selectByMouse
+ active: control.selectByMouse && Settings.isMobile
minimum: input.hasSelection ? selectionHandle.position + 1 : -1
property var mappedPos: parent.mapFromItem(editor, editor.cursorRectangle.x, editor.cursorRectangle.y)
diff --git a/src/controls/Styles/Android/SwitchStyle.qml b/src/controls/Styles/Android/SwitchStyle.qml
index 4c36c918e..6e9260c35 100644
--- a/src/controls/Styles/Android/SwitchStyle.qml
+++ b/src/controls/Styles/Android/SwitchStyle.qml
@@ -79,18 +79,26 @@ SwitchStyle {
Item {
id: thumb
+ readonly property bool hideText: AndroidStyle.styleDef.switchStyle.Switch_showText === false
+
x: control.checked ? max : min
- FontMetrics {
- id: metrics
+ TextMetrics {
+ id: onMetrics
+ font: label.font
+ text: panel.styleDef.Switch_textOn
+ }
+
+ TextMetrics {
+ id: offMetrics
font: label.font
+ text: panel.styleDef.Switch_textOff
}
- readonly property real maxTextWidth: Math.max(metrics.boundingRect(panel.styleDef.Switch_textOn).width,
- metrics.boundingRect(panel.styleDef.Switch_textOff).width)
+ readonly property real maxTextWidth: Math.max(onMetrics.width, offMetrics.width)
implicitWidth: Math.max(loader.implicitWidth, maxTextWidth + 2 * panel.styleDef.Switch_thumbTextPadding)
- implicitHeight: Math.max(loader.implicitHeight, metrics.height)
+ implicitHeight: Math.max(loader.implicitHeight, onMetrics.height, offMetrics.height)
anchors.top: parent.top
anchors.bottom: parent.bottom
@@ -120,6 +128,7 @@ SwitchStyle {
LabelStyle {
id: label
+ visible: !thumb.hideText
text: control.checked ? panel.styleDef.Switch_textOn : panel.styleDef.Switch_textOff
pressed: control.pressed
diff --git a/src/controls/Styles/Android/drawables/ImageDrawable.qml b/src/controls/Styles/Android/drawables/ImageDrawable.qml
index 1e71a389a..4b41b2f21 100644
--- a/src/controls/Styles/Android/drawables/ImageDrawable.qml
+++ b/src/controls/Styles/Android/drawables/ImageDrawable.qml
@@ -52,5 +52,33 @@ Drawable {
anchors.fill: parent
fillMode: Image.TileHorizontally
source: AndroidStyle.filePath(styleDef.path)
+
+ layer.enabled: !!styleDef && !!styleDef.tintList
+ layer.effect: ShaderEffect {
+ property variant source: image
+ property color color: AndroidStyle.colorValue(styleDef.tintList[state])
+ state: {
+ var states = []
+ if (pressed) states.push("PRESSED")
+ if (enabled) states.push("ENABLED")
+ if (focused) states.push("FOCUSED")
+ if (selected) states.push("SELECTED")
+ if (window_focused) states.push("WINDOW_FOCUSED")
+ if (!states.length)
+ states.push("EMPTY")
+ return states.join("_") + "_STATE_SET"
+ }
+ // QtGraphicalEffects/ColorOverlay:
+ fragmentShader: "
+ varying mediump vec2 qt_TexCoord0;
+ uniform highp float qt_Opacity;
+ uniform lowp sampler2D source;
+ uniform highp vec4 color;
+ void main() {
+ highp vec4 pixelColor = texture2D(source, qt_TexCoord0);
+ gl_FragColor = vec4(mix(pixelColor.rgb/max(pixelColor.a, 0.00390625), color.rgb/max(color.a, 0.00390625), color.a) * pixelColor.a, pixelColor.a) * qt_Opacity;
+ }
+ "
+ }
}
}
diff --git a/src/controls/TextArea.qml b/src/controls/TextArea.qml
index 691bf13e1..1c19a300f 100644
--- a/src/controls/TextArea.qml
+++ b/src/controls/TextArea.qml
@@ -770,7 +770,7 @@ ScrollView {
wrapMode: TextEdit.WordWrap
textMargin: __style && __style.textMargin !== undefined ? __style.textMargin : 4
- selectByMouse: area.selectByMouse && (!cursorHandle.delegate || !selectionHandle.delegate)
+ selectByMouse: area.selectByMouse && (!Settings.isMobile || !cursorHandle.delegate || !selectionHandle.delegate)
readOnly: false
Keys.forwardTo: area
@@ -885,7 +885,7 @@ ScrollView {
control: area
z: 1 // above scrollbars
parent: Qt.platform.os === "ios" ? editor : __scroller // no clip
- active: area.selectByMouse
+ active: area.selectByMouse && Settings.isMobile
delegate: __style.__selectionHandle
maximum: cursorHandle.position - 1
@@ -921,7 +921,7 @@ ScrollView {
control: area
z: 1 // above scrollbars
parent: Qt.platform.os === "ios" ? editor : __scroller // no clip
- active: area.selectByMouse
+ active: area.selectByMouse && Settings.isMobile
delegate: __style.__cursorHandle
minimum: edit.hasSelection ? selectionHandle.position + 1 : -1
diff --git a/src/controls/doc/images/qtquickcontrols-android.png b/src/controls/doc/images/qtquickcontrols-android.png
deleted file mode 100644
index 8877c09cd..000000000
--- a/src/controls/doc/images/qtquickcontrols-android.png
+++ /dev/null
Binary files differ
diff --git a/src/controls/doc/images/qtquickcontrols-example-gallery-android.png b/src/controls/doc/images/qtquickcontrols-example-gallery-android.png
new file mode 100644
index 000000000..11ba2cc0c
--- /dev/null
+++ b/src/controls/doc/images/qtquickcontrols-example-gallery-android.png
Binary files differ
diff --git a/src/controls/doc/images/qtquickcontrols-example-gallery-osx.png b/src/controls/doc/images/qtquickcontrols-example-gallery-osx.png
new file mode 100644
index 000000000..492dc36e5
--- /dev/null
+++ b/src/controls/doc/images/qtquickcontrols-example-gallery-osx.png
Binary files differ
diff --git a/src/controls/doc/images/qtquickcontrols-example-gallery.png b/src/controls/doc/images/qtquickcontrols-example-gallery.png
deleted file mode 100644
index a88eab793..000000000
--- a/src/controls/doc/images/qtquickcontrols-example-gallery.png
+++ /dev/null
Binary files differ
diff --git a/src/controls/doc/src/qtquickcontrols-examples.qdoc b/src/controls/doc/src/qtquickcontrols-examples.qdoc
index 4e6fccb08..29c8d2b55 100644
--- a/src/controls/doc/src/qtquickcontrols-examples.qdoc
+++ b/src/controls/doc/src/qtquickcontrols-examples.qdoc
@@ -40,7 +40,22 @@
\title Qt Quick Controls - Gallery
\ingroup qtquickcontrols_examples
\brief A collection of components for a classic desktop-style UI.
- \image qtquickcontrols-example-gallery.png
+
+ \raw HTML
+ <div class="table"><table style="background:transparent; border:0px">
+ <tr><td style="border:0px">
+ \endraw
+ \image qtquickcontrols-example-gallery-osx.png
+ \caption OS X
+ \raw HTML
+ </td><td style="border:0px">
+ \endraw
+ \image qtquickcontrols-example-gallery-android.png
+ \caption Android - Nexus 5
+ \raw HTML
+ </td></tr>
+ </table></div>
+ \endraw
This example project demonstrates the various UI components provided by
\l{Qt Quick Controls}.
diff --git a/src/controls/doc/src/qtquickcontrols-platformnotes.qdoc b/src/controls/doc/src/qtquickcontrols-platformnotes.qdoc
index fdf64cf5a..2d8524454 100644
--- a/src/controls/doc/src/qtquickcontrols-platformnotes.qdoc
+++ b/src/controls/doc/src/qtquickcontrols-platformnotes.qdoc
@@ -37,7 +37,7 @@
Qt 5.4 introduced a native Android style for Qt Quick Controls.
- \image qtquickcontrols-android.png
+ \image qtquickcontrols-example-gallery-android.png
\note The Android style requires Android 3.0 (API level 11) or later.