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