Sander van Grieken
3 years ago
3 changed files with 124 additions and 55 deletions
@ -0,0 +1,61 @@ |
|||
import QtQuick 2.6 |
|||
import QtQuick.Layouts 1.0 |
|||
import QtQuick.Controls 2.3 |
|||
import QtQuick.Controls.Material 2.0 |
|||
|
|||
Dialog { |
|||
id: dialog |
|||
title: qsTr("Message") |
|||
|
|||
property bool yesno: false |
|||
property alias text: message.text |
|||
|
|||
signal yesClicked |
|||
signal noClicked |
|||
|
|||
parent: Overlay.overlay |
|||
modal: true |
|||
x: (parent.width - width) / 2 |
|||
y: (parent.height - height) / 2 |
|||
Overlay.modal: Rectangle { |
|||
color: "#aa000000" |
|||
} |
|||
|
|||
ColumnLayout { |
|||
TextArea { |
|||
id: message |
|||
Layout.preferredWidth: Overlay.overlay.width *2/3 |
|||
readOnly: true |
|||
wrapMode: TextInput.WordWrap |
|||
//textFormat: TextEdit.RichText // existing translations not richtext yet |
|||
background: Rectangle { |
|||
color: 'transparent' |
|||
} |
|||
} |
|||
|
|||
RowLayout { |
|||
Layout.alignment: Qt.AlignHCenter |
|||
Button { |
|||
text: qsTr('Ok') |
|||
visible: !yesno |
|||
onClicked: dialog.close() |
|||
} |
|||
Button { |
|||
text: qsTr('Yes') |
|||
visible: yesno |
|||
onClicked: { |
|||
yesClicked() |
|||
dialog.close() |
|||
} |
|||
} |
|||
Button { |
|||
text: qsTr('No') |
|||
visible: yesno |
|||
onClicked: { |
|||
noClicked() |
|||
dialog.close() |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,57 @@ |
|||
import QtQuick 2.6 |
|||
import QtQuick.Layouts 1.0 |
|||
import QtQuick.Controls 2.3 |
|||
import QtQuick.Controls.Material 2.0 |
|||
|
|||
Rectangle { |
|||
id: root |
|||
|
|||
property alias text: textItem.text |
|||
|
|||
property bool hide: true |
|||
|
|||
color: Qt.lighter(Material.background, 1.5) |
|||
radius: constants.paddingXLarge |
|||
|
|||
width: root.parent.width * 2/3 |
|||
height: layout.height |
|||
x: (root.parent.width - width) / 2 |
|||
y: -height |
|||
|
|||
states: [ |
|||
State { |
|||
name: 'expanded'; when: !hide |
|||
PropertyChanges { target: root; y: 100 } |
|||
} |
|||
] |
|||
|
|||
transitions: [ |
|||
Transition { |
|||
from: ''; to: 'expanded'; reversible: true |
|||
NumberAnimation { properties: 'y'; duration: 300; easing.type: Easing.InOutQuad } |
|||
} |
|||
] |
|||
|
|||
RowLayout { |
|||
id: layout |
|||
width: parent.width |
|||
Text { |
|||
id: textItem |
|||
Layout.alignment: Qt.AlignHCenter |
|||
font.pixelSize: constants.fontSizeLarge |
|||
color: Material.foreground |
|||
} |
|||
} |
|||
|
|||
Timer { |
|||
id: closetimer |
|||
interval: 5000 |
|||
repeat: false |
|||
onTriggered: hide = true |
|||
} |
|||
|
|||
Component.onCompleted: { |
|||
hide = false |
|||
closetimer.start() |
|||
} |
|||
} |
Loading…
Reference in new issue