diff --git a/source/ubl-settings-diskquota.cc b/source/ubl-settings-diskquota.cc index 21c26ad..17c5d2d 100755 --- a/source/ubl-settings-diskquota.cc +++ b/source/ubl-settings-diskquota.cc @@ -138,9 +138,21 @@ void MainWindow::init_tree_view() { this->view_add_columns(*usersQuotasTree); this->view_add_columns(*groupsQuotasTree); this->view_add_columns(*ProjectQuotasTree); - this->view_add_columns(*GeneralQuotasTree); + this->init_tree_view_general(); +} +void MainWindow::init_tree_view_general() { + GeneralQuotasTree->append_column_editable(_("Status"), m_columnsGeneral.status); + GeneralQuotasTree->append_column(_("Quota type"), m_columnsGeneral.type_quotas); + GeneralQuotasTree->append_column(_("Device\nProject"), m_columnsGeneral.device); + GeneralQuotasTree->append_column(_("User"), m_columnsGeneral.user); + GeneralQuotasTree->append_column(_("Group"), m_columnsGeneral.group); + GeneralQuotasTree->append_column(_("Soft limit\n(size)"), m_columnsGeneral.soft_limit_size); + GeneralQuotasTree->append_column(_("Severe\nlimitation\n(size)"), m_columnsGeneral.hard_limit_size); + GeneralQuotasTree->append_column(_("Deferring\na hard\nlimit\n(size)"), m_columnsGeneral.hard_limit_size_delay); + GeneralQuotasTree->append_column(_("Soft limit\n(files)"), m_columnsGeneral.soft_limit_files); + GeneralQuotasTree->append_column(_("Severe\nlimitation\n(files)"), m_columnsGeneral.hard_limit_files); + GeneralQuotasTree->append_column(_("Deferring\na hard\nlimit\n(files)"), m_columnsGeneral.hard_limit_delay); } - void MainWindow::lacalization() { time_t now = time(0); tm *ltm = localtime(&now); @@ -227,6 +239,9 @@ void MainWindow::lacalization() { btnSaveGlob->set_label(_("Save to global configuration")); btnSaveLocal->set_label(_("Save to local configuration")); lblHeadFiltersWindow->set_label(_("Filters")); + ProjectTabLabel->set_label(_("Projects")); + usersProjectLabel->set_text(_("Device:")); + } void MainWindow::view_add_columns(Gtk::TreeView &treeView) { @@ -236,14 +251,10 @@ void MainWindow::view_add_columns(Gtk::TreeView &treeView) { treeView.append_column(_("Soft limit\n(size)"), m_columns.soft_limit_size); treeView.append_column(_("Severe\nlimitation\n(size)"), m_columns.hard_limit_size); treeView.append_column(_("Deferring\na hard\nlimit\n(size)"), m_columns.hard_limit_size_delay); - treeView.append_column(_("Hard limit\n" - "activation\n" - "time (size)"), m_columns.hard_limit_activ_time); treeView.append_column(_("Files"), m_columns.files); - treeView.append_column(_("Soft\nRestriction\n(files)"), m_columns.soft_limit_files); + treeView.append_column(_("Soft limit\n(files)"), m_columns.soft_limit_files); treeView.append_column(_("Severe\nlimitation\n(files)"), m_columns.hard_limit_files); treeView.append_column(_("Deferring\na hard\nlimit\n(files)"), m_columns.hard_limit_delay); - treeView.append_column(_("Hard limit\nactivation\ntime (files)"), m_columns.hard_limit_files_activ_time); } void MainWindow::filling_device_combo_box_template(Gtk::ComboBoxText *combo_box, map_str_str &map_device) { @@ -436,9 +447,20 @@ void MainWindow::get_builder() { builder->get_widget("quotegroupDeviceCombo", quotegroupDeviceCombo); builder->get_widget("GeneralQuotasTree", GeneralQuotasTree); builder->get_widget("ProjectQuotasTree", ProjectQuotasTree); + builder->get_widget("ProjectTabLabel", ProjectTabLabel); + builder->get_widget("usersProjectLabel", usersProjectLabel); + builder->get_widget("btnFilterProject", btnFilterProject); + builder->get_widget("btnFilterUsers", btnFilterUsers); + builder->get_widget("btnFilterGroups", btnFilterGroups); + + + } void MainWindow::event() { + btnFilterGroups->signal_clicked().connect([&]() {this->groupsFilters_show();}); + btnFilterUsers->signal_clicked().connect([&]() {this->groupsFilters_show();}); + btnFilterProject->signal_clicked().connect([&]() {this->groupsFilters_show();}); quotegroupSaveButton->signal_clicked().connect([&]() {}); btnLoadGlob->signal_activate().connect([&]() {this->load_global_cfg();}); btnLoadLocal->signal_activate().connect([&]() {this->load_system_cfg();}); diff --git a/source/ubl-settings-diskquota.h b/source/ubl-settings-diskquota.h index 86d8bab..40c9666 100644 --- a/source/ubl-settings-diskquota.h +++ b/source/ubl-settings-diskquota.h @@ -29,22 +29,39 @@ class MainWindow : public Gtk::ApplicationWindow { public: ModelColumns() {add(name), add(quotas); add(size), add(soft_limit_size), add(hard_limit_size); add(hard_limit_size_delay), - add(hard_limit_activ_time), add(files); add(soft_limit_files), - add(hard_limit_files), add(hard_limit_delay); add(hard_limit_files_activ_time); } + add(files); add(soft_limit_files), + add(hard_limit_files), add(hard_limit_delay); } Gtk::TreeModelColumn name; Gtk::TreeModelColumn quotas; Gtk::TreeModelColumn size; Gtk::TreeModelColumn soft_limit_size; Gtk::TreeModelColumn hard_limit_size; Gtk::TreeModelColumn hard_limit_size_delay; - Gtk::TreeModelColumn hard_limit_activ_time; Gtk::TreeModelColumn files; Gtk::TreeModelColumn soft_limit_files; Gtk::TreeModelColumn hard_limit_files; Gtk::TreeModelColumn hard_limit_delay; - Gtk::TreeModelColumn hard_limit_files_activ_time; + }; + class ModelColumnsGeneral : public Gtk::TreeModel::ColumnRecord { + public: + ModelColumnsGeneral() {add(status), add(type_quotas); add(device), + add(user), add(group); add(soft_limit_size), + add(hard_limit_size); add(hard_limit_size_delay); + add(soft_limit_files), add(hard_limit_files), add(hard_limit_delay); } + Gtk::TreeModelColumn status; + Gtk::TreeModelColumn type_quotas; + Gtk::TreeModelColumn device; + Gtk::TreeModelColumn user; + Gtk::TreeModelColumn group; + Gtk::TreeModelColumn soft_limit_size; + Gtk::TreeModelColumn hard_limit_size; + Gtk::TreeModelColumn hard_limit_size_delay; + Gtk::TreeModelColumn soft_limit_files; + Gtk::TreeModelColumn hard_limit_files; + Gtk::TreeModelColumn hard_limit_delay; }; ModelColumns m_columns; + ModelColumnsGeneral m_columnsGeneral; Glib::RefPtr builder; template struct Result{ @@ -89,6 +106,8 @@ class MainWindow : public Gtk::ApplicationWindow { Gtk::Label *generalGroupsFilesMinutesLabel; Gtk::Label *generalUsersSizeMinutesLabel; Gtk::Label *generalUsersFilesMinutesLabel; + Gtk::Label *ProjectTabLabel; + Gtk::Label *usersProjectLabel; Gtk::Label *lblLoad; Gtk::Label *lblSave; Gtk::MenuItem *btnLoadGlob; @@ -185,6 +204,9 @@ class MainWindow : public Gtk::ApplicationWindow { Gtk::ComboBoxText *quotegroupSizeHardLimitCombo; Gtk::Button *quotegroupCancelButton; Gtk::Button *quotegroupSaveButton; + Gtk::Button *btnFilterGroups; + Gtk::Button *btnFilterUsers; + Gtk::Button *btnFilterProject; Gtk::ComboBoxText *quotegroupDeviceCombo; public: @@ -212,6 +234,7 @@ class MainWindow : public Gtk::ApplicationWindow { void add_CSS(); void get_builder(); void event(); + void init_tree_view_general(); void entry_combo_box_temp(Gtk::ComboBoxText *combo_box, Gtk::Label *label); void synopsis_show(); void info_status_app(string stule); diff --git a/ubl-settings-diskquota.glade b/ubl-settings-diskquota.glade index 1e82d5b..5c188a9 100644 --- a/ubl-settings-diskquota.glade +++ b/ubl-settings-diskquota.glade @@ -1239,7 +1239,7 @@ True False - + True True True @@ -2713,7 +2713,7 @@ - + True False Project diff --git a/ubl-settings-diskquota_ru.po b/ubl-settings-diskquota_ru.po index 1a12057..6538b83 100644 --- a/ubl-settings-diskquota_ru.po +++ b/ubl-settings-diskquota_ru.po @@ -22,6 +22,9 @@ msgstr "" msgid "About" msgstr "О программе" +msgid "Projects" +msgstr "Проекты" + #: source/ubl-settings-quotas.cc:183 source/ubl-settings-quotas.cc:113 #: source/ubl-settings-quotas.cc:103 source/ubl-settings-quotas.cc:124 #: source/ubl-settings-quotas.cc:121 source/ubl-settings-quotas.cc:118 @@ -106,6 +109,21 @@ msgstr "Отсрочка жесткого ограничения (объём)" msgid "Device:" msgstr "Устройство:" +msgid "User" +msgstr "Пользователь" + +msgid "Group" +msgstr "Группа" + +msgid "Quota type" +msgstr "Тип квот" + +msgid "Status" +msgstr "Статус" + +msgid "Device\nProject" +msgstr "Устройство\nПроект" + #: source/ubl-settings-quotas.cc:197 source/ubl-settings-quotas.cc:207 #: source/ubl-settings-quotas.cc:127 source/ubl-settings-quotas.cc:137 #: source/ubl-settings-quotas.cc:117 source/ubl-settings-quotas.cc:138