update pixmap cache

This commit is contained in:
RickyRister 2025-02-16 22:12:10 -08:00
parent e123ed5913
commit 00fc59f572
2 changed files with 28 additions and 0 deletions

View file

@ -357,6 +357,21 @@ QPixmap LockPixmapGenerator::generatePixmap(int height)
QMap<int, QPixmap> LockPixmapGenerator::pmCache;
QPixmap ExpandIconPixmapGenerator::generatePixmap(int height, bool expanded)
{
QString key = QString::number(expanded) + ":" + QString::number(height);
if (pmCache.contains(key))
return pmCache.value(key);
QString name = expanded ? "dropdown_expanded" : "dropdown_collapsed";
QPixmap pixmap = tryLoadImage("theme:icons/" + name, QSize(height, height));
pmCache.insert(key, pixmap);
return pixmap;
}
QMap<QString, QPixmap> ExpandIconPixmapGenerator::pmCache;
QPixmap loadColorAdjustedPixmap(const QString &name)
{
if (qApp->palette().windowText().color().lightness() > 200) {

View file

@ -106,6 +106,19 @@ public:
}
};
class ExpandIconPixmapGenerator
{
private:
static QMap<QString, QPixmap> pmCache;
public:
static QPixmap generatePixmap(int height, bool expanded);
static void clear()
{
pmCache.clear();
}
};
QPixmap loadColorAdjustedPixmap(const QString &name);
#endif