Files
qt-designsystem/AppIconButton.qml

35 lines
1.2 KiB
QML

import QtQuick
import QtQuick.Controls.Basic
import QtQuick.Controls.impl // Needed for features like the Control.blend() function
import DesignSystem
Button {
id: control
font.family: Fonts.dotrice
font.bold: true
implicitWidth: Math.min(implicitBackgroundWidth + leftInset + rightInset, implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.min(implicitBackgroundHeight + topInset + bottomInset, implicitContentHeight + topPadding + bottomPadding)
required property string source
property bool useOriginalColor: false
// Shows the highlight background even when not pressed
property bool showBackground: false
icon.source: control.source
icon.width: 20
icon.height: 20
icon.color: useOriginalColor ? "transparent" : Theme.foreground
background: Rectangle {
// NOTE: copied from ~/Qt/6.8.3/macos/qml/QtQuick/Controls/Basic/Button.qml
implicitWidth: 100
implicitHeight: 40
visible: !control.flat || control.down || control.checked || control.highlighted
color: control.down || control.showBackground ? Theme.highlight : "transparent"
border.width: 0
// custom
radius: Theme.radius
}
}