43 lines
1.1 KiB
QML
43 lines
1.1 KiB
QML
import QtQuick 2.7
|
|
import QtQuick.Controls 2.2
|
|
import QtQuick.Layouts 1.4
|
|
|
|
ToolButton {
|
|
property string tooltip: ""
|
|
property string iconName: ""
|
|
property string targetPage: ""
|
|
|
|
function toolBarIsBig() {
|
|
return roomPane.width >
|
|
Layout.minimumWidth * (toolBar.children.length - 2)
|
|
}
|
|
|
|
id: "button"
|
|
display: ToolButton.IconOnly
|
|
icon.source: "icons/" + iconName + ".svg"
|
|
background: Rectangle { color: "transparent" }
|
|
|
|
visible: toolBarIsBig()
|
|
Layout.fillHeight: true
|
|
Layout.fillWidth: true
|
|
Layout.minimumWidth: height
|
|
|
|
onClicked: { toolTip.hide(); pageStack.show_page(targetPage) }
|
|
|
|
ToolTip {
|
|
id: "toolTip"
|
|
text: tooltip
|
|
delay: Qt.styleHints.mousePressAndHoldInterval
|
|
visible: text ? toolTipZone.containsMouse : false
|
|
}
|
|
MouseArea {
|
|
id: toolTipZone
|
|
anchors.fill: parent
|
|
hoverEnabled: true
|
|
acceptedButtons: Qt.NoButton // Make button receive clicks normally
|
|
|
|
onEntered: button.background.color = "#656565"
|
|
onExited: button.background.color = "transparent"
|
|
}
|
|
}
|