From 5bb679604a433673738dab3b99871deafd7abd9e Mon Sep 17 00:00:00 2001 From: daleclack Date: Fri, 19 Jan 2024 19:00:05 +0800 Subject: [PATCH] Add Mode key for list --- XeRelease_Gtkmm4/src/ModelColumns.hh | 28 ++++++++++++++++++++++------ XeRelease_Gtkmm4/src/MyWin.cc | 2 +- XeRelease_Gtkmm4/src/xerelease.cc | 8 ++++---- XeRelease_Gtkmm4/src/xerelease.hh | 5 ++++- 4 files changed, 31 insertions(+), 12 deletions(-) diff --git a/XeRelease_Gtkmm4/src/ModelColumns.hh b/XeRelease_Gtkmm4/src/ModelColumns.hh index 3e7c7ba..b6ee648 100644 --- a/XeRelease_Gtkmm4/src/ModelColumns.hh +++ b/XeRelease_Gtkmm4/src/ModelColumns.hh @@ -7,14 +7,18 @@ class ModelColumns : public Glib::Object { public: // Create a new object - static Glib::RefPtr create(Glib::ustring &branch1, Glib::ustring &version1) + static Glib::RefPtr create(Glib::ustring &branch1, + Glib::ustring &version1, guint mode1) { - return Glib::make_refptr_for_instance(new ModelColumns(branch1, version1)); + return Glib::make_refptr_for_instance( + new ModelColumns(branch1, version1, mode1)); } - static Glib::RefPtr create(const char *branch1, const char *version1) + static Glib::RefPtr create(const char *branch1, + const char *version1, guint mode1) { Glib::ustring temp_branch(branch1), temp_version(version1); - return Glib::make_refptr_for_instance(new ModelColumns(temp_branch, temp_version)); + return Glib::make_refptr_for_instance( + new ModelColumns(temp_branch, temp_version, mode1)); } // Get Value of branch and version @@ -28,6 +32,11 @@ public: return version_prep.get_value(); } + guint get_branch_mode() + { + return branch_mode.get_value(); + } + // Get PropertyProxy Glib::PropertyProxy property_branch() { @@ -39,17 +48,24 @@ public: return version_prep.get_proxy(); } + Glib::PropertyProxy property_branch_mode() + { + return branch_mode.get_proxy(); + } + private: // Use Glib::Property to bind Glib::Property branch_prep, version_prep; + Glib::Property branch_mode; protected: // Register type and initalize properties - ModelColumns(Glib::ustring branch, Glib::ustring version) + ModelColumns(Glib::ustring branch, Glib::ustring version, guint mode) : Glib::ObjectBase(typeid(ModelColumns)), Glib::Object(), branch_prep(*this, "branch", branch), - version_prep(*this, "version", version) + version_prep(*this, "version", version), + branch_mode(*this, "branch-mode", mode) { } }; diff --git a/XeRelease_Gtkmm4/src/MyWin.cc b/XeRelease_Gtkmm4/src/MyWin.cc index 6010797..a6d1be9 100644 --- a/XeRelease_Gtkmm4/src/MyWin.cc +++ b/XeRelease_Gtkmm4/src/MyWin.cc @@ -286,7 +286,7 @@ void MyWin::on_window_hide(Gtk::Window *window) void MyWin::main_releases() { // Get Selection - int version = drop_down.get_selected(); + guint version = drop_down.get_selected(); char str[57]; // Get Version string diff --git a/XeRelease_Gtkmm4/src/xerelease.cc b/XeRelease_Gtkmm4/src/xerelease.cc index fdf25cf..8f36480 100644 --- a/XeRelease_Gtkmm4/src/xerelease.cc +++ b/XeRelease_Gtkmm4/src/xerelease.cc @@ -126,8 +126,8 @@ void release_mode_1(struct tm *local, const XeVer &version1, char *callback_str) int year2 = local->tm_year + 1900, month2 = local->tm_mon + 1, day2 = local->tm_mday; // get release version - lts_ver = total_year_day(longterm_year, year2) - - total_day(longterm_year, longterm_month, longterm_day) + + lts_ver = total_year_day(version1.year, year2) - + total_day(version1.year, longterm_month, version1.day) + total_day(year2, month2, day2); // For show in dialog or console snprintf(callback_str, 57, "Xeinit %s version:%s.%d\n", @@ -151,8 +151,8 @@ void release_mode_2(struct tm *local, const XeVer &version1, char *callback_str) int year2 = local->tm_year + 1900, month2 = local->tm_mon + 1, day2 = local->tm_mday; // get release version - devel1 = total_year_day(stable_year, year2) - - total_day(stable_year, stable_month, stable_day) + + devel1 = total_year_day(version1.year, year2) - + total_day(version1.year, stable_month, version1.day) + total_day(year2, month2, day2); snprintf(callback_str, 57, "Xeinit %s Version:%s.%d\n", version1.branch, version1.version, devel1); diff --git a/XeRelease_Gtkmm4/src/xerelease.hh b/XeRelease_Gtkmm4/src/xerelease.hh index ba5ed29..eb08701 100644 --- a/XeRelease_Gtkmm4/src/xerelease.hh +++ b/XeRelease_Gtkmm4/src/xerelease.hh @@ -7,6 +7,9 @@ using json = nlohmann::json; typedef struct{ + int year; + int month; + int day; char *branch; char *version; }XeVer; @@ -21,7 +24,7 @@ void release_mode_2(struct tm *local,const XeVer &version1, char *callback_str); void json_config_init(json &user_data); -void dale(struct tm *local); +// void dale(struct tm *local); // void longterm(struct tm *local,const char * lts,char *str);