diff options
author | saturneric <[email protected]> | 2024-01-12 06:02:37 +0000 |
---|---|---|
committer | saturneric <[email protected]> | 2024-01-12 06:02:37 +0000 |
commit | bf538056b24a68b8fd235b1c50991ee8eb46a776 (patch) | |
tree | e1bab54095b80df62b321fb5bd69453f9f951b05 /src/core/utils/CommonUtils.cpp | |
parent | feat: improve api and ui of keys import and export (diff) | |
download | GpgFrontend-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.cpp | 36 |
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; |