QmlDesigner: Add tooltips in StateEditor

Task-number: QDS-7736
Change-Id: I6732043da895e04e6ed70f74d8342ba7ff7354fe
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Henning Gruendl
2022-09-22 22:23:52 +02:00
committed by Henning Gründl
parent 66ec244cf9
commit a7c15838e2
2 changed files with 32 additions and 8 deletions

View File

@@ -26,6 +26,7 @@
import QtQuick import QtQuick
import QtQuick.Controls import QtQuick.Controls
import StatesEditor import StatesEditor
import HelperWidgets 2.0 as HelperWidgets
import StudioControls 1.0 as StudioControls import StudioControls 1.0 as StudioControls
import StudioTheme as StudioTheme import StudioTheme as StudioTheme
@@ -369,6 +370,23 @@ Rectangle {
width: stateGroupLabel.visible ? StudioTheme.Values.defaultControlWidth width: stateGroupLabel.visible ? StudioTheme.Values.defaultControlWidth
: root.width - 2 * root.padding : root.width - 2 * root.padding
HelperWidgets.Tooltip { id: comboBoxTooltip }
Timer {
interval: 1000
running: stateGroupComboBox.hovered
onTriggered: comboBoxTooltip.showText(stateGroupComboBox,
hoverHandler.point.position,
qsTr("Switch State Group"))
}
onHoverChanged: {
if (!stateGroupComboBox.hovered)
comboBoxTooltip.hideText()
}
HoverHandler { id: hoverHandler }
popup.onOpened: editDialog.close() popup.onOpened: editDialog.close()
// currentIndex needs special treatment, because if model is changed, it will be // currentIndex needs special treatment, because if model is changed, it will be
@@ -398,25 +416,28 @@ Rectangle {
spacing: StudioTheme.Values.toolbarSpacing spacing: StudioTheme.Values.toolbarSpacing
leftPadding: toolBar.doubleRow ? root.padding : 0 leftPadding: toolBar.doubleRow ? root.padding : 0
StudioControls.AbstractButton { HelperWidgets.AbstractButton {
buttonIcon: StudioTheme.Constants.plus buttonIcon: StudioTheme.Constants.plus
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
tooltip: qsTr("Create State Group")
onClicked: statesEditorModel.addStateGroup("stateGroup") onClicked: statesEditorModel.addStateGroup("stateGroup")
} }
StudioControls.AbstractButton { HelperWidgets.AbstractButton {
buttonIcon: StudioTheme.Constants.minus buttonIcon: StudioTheme.Constants.minus
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
enabled: statesEditorModel.activeStateGroupIndex !== 0 enabled: statesEditorModel.activeStateGroupIndex !== 0
tooltip: qsTr("Remove State Group")
onClicked: statesEditorModel.removeStateGroup() onClicked: statesEditorModel.removeStateGroup()
} }
StudioControls.AbstractButton { HelperWidgets.AbstractButton {
id: editButton id: editButton
buttonIcon: StudioTheme.Constants.edit buttonIcon: StudioTheme.Constants.edit
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
enabled: statesEditorModel.activeStateGroupIndex !== 0 enabled: statesEditorModel.activeStateGroupIndex !== 0
checked: editDialog.visible checked: editDialog.visible
tooltip: qsTr("Rename State Group")
onClicked: { onClicked: {
if (editDialog.opened) if (editDialog.opened)
editDialog.close() editDialog.close()
@@ -439,20 +460,22 @@ Rectangle {
spacing: StudioTheme.Values.toolbarSpacing spacing: StudioTheme.Values.toolbarSpacing
rightPadding: root.padding rightPadding: root.padding
StudioControls.AbstractButton { HelperWidgets.AbstractButton {
buttonIcon: StudioTheme.Constants.gridView buttonIcon: StudioTheme.Constants.gridView
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
enabled: !root.tinyMode enabled: !root.tinyMode
tooltip: qsTr("Show thumbnails")
onClicked: { onClicked: {
for (var i = 0; i < statesRepeater.count; ++i) for (var i = 0; i < statesRepeater.count; ++i)
statesRepeater.itemAt(i).setPropertyChangesVisible(false) statesRepeater.itemAt(i).setPropertyChangesVisible(false)
} }
} }
StudioControls.AbstractButton { HelperWidgets.AbstractButton {
buttonIcon: StudioTheme.Constants.textFullJustification buttonIcon: StudioTheme.Constants.textFullJustification
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
enabled: !root.tinyMode enabled: !root.tinyMode
tooltip: qsTr("Show property changes")
onClicked: { onClicked: {
for (var i = 0; i < statesRepeater.count; ++i) for (var i = 0; i < statesRepeater.count; ++i)
statesRepeater.itemAt(i).setPropertyChangesVisible(true) statesRepeater.itemAt(i).setPropertyChangesVisible(true)

View File

@@ -25,9 +25,9 @@
import QtQuick import QtQuick
import QtQuick.Controls import QtQuick.Controls
import StudioTheme 1.0 as StudioTheme import HelperWidgets 2.0 as HelperWidgets
import StudioControls 1.0 as StudioControls import StudioControls 1.0 as StudioControls
import QtQuick.Layouts 6.0 import StudioTheme 1.0 as StudioTheme
Item { Item {
id: root id: root
@@ -148,13 +148,14 @@ Item {
rows: 1 rows: 1
spacing: stateBackground.thumbSpacing spacing: stateBackground.thumbSpacing
StudioControls.AbstractButton { HelperWidgets.AbstractButton {
id: defaultButton id: defaultButton
width: 50 width: 50
height: stateBackground.controlHeight height: stateBackground.controlHeight
checkedInverted: true checkedInverted: true
buttonIcon: qsTr("Default") buttonIcon: qsTr("Default")
iconFont: StudioTheme.Constants.font iconFont: StudioTheme.Constants.font
tooltip: qsTr("Set State as default")
onClicked: { onClicked: {
root.defaultClicked() root.defaultClicked()
root.focusSignal() root.focusSignal()