Replace database icons with SVG's

Original source of icons is the icon8 library (http://icons8.com/c/flat-color-icons) and Paomedia (https://github.com/paomedia/small-n-flat). All icons used are licensed MIT or CC0; annotated in COPYING.

* Closes #4071

* Increase default size of database icons to 24px and entry preview panel to 48px
* Add shell script to assemble the database icons

* Use QIcon to seamlessly support High DPI displays and pixmap caching
* Add badge support for KeeShare groups and expired entries.
* Guard against use of QPixmap::fromImage without a GUI

* Add SVG minify and improve `make icons`

Co-authored-by: Wolfram Rösler <wolfram@roesler-ac.de>
This commit is contained in:
Jonathan White 2020-05-29 10:00:07 -04:00
parent 229a756d84
commit 90d5372813
No known key found for this signature in database
GPG key ID: 440FC65F2E0C6E01
182 changed files with 640 additions and 680 deletions

View file

@ -336,12 +336,12 @@ void TestGroup::testCopyCustomIcon()
QScopedPointer<Database> dbTarget(new Database());
group->setParent(dbTarget->rootGroup());
QVERIFY(dbTarget->metadata()->containsCustomIcon(groupIconUuid));
QVERIFY(dbTarget->metadata()->hasCustomIcon(groupIconUuid));
QCOMPARE(dbTarget->metadata()->customIcon(groupIconUuid), groupIcon);
QCOMPARE(group->icon(), groupIcon);
entry->setGroup(dbTarget->rootGroup());
QVERIFY(dbTarget->metadata()->containsCustomIcon(entryIconUuid));
QVERIFY(dbTarget->metadata()->hasCustomIcon(entryIconUuid));
QCOMPARE(dbTarget->metadata()->customIcon(entryIconUuid), entryIcon);
QCOMPARE(entry->icon(), entryIcon);
}
@ -462,11 +462,11 @@ void TestGroup::testCopyCustomIcons()
Metadata* metaTarget = dbTarget->metadata();
QCOMPARE(metaTarget->customIcons().size(), 4);
QVERIFY(metaTarget->containsCustomIcon(group1Icon));
QVERIFY(metaTarget->containsCustomIcon(group2Icon));
QVERIFY(metaTarget->containsCustomIcon(entry1IconOld));
QVERIFY(metaTarget->containsCustomIcon(entry1IconNew));
QCOMPARE(metaTarget->customIconsOrder().size(), 4);
QVERIFY(metaTarget->hasCustomIcon(group1Icon));
QVERIFY(metaTarget->hasCustomIcon(group2Icon));
QVERIFY(metaTarget->hasCustomIcon(entry1IconOld));
QVERIFY(metaTarget->hasCustomIcon(entry1IconNew));
QCOMPARE(metaTarget->customIcon(group1Icon).pixel(0, 0), qRgb(1, 2, 3));
QCOMPARE(metaTarget->customIcon(group2Icon).pixel(0, 0), qRgb(4, 5, 6));