diff --git a/components/DaemonConsole.qml b/components/DaemonConsole.qml index 20e14fe4..b7a58527 100644 --- a/components/DaemonConsole.qml +++ b/components/DaemonConsole.qml @@ -53,11 +53,9 @@ Window { signal rejected() onClosing: { - inactiveOverlay.visible = false; } function open() { - inactiveOverlay.visible = true; show(); } diff --git a/components/InputDialog.qml b/components/InputDialog.qml index 0bd2c5f4..6267708c 100644 --- a/components/InputDialog.qml +++ b/components/InputDialog.qml @@ -46,7 +46,6 @@ Item { signal rejected() function open(prepopulate) { - inactiveOverlay.visible = true leftPanel.enabled = false middlePanel.enabled = false titleBar.state = "essentials" @@ -56,7 +55,6 @@ Item { } function close() { - inactiveOverlay.visible = false leftPanel.enabled = true middlePanel.enabled = true titleBar.state = "default" diff --git a/components/PasswordDialog.qml b/components/PasswordDialog.qml index 587d484e..964ab9a6 100644 --- a/components/PasswordDialog.qml +++ b/components/PasswordDialog.qml @@ -68,7 +68,6 @@ Item { passwordInput1.text = "" passwordInput2.text = "" passwordInput1.forceActiveFocus(); - inactiveOverlay.visible = true // draw appwindow inactive root.walletName = walletName ? walletName : "" errorTextLabel.text = errorText ? errorText : ""; leftPanel.enabled = false @@ -106,7 +105,6 @@ Item { } function close() { - inactiveOverlay.visible = false leftPanel.enabled = true middlePanel.enabled = true wizard.enabled = true @@ -125,7 +123,6 @@ Item { } ColumnLayout { - z: inactiveOverlay.z + 1 id: mainLayout spacing: 10 anchors { fill: parent; margins: 35 } diff --git a/main.qml b/main.qml index 2736cd3f..997c3511 100644 --- a/main.qml +++ b/main.qml @@ -31,6 +31,7 @@ import QtQuick.Window 2.0 import QtQuick.Controls 1.1 import QtQuick.Controls.Styles 1.1 import QtQuick.Dialogs 1.2 +import QtGraphicalEffects 1.0 import moneroComponents.Wallet 1.0 import moneroComponents.PendingTransaction 1.0 @@ -1089,7 +1090,6 @@ ApplicationWindow { leftPanel.enabled = false; middlePanel.enabled = false; titleBar.enabled = false; - inactiveOverlay.visible = true; splash.show(); } @@ -1101,7 +1101,6 @@ ApplicationWindow { leftPanel.enabled = true middlePanel.enabled = true titleBar.enabled = true - inactiveOverlay.visible = false; } } @@ -1585,96 +1584,108 @@ ApplicationWindow { } ] - LeftPanel { - id: leftPanel - anchors.top: parent.top - anchors.left: parent.left - anchors.bottom: parent.bottom - visible: rootItem.state == "normal" && middlePanel.state != "Merchant" - currentAccountIndex: currentWallet ? currentWallet.currentSubaddressAccount : 0 - currentAccountLabel: { - if (currentWallet) { - return currentWallet.getSubaddressLabel(currentWallet.currentSubaddressAccount, 0); + Item { + id: blurredArea + anchors.fill: parent + + LeftPanel { + id: leftPanel + anchors.top: parent.top + anchors.left: parent.left + anchors.bottom: parent.bottom + visible: rootItem.state == "normal" && middlePanel.state != "Merchant" + currentAccountIndex: currentWallet ? currentWallet.currentSubaddressAccount : 0 + currentAccountLabel: { + if (currentWallet) { + return currentWallet.getSubaddressLabel(currentWallet.currentSubaddressAccount, 0); + } + return qsTr("Primary account") + translationManager.emptyString; + } + + onTransferClicked: { + middlePanel.state = "Transfer"; + middlePanel.flickable.contentY = 0; + updateBalance(); + } + + onReceiveClicked: { + middlePanel.state = "Receive"; + middlePanel.flickable.contentY = 0; + updateBalance(); + } + + onMerchantClicked: { + middlePanel.state = "Merchant"; + middlePanel.flickable.contentY = 0; + updateBalance(); + } + + onTxkeyClicked: { + middlePanel.state = "TxKey"; + middlePanel.flickable.contentY = 0; + updateBalance(); + } + + onSharedringdbClicked: { + middlePanel.state = "SharedRingDB"; + middlePanel.flickable.contentY = 0; + updateBalance(); + } + + onHistoryClicked: { + middlePanel.state = "History"; + middlePanel.flickable.contentY = 0; + updateBalance(); + } + + onAddressBookClicked: { + middlePanel.state = "AddressBook"; + middlePanel.flickable.contentY = 0; + updateBalance(); + } + + onMiningClicked: { + middlePanel.state = "Mining"; + middlePanel.flickable.contentY = 0; + updateBalance(); + } + + onSignClicked: { + middlePanel.state = "Sign"; + middlePanel.flickable.contentY = 0; + updateBalance(); + } + + onSettingsClicked: { + middlePanel.state = "Settings"; + middlePanel.flickable.contentY = 0; + updateBalance(); + } + + onAccountClicked: { + middlePanel.state = "Account"; + middlePanel.flickable.contentY = 0; + updateBalance(); } - return qsTr("Primary account") + translationManager.emptyString; } - onTransferClicked: { - middlePanel.state = "Transfer"; - middlePanel.flickable.contentY = 0; - updateBalance(); - } - - onReceiveClicked: { - middlePanel.state = "Receive"; - middlePanel.flickable.contentY = 0; - updateBalance(); - } - - onMerchantClicked: { - middlePanel.state = "Merchant"; - middlePanel.flickable.contentY = 0; - updateBalance(); - } - - onTxkeyClicked: { - middlePanel.state = "TxKey"; - middlePanel.flickable.contentY = 0; - updateBalance(); - } - - onSharedringdbClicked: { - middlePanel.state = "SharedRingDB"; - middlePanel.flickable.contentY = 0; - updateBalance(); - } - - onHistoryClicked: { - middlePanel.state = "History"; - middlePanel.flickable.contentY = 0; - updateBalance(); - } - - onAddressBookClicked: { - middlePanel.state = "AddressBook"; - middlePanel.flickable.contentY = 0; - updateBalance(); - } - - onMiningClicked: { - middlePanel.state = "Mining"; - middlePanel.flickable.contentY = 0; - updateBalance(); - } - - onSignClicked: { - middlePanel.state = "Sign"; - middlePanel.flickable.contentY = 0; - updateBalance(); - } - - onSettingsClicked: { - middlePanel.state = "Settings"; - middlePanel.flickable.contentY = 0; - updateBalance(); - } - - onAccountClicked: { - middlePanel.state = "Account"; - middlePanel.flickable.contentY = 0; - updateBalance(); + MiddlePanel { + id: middlePanel + accountView.currentAccountIndex: currentWallet ? currentWallet.currentSubaddressAccount : 0 + anchors.top: parent.top + anchors.bottom: parent.bottom + anchors.left: leftPanel.visible ? leftPanel.right : parent.left + anchors.right: parent.right + state: "Transfer" } } - - MiddlePanel { - id: middlePanel - accountView.currentAccountIndex: currentWallet ? currentWallet.currentSubaddressAccount : 0 - anchors.top: parent.top - anchors.bottom: parent.bottom - anchors.left: leftPanel.visible ? leftPanel.right : parent.left - anchors.right: parent.right - state: "Transfer" + FastBlur { + id: blur + anchors.fill: blurredArea + source: blurredArea + radius: 64 + visible: passwordDialog.visible || inputDialog.visible || splash.visible } WizardController { @@ -2094,11 +2105,11 @@ ApplicationWindow { Rectangle { id: inactiveOverlay - visible: false + visible: blur.visible anchors.fill: parent anchors.topMargin: titleBar.height 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 { targetObj: parent