Окно настроек вынесено в отдельный файл

pull/13/head
Igor Belitskiy 2 years ago
parent b6fb6f9756
commit 784c87fa8f

@ -32,18 +32,7 @@ void MainWindow::settings() {
this->filling_device_combo_box_template(usersProjectCombo, map_device); this->filling_device_combo_box_template(usersProjectCombo, map_device);
this->init_tree_view(); this->init_tree_view();
this->init_spin_all(); this->init_spin_all();
check_limit(quotegroupSizeSoftLimitCheck
,quotegroupSizeSoftLimitSpin
,quotegroupSizeSoftLimitCombo);
check_limit(quotegroupSizeHardLimitCheck
,quotegroupSizeHardLimitSpin
,quotegroupSizeHardLimitCombo);
check_limit(quotegroupFilesSoftLimitCheck
,quotegroupFilesSoftLimitSpin
,quotegroupFilesSoftLimitlabel);
check_limit(quotegroupFilesHardLimitCheck
,quotegroupFilesHardLimitSpin
,quotegroupFilesHarLimitLabel);
obj_quotas_sys.set_map_gui(map_gui_cfg); obj_quotas_sys.set_map_gui(map_gui_cfg);
obj_quotas_ubconfig.set_map_gui(map_gui_cfg); obj_quotas_ubconfig.set_map_gui(map_gui_cfg);
@ -66,13 +55,6 @@ void MainWindow::settings() {
ubl_make_plugs(boxSave, boxButton, socket_ext_id_I, socket_trd_id_I); ubl_make_plugs(boxSave, boxButton, socket_ext_id_I, socket_trd_id_I);
} }
void MainWindow::fill_in_pow_memory(Gtk::ComboBoxText *cb_text) {
cb_text->append(str_prefix_KB);
cb_text->append(str_prefix_MB);
cb_text->append(str_prefix_GB);
cb_text->append(str_prefix_TB);
}
void MainWindow::init_spin_all() { void MainWindow::init_spin_all() {
generalGroupsSizeWeeksSpi->set_range(0, 52); generalGroupsSizeWeeksSpi->set_range(0, 52);
generalGroupsSizeWeeksSpi->set_increments(1.0, 1.0); generalGroupsSizeWeeksSpi->set_increments(1.0, 1.0);
@ -202,14 +184,7 @@ void MainWindow::lacalization() {
groupsDeviceLabel->set_label(str_device); groupsDeviceLabel->set_label(str_device);
usersDeviceLabel->set_label(str_device); usersDeviceLabel->set_label(str_device);
headLabel->set_label(str_lb_head); headLabel->set_label(str_lb_head);
quotegroupSizeFrameLabel->set_text(str_size);
quotegroupFilesFrameLabel->set_text(str_files);
quotegroupSizeCurrentlyLabel->set_text(str_currently_using);
quotegroupSizeSoftLimitLabel->set_text(str_soft_limit);
quoteSizeHardLimitLabel->set_text(str_hard_limit);
quoteFilesHardLimitLabel->set_text(str_hard_limit);
quotegroupFilesSoftLimitLabel->set_text(str_soft_limit);
quotegroupFilesCurrentlyLabel->set_text(str_currently_using);
btnLoadGlob->set_label(load_global); btnLoadGlob->set_label(load_global);
btnLoadLocal->set_label(load_local); btnLoadLocal->set_label(load_local);
btnAbout->set_label(str_about_1); btnAbout->set_label(str_about_1);
@ -220,11 +195,6 @@ void MainWindow::lacalization() {
ProjectTabLabel->set_label(str_projects); ProjectTabLabel->set_label(str_projects);
usersProjectLabel->set_text(str_device); usersProjectLabel->set_text(str_device);
chbMangSystemFile->set_label(str_quotas_mode); chbMangSystemFile->set_label(str_quotas_mode);
lblSetDevice->set_text(str_device);
lblQuotasStatus->set_text(str_quota_status);
lblSetUGP->set_text("");
this->fill_in_pow_memory(quotegroupSizeSoftLimitCombo);
this->fill_in_pow_memory(quotegroupSizeHardLimitCombo);
} }
@ -353,17 +323,7 @@ void MainWindow::get_builder() {
builder->get_widget("GroupsTabLabel", GroupsTabLabel); builder->get_widget("GroupsTabLabel", GroupsTabLabel);
builder->get_widget("groupsQuotasTree", groupsQuotasTree); builder->get_widget("groupsQuotasTree", groupsQuotasTree);
builder->get_widget("usersQuotasTree", usersQuotasTree); builder->get_widget("usersQuotasTree", usersQuotasTree);
builder->get_widget("quotegroupSizeFrameLabel", quotegroupSizeFrameLabel);
builder->get_widget("quotegroupFilesFrameLabel", quotegroupFilesFrameLabel);
builder->get_widget("quotegroupSizeCurrentlyLabel", quotegroupSizeCurrentlyLabel);
builder->get_widget("quotegroupFilesCurrentlyLabel", quotegroupFilesCurrentlyLabel);
builder->get_widget("quotegroupSizeSoftLimitLabel", quotegroupSizeSoftLimitLabel);
builder->get_widget("quoteSizeHardLimitLabel", quoteSizeHardLimitLabel);
builder->get_widget("quotegroupFilesSoftLimitLabel", quotegroupFilesSoftLimitLabel);
builder->get_widget("quoteFilesHardLimitLabel", quoteFilesHardLimitLabel);
builder->get_widget("quotegroupFilesHarLimitLabel", quotegroupFilesHarLimitLabel);
builder->get_widget("QuotasEditWindow", QuotasEditWindow);
builder->get_widget("lblHeadQuotasEditWindow", lblHeadQuotasEditWindow);
builder->get_widget("usersDeviceCombo", usersDeviceCombo); builder->get_widget("usersDeviceCombo", usersDeviceCombo);
builder->get_widget("GroupsTabLabel", GroupsTabLabel); builder->get_widget("GroupsTabLabel", GroupsTabLabel);
builder->get_widget("generalTabLabel", generalTabLabel); builder->get_widget("generalTabLabel", generalTabLabel);
@ -384,19 +344,7 @@ void MainWindow::get_builder() {
builder->get_widget("generalUsersFilesHoursSpin", generalUsersFilesHoursSpin); builder->get_widget("generalUsersFilesHoursSpin", generalUsersFilesHoursSpin);
builder->get_widget("generalUsersSizeMinuteSpin", generalUsersSizeMinuteSpin); builder->get_widget("generalUsersSizeMinuteSpin", generalUsersSizeMinuteSpin);
builder->get_widget("generalUsersFilesMinutesSpin", generalUsersFilesMinutesSpin); builder->get_widget("generalUsersFilesMinutesSpin", generalUsersFilesMinutesSpin);
builder->get_widget("quotegroupSizeSoftLimitCheck", quotegroupSizeSoftLimitCheck);
builder->get_widget("quotegroupSizeHardLimitCheck", quotegroupSizeHardLimitCheck);
builder->get_widget("quotegroupFilesSoftLimitCheck", quotegroupFilesSoftLimitCheck);
builder->get_widget("quotegroupFilesHardLimitCheck", quotegroupFilesHardLimitCheck);
builder->get_widget("quotegroupSizeSoftLimitSpin", quotegroupSizeSoftLimitSpin);
builder->get_widget("quotegroupSizeSoftLimitCombo", quotegroupSizeSoftLimitCombo);
builder->get_widget("quotegroupSizeHardLimitSpin", quotegroupSizeHardLimitSpin);
builder->get_widget("quotegroupSizeHardLimitCombo", quotegroupSizeHardLimitCombo);
builder->get_widget("quotegroupFilesSoftLimitSpin", quotegroupFilesSoftLimitSpin);
builder->get_widget("quotegroupFilesSoftLimitlabel", quotegroupFilesSoftLimitlabel);
builder->get_widget("quotegroupFilesHardLimitSpin", quotegroupFilesHardLimitSpin);
builder->get_widget("quotegroupSaveButton", quotegroupSaveButton);
builder->get_widget("quotegroupCancelButton", quotegroupCancelButton);
builder->get_widget("GeneralQuotasTree", GeneralQuotasTree); builder->get_widget("GeneralQuotasTree", GeneralQuotasTree);
builder->get_widget("ProjectQuotasTree", ProjectQuotasTree); builder->get_widget("ProjectQuotasTree", ProjectQuotasTree);
builder->get_widget("ProjectTabLabel", ProjectTabLabel); builder->get_widget("ProjectTabLabel", ProjectTabLabel);
@ -414,12 +362,7 @@ void MainWindow::get_builder() {
builder->get_widget("btnEditProject", btnEditProject); builder->get_widget("btnEditProject", btnEditProject);
builder->get_widget("btnEditUsers", btnEditUsers); builder->get_widget("btnEditUsers", btnEditUsers);
builder->get_widget("btnEditGroups", btnEditGroups); builder->get_widget("btnEditGroups", btnEditGroups);
builder->get_widget("lblSetDevice", lblSetDevice);
builder->get_widget("lblQuotasStatus", lblQuotasStatus);
builder->get_widget("lblSetUGP", lblSetUGP);
builder->get_widget("lblSetNameDevice", lblSetNameDevice);
builder->get_widget("lblSetQuotasStatus", lblSetQuotasStatus);
builder->get_widget("cmbSetNameUGP", cmbSetNameUGP);
builder->get_widget("usersProjectCombo", usersProjectCombo); builder->get_widget("usersProjectCombo", usersProjectCombo);
} }
@ -427,7 +370,7 @@ void MainWindow::event() {
btnFilterGroups->signal_clicked().connect([&]() {this->filters_show();}); btnFilterGroups->signal_clicked().connect([&]() {this->filters_show();});
btnFilterUsers->signal_clicked().connect([&]() {this->filters_show();}); btnFilterUsers->signal_clicked().connect([&]() {this->filters_show();});
btnFilterProject->signal_clicked().connect([&]() {this->filters_show();}); btnFilterProject->signal_clicked().connect([&]() {this->filters_show();});
quotegroupSaveButton->signal_clicked().connect([&]() {});
btnLoadGlob->signal_activate().connect([&]() {this->load_global_cfg();}); btnLoadGlob->signal_activate().connect([&]() {this->load_global_cfg();});
btnLoadLocal->signal_activate().connect([&]() {this->load_system_cfg();}); btnLoadLocal->signal_activate().connect([&]() {this->load_system_cfg();});
//btnSynopsis->signal_activate().connect([&]() {this->synopsis_show();}); //btnSynopsis->signal_activate().connect([&]() {this->synopsis_show();});
@ -436,27 +379,7 @@ void MainWindow::event() {
btnSaveGlob->signal_activate().connect([&]() {this->wrapper_save_global_cfg();}); btnSaveGlob->signal_activate().connect([&]() {this->wrapper_save_global_cfg();});
btnSaveLocal->signal_activate().connect([&]() {this->wrapper_save_system_cfg();}); btnSaveLocal->signal_activate().connect([&]() {this->wrapper_save_system_cfg();});
chbMangSystemFile->signal_toggled().connect([&]() {this->mode_switch_quota();}); chbMangSystemFile->signal_toggled().connect([&]() {this->mode_switch_quota();});
quotegroupSizeSoftLimitCheck->signal_toggled().connect([&]() {
check_limit(quotegroupSizeSoftLimitCheck
,quotegroupSizeSoftLimitSpin
,quotegroupSizeSoftLimitCombo);
});
quotegroupSizeHardLimitCheck->signal_toggled().connect([&]() {
check_limit(quotegroupSizeHardLimitCheck
,quotegroupSizeHardLimitSpin
,quotegroupSizeHardLimitCombo);
});
quotegroupFilesSoftLimitCheck->signal_toggled().connect([&]() {
check_limit(quotegroupFilesSoftLimitCheck
,quotegroupFilesSoftLimitSpin
,quotegroupFilesSoftLimitlabel);
});
quotegroupFilesHardLimitCheck->signal_toggled().connect([&]() {
check_limit(quotegroupFilesHardLimitCheck
,quotegroupFilesHardLimitSpin
,quotegroupFilesHarLimitLabel);
});
quotegroupCancelButton->signal_clicked().connect([&]() {QuotasEditWindow->hide();});
// QuotasEditWindow->show(); // QuotasEditWindow->show();
btnDelGroups->signal_clicked().connect( btnDelGroups->signal_clicked().connect(
sigc::bind<Glib::RefPtr<Gtk::ListStore>*, const Gtk::TreeModel::iterator*, bool&> (sigc::mem_fun( *this, sigc::bind<Glib::RefPtr<Gtk::ListStore>*, const Gtk::TreeModel::iterator*, bool&> (sigc::mem_fun( *this,
@ -479,33 +402,9 @@ void MainWindow::event() {
} }
void MainWindow::set_change_gui(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate, Gtk::ComboBoxText *combo_box) {
if (flag_validate && (*list_store)->iter_is_valid(*(iter))) {
Gtk::TreeModel::Row row = *(*iter);
if(row) {
string name = row[m_columns.name] + "";
lblSetNameDevice->set_text(combo_box->get_active_text());
cmbSetNameUGP->set_active_text(name);
QuotasEditWindow->show();
}
}
flag_validate = false;
}
void MainWindow::edit_tree_view_U(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate) {
lblSetUGP->set_text(str_user_1);
set_change_gui(list_store, iter, flag_validate, usersDeviceCombo);
}
void MainWindow::edit_tree_view_G(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate) {
lblSetUGP->set_text(str_group_1);
set_change_gui(list_store, iter, flag_validate, groupsDeviceCombo);
}
void MainWindow::edit_tree_view_P(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate) {
lblSetUGP->set_text(str_project_1);
set_change_gui(list_store, iter, flag_validate, usersProjectCombo);
}
void MainWindow::del_columns() { void MainWindow::del_columns() {
//std::vector<const TreeViewColumn*> vec_columns = tree_view_select->get_columns(); //std::vector<const TreeViewColumn*> vec_columns = tree_view_select->get_columns();
} }
@ -559,14 +458,6 @@ void MainWindow::set_data_cfg() {
// Написать функцию // Написать функцию
} }
void MainWindow::check_limit(Gtk::CheckButton *check_button, Gtk::SpinButton *spin, Gtk::ComboBoxText *combo_box) {
spin->set_sensitive(check_button->get_active());
combo_box->set_sensitive(check_button->get_active());
}
void MainWindow::check_limit(Gtk::CheckButton *check_button, Gtk::SpinButton *spin, Gtk::Label *combo_box) {
spin->set_sensitive(check_button->get_active());
combo_box->set_sensitive(check_button->get_active());
}
void MainWindow::info_status_app(string stule) { void MainWindow::info_status_app(string stule) {
Glib::RefPtr<Gtk::StyleContext> boxInfo = boxInfoError->get_style_context(); Glib::RefPtr<Gtk::StyleContext> boxInfo = boxInfoError->get_style_context();

@ -140,11 +140,6 @@
#define system_save "ubconfig --target system --noexecute set boot " #define system_save "ubconfig --target system --noexecute set boot "
#define global_remove "ubconfig --target global --noexecute set/remove boot " #define global_remove "ubconfig --target global --noexecute set/remove boot "
#define system_remove "ubconfig --target system --noexecute set/remove boot " #define system_remove "ubconfig --target system --noexecute set/remove boot "
#define str_quota_status "Quota use status:"
#define str_prefix_KB _("Kb")
#define str_prefix_MB _("Mb")
#define str_prefix_GB _("Gb")
#define str_prefix_TB _("Tb")
using namespace std; using namespace std;
extern string version_application; extern string version_application;
@ -256,17 +251,8 @@ class MainWindow : public Gtk::ApplicationWindow {
Gtk::TreeView *ProjectQuotasTree; Gtk::TreeView *ProjectQuotasTree;
Gtk::TreeView *GeneralQuotasTree; Gtk::TreeView *GeneralQuotasTree;
Gtk::Label *quotegroupGroupQuotasLabel; Gtk::Label *quotegroupGroupQuotasLabel;
Gtk::Label *quotegroupSizeFrameLabel;
Gtk::Label *quotegroupSizeCurrentlyLabel;
Gtk::Label *quoteSizeHardLimitLabel;
Gtk::Label *quotegroupFilesFrameLabel;
Gtk::Label *quotegroupFilesCurrentlyLabel;
Gtk::Label *quotegroupFilesSoftLimitLabel;
Gtk::Label *quoteFilesHardLimitLabel;
Gtk::Label *quotegroupFilesHarLimitLabel;
Gtk::Label *quotegroupSizeSoftLimitLabel;
Gtk::Window *QuotasEditWindow;
Gtk::Label *lblHeadQuotasEditWindow;
Gtk::ComboBoxText *usersDeviceCombo; Gtk::ComboBoxText *usersDeviceCombo;
Gtk::ComboBoxText *groupsDeviceCombo; Gtk::ComboBoxText *groupsDeviceCombo;
Gtk::ComboBoxText *generalDeviceCombo; Gtk::ComboBoxText *generalDeviceCombo;
@ -288,19 +274,8 @@ class MainWindow : public Gtk::ApplicationWindow {
Gtk::SpinButton *generalUsersFilesHoursSpin; Gtk::SpinButton *generalUsersFilesHoursSpin;
Gtk::SpinButton *generalUsersSizeMinuteSpin; Gtk::SpinButton *generalUsersSizeMinuteSpin;
Gtk::SpinButton *generalUsersFilesMinutesSpin; Gtk::SpinButton *generalUsersFilesMinutesSpin;
Gtk::CheckButton *quotegroupSizeSoftLimitCheck;
Gtk::CheckButton *quotegroupSizeHardLimitCheck;
Gtk::CheckButton *quotegroupFilesSoftLimitCheck;
Gtk::CheckButton *quotegroupFilesHardLimitCheck;
Gtk::SpinButton *quotegroupSizeSoftLimitSpin;
Gtk::SpinButton *quotegroupSizeHardLimitSpin;
Gtk::SpinButton *quotegroupFilesSoftLimitSpin;
Gtk::SpinButton *quotegroupFilesHardLimitSpin;
Gtk::Label *quotegroupFilesSoftLimitlabel;
Gtk::ComboBoxText *quotegroupSizeSoftLimitCombo;
Gtk::ComboBoxText *quotegroupSizeHardLimitCombo;
Gtk::Button *quotegroupCancelButton;
Gtk::Button *quotegroupSaveButton;
Gtk::Button *btnFilterGroups; Gtk::Button *btnFilterGroups;
Gtk::Button *btnFilterUsers; Gtk::Button *btnFilterUsers;
Gtk::Button *btnFilterProject; Gtk::Button *btnFilterProject;
@ -314,12 +289,8 @@ class MainWindow : public Gtk::ApplicationWindow {
Gtk::Button* btnEditProject; Gtk::Button* btnEditProject;
Gtk::Button* btnEditUsers; Gtk::Button* btnEditUsers;
Gtk::Button* btnEditGroups; Gtk::Button* btnEditGroups;
Gtk::Label* lblSetDevice;
Gtk::Label* lblQuotasStatus;
Gtk::Label* lblSetUGP;
Gtk::Label* lblSetNameDevice;
Gtk::Label* lblSetQuotasStatus;
Gtk::ComboBoxText* cmbSetNameUGP;
#ifdef WEBKIT_FOUND #ifdef WEBKIT_FOUND
Gtk::Window *wndWeb; Gtk::Window *wndWeb;
Gtk::Widget *three; Gtk::Widget *three;
@ -370,7 +341,6 @@ class MainWindow : public Gtk::ApplicationWindow {
void remove_template(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate_del); void remove_template(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate_del);
void init_tree_view_general(); void init_tree_view_general();
void entry_combo_box_temp(Gtk::ComboBoxText *combo_box, Gtk::Label *label); void entry_combo_box_temp(Gtk::ComboBoxText *combo_box, Gtk::Label *label);
void fill_in_pow_memory(Gtk::ComboBoxText *cb_text);
void info_status_app(string stule); void info_status_app(string stule);
void filters_show(); void filters_show();
void init_tree_view(); void init_tree_view();
@ -384,15 +354,11 @@ class MainWindow : public Gtk::ApplicationWindow {
void wrapper_save_all_cfg(); void wrapper_save_all_cfg();
void init_dict(string flag_load); void init_dict(string flag_load);
void set_data_cfg(); void set_data_cfg();
void set_change_gui(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate, Gtk::ComboBoxText *combo_box);
void mode_switch_quota(); void mode_switch_quota();
void save_quotegroupSaveButton(); void save_quotegroupSaveButton();
void wrapper_settings_quotas_temp(string save_user_or_group); void wrapper_settings_quotas_temp(string save_user_or_group);
void off_quota_ubconfig(Gtk::ComboBoxText* combo_box, string quota_type); void off_quota_ubconfig(Gtk::ComboBoxText* combo_box, string quota_type);
void init_spin_all(); void init_spin_all();
void edit_tree_view_U(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate);
void edit_tree_view_G(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate);
void edit_tree_view_P(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate);
void format_cmd_quotas_system(struct struct_quotas& _struct_quota); void format_cmd_quotas_system(struct struct_quotas& _struct_quota);
void format_cmd_quotas_ubconfig(struct struct_quotas& _struct_quota); void format_cmd_quotas_ubconfig(struct struct_quotas& _struct_quota);
void load_global_cfg(); void load_global_cfg();
@ -401,8 +367,6 @@ class MainWindow : public Gtk::ApplicationWindow {
void filling_device_combo_box_template(Gtk::ComboBoxText *combo_box, map_str_str &map_device); void filling_device_combo_box_template(Gtk::ComboBoxText *combo_box, map_str_str &map_device);
bool save_template(string section, string flag_save); bool save_template(string section, string flag_save);
void view_add_columns(Gtk::TreeView &treeView); void view_add_columns(Gtk::TreeView &treeView);
void check_limit(Gtk::CheckButton *check_button, Gtk::SpinButton *spin, Gtk::ComboBoxText *combo_box);
void check_limit(Gtk::CheckButton *check_button, Gtk::SpinButton *spin, Gtk::Label *combo_box);
}; };

@ -31,6 +31,9 @@ void view_about::set_version(string version_application) {
version_application = version_application; version_application = version_application;
} }
void view_about::show() {
aboutWindows->show();
}
void view_about::get_builder() { void view_about::get_builder() {
builder->get_widget("btnBoxAboutDialog", btnBoxAboutDialog); builder->get_widget("btnBoxAboutDialog", btnBoxAboutDialog);
builder->get_widget("aboutWindows", aboutWindows); builder->get_widget("aboutWindows", aboutWindows);

@ -1,3 +1,5 @@
#ifndef VIEW_ABOUT_H
#define VIEW_ABOUT_H
#include "project_lib.h" #include "project_lib.h"
#define copyright _("Copyright © UBSoft LLC, 2022 - ") #define copyright _("Copyright © UBSoft LLC, 2022 - ")
#define str_setting_user _("Setting user quotas") #define str_setting_user _("Setting user quotas")
@ -26,4 +28,5 @@ public:
void set_path_glade(string path_glade); void set_path_glade(string path_glade);
void set_name(string app_name); void set_name(string app_name);
void set_version(string version_application); void set_version(string version_application);
}; };
#endif

@ -1,3 +1,5 @@
#ifndef VIEW_FILTERS_H
#define VIEW_FILTERS_H
#include "project_lib.h" #include "project_lib.h"
#define str_name _("Name") #define str_name _("Name")
@ -47,5 +49,6 @@ private:
void set_map_flag_false(); void set_map_flag_false();
map<string, bool> get_filters() map<string, bool> get_filters()
}; };
#endif

@ -83,4 +83,8 @@ int view_open_browser::template_open_browser() {
cmd = std::string( buf.get(), buf.get() + size - 1 ); cmd = std::string( buf.get(), buf.get() + size - 1 );
} }
return system(cmd); return system(cmd);
}
void view_filters::set_path_glade(string path_glade) {
this->path_glade = path_glade;
} }

@ -1,3 +1,5 @@
#ifndef VIEW_OPEN_BROWSER_H
#define VIEW_OPEN_BROWSER_H
#include "project_lib.h" #include "project_lib.h"
#define link_doc "https://wiki.ublinux.com/ru/Программное_обеспечениерограммы_и_утилиты/Все/ubl-settings-diskquota" #define link_doc "https://wiki.ublinux.com/ru/Программное_обеспечениерограммы_и_утилиты/Все/ubl-settings-diskquota"
@ -27,9 +29,9 @@ public:
void get_builder(); void get_builder();
void settings(); void settings();
void show(); void show();
void synopsis_show();
void set_path_glade(string path_glade); void set_path_glade(string path_glade);
private: private:
int template_open_browser(); int template_open_browser();
void open_browser(); void open_browser();
}; };
#endif

@ -0,0 +1,157 @@
#include "view_set_user_group.h"
view_set_user_group::view_set_user_group(/* args */) {
builder = Gtk::Builder::create_from_file(path_glade);
this->settings();
}
view_set_user_group::~view_set_user_group() {
}
void view_set_user_group::settings() {
this->get_builder();
this->lacalization();
check_limit(quotegroupSizeSoftLimitCheck
,quotegroupSizeSoftLimitSpin
,quotegroupSizeSoftLimitCombo);
check_limit(quotegroupSizeHardLimitCheck
,quotegroupSizeHardLimitSpin
,quotegroupSizeHardLimitCombo);
check_limit(quotegroupFilesSoftLimitCheck
,quotegroupFilesSoftLimitSpin
,quotegroupFilesSoftLimitlabel);
check_limit(quotegroupFilesHardLimitCheck
,quotegroupFilesHardLimitSpin
,quotegroupFilesHarLimitLabel);
this->event();
}
void view_set_user_group::event() {
quotegroupCancelButton->signal_clicked().connect([&]() {QuotasEditWindow->hide();});
quotegroupSaveButton->signal_clicked().connect([&]() {});
quotegroupSizeSoftLimitCheck->signal_toggled().connect([&]() {
check_limit(quotegroupSizeSoftLimitCheck
,quotegroupSizeSoftLimitSpin
,quotegroupSizeSoftLimitCombo);
});
quotegroupSizeHardLimitCheck->signal_toggled().connect([&]() {
check_limit(quotegroupSizeHardLimitCheck
,quotegroupSizeHardLimitSpin
,quotegroupSizeHardLimitCombo);
});
quotegroupFilesSoftLimitCheck->signal_toggled().connect([&]() {
check_limit(quotegroupFilesSoftLimitCheck
,quotegroupFilesSoftLimitSpin
,quotegroupFilesSoftLimitlabel);
});
quotegroupFilesHardLimitCheck->signal_toggled().connect([&]() {
check_limit(quotegroupFilesHardLimitCheck
,quotegroupFilesHardLimitSpin
,quotegroupFilesHarLimitLabel);
});
}
void view_set_user_group::get_builder() {
builder->get_widget("lblSetDevice", lblSetDevice);
builder->get_widget("lblQuotasStatus", lblQuotasStatus);
builder->get_widget("lblSetUGP", lblSetUGP);
builder->get_widget("lblSetNameDevice", lblSetNameDevice);
builder->get_widget("lblSetQuotasStatus", lblSetQuotasStatus);
builder->get_widget("cmbSetNameUGP", cmbSetNameUGP);
builder->get_widget("quotegroupSizeFrameLabel", quotegroupSizeFrameLabel);
builder->get_widget("quotegroupFilesFrameLabel", quotegroupFilesFrameLabel);
builder->get_widget("quotegroupSizeCurrentlyLabel", quotegroupSizeCurrentlyLabel);
builder->get_widget("quotegroupFilesCurrentlyLabel", quotegroupFilesCurrentlyLabel);
builder->get_widget("quotegroupSizeSoftLimitLabel", quotegroupSizeSoftLimitLabel);
builder->get_widget("quoteSizeHardLimitLabel", quoteSizeHardLimitLabel);
builder->get_widget("quotegroupFilesSoftLimitLabel", quotegroupFilesSoftLimitLabel);
builder->get_widget("quoteFilesHardLimitLabel", quoteFilesHardLimitLabel);
builder->get_widget("quotegroupFilesHarLimitLabel", quotegroupFilesHarLimitLabel);
builder->get_widget("QuotasEditWindow", QuotasEditWindow);
builder->get_widget("lblHeadQuotasEditWindow", lblHeadQuotasEditWindow);
builder->get_widget("quotegroupCancelButton", quotegroupCancelButton);
builder->get_widget("quotegroupSaveButton", quotegroupSaveButton);
builder->get_widget("quotegroupSizeSoftLimitSpin", quotegroupSizeSoftLimitSpin);
builder->get_widget("quotegroupSizeHardLimitSpin", quotegroupSizeHardLimitSpin);
builder->get_widget("quotegroupFilesSoftLimitSpin", quotegroupFilesSoftLimitSpin);
builder->get_widget("quotegroupFilesHardLimitSpin", quotegroupFilesHardLimitSpin);
builder->get_widget("quotegroupFilesSoftLimitlabel", quotegroupFilesSoftLimitlabel);
builder->get_widget("quotegroupSizeSoftLimitCombo", quotegroupSizeSoftLimitCombo);
builder->get_widget("quotegroupSizeHardLimitCombo", quotegroupSizeHardLimitCombo);
builder->get_widget("quotegroupSizeSoftLimitCheck", quotegroupSizeSoftLimitCheck);
builder->get_widget("quotegroupSizeHardLimitCheck", quotegroupSizeHardLimitCheck);
builder->get_widget("quotegroupFilesSoftLimitCheck", quotegroupFilesSoftLimitCheck);
builder->get_widget("quotegroupFilesHardLimitCheck", quotegroupFilesHardLimitCheck);
}
void view_set_user_group::show() {
QuotasEditWindow->show();
}
void lacalization() {
lblSetDevice->set_text(str_device);
lblQuotasStatus->set_text(str_quota_status);
// lblSetUGP->set_text("");
quotegroupSizeFrameLabel->set_text(str_size);
quotegroupFilesFrameLabel->set_text(str_files);
quotegroupSizeCurrentlyLabel->set_text(str_currently_using);
quotegroupSizeSoftLimitLabel->set_text(str_soft_limit);
quoteSizeHardLimitLabel->set_text(str_hard_limit);
quoteFilesHardLimitLabel->set_text(str_hard_limit);
quotegroupFilesSoftLimitLabel->set_text(str_soft_limit);
quotegroupFilesCurrentlyLabel->set_text(str_currently_using);
this->fill_in_pow_memory(quotegroupSizeSoftLimitCombo);
this->fill_in_pow_memory(quotegroupSizeHardLimitCombo);
}
void MainWindow::check_limit(Gtk::CheckButton *check_button, Gtk::SpinButton *spin, Gtk::ComboBoxText *combo_box) {
spin->set_sensitive(check_button->get_active());
combo_box->set_sensitive(check_button->get_active());
}
void MainWindow::check_limit(Gtk::CheckButton *check_button, Gtk::SpinButton *spin, Gtk::Label *combo_box) {
spin->set_sensitive(check_button->get_active());
combo_box->set_sensitive(check_button->get_active());
}
void view_set_user_group::set_path_glade(string path_glade) {
this->path_glade = path_glade;
}
void MainWindow::edit_tree_view_U(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate) {
lblSetUGP->set_text(str_user_1);
set_change_gui(list_store, iter, flag_validate, usersDeviceCombo);
}
void MainWindow::edit_tree_view_G(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate) {
lblSetUGP->set_text(str_group_1);
set_change_gui(list_store, iter, flag_validate, groupsDeviceCombo);
}
void MainWindow::edit_tree_view_P(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate) {
lblSetUGP->set_text(str_project_1);
set_change_gui(list_store, iter, flag_validate, usersProjectCombo);
}
void MainWindow::fill_in_pow_memory(Gtk::ComboBoxText *cb_text) {
cb_text->append(str_prefix_KB);
cb_text->append(str_prefix_MB);
cb_text->append(str_prefix_GB);
cb_text->append(str_prefix_TB);
}
void MainWindow::set_change_gui(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate, Gtk::ComboBoxText *combo_box) {
if (flag_validate && (*list_store)->iter_is_valid(*(iter))) {
Gtk::TreeModel::Row row = *(*iter);
if(row) {
string name = row[m_columns.name] + "";
lblSetNameDevice->set_text(combo_box->get_active_text());
cmbSetNameUGP->set_active_text(name);
QuotasEditWindow->show();
}
}
flag_validate = false;
}

@ -0,0 +1,71 @@
#ifndef VIEW_SET_USER_GROUP_H
#define VIEW_SET_USER_GROUP_H
#include "project_lib.h"
#define str_device _("Device:")
#define str_quota_status _("Quota use status:")
#define str_size _("Size")
#define str_files _("files")
#define str_currently_using _("Currently using:")
#define str_soft_limit _("Soft limit")
#define str_hard_limit _("Hard limit")
#define str_hard_limit _("Hard limit")
#define str_prefix_KB _("Kb")
#define str_prefix_MB _("Mb")
#define str_prefix_GB _("Gb")
#define str_prefix_TB _("Tb")
class view_set_user_group
{
private:
string path_glade;
private:
Glib::RefPtr<Gtk::Builder> const& builder;
Gtk::Label* lblSetDevice;
Gtk::Label* lblQuotasStatus;
Gtk::Label* lblSetUGP;
Gtk::Label* lblSetNameDevice;
Gtk::Label* lblSetQuotasStatus;
Gtk::ComboBoxText* cmbSetNameUGP;
Gtk::Label *quotegroupSizeFrameLabel;
Gtk::Label *quotegroupSizeCurrentlyLabel;
Gtk::Label *quoteSizeHardLimitLabel;
Gtk::Label *quotegroupFilesFrameLabel;
Gtk::Label *quotegroupFilesCurrentlyLabel;
Gtk::Label *quotegroupFilesSoftLimitLabel;
Gtk::Label *quoteFilesHardLimitLabel;
Gtk::Label *quotegroupFilesHarLimitLabel;
Gtk::Label *quotegroupSizeSoftLimitLabel;
Gtk::Window *QuotasEditWindow;
Gtk::Label *lblHeadQuotasEditWindow;
Gtk::Button *quotegroupCancelButton;
Gtk::Button *quotegroupSaveButton;
Gtk::SpinButton *quotegroupSizeSoftLimitSpin;
Gtk::SpinButton *quotegroupSizeHardLimitSpin;
Gtk::SpinButton *quotegroupFilesSoftLimitSpin;
Gtk::SpinButton *quotegroupFilesHardLimitSpin;
Gtk::Label *quotegroupFilesSoftLimitlabel;
Gtk::ComboBoxText *quotegroupSizeSoftLimitCombo;
Gtk::ComboBoxText *quotegroupSizeHardLimitCombo;
Gtk::CheckButton *quotegroupSizeSoftLimitCheck;
Gtk::CheckButton *quotegroupSizeHardLimitCheck;
Gtk::CheckButton *quotegroupFilesSoftLimitCheck;
Gtk::CheckButton *quotegroupFilesHardLimitCheck;
public:
view_set_user_group(/* args */);
~view_set_user_group();
void lacalization();
void event();
void get_builder();
void settings();
void show();
void set_path_glade(string path_glade);
private:
void set_change_gui(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate, Gtk::ComboBoxText *combo_box);
void fill_in_pow_memory(Gtk::ComboBoxText *cb_text);
void check_limit(Gtk::CheckButton *check_button, Gtk::SpinButton *spin, Gtk::ComboBoxText *combo_box);
void check_limit(Gtk::CheckButton *check_button, Gtk::SpinButton *spin, Gtk::Label *combo_box);
void edit_tree_view_U(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate);
void edit_tree_view_G(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate);
void edit_tree_view_P(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate);
};
#endif
Loading…
Cancel
Save