ukui-menu/qml/AppControls2/AppItem.qml

80 lines
2.5 KiB
QML
Raw Normal View History

2023-02-20 17:23:08 +08:00
import QtQuick 2.12
2023-02-14 09:34:15 +08:00
import QtQuick.Layouts 1.12
2023-02-20 17:23:08 +08:00
import QtQuick.Controls 2.5
import org.ukui.menu.core 1.0
import org.ukui.quick.items 1.0 as UkuiItems
2023-02-14 09:34:15 +08:00
MouseArea {
id: control
property bool isSelect: false
hoverEnabled: true
states: State {
when: control.activeFocus
PropertyChanges {
target: controlBase
borderColor: UkuiItems.Theme.Highlight
border.width: 2
}
}
UkuiItems.StyleBackground {
id: controlBase
2023-02-20 17:23:08 +08:00
anchors.fill: parent
radius: UkuiItems.Theme.minRadius
useStyleTransparency: false
paletteRole: UkuiItems.Theme.Text
alpha: isSelect ? 1.00 : control.containsPress ? 0.16 : control.containsMouse ? 0.08 : 0.00
ToolTip.visible: content.textTruncated && control.containsMouse
ToolTip.text: name
ToolTip.delay: 500
2023-02-14 09:34:15 +08:00
2023-04-12 17:13:28 +08:00
RowLayout {
anchors.fill: parent
2023-04-12 17:13:28 +08:00
spacing: 2
IconLabel {
id: content
Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter
Layout.fillWidth: true
Layout.fillHeight: true
iconHeight: 32; iconWidth: iconHeight
appName: name; appIcon: icon
display: Display.TextBesideIcon
spacing: 12
}
Loader {
id: tag
visible: mainWindow.editMode
2023-04-12 17:13:28 +08:00
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
Layout.fillWidth: true
Layout.fillHeight: true
Layout.maximumWidth: visible ? 28 : 0
2023-04-12 17:13:28 +08:00
Layout.maximumHeight: width
Layout.rightMargin: visible ? 4 : 0
2023-04-12 17:13:28 +08:00
Component {
id: editImage
UkuiItems.Button {
width: 28
height: 28
icon.width: 16
icon.height: 16
background.paletteRole: UkuiItems.Theme.Light
background.alpha: 1
activeFocusOnTab: false
2023-04-12 17:13:28 +08:00
onClicked: {
appManager.changeFavoriteState(id, favorite);
2023-04-12 17:13:28 +08:00
}
background.radius: width / 2
icon.source: favorite ? "ukui-cancel-star-symbolic" : "non-starred-symbolic"
2023-04-12 17:13:28 +08:00
}
}
sourceComponent: mainWindow.editMode ? editImage : null
2023-04-12 17:13:28 +08:00
}
2023-02-14 09:34:15 +08:00
}
}
}