Сделал сохранение и загрузку конфигурации

pull/13/head
Igor Belitskiy 2 years ago
parent 0ffda64c44
commit b4b9b967a6

@ -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)

@ -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<Gtk::Builder> builder;
map_str_str map_gui_cfg;
map_str_str map_global_cfg;
map_str_str map_system_cfg;
public:
Controller(/* args */);
~Controller();

@ -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<string> 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<string> 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<std::string, std::string> 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;
}
}

@ -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<string> 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<string> vec_param_names);
private:
void load_template(map_str_str* map_temp, string cmd);

@ -14,7 +14,26 @@ MainWindow::MainWindow(Glib::RefPtr<Gtk::Builder> 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<Glib::RefPtr<Gtk::ListStore>*, const Gtk::TreeModel::iterator*, bool&> (sigc::mem_fun( *this,
@ -420,10 +473,10 @@ void MainWindow::remove_template(Glib::RefPtr<Gtk::ListStore>* 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;

@ -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();

Loading…
Cancel
Save