Merge pull request #5493

9b7d3fb Adopt style colour for button icons (Luke Dashjr)
This commit is contained in:
Wladimir J. van der Laan 2014-12-27 19:15:58 +01:00
commit e5153095ea
No known key found for this signature in database
GPG Key ID: 74810B012346C9A6
18 changed files with 198 additions and 37 deletions

View File

@ -191,6 +191,7 @@ BITCOIN_QT_H = \
qt/receiverequestdialog.h \ qt/receiverequestdialog.h \
qt/recentrequeststablemodel.h \ qt/recentrequeststablemodel.h \
qt/rpcconsole.h \ qt/rpcconsole.h \
qt/scicon.h \
qt/sendcoinsdialog.h \ qt/sendcoinsdialog.h \
qt/sendcoinsentry.h \ qt/sendcoinsentry.h \
qt/signverifymessagedialog.h \ qt/signverifymessagedialog.h \
@ -277,6 +278,7 @@ BITCOIN_QT_CPP = \
qt/qvalidatedlineedit.cpp \ qt/qvalidatedlineedit.cpp \
qt/qvaluecombobox.cpp \ qt/qvaluecombobox.cpp \
qt/rpcconsole.cpp \ qt/rpcconsole.cpp \
qt/scicon.cpp \
qt/splashscreen.cpp \ qt/splashscreen.cpp \
qt/trafficgraphwidget.cpp \ qt/trafficgraphwidget.cpp \
qt/utilitydialog.cpp \ qt/utilitydialog.cpp \

View File

@ -14,6 +14,7 @@
#include "csvmodelwriter.h" #include "csvmodelwriter.h"
#include "editaddressdialog.h" #include "editaddressdialog.h"
#include "guiutil.h" #include "guiutil.h"
#include "scicon.h"
#include <QIcon> #include <QIcon>
#include <QMenu> #include <QMenu>
@ -34,6 +35,11 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) :
ui->copyAddress->setIcon(QIcon()); ui->copyAddress->setIcon(QIcon());
ui->deleteAddress->setIcon(QIcon()); ui->deleteAddress->setIcon(QIcon());
ui->exportButton->setIcon(QIcon()); ui->exportButton->setIcon(QIcon());
#else
ui->newAddress->setIcon(SingleColorIcon(":/icons/add"));
ui->copyAddress->setIcon(SingleColorIcon(":/icons/editcopy"));
ui->deleteAddress->setIcon(SingleColorIcon(":/icons/remove"));
ui->exportButton->setIcon(SingleColorIcon(":/icons/export"));
#endif #endif
switch(mode) switch(mode)

View File

