main: blur on PasswordDialog, InputDialog or ProcessingSplash

This commit is contained in:
xiphon 2019-12-13 17:26:04 +00:00
parent 98279f54fb
commit 3e07ecabf9
4 changed files with 99 additions and 95 deletions

View file

@ -53,11 +53,9 @@ Window {
signal rejected() signal rejected()
onClosing: { onClosing: {
inactiveOverlay.visible = false;
} }
function open() { function open() {
inactiveOverlay.visible = true;
show(); show();
} }

View file

@ -46,7 +46,6 @@ Item {
signal rejected() signal rejected()
function open(prepopulate) { function open(prepopulate) {
inactiveOverlay.visible = true
leftPanel.enabled = false leftPanel.enabled = false
middlePanel.enabled = false middlePanel.enabled = false
titleBar.state = "essentials" titleBar.state = "essentials"
@ -56,7 +55,6 @@ Item {
} }
function close() { function close() {
inactiveOverlay.visible = false
leftPanel.enabled = true leftPanel.enabled = true
middlePanel.enabled = true middlePanel.enabled = true
titleBar.state = "default" titleBar.state = "default"

View file

@ -68,7 +68,6 @@ Item {
passwordInput1.text = "" passwordInput1.text = ""
passwordInput2.text = "" passwordInput2.text = ""
passwordInput1.forceActiveFocus(); passwordInput1.forceActiveFocus();
inactiveOverlay.visible = true // draw appwindow inactive
root.walletName = walletName ? walletName : "" root.walletName = walletName ? walletName : ""
errorTextLabel.text = errorText ? errorText : ""; errorTextLabel.text = errorText ? errorText : "";
leftPanel.enabled = false leftPanel.enabled = false
@ -106,7 +105,6 @@ Item {
} }
function close() { function close() {
inactiveOverlay.visible = false
leftPanel.enabled = true leftPanel.enabled = true
middlePanel.enabled = true middlePanel.enabled = true
wizard.enabled = true wizard.enabled = true
@ -125,7 +123,6 @@ Item {
} }
ColumnLayout { ColumnLayout {
z: inactiveOverlay.z + 1
id: mainLayout id: mainLayout
spacing: 10 spacing: 10
anchors { fill: parent; margins: 35 } anchors { fill: parent; margins: 35 }

View file

@ -31,6 +31,7 @@ import QtQuick.Window 2.0
import QtQuick.Controls 1.1 import QtQuick.Controls 1.1
import QtQuick.Controls.Styles 1.1 import QtQuick.Controls.Styles 1.1
import QtQuick.Dialogs 1.2 import QtQuick.Dialogs 1.2
import QtGraphicalEffects 1.0
import moneroComponents.Wallet 1.0 import moneroComponents.Wallet 1.0
import moneroComponents.PendingTransaction 1.0 import moneroComponents.PendingTransaction 1.0
@ -1089,7 +1090,6 @@ ApplicationWindow {
leftPanel.enabled = false; leftPanel.enabled = false;
middlePanel.enabled = false; middlePanel.enabled = false;
titleBar.enabled = false; titleBar.enabled = false;
inactiveOverlay.visible = true;
splash.show(); splash.show();
} }
@ -1101,7 +1101,6 @@ ApplicationWindow {
leftPanel.enabled = true leftPanel.enabled = true
middlePanel.enabled = true middlePanel.enabled = true
titleBar.enabled = true titleBar.enabled = true
inactiveOverlay.visible = false;
} }
} }
@ -1585,6 +1584,10 @@ ApplicationWindow {
} }
] ]
Item {
id: blurredArea
anchors.fill: parent
LeftPanel { LeftPanel {
id: leftPanel id: leftPanel
anchors.top: parent.top anchors.top: parent.top
@ -1666,7 +1669,6 @@ ApplicationWindow {
} }
} }
MiddlePanel { MiddlePanel {
id: middlePanel id: middlePanel
accountView.currentAccountIndex: currentWallet ? currentWallet.currentSubaddressAccount : 0 accountView.currentAccountIndex: currentWallet ? currentWallet.currentSubaddressAccount : 0
@ -1676,6 +1678,15 @@ ApplicationWindow {
anchors.right: parent.right anchors.right: parent.right
state: "Transfer" state: "Transfer"
} }
}
FastBlur {
id: blur
anchors.fill: blurredArea
source: blurredArea
radius: 64
visible: passwordDialog.visible || inputDialog.visible || splash.visible
}
WizardController { WizardController {
id: wizard id: wizard
@ -2094,11 +2105,11 @@ ApplicationWindow {
Rectangle { Rectangle {
id: inactiveOverlay id: inactiveOverlay
visible: false visible: blur.visible
anchors.fill: parent anchors.fill: parent
anchors.topMargin: titleBar.height anchors.topMargin: titleBar.height
color: MoneroComponents.Style.blackTheme ? "black" : "white" color: MoneroComponents.Style.blackTheme ? "black" : "white"
opacity: MoneroComponents.Style.blackTheme ? 0.8 : 0.9 opacity: isOpenGL ? 0.3 : inputDialog.visible || splash.visible ? 0.7 : 1.0
MoneroEffects.ColorTransition { MoneroEffects.ColorTransition {
targetObj: parent targetObj: parent