mirror of
https://github.com/nextcloud/desktop.git
synced 2024-10-24 05:15:40 +03:00
Move the svg rendering part in a lambda
This simplifies the loop body a bit, opening the door to what's next. Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
This commit is contained in:
parent
73c3aa7898
commit
72eba2b93d
1 changed files with 8 additions and 5 deletions
|
@ -146,15 +146,18 @@ QIcon Theme::themeIcon(const QString &name, bool sysTray) const
|
|||
|
||||
const auto svgName = QString::fromLatin1(":/client/theme/%1/%2.svg").arg(flavor).arg(name);
|
||||
QSvgRenderer renderer(svgName);
|
||||
|
||||
const auto sizes = isBranded() ? QVector<int>{ 16, 22, 32, 48, 64, 128, 256, 512, 1024 }
|
||||
: QVector<int>{ 16, 32, 64, 128, 256 };
|
||||
for (int size : sizes) {
|
||||
const auto createPixmapFromSvg = [&renderer] (int size) {
|
||||
QImage img(size, size, QImage::Format_ARGB32);
|
||||
img.fill(Qt::GlobalColor::transparent);
|
||||
QPainter imgPainter(&img);
|
||||
renderer.render(&imgPainter);
|
||||
auto px = QPixmap::fromImage(img);
|
||||
return QPixmap::fromImage(img);
|
||||
};
|
||||
|
||||
const auto sizes = isBranded() ? QVector<int>{ 16, 22, 32, 48, 64, 128, 256, 512, 1024 }
|
||||
: QVector<int>{ 16, 32, 64, 128, 256 };
|
||||
for (int size : sizes) {
|
||||
auto px = createPixmapFromSvg(size);
|
||||
// HACK, get rid of it by supporting FDO icon themes, this is really just emulating ubuntu-mono
|
||||
if (qgetenv("DESKTOP_SESSION") == "ubuntu") {
|
||||
QBitmap mask = px.createMaskFromColor(Qt::white, Qt::MaskOutColor);
|
||||
|
|
Loading…
Reference in a new issue