@ -14,6 +14,7 @@
#include "optionsdialog.h" #include "optionsdialog.h"
#include "optionsmodel.h" #include "optionsmodel.h"
#include "rpcconsole.h" #include "rpcconsole.h"
#include "scicon.h"
#include "utilitydialog.h" #include "utilitydialog.h"
#ifdef ENABLE_WALLET #ifdef ENABLE_WALLET
@ -36,7 +37,6 @@
#include <QDateTime> #include <QDateTime>
#include <QDesktopWidget> #include <QDesktopWidget>
#include <QDragEnterEvent> #include <QDragEnterEvent>
#include <QIcon>
#include <QListWidget> #include <QListWidget>
#include <QMenuBar> #include <QMenuBar>
#include <QMessageBox> #include <QMessageBox>
@ -242,28 +242,28 @@ void BitcoinGUI::createActions(const NetworkStyle *networkStyle)
{ {
QActionGroup *tabGroup = new QActionGroup(this); QActionGroup *tabGroup = new QActionGroup(this);
overviewAction = new QAction(QIcon(":/icons/overview"), tr("&Overview"), this); overviewAction = new QAction(SingleColorIcon(":/icons/overview"), tr("&Overview"), this);
overviewAction->setStatusTip(tr("Show general overview of wallet")); overviewAction->setStatusTip(tr("Show general overview of wallet"));
overviewAction->setToolTip(overviewAction->statusTip()); overviewAction->setToolTip(overviewAction->statusTip());
overviewAction->setCheckable(true); overviewAction->setCheckable(true);
overviewAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_1)); overviewAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_1));
tabGroup->addAction(overviewAction); tabGroup->addAction(overviewAction);
sendCoinsAction = new QAction(QIcon(":/icons/send"), tr("&Send"), this); sendCoinsAction = new QAction(SingleColorIcon(":/icons/send"), tr("&Send"), this);
sendCoinsAction->setStatusTip(tr("Send coins to a Bitcoin address")); sendCoinsAction->setStatusTip(tr("Send coins to a Bitcoin address"));
sendCoinsAction->setToolTip(sendCoinsAction->statusTip()); sendCoinsAction->setToolTip(sendCoinsAction->statusTip());
sendCoinsAction->setCheckable(true); sendCoinsAction->setCheckable(true);
sendCoinsAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_2)); sendCoinsAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_2));
tabGroup->addAction(sendCoinsAction); tabGroup->addAction(sendCoinsAction);
receiveCoinsAction = new QAction(QIcon(":/icons/receiving_addresses"), tr("&Receive"), this); receiveCoinsAction = new QAction(SingleColorIcon(":/icons/receiving_addresses"), tr("&Receive"), this);
receiveCoinsAction->setStatusTip(tr("Request payments (generates QR codes and bitcoin: URIs)")); receiveCoinsAction->setStatusTip(tr("Request payments (generates QR codes and bitcoin: URIs)"));
receiveCoinsAction->setToolTip(receiveCoinsAction->statusTip()); receiveCoinsAction->setToolTip(receiveCoinsAction->statusTip());
receiveCoinsAction->setCheckable(true); receiveCoinsAction->setCheckable(true);
receiveCoinsAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_3)); receiveCoinsAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_3));
tabGroup->addAction(receiveCoinsAction); tabGroup->addAction(receiveCoinsAction);
historyAction = new QAction(QIcon(":/icons/history"), tr("&Transactions"), this); historyAction = new QAction(SingleColorIcon(":/icons/history"), tr("&Transactions"), this);
historyAction->setStatusTip(tr("Browse transaction history")); historyAction->setStatusTip(tr("Browse transaction history"));
historyAction->setToolTip(historyAction->statusTip()); historyAction->setToolTip(historyAction->statusTip());
historyAction->setCheckable(true); historyAction->setCheckable(true);
@ -283,46 +283,46 @@ void BitcoinGUI::createActions(const NetworkStyle *networkStyle)
connect(historyAction, SIGNAL(triggered()), this, SLOT(gotoHistoryPage())); connect(historyAction, SIGNAL(triggered()), this, SLOT(gotoHistoryPage()));
#endif // ENABLE_WALLET #endif // ENABLE_WALLET
quitAction = new QAction(QIcon(":/icons/quit"), tr("E&xit"), this); quitAction = new QAction(TextColorIcon(":/icons/quit"), tr("E&xit"), this);
quitAction->setStatusTip(tr("Quit application")); quitAction->setStatusTip(tr("Quit application"));
quitAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q)); quitAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q));
quitAction->setMenuRole(QAction::QuitRole); quitAction->setMenuRole(QAction::QuitRole);
aboutAction = new QAction(QIcon(":/icons/about"), tr("&About Bitcoin Core"), this); aboutAction = new QAction(TextColorIcon(":/icons/about"), tr("&About Bitcoin Core"), this);
aboutAction->setStatusTip(tr("Show information about Bitcoin Core")); aboutAction->setStatusTip(tr("Show information about Bitcoin Core"));
aboutAction->setMenuRole(QAction::AboutRole); aboutAction->setMenuRole(QAction::AboutRole);
aboutQtAction = new QAction(QIcon(":/icons/about_qt"), tr("About &Qt"), this); aboutQtAction = new QAction(TextColorIcon(":/icons/about_qt"), tr("About &Qt"), this);
aboutQtAction->setStatusTip(tr("Show information about Qt")); aboutQtAction->setStatusTip(tr("Show information about Qt"));
aboutQtAction->setMenuRole(QAction::AboutQtRole); aboutQtAction->setMenuRole(QAction::AboutQtRole);
optionsAction = new QAction(QIcon(":/icons/options"), tr("&Options..."), this); optionsAction = new QAction(TextColorIcon(":/icons/options"), tr("&Options..."), this);
optionsAction->setStatusTip(tr("Modify configuration options for Bitcoin Core")); optionsAction->setStatusTip(tr("Modify configuration options for Bitcoin Core"));
optionsAction->setMenuRole(QAction::PreferencesRole); optionsAction->setMenuRole(QAction::PreferencesRole);
toggleHideAction = new QAction(QIcon(":/icons/about"), tr("&Show / Hide"), this); toggleHideAction = new QAction(TextColorIcon(":/icons/about"), tr("&Show / Hide"), this);
toggleHideAction->setStatusTip(tr("Show or hide the main Window")); toggleHideAction->setStatusTip(tr("Show or hide the main Window"));
encryptWalletAction = new QAction(QIcon(":/icons/lock_closed"), tr("&Encrypt Wallet..."), this); encryptWalletAction = new QAction(TextColorIcon(":/icons/lock_closed"), tr("&Encrypt Wallet..."), this);
encryptWalletAction->setStatusTip(tr("Encrypt the private keys that belong to your wallet")); encryptWalletAction->setStatusTip(tr("Encrypt the private keys that belong to your wallet"));
encryptWalletAction->setCheckable(true); encryptWalletAction->setCheckable(true);
backupWalletAction = new QAction(QIcon(":/icons/filesave"), tr("&Backup Wallet..."), this); backupWalletAction = new QAction(TextColorIcon(":/icons/filesave"), tr("&Backup Wallet..."), this);
backupWalletAction->setStatusTip(tr("Backup wallet to another location")); backupWalletAction->setStatusTip(tr("Backup wallet to another location"));
changePassphraseAction = new QAction(QIcon(":/icons/key"), tr("&Change Passphrase..."), this); changePassphraseAction = new QAction(TextColorIcon(":/icons/key"), tr("&Change Passphrase..."), this);
changePassphraseAction->setStatusTip(tr("Change the passphrase used for wallet encryption")); changePassphraseAction->setStatusTip(tr("Change the passphrase used for wallet encryption"));
signMessageAction = new QAction(QIcon(":/icons/edit"), tr("Sign &message..."), this); signMessageAction = new QAction(TextColorIcon(":/icons/edit"), tr("Sign &message..."), this);
signMessageAction->setStatusTip(tr("Sign messages with your Bitcoin addresses to prove you own them")); signMessageAction->setStatusTip(tr("Sign messages with your Bitcoin addresses to prove you own them"));
verifyMessageAction = new QAction(QIcon(":/icons/verify"), tr("&Verify message..."), this); verifyMessageAction = new QAction(TextColorIcon(":/icons/verify"), tr("&Verify message..."), this);
verifyMessageAction->setStatusTip(tr("Verify messages to ensure they were signed with specified Bitcoin addresses")); verifyMessageAction->setStatusTip(tr("Verify messages to ensure they were signed with specified Bitcoin addresses"));
openRPCConsoleAction = new QAction(QIcon(":/icons/debugwindow"), tr("&Debug window"), this); openRPCConsoleAction = new QAction(TextColorIcon(":/icons/debugwindow"), tr("&Debug window"), this);
openRPCConsoleAction->setStatusTip(tr("Open debugging and diagnostic console")); openRPCConsoleAction->setStatusTip(tr("Open debugging and diagnostic console"));
usedSendingAddressesAction = new QAction(QIcon(":/icons/address-book"), tr("&Sending addresses..."), this); usedSendingAddressesAction = new QAction(TextColorIcon(":/icons/address-book"), tr("&Sending addresses..."), this);
usedSendingAddressesAction->setStatusTip(tr("Show the list of used sending addresses and labels")); usedSendingAddressesAction->setStatusTip(tr("Show the list of used sending addresses and labels"));
usedReceivingAddressesAction = new QAction(QIcon(":/icons/address-book"), tr("&Receiving addresses..."), this); usedReceivingAddressesAction = new QAction(TextColorIcon(":/icons/address-book"), tr("&Receiving addresses..."), this);
usedReceivingAddressesAction->setStatusTip(tr("Show the list of used receiving addresses and labels")); usedReceivingAddressesAction->setStatusTip(tr("Show the list of used receiving addresses and labels"));
openAction = new QAction(QIcon(":/icons/open"), tr("Open &URI..."), this); openAction = new QAction(TextColorIcon(":/icons/open"), tr("Open &URI..."), this);
openAction->setStatusTip(tr("Open a bitcoin: URI or payment request")); openAction->setStatusTip(tr("Open a bitcoin: URI or payment request"));
showHelpMessageAction = new QAction(QIcon(":/icons/info"), tr("&Command-line options"), this); showHelpMessageAction = new QAction(TextColorIcon(":/icons/info"), tr("&Command-line options"), this);
showHelpMessageAction->setStatusTip(tr("Show the Bitcoin Core help message to get a list with possible Bitcoin command-line options")); showHelpMessageAction->setStatusTip(tr("Show the Bitcoin Core help message to get a list with possible Bitcoin command-line options"));
connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit())); connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
@ -629,7 +629,7 @@ void BitcoinGUI::setNumConnections(int count)
case 7: case 8: case 9: icon = ":/icons/connect_3"; break; case 7: case 8: case 9: icon = ":/icons/connect_3"; break;
default: icon = ":/icons/connect_4"; break; default: icon = ":/icons/connect_4"; break;
} }
labelConnectionsIcon->setPixmap(QIcon(icon).pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE)); labelConnectionsIcon->setPixmap(SingleColorIcon(icon).pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE));
labelConnectionsIcon->setToolTip(tr("%n active connection(s) to Bitcoin network", "", count)); labelConnectionsIcon->setToolTip(tr("%n active connection(s) to Bitcoin network", "", count));
} }
@ -671,7 +671,7 @@ void BitcoinGUI::setNumBlocks(int count)
if(secs < 90*60) if(secs < 90*60)
{ {
tooltip = tr("Up to date") + QString(".<br>") + tooltip; tooltip = tr("Up to date") + QString(".<br>") + tooltip;
labelBlocksIcon->setPixmap(QIcon(":/icons/synced").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); labelBlocksIcon->setPixmap(SingleColorIcon(":/icons/synced").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE));
#ifdef ENABLE_WALLET #ifdef ENABLE_WALLET
if(walletFrame) if(walletFrame)
@ -717,7 +717,7 @@ void BitcoinGUI::setNumBlocks(int count)
tooltip = tr("Catching up...") + QString("<br>") + tooltip; tooltip = tr("Catching up...") + QString("<br>") + tooltip;
if(count != prevBlocks) if(count != prevBlocks)
{ {
labelBlocksIcon->setPixmap(QIcon(QString( labelBlocksIcon->setPixmap(SingleColorIcon(QString(
":/movies/spinner-%1").arg(spinnerFrame, 3, 10, QChar('0'))) ":/movies/spinner-%1").arg(spinnerFrame, 3, 10, QChar('0')))
.pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); .pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE));
spinnerFrame = (spinnerFrame + 1) % SPINNER_FRAMES; spinnerFrame = (spinnerFrame + 1) % SPINNER_FRAMES;
@ -911,7 +911,7 @@ void BitcoinGUI::setEncryptionStatus(int status)
break; break;
case WalletModel::Unlocked: case WalletModel::Unlocked:
labelEncryptionIcon->show(); labelEncryptionIcon->show();
labelEncryptionIcon->setPixmap(QIcon(":/icons/lock_open").pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE)); labelEncryptionIcon->setPixmap(SingleColorIcon(":/icons/lock_open").pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE));
labelEncryptionIcon->setToolTip(tr("Wallet is <b>encrypted</b> and currently <b>unlocked</b>")); labelEncryptionIcon->setToolTip(tr("Wallet is <b>encrypted</b> and currently <b>unlocked</b>"));
encryptWalletAction->setChecked(true); encryptWalletAction->setChecked(true);
changePassphraseAction->setEnabled(true); changePassphraseAction->setEnabled(true);
@ -919,7 +919,7 @@ void BitcoinGUI::setEncryptionStatus(int status)
break; break;
case WalletModel::Locked: case WalletModel::Locked:
labelEncryptionIcon->show(); labelEncryptionIcon->show();
labelEncryptionIcon->setPixmap(QIcon(":/icons/lock_closed").pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE)); labelEncryptionIcon->setPixmap(SingleColorIcon(":/icons/lock_closed").pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE));
labelEncryptionIcon->setToolTip(tr("Wallet is <b>encrypted</b> and currently <b>locked</b>")); labelEncryptionIcon->setToolTip(tr("Wallet is <b>encrypted</b> and currently <b>locked</b>"));
encryptWalletAction->setChecked(true); encryptWalletAction->setChecked(true);
changePassphraseAction->setEnabled(true); changePassphraseAction->setEnabled(true);
@ -1066,7 +1066,7 @@ void UnitDisplayStatusBarControl::setOptionsModel(OptionsModel *optionsModel)
/** When Display Units are changed on OptionsModel it will refresh the display text of the control on the status bar */ /** When Display Units are changed on OptionsModel it will refresh the display text of the control on the status bar */
void UnitDisplayStatusBarControl::updateDisplayUnit(int newUnits) void UnitDisplayStatusBarControl::updateDisplayUnit(int newUnits)
{ {
setPixmap(QIcon(":/icons/unit_" + BitcoinUnits::id(newUnits)).pixmap(31,STATUSBAR_ICONSIZE)); setPixmap(SingleColorIcon(":/icons/unit_" + BitcoinUnits::id(newUnits)).pixmap(31,STATUSBAR_ICONSIZE));
} }
/** Shows context menu with Display Unit options by the mouse coordinates */ /** Shows context menu with Display Unit options by the mouse coordinates */

