From 3129b3ef5a04a6c449d4785d679d795d98c520bc Mon Sep 17 00:00:00 2001 From: Saturneric Date: Wed, 12 Jul 2023 19:10:22 +0800 Subject: fix: change gpgfrontend.pub to gpgfrontend.bktus.com --- src/ui/UserInterfaceUtils.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/ui/UserInterfaceUtils.cpp') diff --git a/src/ui/UserInterfaceUtils.cpp b/src/ui/UserInterfaceUtils.cpp index 80b6f482..614d5bc9 100644 --- a/src/ui/UserInterfaceUtils.cpp +++ b/src/ui/UserInterfaceUtils.cpp @@ -189,7 +189,7 @@ CommonUtils::CommonUtils() : QWidget(nullptr) { msgBox.setText(_("GnuPG Context Loading Failed")); msgBox.setInformativeText( _("Gnupg(gpg) is not installed correctly, please follow " - "this notes" " in FAQ to install Gnupg and then open " "GpgFrontend. Or, you can open GnuPG Controller to set a custom " -- cgit v1.2.3 From 7c96f052da1f73cbcd2f0671640d1019eaaa906a Mon Sep 17 00:00:00 2001 From: Saturneric Date: Thu, 13 Jul 2023 14:51:32 +0800 Subject: feat: support marking a key as favourite --- src/ui/UserInterfaceUtils.cpp | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'src/ui/UserInterfaceUtils.cpp') diff --git a/src/ui/UserInterfaceUtils.cpp b/src/ui/UserInterfaceUtils.cpp index 614d5bc9..3154aa2b 100644 --- a/src/ui/UserInterfaceUtils.cpp +++ b/src/ui/UserInterfaceUtils.cpp @@ -34,6 +34,7 @@ #include "core/GpgConstants.h" #include "core/common/CoreCommonUtil.h" +#include "core/function/CacheManager.h" #include "core/function/CoreSignalStation.h" #include "core/function/FileOperator.h" #include "core/function/GlobalSettingStation.h" @@ -481,4 +482,41 @@ bool CommonUtils::isApplicationNeedRestart() { return application_need_to_restart_at_once_; } +bool CommonUtils::KeyExistsinFavouriteList(const GpgKey &key) { + // load cache + auto key_array = CacheManager::GetInstance().LoadCache("favourite_key_pair"); + if (!key_array.is_array()) { + CacheManager::GetInstance().SaveCache("favourite_key_pair", + nlohmann::json::array()); + } + return std::find(key_array.begin(), key_array.end(), key.GetFingerprint()) != + key_array.end(); +} + +void CommonUtils::AddKey2Favourtie(const GpgKey &key) { + auto key_array = CacheManager::GetInstance().LoadCache("favourite_key_pair"); + if (!key_array.is_array()) { + CacheManager::GetInstance().SaveCache("favourite_key_pair", + nlohmann::json::array()); + } + key_array.push_back(key.GetFingerprint()); + CacheManager::GetInstance().SaveCache("favourite_key_pair", key_array); +} + +void CommonUtils::RemoveKeyFromFavourite(const GpgKey &key) { + auto key_array = CacheManager::GetInstance().LoadCache("favourite_key_pair"); + if (!key_array.is_array()) { + CacheManager::GetInstance().SaveCache("favourite_key_pair", + nlohmann::json::array()); + return; + } + auto it = std::find(key_array.begin(), key_array.end(), key.GetFingerprint()); + if (it != key_array.end()) { + auto rm_it = + std::remove(key_array.begin(), key_array.end(), key.GetFingerprint()); + key_array.erase(rm_it, key_array.end()); + CacheManager::GetInstance().SaveCache("favourite_key_pair", key_array); + } +} + } // namespace GpgFrontend::UI \ No newline at end of file -- cgit v1.2.3 From 77838db2af8dc4d665cb4dc3d6b30e6d58683091 Mon Sep 17 00:00:00 2001 From: Saturneric Date: Thu, 13 Jul 2023 15:39:41 +0800 Subject: feat: support searching keys --- src/ui/UserInterfaceUtils.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/ui/UserInterfaceUtils.cpp') diff --git a/src/ui/UserInterfaceUtils.cpp b/src/ui/UserInterfaceUtils.cpp index 3154aa2b..7e236c02 100644 --- a/src/ui/UserInterfaceUtils.cpp +++ b/src/ui/UserInterfaceUtils.cpp @@ -500,14 +500,14 @@ void CommonUtils::AddKey2Favourtie(const GpgKey &key) { nlohmann::json::array()); } key_array.push_back(key.GetFingerprint()); - CacheManager::GetInstance().SaveCache("favourite_key_pair", key_array); + CacheManager::GetInstance().SaveCache("favourite_key_pair", key_array, true); } void CommonUtils::RemoveKeyFromFavourite(const GpgKey &key) { auto key_array = CacheManager::GetInstance().LoadCache("favourite_key_pair"); if (!key_array.is_array()) { CacheManager::GetInstance().SaveCache("favourite_key_pair", - nlohmann::json::array()); + nlohmann::json::array(), true); return; } auto it = std::find(key_array.begin(), key_array.end(), key.GetFingerprint()); -- cgit v1.2.3