- static QIcon fromResources(const QString &name);
- static QIcon icon(const QString &name);
- static QIcon icon(const QStringList &names);
- static QIcon tintedIcon(const QString &name, const QColor &color,
- QList<QSize> sizes = QList<QSize>());
- static QIcon tintedIcon(const QString &name, const QColor &color, const QSize &size);
- static void setupAction(QAction *action);
+ static QIcon fromResources(const char *name);
+
+ template <class T> static void setIcon(T *obj, const char *name) {
+ QIcon i = icon(name);
+ obj->setIcon(i);
+ obj->connect(qApp, &QGuiApplication::paletteChanged, obj, [obj, name] {
+ qDebug() << "Updating icon" << name;
+ QIcon i = icon(name);
+ obj->setIcon(i);
+ });
+ }
+ static QIcon icon(const char *name);
+ static QIcon icon(const QVector<const char *> &names);
+
+ static QPixmap
+ iconPixmap(const char *name, int size, const QColor &background, const qreal pixelRatio);
+
+ static QIcon tintedIcon(const char *name, const QColor &color, const QVector<QSize> &sizes);
+ static QIcon tintedIcon(const char *name, const QColor &color, const QSize &size);
+
+ // HiDPI stuff
+ static QPixmap pixmap(const char *name, const qreal pixelRatio);
+ static QPixmap pixmap(const QString &filename, const qreal pixelRatio);
+
+ static void tint(QPixmap &pixmap,
+ const QColor &color,
+ QPainter::CompositionMode mode = QPainter::CompositionMode_SourceIn);