From b4b9b967a698645d86f640be0e3b2a5e7c68dd27 Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Tue, 16 May 2023 10:45:41 +0600 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=20=D1=81?= =?UTF-8?q?=D0=BE=D1=85=D1=80=D0=B0=D0=BD=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B8?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D1=83=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83=D1=80=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/controller.cc | 6 +- source/controller.h | 4 ++ source/view/model/wrapper_load_save.cc | 54 +++++++++--------- source/view/model/wrapper_load_save.h | 22 ++++---- source/view/ubl-settings-diskquota.cc | 77 ++++++++++++++++++++++---- source/view/ubl-settings-diskquota.h | 18 ++++-- 6 files changed, 125 insertions(+), 56 deletions(-) diff --git a/source/controller.cc b/source/controller.cc index 7d3ca02..047e97d 100644 --- a/source/controller.cc +++ b/source/controller.cc @@ -21,8 +21,12 @@ Controller::~Controller() void Controller::settings() { obj_open_browser->set_obj_about(obj_view_about); obj_main_window = new MainWindow(builder, obj_open_browser, &socket_ext_id_I, &socket_trd_id_I); - obj_main_window->set_obj_wrapper_load(obj_wrapper_load_save); + obj_main_window->set_obj_wrapper_load_save(obj_wrapper_load_save); obj_open_browser->settings(); + obj_main_window->set_map_gui(&map_gui_cfg); + obj_main_window->set_map_global(&map_global_cfg); + obj_main_window->set_map_local(&map_system_cfg); + obj_main_window->settings(); } CmdArgParser::CmdArgParser(const std::string& p_name, const std::string& p_description, const std::string& p_help) diff --git a/source/controller.h b/source/controller.h index 4f02c82..e0d9854 100644 --- a/source/controller.h +++ b/source/controller.h @@ -1,5 +1,6 @@ #ifndef CONTROLLER_H #define CONTROLLER_H +#include "my_type.h" #include "view/view_open_browser.h" #include "view/view_about.h" #include "view/ubl-settings-diskquota.h" @@ -12,6 +13,9 @@ class Controller : public Gtk::ApplicationWindow { private: Glib::RefPtr builder; + map_str_str map_gui_cfg; + map_str_str map_global_cfg; + map_str_str map_system_cfg; public: Controller(/* args */); ~Controller(); diff --git a/source/view/model/wrapper_load_save.cc b/source/view/model/wrapper_load_save.cc index 3b03caa..5988735 100644 --- a/source/view/model/wrapper_load_save.cc +++ b/source/view/model/wrapper_load_save.cc @@ -11,15 +11,15 @@ Wrapper_load_save::~Wrapper_load_save() { } -void Wrapper_load_save::set_map_gui(map_str_str &map_gui_cfg) { +void Wrapper_load_save::set_map_gui(map_str_str* map_gui_cfg) { this->map_gui_cfg = map_gui_cfg; } -void Wrapper_load_save::set_map_global(map_str_str &map_global_cfg) { +void Wrapper_load_save::set_map_global(map_str_str* map_global_cfg) { this->map_global_cfg = map_global_cfg; } -void Wrapper_load_save::set_map_local(map_str_str &map_system_cfg) { +void Wrapper_load_save::set_map_local(map_str_str* map_system_cfg) { this->map_system_cfg = map_system_cfg; } @@ -27,16 +27,16 @@ void Wrapper_load_save::set_vec_key(vector vec_param_names) { this->vec_param_names = vec_param_names; } -bool Wrapper_load_save::load_global_cfg() { - this->load_template(&map_global_cfg, global_load); - map_gui_cfg = map_global_cfg; +int Wrapper_load_save::load_global_cfg() { + this->load_template(map_global_cfg, global_load); + *map_gui_cfg = *map_global_cfg; return 1; } -bool Wrapper_load_save::load_system_cfg() { - this->load_template(&map_system_cfg, system_load); - map_gui_cfg = map_system_cfg; +int Wrapper_load_save::load_system_cfg() { + this->load_template(map_system_cfg, system_load); + *map_gui_cfg = *map_system_cfg; return 0; } @@ -51,44 +51,44 @@ void Wrapper_load_save::load_template(map_str_str* map_temp, string cmd) { *map_temp = obj_load.get_load_data(*map_temp, cmd); } -bool Wrapper_load_save::wrapper_save_global_cfg() { +int Wrapper_load_save::wrapper_save_global_cfg() { this->set_data_cfg(); if (this->save_template("boot", "global")) { - map_global_cfg = map_gui_cfg; + *map_global_cfg = *map_gui_cfg; return 5; } else { - map_global_cfg = map_gui_cfg; + *map_global_cfg = *map_gui_cfg; return 3; } } -bool Wrapper_load_save::wrapper_save_system_cfg() { +int Wrapper_load_save::wrapper_save_system_cfg() { this->set_data_cfg(); if (this->save_template("boot", "system")) { - map_system_cfg = map_gui_cfg; + *map_system_cfg = *map_gui_cfg; return 5; } else { - map_system_cfg = map_gui_cfg; + *map_system_cfg = *map_gui_cfg; return 2; } } -bool Wrapper_load_save::wrapper_save_all_cfg() { +int Wrapper_load_save::wrapper_save_all_cfg() { this->set_data_cfg(); bool _flag_save_global = this->save_template("boot", "global");; bool _flag_save_local = this->save_template("boot", "system"); if (_flag_save_global && _flag_save_local) { - map_global_cfg = map_gui_cfg; - map_system_cfg = map_gui_cfg; + *map_global_cfg = *map_gui_cfg; + *map_system_cfg = *map_gui_cfg; return 5; } else { - map_global_cfg = map_gui_cfg; - map_system_cfg = map_gui_cfg; + *map_global_cfg = *map_gui_cfg; + *map_system_cfg = *map_gui_cfg; return 4; } @@ -104,9 +104,9 @@ int Wrapper_load_save::get_error_save() { bool Wrapper_load_save::save_template(string section, string flag_save) { bool flag_no_save = true; - obj_save.set_data_local(map_system_cfg); - obj_save.set_data_global(map_global_cfg); - obj_save.set_data_gui(map_gui_cfg); + obj_save.set_data_local(*map_system_cfg); + obj_save.set_data_global(*map_global_cfg); + obj_save.set_data_gui(*map_gui_cfg); obj_save.set_vec_params(vec_param_names); obj_save.save(section, flag_save); vector obj_vec_error = obj_save.get_error(); @@ -115,15 +115,15 @@ bool Wrapper_load_save::save_template(string section, string flag_save) { } void Wrapper_load_save::init_dict(string flag_load) { - std::map map_gui_cfg_n; + map_str_str map_gui_cfg_n; map_gui_cfg_n[""] = ""; - map_gui_cfg = map_gui_cfg_n; + *map_gui_cfg = map_gui_cfg_n; if (flag_load == "global") { - map_global_cfg = map_gui_cfg_n; + *map_global_cfg = *map_gui_cfg; } else if (flag_load == "system") { - map_system_cfg = map_gui_cfg_n; + *map_system_cfg = *map_gui_cfg; } } diff --git a/source/view/model/wrapper_load_save.h b/source/view/model/wrapper_load_save.h index 210dc10..5562ff4 100644 --- a/source/view/model/wrapper_load_save.h +++ b/source/view/model/wrapper_load_save.h @@ -21,9 +21,9 @@ class Wrapper_load_save { private: string str_cmd_error; private: - map_str_str map_gui_cfg; - map_str_str map_global_cfg; - map_str_str map_system_cfg; + map_str_str* map_gui_cfg = NULL; + map_str_str* map_global_cfg = NULL; + map_str_str* map_system_cfg = NULL; vector vec_param_names; My_Process::My_Process_system obj_process_system = My_Process::My_Process_system(); My_Process::My_Process_call obj_process_call = My_Process::My_Process_call(); @@ -32,16 +32,16 @@ private: public: Wrapper_load_save(/* args */); ~Wrapper_load_save(); - bool load_global_cfg(); - bool load_system_cfg(); - bool wrapper_save_system_cfg(); - bool wrapper_save_global_cfg(); - bool wrapper_save_all_cfg(); + int load_global_cfg(); + int load_system_cfg(); + int wrapper_save_system_cfg(); + int wrapper_save_global_cfg(); + int wrapper_save_all_cfg(); int get_error_load(); int get_error_save(); - void set_map_gui(map_str_str &map_gui_cfg); - void set_map_global(map_str_str &map_global_cfg); - void set_map_local(map_str_str &map_system_cfg); + void set_map_gui(map_str_str* map_gui_cfg); + void set_map_global(map_str_str* map_global_cfg); + void set_map_local(map_str_str* map_system_cfg); void set_vec_key(vector vec_param_names); private: void load_template(map_str_str* map_temp, string cmd); diff --git a/source/view/ubl-settings-diskquota.cc b/source/view/ubl-settings-diskquota.cc index e085a29..a5c9952 100755 --- a/source/view/ubl-settings-diskquota.cc +++ b/source/view/ubl-settings-diskquota.cc @@ -14,7 +14,26 @@ MainWindow::MainWindow(Glib::RefPtr builder, View_open_browser* ob this->socket_ext_id_I = socket_ext_id_I; this->socket_trd_id_I = socket_trd_id_I; this->set_obj_browser(obj_open_browser); - this->settings(); + // this->settings(); +} + +void MainWindow::set_map_gui(map_str_str* map_gui_cfg) { + this->map_gui_cfg = map_gui_cfg; + obj_wrapper_load_save->set_map_gui(map_gui_cfg); +} + +void MainWindow::set_map_global(map_str_str* map_global_cfg) { + this->map_global_cfg = map_global_cfg; + obj_wrapper_load_save->set_map_global(map_global_cfg); +} + +void MainWindow::set_map_local(map_str_str* map_system_cfg) { + this->map_system_cfg = map_system_cfg; + obj_wrapper_load_save->set_map_local(map_system_cfg); +} + +void MainWindow::set_obj_wrapper_load_save(Wrapper_load_save* obj_wrapper_load_save) { + this->obj_wrapper_load_save = obj_wrapper_load_save; } void MainWindow::settings() { @@ -25,6 +44,8 @@ void MainWindow::settings() { this->init_tree_view(); this->init_spin_all(); if (geteuid() == 0) { + this->wrapper_load_system(); + this->wrapper_load_global(); this->event(); } else { @@ -41,9 +62,7 @@ void MainWindow::settings() { ubl_make_plugs(boxSave, boxButton, (*socket_ext_id_I), (*socket_trd_id_I)); } -void MainWindow::set_obj_wrapper_load(Wrapper_load_save* obj_wrapper_load) { - this->obj_wrapper_load = obj_wrapper_load; -} + void MainWindow::set_obj_browser(View_open_browser* obj_open_browser) { this->obj_open_browser = obj_open_browser; @@ -384,17 +403,51 @@ void MainWindow::open_browser() { obj_open_browser->open_help(); } +void MainWindow::wrapper_save_system() { + int id_mess = obj_wrapper_load_save->wrapper_save_system_cfg(); + int error_save = obj_wrapper_load_save->get_error_save(); + int error_load = obj_wrapper_load_save->get_error_load(); + this->info_warning_error(id_mess, error_save, error_load); +} +void MainWindow::wrapper_save_global() { + int id_mess = obj_wrapper_load_save->wrapper_save_global_cfg(); + int error_save = obj_wrapper_load_save->get_error_save(); + int error_load = obj_wrapper_load_save->get_error_load(); + this->info_warning_error(id_mess, error_save, error_load); +} + +void MainWindow::wrapper_save_all() { + int id_mess = obj_wrapper_load_save->wrapper_save_all_cfg(); + int error_save = obj_wrapper_load_save->get_error_save(); + int error_load = obj_wrapper_load_save->get_error_load(); + this->info_warning_error(id_mess, error_save, error_load); +} + +void MainWindow::wrapper_load_system() { + int id_mess = obj_wrapper_load_save->load_system_cfg(); + int error_save = obj_wrapper_load_save->get_error_save(); + int error_load = obj_wrapper_load_save->get_error_load(); + this->info_warning_error(id_mess, error_save, error_load); +} + +void MainWindow::wrapper_load_global() { + int id_mess = obj_wrapper_load_save->load_global_cfg(); + int error_save = obj_wrapper_load_save->get_error_save(); + int error_load = obj_wrapper_load_save->get_error_load(); + this->info_warning_error(id_mess, error_save, error_load); +} + void MainWindow::event() { btnFilterGroups->signal_clicked().connect([&]() {this->filters_show();}); btnFilterUsers->signal_clicked().connect([&]() {this->filters_show();}); btnFilterProject->signal_clicked().connect([&]() {this->filters_show();}); - //btnLoadGlob->signal_activate().connect([&]() {this->load_global_cfg();}); - //btnLoadLocal->signal_activate().connect([&]() {this->load_system_cfg();}); btnSynopsis->signal_activate().connect([&]() {this->open_browser();}); btnAbout->signal_activate().connect([&]() {obj_open_browser->get_about()->aboutWindows->show();}); - //btnSaveLocalGlob->signal_activate().connect([&]() {this->wrapper_save_all_cfg();}); - //btnSaveGlob->signal_activate().connect([&]() {this->wrapper_save_global_cfg();}); - //btnSaveLocal->signal_activate().connect([&]() {this->wrapper_save_system_cfg();}); + btnSaveLocalGlob->signal_activate().connect([&]() {this->wrapper_save_all();}); + btnSaveGlob->signal_activate().connect([&]() {this->wrapper_save_global();}); + btnSaveLocal->signal_activate().connect([&]() {this->wrapper_save_system();}); + btnLoadGlob->signal_activate().connect([&]() {this->wrapper_load_global();}); + btnLoadLocal->signal_activate().connect([&]() {this->wrapper_load_system();}); chbMangSystemFile->signal_toggled().connect([&]() {this->mode_switch_quota();}); btnDelGroups->signal_clicked().connect( sigc::bind*, const Gtk::TreeModel::iterator*, bool&> (sigc::mem_fun( *this, @@ -420,10 +473,10 @@ void MainWindow::remove_template(Glib::RefPtr* list_store, const if (flag_validate_del && (*list_store)->iter_is_valid(*(iter))) { Gtk::TreeModel::Row row = *(*iter); if(row) { - string name = row[m_columns.name] + ""; + // string name = row[m_columns.name] + ""; // TODO: : check - string key = "GRUB_PASSWORD[" + name + "]"; - map_gui_cfg[key] = ""; + // string key = "GRUB_PASSWORD[" + name + "]"; + // map_gui_cfg[key] = ""; } (*list_store)->erase((*iter)); flag_validate_del = false; diff --git a/source/view/ubl-settings-diskquota.h b/source/view/ubl-settings-diskquota.h index 29ca407..67deb20 100644 --- a/source/view/ubl-settings-diskquota.h +++ b/source/view/ubl-settings-diskquota.h @@ -162,10 +162,10 @@ class MainWindow { Gtk::Button* btnEditGroups; public: - map_str_str map_gui_cfg; - map_str_str map_global_cfg; - map_str_str map_system_cfg; - Wrapper_load_save* obj_wrapper_load = NULL; + map_str_str* map_gui_cfg = NULL; + map_str_str* map_global_cfg = NULL; + map_str_str* map_system_cfg = NULL; + Wrapper_load_save* obj_wrapper_load_save = NULL; //Devices::Parted obj_device = Devices::Parted(); //Quotas_sys::Quotas_sys obj_quotas_sys = Quotas_sys::Quotas_sys(); //Quotas_ubconfig::Quotas_ubconfig obj_quotas_ubconfig = Quotas_ubconfig::Quotas_ubconfig(); @@ -209,7 +209,7 @@ class MainWindow { void entry_combo_box_temp(Gtk::ComboBoxText *combo_box, Gtk::Label *label); void info_status_app(string stule); void filters_show(); - void set_obj_wrapper_load(Wrapper_load_save* obj_wrapper_load); + void set_obj_wrapper_load_save(Wrapper_load_save* obj_wrapper_load_save); void init_tree_view(); void del_columns(); void set_obj_browser(View_open_browser* obj_open_browser); @@ -225,6 +225,14 @@ class MainWindow { void format_cmd_quotas_system(struct struct_quotas& _struct_quota); void format_cmd_quotas_ubconfig(struct struct_quotas& _struct_quota); struct partition_cmd wrapper_settings_quotas(); + void set_map_gui(map_str_str* map_gui_cfg); + void set_map_global(map_str_str* map_global_cfg); + void set_map_local(map_str_str* map_system_cfg); + void wrapper_load_system(); + void wrapper_load_global(); + void wrapper_save_all(); + void wrapper_save_system(); + void wrapper_save_global(); }; void wrapper_help_show(GtkWidget *self, char* link, gpointer user_data); void help();