Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/keepassxreboot/keepassxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/EditWidgetIcons.cpp')
-rw-r--r--src/gui/EditWidgetIcons.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/gui/EditWidgetIcons.cpp b/src/gui/EditWidgetIcons.cpp
index 3158a6c9d..c301728b6 100644
--- a/src/gui/EditWidgetIcons.cpp
+++ b/src/gui/EditWidgetIcons.cpp
@@ -25,6 +25,8 @@
#include "core/Tools.h"
#include "gui/FileDialog.h"
#include "gui/IconModels.h"
+#include "gui/Icons.h"
+#include "gui/MessageBox.h"
#ifdef WITH_XC_NETWORKING
#include "gui/IconDownloader.h"
#endif
@@ -128,7 +130,7 @@ void EditWidgetIcons::load(const QUuid& currentUuid,
m_currentUuid = currentUuid;
setUrl(url);
- m_customIconModel->setIcons(database->metadata()->customIconsPixmaps(IconSize::Default),
+ m_customIconModel->setIcons(Icons::customIconsPixmaps(database.data(), IconSize::Default),
database->metadata()->customIconsOrder());
QUuid iconUuid = iconStruct.uuid;
@@ -231,7 +233,7 @@ void EditWidgetIcons::addCustomIconFromFile()
return;
}
- auto filter = QString("%1 (%2);;%3 (*)").arg(tr("Images"), Tools::imageReaderFilter(), tr("All files"));
+ auto filter = QString("%1 (%2);;%3 (*)").arg(tr("Images"), Icons::imageFormatsFilter(), tr("All files"));
auto filenames =
fileDialog()->getOpenFileNames(this, tr("Select Image(s)"), FileDialog::getLastDir("icons"), filter);
if (!filenames.empty()) {
@@ -284,16 +286,17 @@ bool EditWidgetIcons::addCustomIcon(const QImage& icon)
bool added = false;
if (m_db) {
// Don't add an icon larger than 128x128, but retain original size if smaller
- auto scaledicon = icon;
+ auto scaledIcon = icon;
if (icon.width() > 128 || icon.height() > 128) {
- scaledicon = icon.scaled(128, 128);
+ scaledIcon = icon.scaled(128, 128);
}
- QUuid uuid = m_db->metadata()->findCustomIcon(scaledicon);
+ QByteArray serializedIcon = Icons::saveToBytes(scaledIcon);
+ QUuid uuid = m_db->metadata()->findCustomIcon(serializedIcon);
if (uuid.isNull()) {
uuid = QUuid::createUuid();
- m_db->metadata()->addCustomIcon(uuid, scaledicon);
- m_customIconModel->setIcons(m_db->metadata()->customIconsPixmaps(IconSize::Default),
+ m_db->metadata()->addCustomIcon(uuid, serializedIcon);
+ m_customIconModel->setIcons(Icons::customIconsPixmaps(m_db.data(), IconSize::Default),
m_db->metadata()->customIconsOrder());
added = true;
}