add simple internal notification popup,
refactor MessageDialog
This commit is contained in:
61
electrum/gui/qml/components/MessageDialog.qml
Normal file
61
electrum/gui/qml/components/MessageDialog.qml
Normal file
@@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
57
electrum/gui/qml/components/NotificationPopup.qml
Normal file
57
electrum/gui/qml/components/NotificationPopup.qml
Normal file
@@ -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()
|
||||
}
|
||||
}
|
||||
@@ -169,62 +169,13 @@ ApplicationWindow
|
||||
property alias messageDialog: _messageDialog
|
||||
Component {
|
||||
id: _messageDialog
|
||||
Dialog {
|
||||
id: dialog
|
||||
title: qsTr("Message")
|
||||
MessageDialog {}
|
||||
}
|
||||
|
||||
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()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
property alias notificationPopup: _notificationPopup
|
||||
Component {
|
||||
id: _notificationPopup
|
||||
NotificationPopup {}
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
|
||||
Reference in New Issue
Block a user