From a44f8d9b3b40ba7f769984a4bd222aa21da97418 Mon Sep 17 00:00:00 2001 From: Sander van Grieken Date: Thu, 30 Jun 2022 10:12:04 +0200 Subject: [PATCH] create new wallet name suggestion and pre-select and focus the textfield --- .../gui/qml/components/wizard/WCWalletName.qml | 9 +++++++++ electrum/gui/qml/qedaemon.py | 14 ++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/electrum/gui/qml/components/wizard/WCWalletName.qml b/electrum/gui/qml/components/wizard/WCWalletName.qml index c83d25fe4..6fd14dcfa 100644 --- a/electrum/gui/qml/components/wizard/WCWalletName.qml +++ b/electrum/gui/qml/components/wizard/WCWalletName.qml @@ -1,6 +1,9 @@ +import QtQuick 2.6 import QtQuick.Layouts 1.0 import QtQuick.Controls 2.1 +import org.electrum 1.0 + WizardComponent { valid: wallet_name.text.length > 0 @@ -13,6 +16,12 @@ WizardComponent { Label { text: qsTr('Wallet name') } TextField { id: wallet_name + focus: true + text: Daemon.suggestWalletName() } } + + Component.onCompleted: { + wallet_name.selectAll() + } } diff --git a/electrum/gui/qml/qedaemon.py b/electrum/gui/qml/qedaemon.py index c531a5df4..958bd88ca 100644 --- a/electrum/gui/qml/qedaemon.py +++ b/electrum/gui/qml/qedaemon.py @@ -85,6 +85,12 @@ class QEAvailableWalletListModel(QEWalletListModel): wallet = self.daemon.get_wallet(path) self.add_wallet(wallet_path = path, wallet = wallet) + def wallet_name_exists(self, name): + for wallet_name, wallet_path, wallet in self.wallets: + if name == wallet_name: + return True + return False + class QEDaemon(AuthMixin, QObject): def __init__(self, daemon, parent=None): super().__init__(parent) @@ -181,3 +187,11 @@ class QEDaemon(AuthMixin, QObject): @pyqtProperty(QEFX, notify=fxChanged) def fx(self): return self.qefx + + @pyqtSlot(result=str) + def suggestWalletName(self): + i = 1 + while self.availableWallets.wallet_name_exists(f'wallet_{i}'): + i = i + 1 + return f'wallet_{i}' +