From be1f63f93d8f47f3af29722281282c82727856f4 Mon Sep 17 00:00:00 2001 From: xiphon Date: Thu, 24 Sep 2020 14:08:33 +0000 Subject: [PATCH] PasswordDialog: configurable Ok btn text/icon, non-primary Cancel Co-authored-by: rating89us <45968869+rating89us@users.noreply.github.com> --- components/PasswordDialog.qml | 11 +++++++++-- components/StandardButton.qml | 15 ++++++++++++++- main.qml | 8 +++++++- 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/components/PasswordDialog.qml b/components/PasswordDialog.qml index 10a10954..977ec3a4 100644 --- a/components/PasswordDialog.qml +++ b/components/PasswordDialog.qml @@ -44,6 +44,8 @@ Item { property alias password: passwordInput1.text property string walletName + property var okButtonText + property string okButtonIcon property string errorText property bool passwordDialogMode property bool passphraseDialogMode @@ -75,10 +77,12 @@ Item { appWindow.updateBalance(); } - function open(walletName, errorText) { + function open(walletName, errorText, okButtonText, okButtonIcon) { passwordDialogMode = true; passphraseDialogMode = false; newPasswordDialogMode = false; + root.okButtonText = okButtonText; + root.okButtonIcon = okButtonIcon ? okButtonIcon : ""; _openInit(walletName, errorText); } @@ -274,6 +278,7 @@ Item { MoneroComponents.StandardButton { id: cancelButton + primary: false small: true text: qsTr("Cancel") + translationManager.emptyString KeyNavigation.tab: passwordInput1 @@ -282,8 +287,10 @@ Item { MoneroComponents.StandardButton { id: okButton + fontAwesomeIcon: true + rightIcon: okButtonIcon small: true - text: qsTr("Ok") + translationManager.emptyString + text: okButtonText ? okButtonText : qsTr("Ok") + translationManager.emptyString KeyNavigation.tab: cancelButton enabled: (passwordDialogMode == true) ? true : passwordInput1.text === passwordInput2.text onClicked: onOk() diff --git a/components/StandardButton.qml b/components/StandardButton.qml index 5b4e2279..c69adb29 100644 --- a/components/StandardButton.qml +++ b/components/StandardButton.qml @@ -29,10 +29,13 @@ import QtQuick 2.9 import QtQuick.Layouts 1.1 +import FontAwesome 1.0 + import "../components" as MoneroComponents Item { id: button + property bool fontAwesomeIcon: false property bool primary: true property string rightIcon: "" property string rightIconInactive: "" @@ -135,7 +138,7 @@ Item { } Image { - visible: button.rightIcon !== "" + visible: !fontAwesomeIcon && button.rightIcon !== "" Layout.alignment: Qt.AlignVCenter | Qt.AlignRight width: button.small ? 16 : 20 height: button.small ? 16 : 20 @@ -146,6 +149,16 @@ Item { return button.rightIcon; } } + + Text { + Layout.alignment: Qt.AlignVCenter | Qt.AlignRight + color: MoneroComponents.Style.defaultFontColor + font.family: FontAwesome.fontFamilySolid + font.pixelSize: button.small ? 16 : 20 + font.styleName: "Solid" + text: button.rightIcon + visible: fontAwesomeIcon && button.rightIcon !== "" + } } MouseArea { diff --git a/main.qml b/main.qml index 1e273ab5..2b6c9ea6 100644 --- a/main.qml +++ b/main.qml @@ -33,6 +33,8 @@ import QtQuick.Controls.Styles 1.1 import QtQuick.Dialogs 1.2 import QtGraphicalEffects 1.0 +import FontAwesome 1.0 + import moneroComponents.Network 1.0 import moneroComponents.Wallet 1.0 import moneroComponents.WalletManager 1.0 @@ -1487,7 +1489,11 @@ ApplicationWindow { if(!persistentSettings.askPasswordBeforeSending) { handleAccepted() } else { - passwordDialog.open() + passwordDialog.open( + "", + "", + (appWindow.viewOnly ? qsTr("Save transaction file") : qsTr("Send transaction")) + translationManager.emptyString, + appWindow.viewOnly ? "" : FontAwesome.arrowCircleRight); } } }