aboutsummaryrefslogtreecommitdiffstats
path: root/src/core/utils/CommonUtils.cpp
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2024-01-12 06:02:37 +0000
committersaturneric <[email protected]>2024-01-12 06:02:37 +0000
commitbf538056b24a68b8fd235b1c50991ee8eb46a776 (patch)
treee1bab54095b80df62b321fb5bd69453f9f951b05 /src/core/utils/CommonUtils.cpp
parentfeat: improve api and ui of keys import and export (diff)
downloadGpgFrontend-bf538056b24a68b8fd235b1c50991ee8eb46a776.tar.gz
GpgFrontend-bf538056b24a68b8fd235b1c50991ee8eb46a776.zip
refactor: use QString instead of std::string and improve threading system
Diffstat (limited to 'src/core/utils/CommonUtils.cpp')
-rw-r--r--src/core/utils/CommonUtils.cpp36
1 files changed, 13 insertions, 23 deletions
diff --git a/src/core/utils/CommonUtils.cpp b/src/core/utils/CommonUtils.cpp
index 0eb4933e..0e6eaf64 100644
--- a/src/core/utils/CommonUtils.cpp
+++ b/src/core/utils/CommonUtils.cpp
@@ -33,44 +33,34 @@
namespace GpgFrontend {
-auto BeautifyFingerprint(BypeArrayConstRef fingerprint) -> std::string {
+auto BeautifyFingerprint(QString fingerprint) -> QString {
auto len = fingerprint.size();
- std::stringstream out;
+ QTextStream out;
decltype(len) count = 0;
while (count < len) {
if ((count != 0U) && !(count % 5)) out << " ";
out << fingerprint[count];
count++;
}
- return out.str();
+ return out.readAll();
}
-auto CompareSoftwareVersion(const std::string& a, const std::string& b) -> int {
- auto remove_prefix = [](const std::string& version) {
- return version.front() == 'v' ? version.substr(1) : version;
+auto CompareSoftwareVersion(const QString& a, const QString& b) -> int {
+ auto remove_prefix = [](const QString& version) {
+ return version.startsWith('v') ? version.mid(1) : version;
};
- std::string real_version_a = remove_prefix(a);
- std::string real_version_b = remove_prefix(b);
+ auto real_version_a = remove_prefix(a);
+ auto real_version_b = remove_prefix(b);
- std::vector<std::string> split_a;
- std::vector<std::string> split_b;
- boost::split(split_a, real_version_a, boost::is_any_of("."));
- boost::split(split_b, real_version_b, boost::is_any_of("."));
+ QStringList split_a = real_version_a.split('.');
+ QStringList split_b = real_version_b.split('.');
const auto min_depth = std::min(split_a.size(), split_b.size());
- for (auto i = 0U; i < min_depth; ++i) {
- int num_a = 0;
- int num_b = 0;
-
- try {
- num_a = boost::lexical_cast<int>(split_a[i]);
- num_b = boost::lexical_cast<int>(split_b[i]);
- } catch (boost::bad_lexical_cast&) {
- // Handle exception if needed
- return 0;
- }
+ for (int i = 0; i < min_depth; ++i) {
+ int const num_a = split_a[i].toInt();
+ int const num_b = split_b[i].toInt();
if (num_a != num_b) {
return (num_a > num_b) ? 1 : -1;