aboutsummaryrefslogtreecommitdiffstats
path: root/ui/qt/widgets
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2019-06-13 10:25:19 -0700
committerAnders Broman <a.broman58@gmail.com>2019-06-13 18:02:50 +0000
commitb94047c606a53f405ea24ca5bf5161a74da7d4b9 (patch)
tree0c1b8091e8533adccb1d92331434f472cef725ba /ui/qt/widgets
parentf41e1d22f0d9b9deb7f7f8dc9e3f81f45faae11a (diff)
Qt: Add support for template icons.
Add support for ".template" icons, which are masked against the current WindowText color. Convert the edit-find icons to templates. Reload our icon(s) when we receive a QEvent::PaletteChange in MainWindow and in StockIconToolButton. Clean our SVGs. To do: - Convert other black or mostly black icons to templates. - Handle QEvent::PaletteChange in more places. Ping-Bug: 15511 Change-Id: I1ce78d92e769861dc38d86a3def5116fb869e2bf Reviewed-on: https://code.wireshark.org/review/33571 Reviewed-by: Gerald Combs <gerald@wireshark.org> Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'ui/qt/widgets')
-rw-r--r--ui/qt/widgets/stock_icon_tool_button.cpp15
-rw-r--r--ui/qt/widgets/stock_icon_tool_button.h3
2 files changed, 13 insertions, 5 deletions
diff --git a/ui/qt/widgets/stock_icon_tool_button.cpp b/ui/qt/widgets/stock_icon_tool_button.cpp
index 11a373a57e..3db550ce78 100644
--- a/ui/qt/widgets/stock_icon_tool_button.cpp
+++ b/ui/qt/widgets/stock_icon_tool_button.cpp
@@ -28,9 +28,7 @@ StockIconToolButton::StockIconToolButton(QWidget * parent, QString stock_icon_na
QToolButton(parent),
leave_timer_(0)
{
- if (!stock_icon_name.isEmpty()) {
- setStockIcon(stock_icon_name);
- }
+ setStockIcon(stock_icon_name);
}
void StockIconToolButton::setIconMode(QIcon::Mode mode)
@@ -47,7 +45,13 @@ void StockIconToolButton::setIconMode(QIcon::Mode mode)
void StockIconToolButton::setStockIcon(QString icon_name)
{
- base_icon_ = StockIcon(icon_name);
+ if (!icon_name.isEmpty()) {
+ icon_name_ = icon_name;
+ }
+ if (icon_name_.isEmpty()) {
+ return;
+ }
+ base_icon_ = StockIcon(icon_name_);
setIconMode();
}
@@ -91,6 +95,9 @@ bool StockIconToolButton::event(QEvent *event)
}
break;
}
+ case QEvent::PaletteChange:
+ setStockIcon();
+ break;
default:
break;
}
diff --git a/ui/qt/widgets/stock_icon_tool_button.h b/ui/qt/widgets/stock_icon_tool_button.h
index 793e7fd2ea..7fc0e2f0b8 100644
--- a/ui/qt/widgets/stock_icon_tool_button.h
+++ b/ui/qt/widgets/stock_icon_tool_button.h
@@ -19,13 +19,14 @@ public:
explicit StockIconToolButton(QWidget * parent = 0, QString stock_icon_name = QString());
void setIconMode(QIcon::Mode mode = QIcon::Normal);
- void setStockIcon(QString icon_name);
+ void setStockIcon(QString icon_name = QString());
protected:
virtual bool event(QEvent *event);
private:
QIcon base_icon_;
+ QString icon_name_;
int leave_timer_;
static const int leave_interval_ = 500; // ms
};