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:
@@ -10,9 +10,9 @@
|
||||
#include "bitcoinunits.h"
|
||||
#include "guiutil.h"
|
||||
#include "optionsmodel.h"
|
||||
#include "platformstyle.h"
|
||||
#include "receiverequestdialog.h"
|
||||
#include "recentrequeststablemodel.h"
|
||||
#include "scicon.h"
|
||||
#include "walletmodel.h"
|
||||
|
||||
#include <QAction>
|
||||
@@ -22,24 +22,25 @@
|
||||
#include <QScrollBar>
|
||||
#include <QTextDocument>
|
||||
|
||||
ReceiveCoinsDialog::ReceiveCoinsDialog(QWidget *parent) :
|
||||
ReceiveCoinsDialog::ReceiveCoinsDialog(const PlatformStyle *platformStyle, QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::ReceiveCoinsDialog),
|
||||
model(0)
|
||||
model(0),
|
||||
platformStyle(platformStyle)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
#ifdef Q_OS_MAC // Icons on push buttons are very uncommon on Mac
|
||||
ui->clearButton->setIcon(QIcon());
|
||||
ui->receiveButton->setIcon(QIcon());
|
||||
ui->showRequestButton->setIcon(QIcon());
|
||||
ui->removeRequestButton->setIcon(QIcon());
|
||||
#else
|
||||
ui->clearButton->setIcon(SingleColorIcon(":/icons/remove"));
|
||||
ui->receiveButton->setIcon(SingleColorIcon(":/icons/receiving_addresses"));
|
||||
ui->showRequestButton->setIcon(SingleColorIcon(":/icons/edit"));
|
||||
ui->removeRequestButton->setIcon(SingleColorIcon(":/icons/remove"));
|
||||
#endif
|
||||
if (!platformStyle->getImagesOnButtons()) {
|
||||
ui->clearButton->setIcon(QIcon());
|
||||
ui->receiveButton->setIcon(QIcon());
|
||||
ui->showRequestButton->setIcon(QIcon());
|
||||
ui->removeRequestButton->setIcon(QIcon());
|
||||
} else {
|
||||
ui->clearButton->setIcon(platformStyle->SingleColorIcon(":/icons/remove"));
|
||||
ui->receiveButton->setIcon(platformStyle->SingleColorIcon(":/icons/receiving_addresses"));
|
||||
ui->showRequestButton->setIcon(platformStyle->SingleColorIcon(":/icons/edit"));
|
||||
ui->removeRequestButton->setIcon(platformStyle->SingleColorIcon(":/icons/remove"));
|
||||
}
|
||||
|
||||
// context menu actions
|
||||
QAction *copyLabelAction = new QAction(tr("Copy label"), this);
|
||||
@@ -132,7 +133,7 @@ void ReceiveCoinsDialog::on_receiveButton_clicked()
|
||||
if(ui->reuseAddress->isChecked())
|
||||
{
|
||||
/* Choose existing receiving address */
|
||||
AddressBookPage dlg(AddressBookPage::ForSelection, AddressBookPage::ReceivingTab, this);
|
||||
AddressBookPage dlg(platformStyle, AddressBookPage::ForSelection, AddressBookPage::ReceivingTab, this);
|
||||
dlg.setModel(model->getAddressTableModel());
|
||||
if(dlg.exec())
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user