Исправлено заполнение treeView. Исправлены события кнопок

pull/3/head
Igor Belitskiy 2 years ago
parent 101dd80dff
commit 6703683be3

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

@ -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<Glib::ustring> name;
Gtk::TreeModelColumn<bool> quotas;
Gtk::TreeModelColumn<Glib::ustring> size;
Gtk::TreeModelColumn<Glib::ustring> soft_limit_size;
Gtk::TreeModelColumn<Glib::ustring> hard_limit_size;
Gtk::TreeModelColumn<Glib::ustring> hard_limit_size_delay;
Gtk::TreeModelColumn<Glib::ustring> hard_limit_activ_time;
Gtk::TreeModelColumn<Glib::ustring> files;
Gtk::TreeModelColumn<Glib::ustring> soft_limit_files;
Gtk::TreeModelColumn<Glib::ustring> hard_limit_files;
Gtk::TreeModelColumn<Glib::ustring> hard_limit_delay;
Gtk::TreeModelColumn<Glib::ustring> 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<bool> status;
Gtk::TreeModelColumn<Glib::ustring> type_quotas;
Gtk::TreeModelColumn<Glib::ustring> device;
Gtk::TreeModelColumn<Glib::ustring> user;
Gtk::TreeModelColumn<Glib::ustring> group;
Gtk::TreeModelColumn<Glib::ustring> soft_limit_size;
Gtk::TreeModelColumn<Glib::ustring> hard_limit_size;
Gtk::TreeModelColumn<Glib::ustring> hard_limit_size_delay;
Gtk::TreeModelColumn<Glib::ustring> soft_limit_files;
Gtk::TreeModelColumn<Glib::ustring> hard_limit_files;
Gtk::TreeModelColumn<Glib::ustring> hard_limit_delay;
};
ModelColumns m_columns;
ModelColumnsGeneral m_columnsGeneral;
Glib::RefPtr<Gtk::Builder> builder;
template<typename Type>
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);

@ -1239,7 +1239,7 @@
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkButton" id="btnFilterProject2">
<object class="GtkButton" id="btnFilterGroups">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
@ -2713,7 +2713,7 @@
</packing>
</child>
<child type="tab">
<object class="GtkLabel">
<object class="GtkLabel" id="ProjectTabLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Project</property>

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

Loading…
Cancel
Save