From 58c9b50a952951cb326c99ba86cb706a1e7d533e Mon Sep 17 00:00:00 2001 From: pablomartin4btc Date: Wed, 13 Sep 2023 15:01:38 -0300 Subject: [PATCH] gui: Add wallet name to address book page Extend addresstablemodel to return the display name from the wallet and set it to the addressbookpage window title when its model is set. --- src/qt/addressbookpage.cpp | 26 +++++++++++++++----------- src/qt/addressbookpage.h | 1 + src/qt/addresstablemodel.cpp | 2 ++ src/qt/addresstablemodel.h | 2 ++ 4 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/qt/addressbookpage.cpp b/src/qt/addressbookpage.cpp index b888fc43e28..05e58191fce 100644 --- a/src/qt/addressbookpage.cpp +++ b/src/qt/addressbookpage.cpp @@ -81,9 +81,7 @@ AddressBookPage::AddressBookPage(const PlatformStyle *platformStyle, Mode _mode, ui->exportButton->setIcon(platformStyle->SingleColorIcon(":/icons/export")); } - switch(mode) - { - case ForSelection: + if (mode == ForSelection) { switch(tab) { case SendingTab: setWindowTitle(tr("Choose the address to send coins to")); break; @@ -94,14 +92,6 @@ AddressBookPage::AddressBookPage(const PlatformStyle *platformStyle, Mode _mode, ui->tableView->setFocus(); ui->closeButton->setText(tr("C&hoose")); ui->exportButton->hide(); - break; - case ForEditing: - switch(tab) - { - case SendingTab: setWindowTitle(tr("Sending addresses")); break; - case ReceivingTab: setWindowTitle(tr("Receiving addresses")); break; - } - break; } switch(tab) { @@ -164,6 +154,7 @@ void AddressBookPage::setModel(AddressTableModel *_model) connect(_model, &AddressTableModel::rowsInserted, this, &AddressBookPage::selectNewAddress); selectionChanged(); + this->updateWindowsTitleWithWalletName(); } void AddressBookPage::on_copyAddress_clicked() @@ -328,3 +319,16 @@ void AddressBookPage::selectNewAddress(const QModelIndex &parent, int begin, int newAddressToSelect.clear(); } } + +void AddressBookPage::updateWindowsTitleWithWalletName() +{ + const QString walletName = this->model->GetWalletDisplayName(); + + if (mode == ForEditing) { + switch(tab) + { + case SendingTab: setWindowTitle(tr("Sending addresses - %1").arg(walletName)); break; + case ReceivingTab: setWindowTitle(tr("Receiving addresses - %1").arg(walletName)); break; + } + } +} diff --git a/src/qt/addressbookpage.h b/src/qt/addressbookpage.h index 283209d00c7..b649da4ac8f 100644 --- a/src/qt/addressbookpage.h +++ b/src/qt/addressbookpage.h @@ -56,6 +56,7 @@ private: AddressBookSortFilterProxyModel *proxyModel; QMenu *contextMenu; QString newAddressToSelect; + void updateWindowsTitleWithWalletName(); private Q_SLOTS: /** Delete currently selected address entry */ diff --git a/src/qt/addresstablemodel.cpp b/src/qt/addresstablemodel.cpp index e4689e43893..c52ef7cd67d 100644 --- a/src/qt/addresstablemodel.cpp +++ b/src/qt/addresstablemodel.cpp @@ -451,3 +451,5 @@ void AddressTableModel::emitDataChanged(int idx) { Q_EMIT dataChanged(index(idx, 0, QModelIndex()), index(idx, columns.length()-1, QModelIndex())); } + +QString AddressTableModel::GetWalletDisplayName() const { return walletModel->getDisplayName(); }; diff --git a/src/qt/addresstablemodel.h b/src/qt/addresstablemodel.h index 599aa89cadd..44808364ec9 100644 --- a/src/qt/addresstablemodel.h +++ b/src/qt/addresstablemodel.h @@ -87,6 +87,8 @@ public: OutputType GetDefaultAddressType() const; + QString GetWalletDisplayName() const; + private: WalletModel* const walletModel; AddressTablePriv *priv = nullptr;