View File

@ -10,6 +10,7 @@
#include "guiutil.h" #include "guiutil.h"
#include "init.h" #include "init.h"
#include "optionsmodel.h" #include "optionsmodel.h"
#include "scicon.h"
#include "walletmodel.h" #include "walletmodel.h"
#include "coincontrol.h" #include "coincontrol.h"
@ -274,7 +275,7 @@ void CoinControlDialog::lockCoin()
COutPoint outpt(uint256(contextMenuItem->text(COLUMN_TXHASH).toStdString()), contextMenuItem->text(COLUMN_VOUT_INDEX).toUInt()); COutPoint outpt(uint256(contextMenuItem->text(COLUMN_TXHASH).toStdString()), contextMenuItem->text(COLUMN_VOUT_INDEX).toUInt());
model->lockCoin(outpt); model->lockCoin(outpt);
contextMenuItem->setDisabled(true); contextMenuItem->setDisabled(true);
contextMenuItem->setIcon(COLUMN_CHECKBOX, QIcon(":/icons/lock_closed")); contextMenuItem->setIcon(COLUMN_CHECKBOX, SingleColorIcon(":/icons/lock_closed"));
updateLabelLocked(); updateLabelLocked();
} }
@ -776,7 +777,7 @@ void CoinControlDialog::updateView()
COutPoint outpt(txhash, out.i); COutPoint outpt(txhash, out.i);
coinControl->UnSelect(outpt); // just to be sure coinControl->UnSelect(outpt); // just to be sure
itemOutput->setDisabled(true); itemOutput->setDisabled(true);
itemOutput->setIcon(COLUMN_CHECKBOX, QIcon(":/icons/lock_closed")); itemOutput->setIcon(COLUMN_CHECKBOX, SingleColorIcon(":/icons/lock_closed"));
} }
// set checkbox // set checkbox

