Skip to content

Commit

Permalink
Fixed emblemized icons with device pixel ratio
Browse files Browse the repository at this point in the history
  • Loading branch information
tsujan committed Feb 2, 2021
1 parent a0f2f40 commit 7beb131
Show file tree
Hide file tree
Showing 10 changed files with 59 additions and 57 deletions.
1 change: 1 addition & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ V0.7.0
* Added context menu to the archive path bar for copying path and opening containing folder.
* Use 7z for uncompressed disk images and bsdtar for compressed ones.
* Added fallback icons for files and folders.
* Fixed emblemized icons with device pixel ratio.

V0.6.1
--------
Expand Down
2 changes: 1 addition & 1 deletion NEWS
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Latest version:

5 Nov 2020, V0.7.0
2 Feb 2021, V0.7.0

See "ChangeLog" for changes.
14 changes: 7 additions & 7 deletions data/translations/arqiver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -561,38 +561,38 @@ Do you want to continue?
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1147"/>
<location filename="../../mainWin.cpp" line="1148"/>
<source>Link To: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1481"/>
<location filename="../../mainWin.cpp" line="1482"/>
<source>A simple Qt archive manager</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1482"/>
<location filename="../../mainWin.cpp" line="1483"/>
<source>based on libarchive, gzip and 7z</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1483"/>
<location filename="../../mainWin.cpp" line="1484"/>
<source>Author</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1484"/>
<location filename="../../mainWin.cpp" line="1485"/>
<source>aka.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1485"/>
<location filename="../../mainWin.cpp" line="1486"/>
<location filename="../../mainWin.cpp" line="1487"/>
<source>About Arqiver</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1485"/>
<location filename="../../mainWin.cpp" line="1486"/>
<source>Translators</source>
<translation type="unfinished"></translation>
</message>
Expand Down
14 changes: 7 additions & 7 deletions data/translations/arqiver_eo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -570,38 +570,38 @@ Do you want to continue?
</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1147"/>
<location filename="../../mainWin.cpp" line="1148"/>
<source>Link To: %1</source>
<translation>Ligilo Al %1</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1481"/>
<location filename="../../mainWin.cpp" line="1482"/>
<source>A simple Qt archive manager</source>
<translation>Simpla Qt-Arkivilo</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1482"/>
<location filename="../../mainWin.cpp" line="1483"/>
<source>based on libarchive, gzip and 7z</source>
<translation>bazita sur libarchive, gzip kaj 7z</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1483"/>
<location filename="../../mainWin.cpp" line="1484"/>
<source>Author</source>
<translation>Verkinto</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1484"/>
<location filename="../../mainWin.cpp" line="1485"/>
<source>aka.</source>
<translation>akk.</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1485"/>
<location filename="../../mainWin.cpp" line="1486"/>
<location filename="../../mainWin.cpp" line="1487"/>
<source>About Arqiver</source>
<translation>Pri Arqiver</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1485"/>
<location filename="../../mainWin.cpp" line="1486"/>
<source>Translators</source>
<translation>Tradukintoj</translation>
</message>
Expand Down
14 changes: 7 additions & 7 deletions data/translations/arqiver_hu.ts
Original file line number Diff line number Diff line change
Expand Up @@ -570,38 +570,38 @@ Folytatja?
</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1147"/>
<location filename="../../mainWin.cpp" line="1148"/>
<source>Link To: %1</source>
<translation>Link ide: %1</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1481"/>
<location filename="../../mainWin.cpp" line="1482"/>
<source>A simple Qt archive manager</source>
<translation>Egy egyszerű Qt archívumkezelő</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1482"/>
<location filename="../../mainWin.cpp" line="1483"/>
<source>based on libarchive, gzip and 7z</source>
<translation>amely a libarchive-on a gzipen és a 7z-n alapul</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1483"/>
<location filename="../../mainWin.cpp" line="1484"/>
<source>Author</source>
<translation>Szerző</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1484"/>
<location filename="../../mainWin.cpp" line="1485"/>
<source>aka.</source>
<translation>más néven</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1485"/>
<location filename="../../mainWin.cpp" line="1486"/>
<location filename="../../mainWin.cpp" line="1487"/>
<source>About Arqiver</source>
<translation>Arqiver névjegye</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1485"/>
<location filename="../../mainWin.cpp" line="1486"/>
<source>Translators</source>
<translation>Fordítók</translation>
</message>
Expand Down
14 changes: 7 additions & 7 deletions data/translations/arqiver_nl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -563,38 +563,38 @@ Do you want to continue?
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1147"/>
<location filename="../../mainWin.cpp" line="1148"/>
<source>Link To: %1</source>
<translation>Link naar: %1</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1481"/>
<location filename="../../mainWin.cpp" line="1482"/>
<source>A simple Qt archive manager</source>
<translation>Een eenvoudige Qt-archiefbeheerder</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1482"/>
<location filename="../../mainWin.cpp" line="1483"/>
<source>based on libarchive, gzip and 7z</source>
<translation>gebaseerd op libarchive, gzip en 7z</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1483"/>
<location filename="../../mainWin.cpp" line="1484"/>
<source>Author</source>
<translation>Maker</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1484"/>
<location filename="../../mainWin.cpp" line="1485"/>
<source>aka.</source>
<translation>ook bekend als</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1485"/>
<location filename="../../mainWin.cpp" line="1486"/>
<location filename="../../mainWin.cpp" line="1487"/>
<source>About Arqiver</source>
<translation>Over Arqiver</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1485"/>
<location filename="../../mainWin.cpp" line="1486"/>
<source>Translators</source>
<translation>Vertalers</translation>
</message>
Expand Down
14 changes: 7 additions & 7 deletions data/translations/arqiver_pl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -563,38 +563,38 @@ Do you want to continue?
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1147"/>
<location filename="../../mainWin.cpp" line="1148"/>
<source>Link To: %1</source>
<translation>Odnośnik do: %1</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1481"/>
<location filename="../../mainWin.cpp" line="1482"/>
<source>A simple Qt archive manager</source>
<translation>Prosty menedżer archiwum Qt</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1482"/>
<location filename="../../mainWin.cpp" line="1483"/>
<source>based on libarchive, gzip and 7z</source>
<translation>oparty o libarchive, gzip i 7z</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1483"/>
<location filename="../../mainWin.cpp" line="1484"/>
<source>Author</source>
<translation>Autor</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1484"/>
<location filename="../../mainWin.cpp" line="1485"/>
<source>aka.</source>
<translation>aka.</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1485"/>
<location filename="../../mainWin.cpp" line="1486"/>
<location filename="../../mainWin.cpp" line="1487"/>
<source>About Arqiver</source>
<translation>O Arqiver</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1485"/>
<location filename="../../mainWin.cpp" line="1486"/>
<source>Translators</source>
<translation>Tłumacze</translation>
</message>
Expand Down
14 changes: 7 additions & 7 deletions data/translations/arqiver_pt_BR.ts
Original file line number Diff line number Diff line change
Expand Up @@ -570,38 +570,38 @@ Deseja continuar?
</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1147"/>
<location filename="../../mainWin.cpp" line="1148"/>
<source>Link To: %1</source>
<translation>Link Para: %1</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1481"/>
<location filename="../../mainWin.cpp" line="1482"/>
<source>A simple Qt archive manager</source>
<translation>Um simples gerenciador de arquivos Qt</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1482"/>
<location filename="../../mainWin.cpp" line="1483"/>
<source>based on libarchive, gzip and 7z</source>
<translation>baseado em libarchive, gzip e 7z</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1483"/>
<location filename="../../mainWin.cpp" line="1484"/>
<source>Author</source>
<translation>Autor</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1484"/>
<location filename="../../mainWin.cpp" line="1485"/>
<source>aka.</source>
<translation>aka.</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1485"/>
<location filename="../../mainWin.cpp" line="1486"/>
<location filename="../../mainWin.cpp" line="1487"/>
<source>About Arqiver</source>
<translation>Sobre Arqiver</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1485"/>
<location filename="../../mainWin.cpp" line="1486"/>
<source>Translators</source>
<translation>Tradutores</translation>
</message>
Expand Down
14 changes: 7 additions & 7 deletions data/translations/arqiver_ru.ts
Original file line number Diff line number Diff line change
Expand Up @@ -570,38 +570,38 @@ Do you want to continue?
</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1147"/>
<location filename="../../mainWin.cpp" line="1148"/>
<source>Link To: %1</source>
<translation>Ссылка на: %1</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1481"/>
<location filename="../../mainWin.cpp" line="1482"/>
<source>A simple Qt archive manager</source>
<translation>Простой менеджер архивов на Qt</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1482"/>
<location filename="../../mainWin.cpp" line="1483"/>
<source>based on libarchive, gzip and 7z</source>
<translation>основанный на libarchive, gzip и 7z</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1483"/>
<location filename="../../mainWin.cpp" line="1484"/>
<source>Author</source>
<translation>Автор</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1484"/>
<location filename="../../mainWin.cpp" line="1485"/>
<source>aka.</source>
<translation>aka.</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1485"/>
<location filename="../../mainWin.cpp" line="1486"/>
<location filename="../../mainWin.cpp" line="1487"/>
<source>About Arqiver</source>
<translation>О Arqiver</translation>
</message>
<message>
<location filename="../../mainWin.cpp" line="1485"/>
<location filename="../../mainWin.cpp" line="1486"/>
<source>Translators</source>
<translation>Переводчики</translation>
</message>
Expand Down
15 changes: 8 additions & 7 deletions mainWin.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (C) Pedram Pourang (aka Tsu Jan) 2018-2020 <tsujan2000@gmail.com>
* Copyright (C) Pedram Pourang (aka Tsu Jan) 2018-2021 <tsujan2000@gmail.com>
*
* Arqiver is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
Expand Down Expand Up @@ -1081,18 +1081,19 @@ QPixmap mainWin::emblemize(const QString iconName, const QSize& icnSize, bool lo
int emblemSize = w <= 32 ? 16 : 24;
QPixmap pix;
if (!QPixmapCache::find(iconName + emblemName, &pix)) {
int pixelRatio = qApp->devicePixelRatio();
QPixmap icn = QIcon::fromTheme(iconName, symbolicIcon::icon(":icons/unknown.svg")).pixmap(icnSize * pixelRatio);
QPixmap icn = QIcon::fromTheme(iconName, symbolicIcon::icon(":icons/unknown.svg")).pixmap(icnSize);
int offset = 0;
QPixmap emblem;
if (lock) {
emblem = QIcon(":icons/emblem-lock.svg").pixmap(emblemSize*pixelRatio, emblemSize*pixelRatio);
offset = (w - emblemSize) * pixelRatio;
emblem = QIcon(":icons/emblem-lock.svg").pixmap(emblemSize, emblemSize);
offset = w - emblemSize;
}
else
emblem = QIcon(":icons/emblem-symbolic-link.svg").pixmap(emblemSize*pixelRatio, emblemSize*pixelRatio);
pix = QPixmap(icnSize * pixelRatio);
emblem = QIcon(":icons/emblem-symbolic-link.svg").pixmap(emblemSize, emblemSize);
qreal pixelRatio = qApp->devicePixelRatio();
pix = QPixmap((QSizeF(icnSize) * pixelRatio).toSize());
pix.fill(Qt::transparent);
pix.setDevicePixelRatio(pixelRatio);
QPainter painter(&pix);
painter.drawPixmap(0, 0, icn);
painter.drawPixmap(offset, offset, emblem);
Expand Down

0 comments on commit 7beb131

Please sign in to comment.