diff options
Diffstat (limited to 'src/labs/stylekit/ToolButton.qml')
| -rw-r--r-- | src/labs/stylekit/ToolButton.qml | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/labs/stylekit/ToolButton.qml b/src/labs/stylekit/ToolButton.qml new file mode 100644 index 0000000000..b06fe71cdd --- /dev/null +++ b/src/labs/stylekit/ToolButton.qml @@ -0,0 +1,57 @@ +// Copyright (C) 2025 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default + +import QtQuick +import QtQuick.Controls.impl +import QtQuick.Templates as T +import Qt.labs.StyleKit +import Qt.labs.StyleKit.impl + +T.ToolButton { + id: control + + implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, + implicitContentWidth + leftPadding + rightPadding) + implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, + implicitContentHeight + topPadding + bottomPadding) + + leftPadding: styleReader.leftPadding + topPadding: styleReader.topPadding + rightPadding: styleReader.rightPadding + bottomPadding: styleReader.bottomPadding + spacing: styleReader.spacing + + icon.width: 24 + icon.height: 24 + icon.color: styleReader.text.color + + StyleKitControl.controlType: styleReader.type + StyleKitReader { + id: styleReader + type: StyleKitReader.ToolButton + enabled: control.enabled + focused: control.activeFocus + checked: control.checked + hovered: control.hovered || control.pressed + pressed: control.pressed + palette: control.palette + } + + contentItem: IconLabel { + spacing: control.spacing + mirrored: control.mirrored + display: control.display + + icon: control.icon + text: control.text + font: styleReader.font // FIXME: should be inherited from control + color: styleReader.text.color + alignment: styleReader.text.alignment + } + + background: BackgroundDelegate { + parentControl: control + backgroundProperties: styleReader.background + } +} |
