aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/controls
diff options
context:
space:
mode:
Diffstat (limited to 'src/imports/controls')
-rw-r--r--src/imports/controls/MenuSeparator.qml2
-rw-r--r--src/imports/controls/RoundButton.qml4
-rw-r--r--src/imports/controls/ToolSeparator.qml2
-rw-r--r--src/imports/controls/controls.pri104
-rw-r--r--src/imports/controls/controls.pro6
-rw-r--r--src/imports/controls/material/DialogButtonBox.qml5
-rw-r--r--src/imports/controls/material/ToolSeparator.qml2
-rw-r--r--src/imports/controls/material/material.pro7
-rw-r--r--src/imports/controls/material/qquickmaterialtheme.cpp18
-rw-r--r--src/imports/controls/material/qquickmaterialtheme_p.h3
-rw-r--r--src/imports/controls/universal/RadioDelegate.qml2
-rw-r--r--src/imports/controls/universal/ToolSeparator.qml2
-rw-r--r--src/imports/controls/universal/universal.pro7
13 files changed, 88 insertions, 76 deletions
diff --git a/src/imports/controls/MenuSeparator.qml b/src/imports/controls/MenuSeparator.qml
index e68d9bea..f3916673 100644
--- a/src/imports/controls/MenuSeparator.qml
+++ b/src/imports/controls/MenuSeparator.qml
@@ -49,11 +49,9 @@ T.MenuSeparator {
topPadding: padding + 4
bottomPadding: padding + 4
- //! [contentItem]
contentItem: Rectangle {
implicitWidth: 188
implicitHeight: 1
color: Default.separatorColor
}
- //! [contentItem]
}
diff --git a/src/imports/controls/RoundButton.qml b/src/imports/controls/RoundButton.qml
index f6304961..747988d8 100644
--- a/src/imports/controls/RoundButton.qml
+++ b/src/imports/controls/RoundButton.qml
@@ -55,7 +55,6 @@ T.RoundButton {
icon.height: 24
icon.color: enabled ? undefined : Default.textDisabledLightColor
- //! [contentItem]
contentItem: IconLabel {
spacing: control.spacing
mirrored: control.mirrored
@@ -69,9 +68,7 @@ T.RoundButton {
: control.down ? Default.textDarkColor : Default.textColor,
enabled || control.highlighted || control.checked ? 1 : 0.3)
}
- //! [contentItem]
- //! [background]
background: Rectangle {
implicitWidth: 40
implicitHeight: 40
@@ -84,5 +81,4 @@ T.RoundButton {
border.color: Default.focusColor
border.width: control.visualFocus ? 2 : 0
}
- //! [background]
}
diff --git a/src/imports/controls/ToolSeparator.qml b/src/imports/controls/ToolSeparator.qml
index 9b34363d..b1d5dd7b 100644
--- a/src/imports/controls/ToolSeparator.qml
+++ b/src/imports/controls/ToolSeparator.qml
@@ -49,11 +49,9 @@ T.ToolSeparator {
topPadding: vertical ? 2 : 6
bottomPadding: vertical ? 2 : 6
- //! [contentItem]
contentItem: Rectangle {
implicitWidth: vertical ? 1 : 30
implicitHeight: vertical ? 30 : 1
color: Default.separatorColor
}
- //! [contentItem]
}
diff --git a/src/imports/controls/controls.pri b/src/imports/controls/controls.pri
index 5aa56418..41347aa7 100644
--- a/src/imports/controls/controls.pri
+++ b/src/imports/controls/controls.pri
@@ -11,57 +11,57 @@ SOURCES += \
$$PWD/qquickdefaultstyle.cpp
QML_CONTROLS = \
- AbstractButton.qml \
- ApplicationWindow.qml \
- BusyIndicator.qml \
- Button.qml \
- CheckBox.qml \
- CheckDelegate.qml \
- CheckIndicator.qml \
- ComboBox.qml \
- Container.qml \
- Control.qml \
- DelayButton.qml \
- Dial.qml \
- Dialog.qml \
- DialogButtonBox.qml \
- Drawer.qml \
- Frame.qml \
- GroupBox.qml \
- ItemDelegate.qml \
- Label.qml \
- Menu.qml \
- MenuItem.qml \
- MenuSeparator.qml \
- Page.qml \
- PageIndicator.qml \
- Pane.qml \
- Popup.qml \
- ProgressBar.qml \
- RadioButton.qml \
- RadioDelegate.qml \
- RadioIndicator.qml \
- RangeSlider.qml \
- RoundButton.qml \
- ScrollBar.qml \
- ScrollIndicator.qml \
- ScrollView.qml \
- Slider.qml \
- SpinBox.qml \
- StackView.qml \
- SwipeDelegate.qml \
- Switch.qml \
- SwitchIndicator.qml \
- SwitchDelegate.qml \
- SwipeView.qml \
- TabBar.qml \
- TabButton.qml \
- TextArea.qml \
- TextField.qml \
- ToolBar.qml \
- ToolButton.qml \
- ToolSeparator.qml \
- ToolTip.qml \
- Tumbler.qml
+ $$PWD/AbstractButton.qml \
+ $$PWD/ApplicationWindow.qml \
+ $$PWD/BusyIndicator.qml \
+ $$PWD/Button.qml \
+ $$PWD/CheckBox.qml \
+ $$PWD/CheckDelegate.qml \
+ $$PWD/CheckIndicator.qml \
+ $$PWD/ComboBox.qml \
+ $$PWD/Container.qml \
+ $$PWD/Control.qml \
+ $$PWD/DelayButton.qml \
+ $$PWD/Dial.qml \
+ $$PWD/Dialog.qml \
+ $$PWD/DialogButtonBox.qml \
+ $$PWD/Drawer.qml \
+ $$PWD/Frame.qml \
+ $$PWD/GroupBox.qml \
+ $$PWD/ItemDelegate.qml \
+ $$PWD/Label.qml \
+ $$PWD/Menu.qml \
+ $$PWD/MenuItem.qml \
+ $$PWD/MenuSeparator.qml \
+ $$PWD/Page.qml \
+ $$PWD/PageIndicator.qml \
+ $$PWD/Pane.qml \
+ $$PWD/Popup.qml \
+ $$PWD/ProgressBar.qml \
+ $$PWD/RadioButton.qml \
+ $$PWD/RadioDelegate.qml \
+ $$PWD/RadioIndicator.qml \
+ $$PWD/RangeSlider.qml \
+ $$PWD/RoundButton.qml \
+ $$PWD/ScrollBar.qml \
+ $$PWD/ScrollIndicator.qml \
+ $$PWD/ScrollView.qml \
+ $$PWD/Slider.qml \
+ $$PWD/SpinBox.qml \
+ $$PWD/StackView.qml \
+ $$PWD/SwipeDelegate.qml \
+ $$PWD/Switch.qml \
+ $$PWD/SwitchIndicator.qml \
+ $$PWD/SwitchDelegate.qml \
+ $$PWD/SwipeView.qml \
+ $$PWD/TabBar.qml \
+ $$PWD/TabButton.qml \
+ $$PWD/TextArea.qml \
+ $$PWD/TextField.qml \
+ $$PWD/ToolBar.qml \
+ $$PWD/ToolButton.qml \
+ $$PWD/ToolSeparator.qml \
+ $$PWD/ToolTip.qml \
+ $$PWD/Tumbler.qml
!qtquickcompiler: QML_FILES += $$QML_CONTROLS
diff --git a/src/imports/controls/controls.pro b/src/imports/controls/controls.pro
index 309f103c..145b468c 100644
--- a/src/imports/controls/controls.pro
+++ b/src/imports/controls/controls.pro
@@ -7,8 +7,11 @@ QT_PRIVATE += core-private gui-private qml-private quick-private quicktemplates2
DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
+include(controls.pri)
+
OTHER_FILES += \
- qmldir
+ qmldir \
+ $$QML_CONTROLS
SOURCES += \
$$PWD/qtquickcontrols2plugin.cpp
@@ -16,7 +19,6 @@ SOURCES += \
RESOURCES += \
$$PWD/qtquickcontrols2plugin.qrc
-include(controls.pri)
!static: qtConfig(quick-designer): include(designer/designer.pri)
include(doc/doc.pri)
diff --git a/src/imports/controls/material/DialogButtonBox.qml b/src/imports/controls/material/DialogButtonBox.qml
index 7f4c3606..f66ecda3 100644
--- a/src/imports/controls/material/DialogButtonBox.qml
+++ b/src/imports/controls/material/DialogButtonBox.qml
@@ -50,8 +50,8 @@ T.DialogButtonBox {
spacing: 8
padding: 8
- topPadding: padding - 4
- bottomPadding: padding - 4
+ topPadding: 2
+ bottomPadding: 2
alignment: Qt.AlignRight
Material.foreground: Material.accent
@@ -73,6 +73,7 @@ T.DialogButtonBox {
implicitHeight: 52
radius: 2
color: control.Material.dialogColor
+ // Rounded corners should be only at the top or at the bottom
topPadding: control.position === T.DialogButtonBox.Footer ? -2 : 0
bottomPadding: control.position === T.DialogButtonBox.Header ? -2 : 0
clip: true
diff --git a/src/imports/controls/material/ToolSeparator.qml b/src/imports/controls/material/ToolSeparator.qml
index bdb2bc55..f8a5d9bb 100644
--- a/src/imports/controls/material/ToolSeparator.qml
+++ b/src/imports/controls/material/ToolSeparator.qml
@@ -49,11 +49,9 @@ T.ToolSeparator {
topPadding: vertical ? 5 : 12
bottomPadding: vertical ? 5 : 12
- //! [contentItem]
contentItem: Rectangle {
implicitWidth: vertical ? 1 : 38
implicitHeight: vertical ? 38 : 1
color: control.Material.hintTextColor
}
- //! [contentItem]
}
diff --git a/src/imports/controls/material/material.pro b/src/imports/controls/material/material.pro
index eb41cfb0..08d5e3ab 100644
--- a/src/imports/controls/material/material.pro
+++ b/src/imports/controls/material/material.pro
@@ -7,8 +7,11 @@ QT_PRIVATE += core-private gui-private qml-private quick-private quicktemplates2
DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
+include(material.pri)
+
OTHER_FILES += \
- qmldir
+ qmldir \
+ $$QML_FILES
SOURCES += \
$$PWD/qtquickcontrols2materialstyleplugin.cpp
@@ -16,8 +19,6 @@ SOURCES += \
RESOURCES += \
$$PWD/qtquickcontrols2materialstyleplugin.qrc
-include(material.pri)
-
CONFIG += no_cxx_module
load(qml_plugin)
diff --git a/src/imports/controls/material/qquickmaterialtheme.cpp b/src/imports/controls/material/qquickmaterialtheme.cpp
index 63def7a5..3ea41779 100644
--- a/src/imports/controls/material/qquickmaterialtheme.cpp
+++ b/src/imports/controls/material/qquickmaterialtheme.cpp
@@ -36,6 +36,7 @@
#include "qquickmaterialtheme_p.h"
+#include <QtGui/qpa/qplatformdialoghelper.h>
#include <QtGui/qfont.h>
#include <QtGui/qfontinfo.h>
@@ -105,4 +106,21 @@ const QFont *QQuickMaterialTheme::font(QPlatformTheme::Font type) const
}
}
+QVariant QQuickMaterialTheme::themeHint(ThemeHint hint) const
+{
+ switch (hint) {
+ case QPlatformTheme::DialogButtonBoxLayout:
+ // https://material.io/guidelines/components/dialogs.html#dialogs-specs
+ // As per spec, affirmative actions are placed to the right, dismissive
+ // actions are placed directly to the left of affirmative actions.
+ // In the Android sources, there are additional type of actions -
+ // neutral, which are placed to the left.
+ // Rules for macOS seems to be the most suitable here and are also used
+ // in the Android QPA plugin.
+ return QVariant(QPlatformDialogHelper::MacLayout);
+ default:
+ return QQuickProxyTheme::themeHint(hint);
+ }
+}
+
QT_END_NAMESPACE
diff --git a/src/imports/controls/material/qquickmaterialtheme_p.h b/src/imports/controls/material/qquickmaterialtheme_p.h
index 828ca83a..d505d4ff 100644
--- a/src/imports/controls/material/qquickmaterialtheme_p.h
+++ b/src/imports/controls/material/qquickmaterialtheme_p.h
@@ -48,6 +48,7 @@
// We mean it.
//
+#include <QtCore/qvariant.h>
#include <QtGui/qfont.h>
#include <QtQuickControls2/private/qquickproxytheme_p.h>
@@ -60,6 +61,8 @@ public:
const QFont *font(Font type = SystemFont) const override;
+ QVariant themeHint(ThemeHint hint) const override;
+
private:
QFont systemFont;
QFont buttonFont;
diff --git a/src/imports/controls/universal/RadioDelegate.qml b/src/imports/controls/universal/RadioDelegate.qml
index 17373e08..bc15f990 100644
--- a/src/imports/controls/universal/RadioDelegate.qml
+++ b/src/imports/controls/universal/RadioDelegate.qml
@@ -60,8 +60,6 @@ T.RadioDelegate {
icon.height: 20
icon.color: enabled ? undefined : Color.transparent(Universal.foreground, 0.2)
- property Item control
-
indicator: RadioIndicator {
x: text ? (control.mirrored ? control.leftPadding : control.width - width - control.rightPadding) : control.leftPadding + (control.availableWidth - width) / 2
y: control.topPadding + (control.availableHeight - height) / 2
diff --git a/src/imports/controls/universal/ToolSeparator.qml b/src/imports/controls/universal/ToolSeparator.qml
index bf82133a..965b9690 100644
--- a/src/imports/controls/universal/ToolSeparator.qml
+++ b/src/imports/controls/universal/ToolSeparator.qml
@@ -49,11 +49,9 @@ T.ToolSeparator {
topPadding: vertical ? 12 : 16
bottomPadding: vertical ? 12 : 15
- //! [contentItem]
contentItem: Rectangle {
implicitWidth: vertical ? 1 : 20
implicitHeight: vertical ? 20 : 1
color: control.Universal.baseMediumLowColor
}
- //! [contentItem]
}
diff --git a/src/imports/controls/universal/universal.pro b/src/imports/controls/universal/universal.pro
index cfbfdbfd..d9bae111 100644
--- a/src/imports/controls/universal/universal.pro
+++ b/src/imports/controls/universal/universal.pro
@@ -7,8 +7,11 @@ QT_PRIVATE += core-private gui-private qml-private quick-private quicktemplates2
DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
+include(universal.pri)
+
OTHER_FILES += \
- qmldir
+ qmldir \
+ $$QML_FILES
SOURCES += \
$$PWD/qtquickcontrols2universalstyleplugin.cpp
@@ -16,8 +19,6 @@ SOURCES += \
RESOURCES += \
$$PWD/qtquickcontrols2universalstyleplugin.qrc
-include(universal.pri)
-
CONFIG += no_cxx_module
load(qml_plugin)