diff --git a/support/dialog.cpp b/support/dialog.cpp index 97b8e5d84..5cc9e42fa 100644 --- a/support/dialog.cpp +++ b/support/dialog.cpp @@ -117,10 +117,10 @@ static QIcon monoIcon(const GuiItem &i) namespace StdGuiItem { GuiItem ok() { return GuiItem(QObject::tr("&OK"), FontAwesome::check); } -GuiItem cancel() { return GuiItem(QObject::tr("&Cancel"), FontAwesome::ban, true); } +GuiItem cancel() { return GuiItem(QObject::tr("&Cancel"), FontAwesome::ban); } GuiItem yes() { return GuiItem(QObject::tr("&Yes"), FontAwesome::check); } GuiItem no() { return GuiItem(QObject::tr("&No"), FontAwesome::times, true); } -GuiItem discard() { return GuiItem(QObject::tr("&Discard"), FontAwesome::eraser, true); } +GuiItem discard() { return GuiItem(QObject::tr("&Discard"), FontAwesome::trash, true); } GuiItem save() { return GuiItem(QObject::tr("&Save"), FontAwesome::save); } GuiItem apply() { return GuiItem(QObject::tr("&Apply"), FontAwesome::check); } GuiItem close() { return GuiItem(QObject::tr("&Close"), FontAwesome::close, true); } diff --git a/support/proxystyle.cpp b/support/proxystyle.cpp index 713462ad8..08b663b5b 100644 --- a/support/proxystyle.cpp +++ b/support/proxystyle.cpp @@ -39,13 +39,23 @@ const char * ProxyStyle::constModifyFrameProp="mod-frame"; ProxyStyle::ProxyStyle(int modView) : modViewFrame(modView) { - #if !defined Q_OS_WIN && !defined Q_OS_MAC - editClearIcon=MonoIcon::icon(FontAwesome::timescircle, QColor(128, 128, 128), QColor(128, 128, 128)); - #endif - errorIcon=MonoIcon::icon(FontAwesome::timescircleo, MonoIcon::constRed, MonoIcon::constRed); - warningIcon=MonoIcon::icon(FontAwesome::exclamationtriangle, QColor(0xff, 0x99, 0x00), QColor(0xff, 0x99, 0x00)); - questionIcon=MonoIcon::icon(FontAwesome::questioncircle, QColor(0x1a, 0x8c, 0xff), QColor(0x1a, 0x8c, 0xff)); - infoIcon=MonoIcon::icon(FontAwesome::infocircle, QColor(0x1a, 0x8c, 0xff), QColor(0x1a, 0x8c, 0xff)); + icons.insert(SP_LineEditClearButton, MonoIcon::icon(FontAwesome::timescircle, QColor(128, 128, 128), QColor(128, 128, 128))); + icons.insert(SP_MessageBoxCritical, MonoIcon::icon(FontAwesome::timescircleo, MonoIcon::constRed, MonoIcon::constRed)); + icons.insert(SP_MessageBoxWarning, MonoIcon::icon(FontAwesome::exclamationtriangle, QColor(0xff, 0x99, 0x00), QColor(0xff, 0x99, 0x00))); + icons.insert(SP_MessageBoxQuestion, MonoIcon::icon(FontAwesome::questioncircle, QColor(0x1a, 0x8c, 0xff), QColor(0x1a, 0x8c, 0xff))); + icons.insert(SP_MessageBoxInformation, MonoIcon::icon(FontAwesome::infocircle, QColor(0x1a, 0x8c, 0xff), QColor(0x1a, 0x8c, 0xff))); + + QColor monoCol = Utils::monoIconColor(); + icons.insert(SP_DialogCancelButton, MonoIcon::icon(FontAwesome::ban, monoCol, monoCol)); + icons.insert(SP_DialogHelpButton, MonoIcon::icon(FontAwesome::lifering, monoCol, monoCol)); + icons.insert(SP_DialogOpenButton, MonoIcon::icon(FontAwesome::foldero, monoCol, monoCol)); + icons.insert(SP_DialogSaveButton, MonoIcon::icon(FontAwesome::save, monoCol, monoCol)); + icons.insert(SP_DialogCloseButton, MonoIcon::icon(FontAwesome::close, MonoIcon::constRed, MonoIcon::constRed)); + icons.insert(SP_DialogApplyButton, MonoIcon::icon(FontAwesome::check, monoCol, monoCol)); + icons.insert(SP_DialogResetButton, MonoIcon::icon(FontAwesome::undo, monoCol, monoCol)); + icons.insert(SP_DialogDiscardButton, MonoIcon::icon(FontAwesome::trash, MonoIcon::constRed, MonoIcon::constRed)); + icons.insert(SP_DialogYesButton, MonoIcon::icon(FontAwesome::check, monoCol, monoCol)); + icons.insert(SP_DialogNoButton, MonoIcon::icon(FontAwesome::times, MonoIcon::constRed, MonoIcon::constRed)); } void ProxyStyle::polish(QWidget *widget) @@ -99,36 +109,12 @@ void ProxyStyle::drawPrimitive(PrimitiveElement element, const QStyleOption *opt QPixmap ProxyStyle::standardPixmap(StandardPixmap sp, const QStyleOption *opt, const QWidget *widget) const { QPixmap pixmap=baseStyle()->standardPixmap(sp, opt, widget); - switch (sp) { - case SP_LineEditClearButton: - return editClearIcon.pixmap(pixmap.size()); - case SP_MessageBoxCritical: - return errorIcon.pixmap(pixmap.size()); - case SP_MessageBoxWarning: - return warningIcon.pixmap(pixmap.size()); - case SP_MessageBoxQuestion: - return questionIcon.pixmap(pixmap.size()); - case SP_MessageBoxInformation: - return infoIcon.pixmap(pixmap.size()); - default: - return pixmap; - } + const auto icon = icons.find(sp); + return icon==icons.constEnd() ? pixmap : icon.value().pixmap(pixmap.size()); } QIcon ProxyStyle::standardIcon(StandardPixmap sp, const QStyleOption *opt, const QWidget *widget) const { - switch (sp) { - case SP_LineEditClearButton: - return editClearIcon; - case SP_MessageBoxCritical: - return errorIcon; - case SP_MessageBoxWarning: - return warningIcon; - case SP_MessageBoxQuestion: - return questionIcon; - case SP_MessageBoxInformation: - return infoIcon; - default: - return baseStyle()->standardIcon(sp, opt, widget); - } + const auto icon = icons.find(sp); + return icon==icons.constEnd() ? baseStyle()->standardIcon(sp, opt, widget) : icon.value(); } diff --git a/support/proxystyle.h b/support/proxystyle.h index 7f46e9ca1..72ed79b66 100644 --- a/support/proxystyle.h +++ b/support/proxystyle.h @@ -26,6 +26,7 @@ #include #include +#include class ProxyStyle : public QProxyStyle { @@ -53,13 +54,7 @@ public: private: int modViewFrame; - #if !defined Q_OS_WIN && !defined Q_OS_MAC - QIcon editClearIcon; - #endif - QIcon errorIcon; - QIcon warningIcon; - QIcon questionIcon; - QIcon infoIcon; + QMap icons; }; #endif