qt: Introduce PlatformStyle
Introduce a PlatformStyle to handle platform-specific customization of the UI. This replaces 'scicon', as well as #ifdefs to determine whether to place icons on buttons. The selected PlatformStyle defaults to the platform that the application was compiled on, but can be overridden from the command line with `-uiplatform=<x>`. Also fixes the warning from #6328.
This commit is contained in:
@@ -11,8 +11,8 @@
|
||||
#include "guiutil.h"
|
||||
#include "optionsmodel.h"
|
||||
#include "overviewpage.h"
|
||||
#include "platformstyle.h"
|
||||
#include "receivecoinsdialog.h"
|
||||
#include "scicon.h"
|
||||
#include "sendcoinsdialog.h"
|
||||
#include "signverifymessagedialog.h"
|
||||
#include "transactiontablemodel.h"
|
||||
@@ -29,31 +29,32 @@
|
||||
#include <QPushButton>
|
||||
#include <QVBoxLayout>
|
||||
|
||||
WalletView::WalletView(QWidget *parent):
|
||||
WalletView::WalletView(const PlatformStyle *platformStyle, QWidget *parent):
|
||||
QStackedWidget(parent),
|
||||
clientModel(0),
|
||||
walletModel(0)
|
||||
walletModel(0),
|
||||
platformStyle(platformStyle)
|
||||
{
|
||||
// Create tabs
|
||||
overviewPage = new OverviewPage();
|
||||
overviewPage = new OverviewPage(platformStyle);
|
||||
|
||||
transactionsPage = new QWidget(this);
|
||||
QVBoxLayout *vbox = new QVBoxLayout();
|
||||
QHBoxLayout *hbox_buttons = new QHBoxLayout();
|
||||
transactionView = new TransactionView(this);
|
||||
transactionView = new TransactionView(platformStyle, this);
|
||||
vbox->addWidget(transactionView);
|
||||
QPushButton *exportButton = new QPushButton(tr("&Export"), this);
|
||||
exportButton->setToolTip(tr("Export the data in the current tab to a file"));
|
||||
#ifndef Q_OS_MAC // Icons on push buttons are very uncommon on Mac
|
||||
exportButton->setIcon(SingleColorIcon(":/icons/export"));
|
||||
#endif
|
||||
if (platformStyle->getImagesOnButtons()) {
|
||||
exportButton->setIcon(platformStyle->SingleColorIcon(":/icons/export"));
|
||||
}
|
||||
hbox_buttons->addStretch();
|
||||
hbox_buttons->addWidget(exportButton);
|
||||
vbox->addLayout(hbox_buttons);
|
||||
transactionsPage->setLayout(vbox);
|
||||
|
||||
receiveCoinsPage = new ReceiveCoinsDialog();
|
||||
sendCoinsPage = new SendCoinsDialog();
|
||||
receiveCoinsPage = new ReceiveCoinsDialog(platformStyle);
|
||||
sendCoinsPage = new SendCoinsDialog(platformStyle);
|
||||
|
||||
addWidget(overviewPage);
|
||||
addWidget(transactionsPage);
|
||||
@@ -182,7 +183,7 @@ void WalletView::gotoSendCoinsPage(QString addr)
|
||||
void WalletView::gotoSignMessageTab(QString addr)
|
||||
{
|
||||
// calls show() in showTab_SM()
|
||||
SignVerifyMessageDialog *signVerifyMessageDialog = new SignVerifyMessageDialog(this);
|
||||
SignVerifyMessageDialog *signVerifyMessageDialog = new SignVerifyMessageDialog(platformStyle, this);
|
||||
signVerifyMessageDialog->setAttribute(Qt::WA_DeleteOnClose);
|
||||
signVerifyMessageDialog->setModel(walletModel);
|
||||
signVerifyMessageDialog->showTab_SM(true);
|
||||
@@ -194,7 +195,7 @@ void WalletView::gotoSignMessageTab(QString addr)
|
||||
void WalletView::gotoVerifyMessageTab(QString addr)
|
||||
{
|
||||
// calls show() in showTab_VM()
|
||||
SignVerifyMessageDialog *signVerifyMessageDialog = new SignVerifyMessageDialog(this);
|
||||
SignVerifyMessageDialog *signVerifyMessageDialog = new SignVerifyMessageDialog(platformStyle, this);
|
||||
signVerifyMessageDialog->setAttribute(Qt::WA_DeleteOnClose);
|
||||
signVerifyMessageDialog->setModel(walletModel);
|
||||
signVerifyMessageDialog->showTab_VM(true);
|
||||
@@ -272,7 +273,7 @@ void WalletView::usedSendingAddresses()
|
||||
{
|
||||
if(!walletModel)
|
||||
return;
|
||||
AddressBookPage *dlg = new AddressBookPage(AddressBookPage::ForEditing, AddressBookPage::SendingTab, this);
|
||||
AddressBookPage *dlg = new AddressBookPage(platformStyle, AddressBookPage::ForEditing, AddressBookPage::SendingTab, this);
|
||||
dlg->setAttribute(Qt::WA_DeleteOnClose);
|
||||
dlg->setModel(walletModel->getAddressTableModel());
|
||||
dlg->show();
|
||||
@@ -282,7 +283,7 @@ void WalletView::usedReceivingAddresses()
|
||||
{
|
||||
if(!walletModel)
|
||||
return;
|
||||
AddressBookPage *dlg = new AddressBookPage(AddressBookPage::ForEditing, AddressBookPage::ReceivingTab, this);
|
||||
AddressBookPage *dlg = new AddressBookPage(platformStyle, AddressBookPage::ForEditing, AddressBookPage::ReceivingTab, this);
|
||||
dlg->setAttribute(Qt::WA_DeleteOnClose);
|
||||
dlg->setModel(walletModel->getAddressTableModel());
|
||||
dlg->show();
|
||||
|
||||
Reference in New Issue
Block a user