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