aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/data_struct/SoftwareVersion.h
diff options
context:
space:
mode:
authorSaturneric <[email protected]>2022-01-03 22:10:04 +0000
committerSaturneric <[email protected]>2022-01-03 22:10:04 +0000
commit2f64e4300b77f74cc4a7f0f50dbfe87862b72b95 (patch)
tree0d56d21ed78b5b1377681338619ac79c32386335 /src/ui/data_struct/SoftwareVersion.h
parent<fix, feature>(core, ui): key package import. (diff)
downloadGpgFrontend-2f64e4300b77f74cc4a7f0f50dbfe87862b72b95.tar.gz
GpgFrontend-2f64e4300b77f74cc4a7f0f50dbfe87862b72b95.zip
<fix, feature>(core, ui): version system upgrade.
1. can notice user withdraw version now. 2. fix software not restart when signal caught. 3. improve ui.
Diffstat (limited to 'src/ui/data_struct/SoftwareVersion.h')
-rw-r--r--src/ui/data_struct/SoftwareVersion.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/ui/data_struct/SoftwareVersion.h b/src/ui/data_struct/SoftwareVersion.h
new file mode 100644
index 00000000..942f22ce
--- /dev/null
+++ b/src/ui/data_struct/SoftwareVersion.h
@@ -0,0 +1,53 @@
+/**
+ * This file is part of GpgFrontend.
+ *
+ * GpgFrontend is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Foobar is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Foobar. If not, see <https://www.gnu.org/licenses/>.
+ *
+ * The initial version of the source code is inherited from gpg4usb-team.
+ * Their source code version also complies with GNU General Public License.
+ *
+ * The source code version of this software was modified and released
+ * by Saturneric<[email protected]> starting on May 12, 2021.
+ *
+ */
+
+#ifndef GPGFRONTEND_SOFTWAREVERSION_H
+#define GPGFRONTEND_SOFTWAREVERSION_H
+
+#include <boost/date_time.hpp>
+
+namespace GpgFrontend::UI {
+struct SoftwareVersion {
+ std::string latest_version;
+ std::string current_version;
+ bool latest_prerelease = false;
+ bool latest_draft = false;
+ bool current_prerelease = false;
+ bool current_draft = false;
+ bool load_info_done = false;
+ std::string publish_date;
+ std::string release_note;
+
+ [[nodiscard]] bool NeedUpgrade() const {
+ return load_info_done && !latest_prerelease && !latest_draft &&
+ current_version < latest_version;
+ }
+
+ [[nodiscard]] bool VersionWithDrawn() const {
+ return load_info_done && current_prerelease && !current_draft;
+ }
+};
+} // namespace GpgFrontend::UI
+
+#endif // GPGFRONTEND_SOFTWAREVERSION_H