View File

@ -6,6 +6,7 @@
#include "ui_intro.h" #include "ui_intro.h"
#include "guiutil.h" #include "guiutil.h"
#include "scicon.h"
#include "util.h" #include "util.h"
@ -167,7 +168,7 @@ void Intro::pickDataDirectory()
/* If current default data directory does not exist, let the user choose one */ /* If current default data directory does not exist, let the user choose one */
Intro intro; Intro intro;
intro.setDataDirectory(dataDir); intro.setDataDirectory(dataDir);
intro.setWindowIcon(QIcon(":icons/bitcoin")); intro.setWindowIcon(SingleColorIcon(":icons/bitcoin"));
while(true) while(true)
{ {

View File

@ -5,6 +5,7 @@
#include "networkstyle.h" #include "networkstyle.h"
#include "guiconstants.h" #include "guiconstants.h"
#include "scicon.h"
#include <QApplication> #include <QApplication>

View File

@ -10,6 +10,7 @@
#include "guiconstants.h" #include "guiconstants.h"
#include "guiutil.h" #include "guiutil.h"
#include "optionsmodel.h" #include "optionsmodel.h"
#include "scicon.h"
#include "transactionfilterproxy.h" #include "transactionfilterproxy.h"
#include "transactiontablemodel.h" #include "transactiontablemodel.h"
#include "walletmodel.h" #include "walletmodel.h"
@ -34,7 +35,7 @@ public:
{ {
painter->save(); painter->save();
QIcon icon = qvariant_cast<QIcon>(index.data(Qt::DecorationRole)); QIcon icon = qvariant_cast<QIcon>(index.data(TransactionTableModel::RawDecorationRole));
QRect mainRect = option.rect; QRect mainRect = option.rect;
QRect decorationRect(mainRect.topLeft(), QSize(DECORATION_SIZE, DECORATION_SIZE)); QRect decorationRect(mainRect.topLeft(), QSize(DECORATION_SIZE, DECORATION_SIZE));
int xspace = DECORATION_SIZE + 8; int xspace = DECORATION_SIZE + 8;
@ -42,6 +43,7 @@ public:
int halfheight = (mainRect.height() - 2*ypad)/2; int halfheight = (mainRect.height() - 2*ypad)/2;
QRect amountRect(mainRect.left() + xspace, mainRect.top()+ypad, mainRect.width() - xspace, halfheight); QRect amountRect(mainRect.left() + xspace, mainRect.top()+ypad, mainRect.width() - xspace, halfheight);
QRect addressRect(mainRect.left() + xspace, mainRect.top()+ypad+halfheight, mainRect.width() - xspace, halfheight); QRect addressRect(mainRect.left() + xspace, mainRect.top()+ypad+halfheight, mainRect.width() - xspace, halfheight);
icon = SingleColorIcon(icon, SingleColor());
icon.paint(painter, decorationRect); icon.paint(painter, decorationRect);
QDateTime date = index.data(TransactionTableModel::DateRole).toDateTime(); QDateTime date = index.data(TransactionTableModel::DateRole).toDateTime();

View File

@ -12,6 +12,7 @@
#include "optionsmodel.h" #include "optionsmodel.h"
#include "receiverequestdialog.h" #include "receiverequestdialog.h"
#include "recentrequeststablemodel.h" #include "recentrequeststablemodel.h"
#include "scicon.h"
#include "walletmodel.h" #include "walletmodel.h"
#include <QAction> #include <QAction>
@ -33,6 +34,11 @@ ReceiveCoinsDialog::ReceiveCoinsDialog(QWidget *parent) :
ui->receiveButton->setIcon(QIcon()); ui->receiveButton->setIcon(QIcon());
ui->showRequestButton->setIcon(QIcon()); ui->showRequestButton->setIcon(QIcon());
ui->removeRequestButton->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 #endif
// context menu actions // context menu actions

View File

@ -8,6 +8,7 @@
#include "clientmodel.h" #include "clientmodel.h"
#include "guiutil.h" #include "guiutil.h"
#include "peertablemodel.h" #include "peertablemodel.h"
#include "scicon.h"
#include "main.h" #include "main.h"
#include "chainparams.h" #include "chainparams.h"
@ -210,8 +211,9 @@ RPCConsole::RPCConsole(QWidget *parent) :
GUIUtil::restoreWindowGeometry("nRPCConsoleWindow", this->size(), this); GUIUtil::restoreWindowGeometry("nRPCConsoleWindow", this->size(), this);
#ifndef Q_OS_MAC #ifndef Q_OS_MAC
ui->openDebugLogfileButton->setIcon(QIcon(":/icons/export")); ui->openDebugLogfileButton->setIcon(SingleColorIcon(":/icons/export"));
#endif #endif
ui->clearButton->setIcon(SingleColorIcon(":/icons/remove"));
// Install event filter for up and down arrow // Install event filter for up and down arrow
ui->lineEdit->installEventFilter(this); ui->lineEdit->installEventFilter(this);
@ -348,7 +350,7 @@ void RPCConsole::clear()
ui->messagesWidget->document()->addResource( ui->messagesWidget->document()->addResource(
QTextDocument::ImageResource, QTextDocument::ImageResource,
QUrl(ICON_MAPPING[i].url), QUrl(ICON_MAPPING[i].url),
QImage(ICON_MAPPING[i].source).scaled(ICON_SIZE, Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); SingleColorImage(ICON_MAPPING[i].source, SingleColor()).scaled(ICON_SIZE, Qt::IgnoreAspectRatio, Qt::SmoothTransformation));
} }
// Set default style sheet // Set default style sheet

84
src/qt/scicon.cpp Normal file
View File

@ -0,0 +1,84 @@
// Copyright (c) 2014 The Bitcoin developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#include "scicon.h"
#include <QApplication>
#include <QColor>
#include <QIcon>
#include <QImage>
#include <QPalette>
#include <QPixmap>
static void MakeSingleColorImage(QImage& img, const QColor& colorbase)
{
img = img.convertToFormat(QImage::Format_ARGB32);
for (int x = img.width(); x--; )
{
for (int y = img.height(); y--; )
{
const QRgb rgb = img.pixel(x, y);
img.setPixel(x, y, qRgba(colorbase.red(), colorbase.green(), colorbase.blue(), qAlpha(rgb)));
}
}
}
QImage SingleColorImage(const QString& filename, const QColor& colorbase)
{
QImage img(filename);
MakeSingleColorImage(img, colorbase);
return img;
}
QIcon SingleColorIcon(const QIcon& ico, const QColor& colorbase)
{
QIcon new_ico;
QSize sz;
Q_FOREACH(sz, ico.availableSizes())
{
QImage img(ico.pixmap(sz).toImage());
MakeSingleColorImage(img, colorbase);
new_ico.addPixmap(QPixmap::fromImage(img));
}
return new_ico;
}
QIcon SingleColorIcon(const QString& filename, const QColor& colorbase)
{
return QIcon(QPixmap::fromImage(SingleColorImage(filename, colorbase)));
}
QColor SingleColor()
{
const QColor colorHighlightBg(QApplication::palette().color(QPalette::Highlight));
const QColor colorHighlightFg(QApplication::palette().color(QPalette::HighlightedText));
const QColor colorText(QApplication::palette().color(QPalette::WindowText));
const int colorTextLightness = colorText.lightness();
QColor colorbase;
if (abs(colorHighlightBg.lightness() - colorTextLightness) < abs(colorHighlightFg.lightness() - colorTextLightness))
colorbase = colorHighlightBg;
else
colorbase = colorHighlightFg;
return colorbase;
}
QIcon SingleColorIcon(const QString& filename)
{
return SingleColorIcon(filename, SingleColor());
}
static QColor TextColor()
{
return QColor(QApplication::palette().color(QPalette::WindowText));
}
QIcon TextColorIcon(const QString& filename)
{
return SingleColorIcon(filename, TextColor());
}
QIcon TextColorIcon(const QIcon& ico)
{
return SingleColorIcon(ico, TextColor());
}

24
src/qt/scicon.h Normal file
View File

@ -0,0 +1,24 @@
// Copyright (c) 2014 The Bitcoin developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#ifndef BITCOIN_QT_SCICON_H
#define BITCOIN_QT_SCICON_H
#include <QtCore>
QT_BEGIN_NAMESPACE
class QColor;
class QIcon;
class QString;
QT_END_NAMESPACE
QImage SingleColorImage(const QString& filename, const QColor&);
QIcon SingleColorIcon(const QIcon&, const QColor&);
QIcon SingleColorIcon(const QString& filename, const QColor&);
QColor SingleColor();
QIcon SingleColorIcon(const QString& filename);
QIcon TextColorIcon(const QIcon&);
QIcon TextColorIcon(const QString& filename);
#endif // BITCOIN_QT_SCICON_H

View File

@ -11,6 +11,7 @@
#include "coincontroldialog.h" #include "coincontroldialog.h"
#include "guiutil.h" #include "guiutil.h"
#include "optionsmodel.h" #include "optionsmodel.h"
#include "scicon.h"
#include "sendcoinsentry.h" #include "sendcoinsentry.h"
#include "walletmodel.h" #include "walletmodel.h"
@ -38,6 +39,10 @@ SendCoinsDialog::SendCoinsDialog(QWidget *parent) :
ui->addButton->setIcon(QIcon()); ui->addButton->setIcon(QIcon());
ui->clearButton->setIcon(QIcon()); ui->clearButton->setIcon(QIcon());
ui->sendButton->setIcon(QIcon()); ui->sendButton->setIcon(QIcon());
#else
ui->addButton->setIcon(SingleColorIcon(":/icons/add"));
ui->clearButton->setIcon(SingleColorIcon(":/icons/remove"));
ui->sendButton->setIcon(SingleColorIcon(":/icons/send"));
#endif #endif
GUIUtil::setupAddressWidget(ui->lineEditCoinControlChange, this); GUIUtil::setupAddressWidget(ui->lineEditCoinControlChange, this);

View File

@ -9,6 +9,7 @@
#include "addresstablemodel.h" #include "addresstablemodel.h"
#include "guiutil.h" #include "guiutil.h"
#include "optionsmodel.h" #include "optionsmodel.h"
#include "scicon.h"
#include "walletmodel.h" #include "walletmodel.h"
#include <QApplication> #include <QApplication>
@ -21,6 +22,12 @@ SendCoinsEntry::SendCoinsEntry(QWidget *parent) :
{ {
ui->setupUi(this); ui->setupUi(this);
ui->addressBookButton->setIcon(SingleColorIcon(":/icons/address-book"));
ui->pasteButton->setIcon(SingleColorIcon(":/icons/editpaste"));
ui->deleteButton->setIcon(SingleColorIcon(":/icons/remove"));
ui->deleteButton_is->setIcon(SingleColorIcon(":/icons/remove"));
ui->deleteButton_s->setIcon(SingleColorIcon(":/icons/remove"));
setCurrentWidget(ui->SendCoins); setCurrentWidget(ui->SendCoins);
#ifdef Q_OS_MAC #ifdef Q_OS_MAC

View File

@ -7,6 +7,7 @@
#include "addressbookpage.h" #include "addressbookpage.h"
#include "guiutil.h" #include "guiutil.h"
#include "scicon.h"
#include "walletmodel.h" #include "walletmodel.h"
#include "base58.h" #include "base58.h"
@ -25,6 +26,15 @@ SignVerifyMessageDialog::SignVerifyMessageDialog(QWidget *parent) :
{ {
ui->setupUi(this); ui->setupUi(this);
ui->addressBookButton_SM->setIcon(SingleColorIcon(":/icons/address-book"));
ui->pasteButton_SM->setIcon(SingleColorIcon(":/icons/editpaste"));
ui->copySignatureButton_SM->setIcon(SingleColorIcon(":/icons/editcopy"));
ui->signMessageButton_SM->setIcon(SingleColorIcon(":/icons/edit"));
ui->clearButton_SM->setIcon(SingleColorIcon(":/icons/remove"));
ui->addressBookButton_VM->setIcon(SingleColorIcon(":/icons/address-book"));
ui->verifyMessageButton_VM->setIcon(SingleColorIcon(":/icons/transaction_0"));
ui->clearButton_VM->setIcon(SingleColorIcon(":/icons/remove"));
#if QT_VERSION >= 0x040700 #if QT_VERSION >= 0x040700
ui->signatureOut_SM->setPlaceholderText(tr("Click \"Sign Message\" to generate signature")); ui->signatureOut_SM->setPlaceholderText(tr("Click \"Sign Message\" to generate signature"));
#endif #endif

View File

@ -8,6 +8,7 @@
#include "guiconstants.h" #include "guiconstants.h"
#include "guiutil.h" #include "guiutil.h"
#include "optionsmodel.h" #include "optionsmodel.h"
#include "scicon.h"
#include "transactiondesc.h" #include "transactiondesc.h"
#include "transactionrecord.h" #include "transactionrecord.h"
#include "walletmodel.h" #include "walletmodel.h"
@ -504,7 +505,7 @@ QVariant TransactionTableModel::data(const QModelIndex &index, int role) const
switch(role) switch(role)
{ {
case Qt::DecorationRole: case RawDecorationRole:
switch(index.column()) switch(index.column())
{ {
case Status: case Status:
@ -515,6 +516,11 @@ QVariant TransactionTableModel::data(const QModelIndex &index, int role) const
return txAddressDecoration(rec); return txAddressDecoration(rec);
} }
break; break;
case Qt::DecorationRole:
{
QIcon icon = qvariant_cast<QIcon>(index.data(RawDecorationRole));
return TextColorIcon(icon);
}
case Qt::DisplayRole: case Qt::DisplayRole:
switch(index.column()) switch(index.column())
{ {

View File

@ -64,7 +64,9 @@ public:
/** Formatted amount, without brackets when unconfirmed */ /** Formatted amount, without brackets when unconfirmed */
FormattedAmountRole, FormattedAmountRole,
/** Transaction status (TransactionRecord::Status) */ /** Transaction status (TransactionRecord::Status) */
StatusRole StatusRole,
/** Unprocessed icon */
RawDecorationRole,
}; };
int rowCount(const QModelIndex &parent) const; int rowCount(const QModelIndex &parent) const;

View File

@ -10,6 +10,7 @@
#include "editaddressdialog.h" #include "editaddressdialog.h"
#include "guiutil.h" #include "guiutil.h"
#include "optionsmodel.h" #include "optionsmodel.h"
#include "scicon.h"
#include "transactiondescdialog.h" #include "transactiondescdialog.h"
#include "transactionfilterproxy.h" #include "transactionfilterproxy.h"
#include "transactionrecord.h" #include "transactionrecord.h"
@ -54,8 +55,8 @@ TransactionView::TransactionView(QWidget *parent) :
watchOnlyWidget = new QComboBox(this); watchOnlyWidget = new QComboBox(this);
watchOnlyWidget->setFixedWidth(24); watchOnlyWidget->setFixedWidth(24);
watchOnlyWidget->addItem("", TransactionFilterProxy::WatchOnlyFilter_All); watchOnlyWidget->addItem("", TransactionFilterProxy::WatchOnlyFilter_All);
watchOnlyWidget->addItem(QIcon(":/icons/eye_plus"), "", TransactionFilterProxy::WatchOnlyFilter_Yes); watchOnlyWidget->addItem(SingleColorIcon(":/icons/eye_plus"), "", TransactionFilterProxy::WatchOnlyFilter_Yes);
watchOnlyWidget->addItem(QIcon(":/icons/eye_minus"), "", TransactionFilterProxy::WatchOnlyFilter_No); watchOnlyWidget->addItem(SingleColorIcon(":/icons/eye_minus"), "", TransactionFilterProxy::WatchOnlyFilter_No);
hlayout->addWidget(watchOnlyWidget); hlayout->addWidget(watchOnlyWidget);
dateWidget = new QComboBox(this); dateWidget = new QComboBox(this);

View File

@ -12,6 +12,7 @@
#include "optionsmodel.h" #include "optionsmodel.h"
#include "overviewpage.h" #include "overviewpage.h"
#include "receivecoinsdialog.h" #include "receivecoinsdialog.h"
#include "scicon.h"
#include "sendcoinsdialog.h" #include "sendcoinsdialog.h"
#include "signverifymessagedialog.h" #include "signverifymessagedialog.h"
#include "transactiontablemodel.h" #include "transactiontablemodel.h"
@ -44,7 +45,7 @@ WalletView::WalletView(QWidget *parent):
QPushButton *exportButton = new QPushButton(tr("&Export"), this); QPushButton *exportButton = new QPushButton(tr("&Export"), this);
exportButton->setToolTip(tr("Export the data in the current tab to a file")); 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 #ifndef Q_OS_MAC // Icons on push buttons are very uncommon on Mac
exportButton->setIcon(QIcon(":/icons/export")); exportButton->setIcon(SingleColorIcon(":/icons/export"));
#endif #endif
hbox_buttons->addStretch(); hbox_buttons->addStretch();
hbox_buttons->addWidget(exportButton); hbox_buttons->addWidget(exportButton);