|
|
|
@ -30,7 +30,6 @@ void MainWindow::settings() {
|
|
|
|
|
map_device = obj_device.get_parted();
|
|
|
|
|
this->filling_device_combo_box_template(groupsDeviceCombo, map_device);
|
|
|
|
|
this->filling_device_combo_box_template(usersDeviceCombo, map_device);
|
|
|
|
|
this->filling_device_combo_box_template(quotegroupDeviceCombo, map_device);
|
|
|
|
|
this->init_tree_view();
|
|
|
|
|
this->init_spin_all();
|
|
|
|
|
check_limit(quotegroupSizeSoftLimitCheck
|
|
|
|
@ -47,6 +46,17 @@ void MainWindow::settings() {
|
|
|
|
|
,quotegroupFilesHarLimitLabel);
|
|
|
|
|
obj_quotas_sys.set_map_gui(map_gui_cfg);
|
|
|
|
|
obj_quotas_ubconfig.set_map_gui(map_gui_cfg);
|
|
|
|
|
filtersNameFilterCheckbox->set_active(true);
|
|
|
|
|
filtersQuotasFilterCheckbox->set_active(true);
|
|
|
|
|
filtersSizeFilterCheckbox->set_active(true);
|
|
|
|
|
filtersSoftSizeFilterCheckbox->set_active(true);
|
|
|
|
|
filtersHardSizeFilterCheckbox->set_active(true);
|
|
|
|
|
filtersHardSizeDelayFilterCheckbox->set_active(true);
|
|
|
|
|
filtersFilesFilterCheckbox->set_active(true);
|
|
|
|
|
filtersSoftFilesFilterCheckbox->set_active(true);
|
|
|
|
|
filtersHardFilesFilterCheckbox->set_active(true);
|
|
|
|
|
filtersHardFilesDelayFilterCheckbox->set_active(true);
|
|
|
|
|
|
|
|
|
|
#ifdef WEBKIT_FOUND
|
|
|
|
|
one = WEBKIT_WEB_VIEW( webkit_web_view_new() );
|
|
|
|
|
three = Glib::wrap(GTK_WIDGET(one));
|
|
|
|
@ -187,7 +197,6 @@ void MainWindow::lacalization() {
|
|
|
|
|
headerAboutTopic->set_label(_(app_name));
|
|
|
|
|
headerTopic->set_label(name_app);
|
|
|
|
|
UsersTabLabel->set_text(str_users);
|
|
|
|
|
generalGroupsSizeLabel->set_text(str_excess_size_delay);
|
|
|
|
|
generalGroupsFilesLabel->set_text(str_excess_files_delay);
|
|
|
|
|
generalUsersSizeLabel->set_text(str_excess_size_delay);
|
|
|
|
|
generalUsersFilesLabel->set_text(str_excess_files_delay);
|
|
|
|
@ -222,9 +231,6 @@ void MainWindow::lacalization() {
|
|
|
|
|
filtersSoftFilesFilterCheckbox->set_label(str_soft_restriction_files);
|
|
|
|
|
filtersHardFilesFilterCheckbox->set_label(str_severe_limitation_files);
|
|
|
|
|
filtersHardFilesDelayFilterCheckbox->set_label(str_deferring_limit_files);
|
|
|
|
|
quotegroupDeviceLabel->set_text(str_device);
|
|
|
|
|
quotegroupDiskQuotasLabel->set_text(str_disk_quotas_device);
|
|
|
|
|
quotegroupGroupQuotasLabel->set_text(str_group_quotas_device);
|
|
|
|
|
quotegroupSizeFrameLabel->set_text(str_size);
|
|
|
|
|
quotegroupFilesFrameLabel->set_text(str_files);
|
|
|
|
|
quotegroupSizeCurrentlyLabel->set_text(str_currently_using);
|
|
|
|
@ -233,7 +239,6 @@ void MainWindow::lacalization() {
|
|
|
|
|
quoteFilesHardLimitLabel->set_text(str_hard_limit);
|
|
|
|
|
quotegroupFilesSoftLimitLabel->set_text(str_soft_limit);
|
|
|
|
|
quotegroupFilesCurrentlyLabel->set_text(str_currently_using);
|
|
|
|
|
quotegroupFileSystemLabel->set_text(str_file_system);
|
|
|
|
|
btnLoadGlob->set_label(load_global);
|
|
|
|
|
btnLoadLocal->set_label(load_local);
|
|
|
|
|
btnAbout->set_label(str_about_1);
|
|
|
|
@ -346,7 +351,6 @@ void MainWindow::get_builder() {
|
|
|
|
|
builder->get_widget("generalTabLabel", generalTabLabel);
|
|
|
|
|
builder->get_widget("GroupsTabLabel", GroupsTabLabel);
|
|
|
|
|
builder->get_widget("UsersTabLabel", UsersTabLabel);
|
|
|
|
|
builder->get_widget("generalGroupsSizeLabel", generalGroupsSizeLabel);
|
|
|
|
|
builder->get_widget("generalGroupsFilesLabel", generalGroupsFilesLabel);
|
|
|
|
|
builder->get_widget("generalUsersSizeLabel", generalUsersSizeLabel);
|
|
|
|
|
builder->get_widget("generalUsersFilesLabel", generalUsersFilesLabel);
|
|
|
|
@ -394,10 +398,6 @@ void MainWindow::get_builder() {
|
|
|
|
|
builder->get_widget("GroupsTabLabel", GroupsTabLabel);
|
|
|
|
|
builder->get_widget("groupsQuotasTree", groupsQuotasTree);
|
|
|
|
|
builder->get_widget("usersQuotasTree", usersQuotasTree);
|
|
|
|
|
builder->get_widget("quotegroupDeviceLabel", quotegroupDeviceLabel);
|
|
|
|
|
builder->get_widget("quotegroupFileSystemLabel", quotegroupFileSystemLabel);
|
|
|
|
|
builder->get_widget("quotegroupDiskQuotasLabel", quotegroupDiskQuotasLabel);
|
|
|
|
|
builder->get_widget("quotegroupGroupQuotasLabel", quotegroupGroupQuotasLabel);
|
|
|
|
|
builder->get_widget("quotegroupSizeFrameLabel", quotegroupSizeFrameLabel);
|
|
|
|
|
builder->get_widget("quotegroupFilesFrameLabel", quotegroupFilesFrameLabel);
|
|
|
|
|
builder->get_widget("quotegroupSizeCurrentlyLabel", quotegroupSizeCurrentlyLabel);
|
|
|
|
@ -431,7 +431,6 @@ void MainWindow::get_builder() {
|
|
|
|
|
builder->get_widget("generalUsersFilesHoursSpin", generalUsersFilesHoursSpin);
|
|
|
|
|
builder->get_widget("generalUsersSizeMinuteSpin", generalUsersSizeMinuteSpin);
|
|
|
|
|
builder->get_widget("generalUsersFilesMinutesSpin", generalUsersFilesMinutesSpin);
|
|
|
|
|
builder->get_widget("lblEditWndFsys", lblEditWndFsys);
|
|
|
|
|
builder->get_widget("quotegroupSizeSoftLimitCheck", quotegroupSizeSoftLimitCheck);
|
|
|
|
|
builder->get_widget("quotegroupSizeHardLimitCheck", quotegroupSizeHardLimitCheck);
|
|
|
|
|
builder->get_widget("quotegroupFilesSoftLimitCheck", quotegroupFilesSoftLimitCheck);
|
|
|
|
@ -445,7 +444,6 @@ void MainWindow::get_builder() {
|
|
|
|
|
builder->get_widget("quotegroupFilesHardLimitSpin", quotegroupFilesHardLimitSpin);
|
|
|
|
|
builder->get_widget("quotegroupSaveButton", quotegroupSaveButton);
|
|
|
|
|
builder->get_widget("quotegroupCancelButton", quotegroupCancelButton);
|
|
|
|
|
builder->get_widget("quotegroupDeviceCombo", quotegroupDeviceCombo);
|
|
|
|
|
builder->get_widget("GeneralQuotasTree", GeneralQuotasTree);
|
|
|
|
|
builder->get_widget("ProjectQuotasTree", ProjectQuotasTree);
|
|
|
|
|
builder->get_widget("ProjectTabLabel", ProjectTabLabel);
|
|
|
|
@ -471,6 +469,9 @@ void MainWindow::get_builder() {
|
|
|
|
|
builder->get_widget("btnAddGroups", btnAddGroups);
|
|
|
|
|
builder->get_widget("btnAddUsers", btnAddUsers);
|
|
|
|
|
builder->get_widget("btnAddProject", btnAddProject);
|
|
|
|
|
builder->get_widget("btnEditProject", btnEditProject);
|
|
|
|
|
builder->get_widget("btnEditUsers", btnEditUsers);
|
|
|
|
|
builder->get_widget("btnEditGroups", btnEditGroups);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -490,7 +491,6 @@ 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();});
|
|
|
|
|
quotegroupDeviceCombo->signal_changed().connect([&]() {entry_combo_box_temp(quotegroupDeviceCombo, lblEditWndFsys);});
|
|
|
|
|
quotegroupSizeSoftLimitCheck->signal_toggled().connect([&]() {
|
|
|
|
|
check_limit(quotegroupSizeSoftLimitCheck
|
|
|
|
|
,quotegroupSizeSoftLimitSpin
|
|
|
|
@ -531,8 +531,26 @@ void MainWindow::event() {
|
|
|
|
|
btnAddGroups->signal_clicked().connect(
|
|
|
|
|
sigc::bind<Gtk::TreeModel::Row&, Glib::RefPtr<Gtk::ListStore>, struct tv_g_u_p> (sigc::mem_fun( *this,
|
|
|
|
|
&MainWindow::set_add_tv_g_u_p), row, list_store_groups, obj_tv_g_u_p));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
filtersNameFilterCheckbox->signal_toggled().connect(sigc::mem_fun( *this,
|
|
|
|
|
&MainWindow::del_columns));
|
|
|
|
|
// btnEditProject->signal_clicked().connect();
|
|
|
|
|
// btnEditUsers->signal_clicked().connect();
|
|
|
|
|
// btnEditGroups->signal_clicked().connect();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
void MainWindow::set_tree_view(Gtk::TreeView *tree_view, Glib::RefPtr<Gtk::ListStore>* list_store, bool& flag_validate_del) {
|
|
|
|
|
if (flag_validate_del && (*list_store)->iter_is_valid(*(iter))) {
|
|
|
|
|
Gtk::TreeModel::Row row = *(*iter);
|
|
|
|
|
if (row) {
|
|
|
|
|
row[m_columns.name] =
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
void MainWindow::del_columns() {
|
|
|
|
|
//std::vector<const TreeViewColumn*> vec_columns = tree_view_select->get_columns();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::remove_template(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate_del) {
|
|
|
|
@ -576,76 +594,6 @@ void MainWindow::mode_switch_quota() {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::wrapper_settings_quotas_temp(string save_user_or_group) {
|
|
|
|
|
struct partition_cmd _struct_partition_cmd = this->wrapper_settings_quotas();
|
|
|
|
|
string device = _struct_partition_cmd.device;
|
|
|
|
|
string cmd = _struct_partition_cmd.cmd;
|
|
|
|
|
string type_quotas = save_user_or_group;
|
|
|
|
|
string user = "";
|
|
|
|
|
struct struct_quotas _struct_quota;
|
|
|
|
|
_struct_quota.device = device;
|
|
|
|
|
_struct_quota.cmd = cmd;
|
|
|
|
|
_struct_quota.type_quotas = type_quotas;
|
|
|
|
|
_struct_quota.name = user;
|
|
|
|
|
obj_quotas_ubconfig.format_cmd_quotas(_struct_quota);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::save_quotegroupSaveButton() {
|
|
|
|
|
if (sys_or_ubconfig == "ubconfig") {
|
|
|
|
|
if (save_user_or_group == "usrquota") {
|
|
|
|
|
this->wrapper_settings_quotas_temp(save_user_or_group);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
this->wrapper_settings_quotas_temp(save_user_or_group);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
if (save_user_or_group == "usrquota") {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
struct partition_cmd MainWindow::wrapper_settings_quotas() {
|
|
|
|
|
string str_parted = quotegroupDeviceCombo->get_active_text();
|
|
|
|
|
string value = "";
|
|
|
|
|
if (quotegroupSizeSoftLimitCheck->get_active()) {
|
|
|
|
|
value = Utils::format_str_size(quotegroupSizeSoftLimitSpin->get_value(), quotegroupSizeSoftLimitCombo->get_active_row_number());
|
|
|
|
|
value += ":";
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
value += "0:";
|
|
|
|
|
}
|
|
|
|
|
if (quotegroupSizeHardLimitCheck->get_active()) {
|
|
|
|
|
value += Utils::format_str_size(quotegroupSizeHardLimitSpin->get_value(), quotegroupSizeHardLimitCombo->get_active_row_number());
|
|
|
|
|
value += ":";
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
value += "0:";
|
|
|
|
|
}
|
|
|
|
|
if (quotegroupFilesSoftLimitCheck->get_active()) {
|
|
|
|
|
value += to_string(quotegroupFilesSoftLimitSpin->get_value());
|
|
|
|
|
value += ":";
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
value += "0:";
|
|
|
|
|
}
|
|
|
|
|
if (quotegroupFilesHardLimitCheck->get_active()) {
|
|
|
|
|
value += to_string(quotegroupFilesHardLimitSpin->get_value());
|
|
|
|
|
value += ":";
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
value += "0:";
|
|
|
|
|
}
|
|
|
|
|
struct partition_cmd _struct_partition_cmd;
|
|
|
|
|
_struct_partition_cmd.device = str_parted;
|
|
|
|
|
_struct_partition_cmd.cmd = value;
|
|
|
|
|
return _struct_partition_cmd;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::filters_show() {
|
|
|
|
|
FiltersWindow->show_all();
|
|
|
|
|
}
|
|
|
|
@ -707,13 +655,13 @@ void MainWindow::wrapper_save_all_cfg() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::load_global_cfg() {
|
|
|
|
|
this->load_template(&map_global_cfg, "global");
|
|
|
|
|
this->load_template(&map_global_cfg, global_load);
|
|
|
|
|
info_warning_error(1);
|
|
|
|
|
map_gui_cfg = map_global_cfg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::load_system_cfg() {
|
|
|
|
|
this->load_template(&map_system_cfg, "system");
|
|
|
|
|
this->load_template(&map_system_cfg, system_load);
|
|
|
|
|
info_warning_error(0);
|
|
|
|
|
map_gui_cfg = map_system_cfg;
|
|
|
|
|
}
|
|
|
|
@ -802,13 +750,15 @@ void MainWindow::init_work_tv_g_u_p() {
|
|
|
|
|
this->view_add_columns(*usersQuotasTree);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::load_template(map_str_str* map_temp, string str_load) {
|
|
|
|
|
void MainWindow::load_template(map_str_str* map_temp, string cmd) {
|
|
|
|
|
this->init_work_tv_g_u_p();
|
|
|
|
|
this->init_dict(str_load);
|
|
|
|
|
string sections;
|
|
|
|
|
sections = "security";
|
|
|
|
|
obj_load.set_sections(sections);
|
|
|
|
|
*map_temp = obj_load.get_load_data(*map_temp, str_load);
|
|
|
|
|
if (cmd.find("system") != string::npos) {
|
|
|
|
|
this->init_dict("system");
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
this->init_dict("global");
|
|
|
|
|
}
|
|
|
|
|
*map_temp = obj_load.get_load_data(*map_temp, cmd);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::remove_line_template(const Gtk::TreeModel::Path&, const Gtk::TreeModel::iterator& iter, Gtk::TreeModel::iterator& iter_del, bool& flag_del) {
|
|
|
|
|