diff --git a/source/ubl-settings-diskquota.cc b/source/ubl-settings-diskquota.cc index 14a36ee..e86f23d 100755 --- a/source/ubl-settings-diskquota.cc +++ b/source/ubl-settings-diskquota.cc @@ -32,18 +32,7 @@ void MainWindow::settings() { this->filling_device_combo_box_template(usersProjectCombo, map_device); this->init_tree_view(); 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_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); } -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() { generalGroupsSizeWeeksSpi->set_range(0, 52); generalGroupsSizeWeeksSpi->set_increments(1.0, 1.0); @@ -202,14 +184,7 @@ void MainWindow::lacalization() { groupsDeviceLabel->set_label(str_device); usersDeviceLabel->set_label(str_device); 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); btnLoadLocal->set_label(load_local); btnAbout->set_label(str_about_1); @@ -220,11 +195,6 @@ void MainWindow::lacalization() { ProjectTabLabel->set_label(str_projects); usersProjectLabel->set_text(str_device); 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("groupsQuotasTree", groupsQuotasTree); 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("GroupsTabLabel", GroupsTabLabel); builder->get_widget("generalTabLabel", generalTabLabel); @@ -384,19 +344,7 @@ void MainWindow::get_builder() { builder->get_widget("generalUsersFilesHoursSpin", generalUsersFilesHoursSpin); builder->get_widget("generalUsersSizeMinuteSpin", generalUsersSizeMinuteSpin); 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("ProjectQuotasTree", ProjectQuotasTree); builder->get_widget("ProjectTabLabel", ProjectTabLabel); @@ -414,12 +362,7 @@ void MainWindow::get_builder() { builder->get_widget("btnEditProject", btnEditProject); builder->get_widget("btnEditUsers", btnEditUsers); 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); } @@ -427,7 +370,7 @@ void MainWindow::event() { btnFilterGroups->signal_clicked().connect([&]() {this->filters_show();}); btnFilterUsers->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();}); btnLoadLocal->signal_activate().connect([&]() {this->load_system_cfg();}); //btnSynopsis->signal_activate().connect([&]() {this->synopsis_show();}); @@ -436,27 +379,7 @@ void MainWindow::event() { btnSaveGlob->signal_activate().connect([&]() {this->wrapper_save_global_cfg();}); btnSaveLocal->signal_activate().connect([&]() {this->wrapper_save_system_cfg();}); 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(); btnDelGroups->signal_clicked().connect( sigc::bind*, const Gtk::TreeModel::iterator*, bool&> (sigc::mem_fun( *this, @@ -479,33 +402,9 @@ void MainWindow::event() { } -void MainWindow::set_change_gui(Glib::RefPtr* 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* 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* 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* 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() { //std::vector 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) { Glib::RefPtr boxInfo = boxInfoError->get_style_context(); diff --git a/source/ubl-settings-diskquota.h b/source/ubl-settings-diskquota.h index 79ccadf..7a5a588 100644 --- a/source/ubl-settings-diskquota.h +++ b/source/ubl-settings-diskquota.h @@ -140,11 +140,6 @@ #define system_save "ubconfig --target system --noexecute set boot " #define global_remove "ubconfig --target global --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; extern string version_application; @@ -256,17 +251,8 @@ class MainWindow : public Gtk::ApplicationWindow { Gtk::TreeView *ProjectQuotasTree; Gtk::TreeView *GeneralQuotasTree; 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 *groupsDeviceCombo; Gtk::ComboBoxText *generalDeviceCombo; @@ -288,19 +274,8 @@ class MainWindow : public Gtk::ApplicationWindow { Gtk::SpinButton *generalUsersFilesHoursSpin; Gtk::SpinButton *generalUsersSizeMinuteSpin; 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 *btnFilterUsers; Gtk::Button *btnFilterProject; @@ -314,12 +289,8 @@ class MainWindow : public Gtk::ApplicationWindow { Gtk::Button* btnEditProject; Gtk::Button* btnEditUsers; Gtk::Button* btnEditGroups; - Gtk::Label* lblSetDevice; - Gtk::Label* lblQuotasStatus; - Gtk::Label* lblSetUGP; - Gtk::Label* lblSetNameDevice; - Gtk::Label* lblSetQuotasStatus; - Gtk::ComboBoxText* cmbSetNameUGP; + + #ifdef WEBKIT_FOUND Gtk::Window *wndWeb; Gtk::Widget *three; @@ -370,7 +341,6 @@ class MainWindow : public Gtk::ApplicationWindow { void remove_template(Glib::RefPtr* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate_del); void init_tree_view_general(); 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 filters_show(); void init_tree_view(); @@ -384,15 +354,11 @@ class MainWindow : public Gtk::ApplicationWindow { void wrapper_save_all_cfg(); void init_dict(string flag_load); void set_data_cfg(); - void set_change_gui(Glib::RefPtr* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate, Gtk::ComboBoxText *combo_box); void mode_switch_quota(); void save_quotegroupSaveButton(); void wrapper_settings_quotas_temp(string save_user_or_group); void off_quota_ubconfig(Gtk::ComboBoxText* combo_box, string quota_type); void init_spin_all(); - void edit_tree_view_U(Glib::RefPtr* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate); - void edit_tree_view_G(Glib::RefPtr* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate); - void edit_tree_view_P(Glib::RefPtr* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate); void format_cmd_quotas_system(struct struct_quotas& _struct_quota); void format_cmd_quotas_ubconfig(struct struct_quotas& _struct_quota); 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); bool save_template(string section, string flag_save); 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); }; diff --git a/source/view_about.cc b/source/view_about.cc index e483e4d..97d23c9 100644 --- a/source/view_about.cc +++ b/source/view_about.cc @@ -31,6 +31,9 @@ void view_about::set_version(string version_application) { version_application = version_application; } +void view_about::show() { + aboutWindows->show(); +} void view_about::get_builder() { builder->get_widget("btnBoxAboutDialog", btnBoxAboutDialog); builder->get_widget("aboutWindows", aboutWindows); diff --git a/source/view_about.h b/source/view_about.h index c80ff40..f64ce41 100644 --- a/source/view_about.h +++ b/source/view_about.h @@ -1,3 +1,5 @@ +#ifndef VIEW_ABOUT_H +#define VIEW_ABOUT_H #include "project_lib.h" #define copyright _("Copyright © UBSoft LLC, 2022 - ") #define str_setting_user _("Setting user quotas") @@ -26,4 +28,5 @@ public: void set_path_glade(string path_glade); void set_name(string app_name); void set_version(string version_application); -}; \ No newline at end of file +}; +#endif \ No newline at end of file diff --git a/source/view_filters.h b/source/view_filters.h index cf4c75f..2d3fd16 100644 --- a/source/view_filters.h +++ b/source/view_filters.h @@ -1,3 +1,5 @@ +#ifndef VIEW_FILTERS_H +#define VIEW_FILTERS_H #include "project_lib.h" #define str_name _("Name") @@ -47,5 +49,6 @@ private: void set_map_flag_false(); map get_filters() }; +#endif diff --git a/source/view_open_browser.cc b/source/view_open_browser.cc index c891653..d39caa4 100644 --- a/source/view_open_browser.cc +++ b/source/view_open_browser.cc @@ -83,4 +83,8 @@ int view_open_browser::template_open_browser() { cmd = std::string( buf.get(), buf.get() + size - 1 ); } return system(cmd); +} + +void view_filters::set_path_glade(string path_glade) { + this->path_glade = path_glade; } \ No newline at end of file diff --git a/source/view_open_browser.h b/source/view_open_browser.h index 5081290..393bf5b 100644 --- a/source/view_open_browser.h +++ b/source/view_open_browser.h @@ -1,3 +1,5 @@ +#ifndef VIEW_OPEN_BROWSER_H +#define VIEW_OPEN_BROWSER_H #include "project_lib.h" #define link_doc "https://wiki.ublinux.com/ru/Программное_обеспечение/Программы_и_утилиты/Все/ubl-settings-diskquota" @@ -27,9 +29,9 @@ public: void get_builder(); void settings(); void show(); - void synopsis_show(); void set_path_glade(string path_glade); private: int template_open_browser(); void open_browser(); -}; \ No newline at end of file +}; +#endif \ No newline at end of file diff --git a/source/view_set_user_group.cc b/source/view_set_user_group.cc new file mode 100644 index 0000000..9785589 --- /dev/null +++ b/source/view_set_user_group.cc @@ -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* 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* 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* 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* 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; +} \ No newline at end of file diff --git a/source/view_set_user_group.h b/source/view_set_user_group.h new file mode 100644 index 0000000..f8728d6 --- /dev/null +++ b/source/view_set_user_group.h @@ -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 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* 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* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate); + void edit_tree_view_G(Glib::RefPtr* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate); + void edit_tree_view_P(Glib::RefPtr* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate); +}; + +#endif \ No newline at end of file