aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/controls
diff options
context:
space:
mode:
Diffstat (limited to 'src/imports/controls')
-rw-r--r--src/imports/controls/macos/Button.qml2
-rw-r--r--src/imports/controls/macos/CheckBox.qml2
-rw-r--r--src/imports/controls/macos/ComboBox.qml24
-rw-r--r--src/imports/controls/macos/RadioButton.qml2
-rw-r--r--src/imports/controls/macos/Slider.qml2
-rw-r--r--src/imports/controls/macos/SpinBox.qml4
-rw-r--r--src/imports/controls/macos/TextArea.qml17
-rw-r--r--src/imports/controls/macos/TextField.qml2
8 files changed, 55 insertions, 0 deletions
diff --git a/src/imports/controls/macos/Button.qml b/src/imports/controls/macos/Button.qml
index e3fe856d..58658c52 100644
--- a/src/imports/controls/macos/Button.qml
+++ b/src/imports/controls/macos/Button.qml
@@ -38,4 +38,6 @@ import QtQuick
import QtQuick.NativeStyle as NativeStyle
NativeStyle.DefaultButton {
+ id: control
+ readonly property Item __focusFrameTarget: control
}
diff --git a/src/imports/controls/macos/CheckBox.qml b/src/imports/controls/macos/CheckBox.qml
index d1a56fee..23ad4426 100644
--- a/src/imports/controls/macos/CheckBox.qml
+++ b/src/imports/controls/macos/CheckBox.qml
@@ -38,4 +38,6 @@ import QtQuick
import QtQuick.NativeStyle as NativeStyle
NativeStyle.DefaultCheckBox {
+ readonly property Item __focusFrameTarget: indicator
+ readonly property Item __focusFrameStyleItem: indicator
}
diff --git a/src/imports/controls/macos/ComboBox.qml b/src/imports/controls/macos/ComboBox.qml
index 3891594b..53baabf8 100644
--- a/src/imports/controls/macos/ComboBox.qml
+++ b/src/imports/controls/macos/ComboBox.qml
@@ -35,7 +35,31 @@
****************************************************************************/
import QtQuick
+import QtQuick.Templates as T
import QtQuick.NativeStyle as NativeStyle
NativeStyle.DefaultComboBox {
+ id: control
+ readonly property Item __focusFrameTarget: control
+
+ contentItem: T.TextField {
+ implicitWidth: contentWidth
+ implicitHeight: contentHeight
+ text: control.editable ? control.editText : control.displayText
+
+ enabled: control.editable
+ autoScroll: control.editable
+ readOnly: control.down
+ inputMethodHints: control.inputMethodHints
+ validator: control.validator
+ selectByMouse: control.selectTextByMouse
+
+ font: control.font
+ color: control.editable ? control.palette.text : control.palette.buttonText
+ selectionColor: control.palette.highlight
+ selectedTextColor: control.palette.highlightedText
+ verticalAlignment: Text.AlignVCenter
+
+ readonly property Item __focusFrameControl: control
+ }
}
diff --git a/src/imports/controls/macos/RadioButton.qml b/src/imports/controls/macos/RadioButton.qml
index 82b85698..c9cdf985 100644
--- a/src/imports/controls/macos/RadioButton.qml
+++ b/src/imports/controls/macos/RadioButton.qml
@@ -38,4 +38,6 @@ import QtQuick
import QtQuick.NativeStyle as NativeStyle
NativeStyle.DefaultRadioButton {
+ readonly property Item __focusFrameTarget: indicator
+ readonly property Item __focusFrameStyleItem: indicator
}
diff --git a/src/imports/controls/macos/Slider.qml b/src/imports/controls/macos/Slider.qml
index ab72fcaa..e8e0e036 100644
--- a/src/imports/controls/macos/Slider.qml
+++ b/src/imports/controls/macos/Slider.qml
@@ -38,4 +38,6 @@ import QtQuick
import QtQuick.NativeStyle as NativeStyle
NativeStyle.DefaultSlider {
+ readonly property Item __focusFrameTarget: handle
+ readonly property Item __focusFrameStyleItem: handle
}
diff --git a/src/imports/controls/macos/SpinBox.qml b/src/imports/controls/macos/SpinBox.qml
index 1eb7fa05..5928d37e 100644
--- a/src/imports/controls/macos/SpinBox.qml
+++ b/src/imports/controls/macos/SpinBox.qml
@@ -62,6 +62,8 @@ T.SpinBox {
rightPadding: (__nativeBackground ? background.contentPadding.right : 0) + rightInset
bottomPadding: __nativeBackground ? background.contentPadding.bottom: 0
+ readonly property Item __focusFrameTarget: contentItem
+
validator: IntValidator {
locale: control.locale.name
bottom: Math.min(control.from, control.to)
@@ -85,6 +87,8 @@ T.SpinBox {
readOnly: !control.editable
validator: control.validator
inputMethodHints: control.inputMethodHints
+
+ readonly property Item __focusFrameControl: control
}
NativeStyle.SpinBox {
diff --git a/src/imports/controls/macos/TextArea.qml b/src/imports/controls/macos/TextArea.qml
index f6b88303..98884bda 100644
--- a/src/imports/controls/macos/TextArea.qml
+++ b/src/imports/controls/macos/TextArea.qml
@@ -38,4 +38,21 @@ import QtQuick
import QtQuick.NativeStyle as NativeStyle
NativeStyle.DefaultTextArea {
+ id: control
+
+ // If you place a TextArea inside a Frame or Flickable (/ScrollView), and
+ // the TextArea is the only child of the content item, we place the focus
+ // frame around the Flickable/Frame instead.
+ readonly property Item __focusFrameTarget:
+ (parent.parent instanceof Frame || parent.parent instanceof Flickable)
+ && parent.children.length === 1
+ ? parent.parent : control
+
+ background: Rectangle {
+ color: control.palette.light
+ // Since this delegate is a plain Rectangle, we need to tag it to know
+ // that it's still the default one, and not some custom item set by the
+ // application. Only in the former case do we wan't to show a focus frame.
+ readonly property bool __isDefaultDelegate: true
+ }
}
diff --git a/src/imports/controls/macos/TextField.qml b/src/imports/controls/macos/TextField.qml
index bc0e2cb7..f3a748f6 100644
--- a/src/imports/controls/macos/TextField.qml
+++ b/src/imports/controls/macos/TextField.qml
@@ -38,4 +38,6 @@ import QtQuick
import QtQuick.NativeStyle as NativeStyle
NativeStyle.DefaultTextField {
+ id: control
+ readonly property Item __focusFrameTarget: control
}