Qt: Add a combobox to toolbar to select from multiple wallets
This commit is contained in:
parent
3dba3c3ac1
commit
e449f9a9e6
2 changed files with 30 additions and 1 deletions
|
@ -36,6 +36,7 @@
|
|||
|
||||
#include <QAction>
|
||||
#include <QApplication>
|
||||
#include <QComboBox>
|
||||
#include <QDateTime>
|
||||
#include <QDesktopWidget>
|
||||
#include <QDragEnterEvent>
|
||||
|
@ -459,6 +460,23 @@ void BitcoinGUI::createToolBars()
|
|||
toolbar->addAction(receiveCoinsAction);
|
||||
toolbar->addAction(historyAction);
|
||||
overviewAction->setChecked(true);
|
||||
|
||||
#ifdef ENABLE_WALLET
|
||||
QWidget *spacer = new QWidget();
|
||||
spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||
toolbar->addWidget(spacer);
|
||||
|
||||
m_wallet_selector_label = new QLabel();
|
||||
m_wallet_selector_label->setText(tr("Wallet:") + " ");
|
||||
toolbar->addWidget(m_wallet_selector_label);
|
||||
m_wallet_selector_label->setVisible(false);
|
||||
m_wallet_selector = new QComboBox();
|
||||
toolbar->addWidget(m_wallet_selector);
|
||||
m_wallet_selector->setVisible(false);
|
||||
m_wallet_selector_label->setBuddy(m_wallet_selector);
|
||||
|
||||
connect(m_wallet_selector, SIGNAL(currentIndexChanged(const QString&)), this, SLOT(setCurrentWallet(const QString&)));
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -530,6 +548,11 @@ bool BitcoinGUI::addWallet(const QString& name, WalletModel *walletModel)
|
|||
if(!walletFrame)
|
||||
return false;
|
||||
setWalletActionsEnabled(true);
|
||||
m_wallet_selector->addItem(name);
|
||||
if (m_wallet_selector->count() == 2) {
|
||||
m_wallet_selector->setVisible(true);
|
||||
m_wallet_selector->setVisible(true);
|
||||
}
|
||||
return walletFrame->addWallet(name, walletModel);
|
||||
}
|
||||
|
||||
|
|
|
@ -33,6 +33,7 @@ class ModalOverlay;
|
|||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QAction;
|
||||
class QComboBox;
|
||||
class QProgressBar;
|
||||
class QProgressDialog;
|
||||
QT_END_NAMESPACE
|
||||
|
@ -62,7 +63,6 @@ public:
|
|||
functionality.
|
||||
*/
|
||||
bool addWallet(const QString& name, WalletModel *walletModel);
|
||||
bool setCurrentWallet(const QString& name);
|
||||
void removeAllWallets();
|
||||
#endif // ENABLE_WALLET
|
||||
bool enableWallet;
|
||||
|
@ -111,6 +111,9 @@ private:
|
|||
QAction *openAction;
|
||||
QAction *showHelpMessageAction;
|
||||
|
||||
QLabel *m_wallet_selector_label;
|
||||
QComboBox *m_wallet_selector;
|
||||
|
||||
QSystemTrayIcon *trayIcon;
|
||||
QMenu *trayIconMenu;
|
||||
Notificator *notificator;
|
||||
|
@ -170,6 +173,9 @@ public Q_SLOTS:
|
|||
void message(const QString &title, const QString &message, unsigned int style, bool *ret = nullptr);
|
||||
|
||||
#ifdef ENABLE_WALLET
|
||||
bool setCurrentWallet(const QString& name);
|
||||
|
||||
private:
|
||||
/** Set the encryption status as shown in the UI.
|
||||
@param[in] status current encryption status
|
||||
@see WalletModel::EncryptionStatus
|
||||
|
|
Loading…
Reference in a new issue