aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickcontrols/fusion/impl
diff options
context:
space:
mode:
Diffstat (limited to 'src/quickcontrols/fusion/impl')
-rw-r--r--src/quickcontrols/fusion/impl/CMakeLists.txt3
-rw-r--r--src/quickcontrols/fusion/impl/CheckIndicator.qml4
-rw-r--r--src/quickcontrols/fusion/impl/RadioIndicator.qml2
-rw-r--r--src/quickcontrols/fusion/impl/SwitchIndicator.qml7
-rw-r--r--src/quickcontrols/fusion/impl/qquickfusionbusyindicator.cpp13
5 files changed, 21 insertions, 8 deletions
diff --git a/src/quickcontrols/fusion/impl/CMakeLists.txt b/src/quickcontrols/fusion/impl/CMakeLists.txt
index e52f1ecc06..64ee4851fb 100644
--- a/src/quickcontrols/fusion/impl/CMakeLists.txt
+++ b/src/quickcontrols/fusion/impl/CMakeLists.txt
@@ -14,7 +14,7 @@ set(qml_files
"SwitchIndicator.qml"
)
-qt_internal_add_qml_module(qtquickcontrols2fusionstyleimplplugin
+qt_internal_add_qml_module(QuickControls2FusionStyleImpl
URI "QtQuick.Controls.Fusion.impl"
VERSION "${PROJECT_VERSION}"
PAST_MAJOR_VERSIONS 2
@@ -22,7 +22,6 @@ qt_internal_add_qml_module(qtquickcontrols2fusionstyleimplplugin
DEPENDENCIES
QtQuick/auto
PLUGIN_TARGET qtquickcontrols2fusionstyleimplplugin
- NO_PLUGIN_OPTIONAL
SOURCES
qquickfusionbusyindicator.cpp qquickfusionbusyindicator_p.h
qquickfusiondial.cpp qquickfusiondial_p.h
diff --git a/src/quickcontrols/fusion/impl/CheckIndicator.qml b/src/quickcontrols/fusion/impl/CheckIndicator.qml
index 58de99654a..40e3471f10 100644
--- a/src/quickcontrols/fusion/impl/CheckIndicator.qml
+++ b/src/quickcontrols/fusion/impl/CheckIndicator.qml
@@ -10,13 +10,15 @@ Rectangle {
id: indicator
property Item control
+ property real baseLightness: 1.6
+
readonly property color pressedColor: Fusion.mergedColors(control.palette.base, control.palette.windowText, 85)
readonly property color checkMarkColor: Qt.darker(control.palette.text, 1.2)
implicitWidth: 14
implicitHeight: 14
- color: control.down ? indicator.pressedColor : control.palette.base
+ color: control.down ? indicator.pressedColor : Qt.lighter(control.palette.base, baseLightness)
border.color: control.visualFocus ? Fusion.highlightedOutline(control.palette)
: Qt.lighter(Fusion.outline(control.palette), 1.1)
diff --git a/src/quickcontrols/fusion/impl/RadioIndicator.qml b/src/quickcontrols/fusion/impl/RadioIndicator.qml
index 0949b904a9..818b246953 100644
--- a/src/quickcontrols/fusion/impl/RadioIndicator.qml
+++ b/src/quickcontrols/fusion/impl/RadioIndicator.qml
@@ -17,7 +17,7 @@ Rectangle {
implicitHeight: 14
radius: width / 2
- color: control.down ? indicator.pressedColor : control.palette.base
+ color: control.down ? indicator.pressedColor : Qt.lighter(control.palette.base, 1.75)
border.color: control.visualFocus ? Fusion.highlightedOutline(control.palette)
: Qt.darker(control.palette.window, 1.5)
diff --git a/src/quickcontrols/fusion/impl/SwitchIndicator.qml b/src/quickcontrols/fusion/impl/SwitchIndicator.qml
index 8bc9238228..39e47c0e91 100644
--- a/src/quickcontrols/fusion/impl/SwitchIndicator.qml
+++ b/src/quickcontrols/fusion/impl/SwitchIndicator.qml
@@ -2,6 +2,7 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
import QtQuick
+import QtQuick.Window
import QtQuick.Templates as T
import QtQuick.Controls.impl
import QtQuick.Controls.Fusion
@@ -49,11 +50,13 @@ Rectangle {
gradient: Gradient {
GradientStop {
position: 0
- color: Fusion.highlight(indicator.control.palette)
+ color: Qt.alpha(indicator.control.palette.active.highlight,
+ indicator.Window ? indicator.Window.active ? 1 : 0.5 : 1)
}
GradientStop {
position: 1
- color: Qt.lighter(Fusion.highlight(indicator.control.palette), 1.2)
+ color: Qt.alpha(Qt.lighter(indicator.control.palette.active.highlight, 1.2),
+ indicator.Window ? indicator.Window.active ? 1 : 0.5 : 1)
}
}
}
diff --git a/src/quickcontrols/fusion/impl/qquickfusionbusyindicator.cpp b/src/quickcontrols/fusion/impl/qquickfusionbusyindicator.cpp
index cce69b0e4b..8e58b09ed3 100644
--- a/src/quickcontrols/fusion/impl/qquickfusionbusyindicator.cpp
+++ b/src/quickcontrols/fusion/impl/qquickfusionbusyindicator.cpp
@@ -71,8 +71,17 @@ void QQuickFusionBusyIndicator::itemChange(ItemChange change, const ItemChangeDa
{
QQuickPaintedItem::itemChange(change, data);
- if (change == ItemOpacityHasChanged && qFuzzyIsNull(data.realValue))
- setVisible(false);
+ switch (change) {
+ case ItemOpacityHasChanged:
+ if (qFuzzyIsNull(data.realValue))
+ setVisible(false);
+ break;
+ case ItemVisibleHasChanged:
+ update();
+ break;
+ default:
+ break;
+ }
}
QT_END_NAMESPACE