1
0

qml: add HelpDialog and HelpButton for showing additional info

This commit is contained in:
Sander van Grieken
2024-02-23 10:28:11 +01:00
parent 5e472117df
commit b0227c7e03
3 changed files with 88 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls
import QtQuick.Controls.Material
ToolButton {
id: root
property string heading
property string helptext
icon.source: Qt.resolvedUrl('../../../icons/info.png')
icon.color: 'transparent'
onClicked: {
var dialog = app.helpDialog.createObject(app, {
heading: root.heading,
text: root.helptext
})
dialog.open()
}
}

View File

@@ -0,0 +1,60 @@
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls
import QtQuick.Controls.Material
ElDialog {
id: dialog
header: Item { }
property string text
property string heading
z: 1 // raise z so it also covers dialogs using overlay as parent
anchors.centerIn: parent
padding: 0
width: rootPane.width
Overlay.modal: Rectangle {
color: "#55000000"
}
Pane {
id: rootPane
width: rootLayout.width + leftPadding + rightPadding
padding: constants.paddingLarge
ColumnLayout {
id: rootLayout
width: dialog.parent.width * 2/3
RowLayout {
Image {
source: Qt.resolvedUrl('../../../icons/info.png')
Layout.preferredWidth: constants.iconSizeSmall
Layout.preferredHeight: constants.iconSizeSmall
}
Label {
text: dialog.heading
font.underline: true
font.italic: true
}
}
TextArea {
id: message
Layout.fillWidth: true
readOnly: true
text: dialog.text
wrapMode: TextInput.WordWrap
textFormat: TextEdit.RichText
background: Rectangle {
color: 'transparent'
}
}
}
}
}

View File

@@ -361,6 +361,14 @@ ApplicationWindow
}
}
property alias helpDialog: _helpDialog
Component {
id: _helpDialog
HelpDialog {
onClosed: destroy()
}
}
property alias passwordDialog: _passwordDialog
Component {
id: _passwordDialog