| 
						
						
						
					 | 
					 | 
					@ -1,38 +1,73 @@
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#ifndef UBL_SETTINGS_DISKQUOTA_H
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#define UBL_SETTINGS_DISKQUOTA_H
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#include "ubl-settings-diskquota.h"
 | 
					 | 
					 | 
					 | 
					#include "ubl-settings-diskquota.h"
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					using namespace std;
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					int socket_ext_id_I = 0;
 | 
					 | 
					 | 
					 | 
					string version_application = "1.6";
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					int socket_trd_id_I = 0;
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					bool flag_save = false;
 | 
					 | 
					 | 
					 | 
					bool flag_save = false;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					bool flag_save_local = false;
 | 
					 | 
					 | 
					 | 
					bool flag_save_local = false;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					bool flag_save_global = false;
 | 
					 | 
					 | 
					 | 
					bool flag_save_global = false;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					bool flag_load_global = false;
 | 
					 | 
					 | 
					 | 
					bool flag_load_global = false;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					bool flag_lock_help = false;
 | 
					 | 
					 | 
					 | 
					bool flag_lock_help = false;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					string version_application = "1.0";
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					MainWindow::MainWindow(BaseObjectType* obj, Glib::RefPtr<Gtk::Builder> const& builder)
 | 
					 | 
					 | 
					 | 
					MainWindow::MainWindow(Glib::RefPtr<Gtk::Builder> builder, View_open_browser* obj_open_browser, int* socket_ext_id_I, int* socket_trd_id_I) {
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    : Gtk::ApplicationWindow(obj), builder{builder} {
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    this->builder = builder;
 | 
					 | 
					 | 
					 | 
					    this->builder = builder;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        this->settings();  
 | 
					 | 
					 | 
					 | 
					    this->socket_ext_id_I = socket_ext_id_I;
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    this->socket_trd_id_I = socket_trd_id_I;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    this->set_obj_browser(obj_open_browser);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // this->settings();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					MainWindow::MainWindow(Glib::RefPtr<Gtk::Builder> const& builder) {
 | 
					 | 
					 | 
					 | 
					void MainWindow::set_map_gui(map_str_str* map_gui_cfg) {
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    this->builder =  builder;
 | 
					 | 
					 | 
					 | 
					    this->map_gui_cfg = map_gui_cfg;
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    this->settings();
 | 
					 | 
					 | 
					 | 
					    obj_wrapper_load_save->set_map_gui(map_gui_cfg);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					void MainWindow::set_map_global(map_str_str* map_global_cfg) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    this->map_global_cfg = map_global_cfg;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    obj_wrapper_load_save->set_map_global(map_global_cfg);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					void MainWindow::set_map_local(map_str_str* map_system_cfg) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    this->map_system_cfg = map_system_cfg;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    obj_wrapper_load_save->set_map_local(map_system_cfg);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					void MainWindow::set_obj_wrapper_load_save(Wrapper_load_save* obj_wrapper_load_save) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    this->obj_wrapper_load_save = obj_wrapper_load_save;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					void MainWindow::set_obj_view_filters(View_filters* obj_view_filters) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    this->obj_view_filters = obj_view_filters;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					void MainWindow::set_obj_view_add(View_add_user_group* obj_view_add) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    this->obj_view_add = obj_view_add;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					void MainWindow::set_obj_view_edit(View_edit_user_group* obj_view_edit) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    this->obj_view_edit = obj_view_edit;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					void MainWindow::set_obj_view_add_project(View_add_project* obj_view_add_project) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    this->obj_view_add_project = obj_view_add_project;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					void MainWindow::set_obj_view_edit_project(View_edit_project* obj_view_edit_project) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    this->obj_view_edit_project = obj_view_edit_project;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void MainWindow::settings() {
 | 
					 | 
					 | 
					 | 
					void MainWindow::settings() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    this->get_builder();
 | 
					 | 
					 | 
					 | 
					    this->get_builder();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    this->lacalization();
 | 
					 | 
					 | 
					 | 
					    this->lacalization();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    Gtk::Widget *boxWidget;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    builder->get_widget("boxColor", boxWidget);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    HeadOverlay->add_overlay(*boxWidget);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    ubl_make_plugs(boxSave, boxButton, (*socket_ext_id_I), (*socket_trd_id_I));
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    this->add_CSS();
 | 
					 | 
					 | 
					 | 
					    this->add_CSS();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    this->flag_block_gui();
 | 
					 | 
					 | 
					 | 
					    this->flag_block_gui();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    //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(usersProjectCombo, map_device);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    this->init_tree_view();
 | 
					 | 
					 | 
					 | 
					    this->init_tree_view();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    this->init_spin_all();
 | 
					 | 
					 | 
					 | 
					    this->init_spin_all();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if (geteuid() == 0) {
 | 
					 | 
					 | 
					 | 
					    if (geteuid() == 0) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        this->wrapper_load_system();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        this->wrapper_load_global();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        this->event();
 | 
					 | 
					 | 
					 | 
					        this->event();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    else {
 | 
					 | 
					 | 
					 | 
					    else {
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -43,10 +78,14 @@ void MainWindow::settings() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        info_status_app(info_box_error_css);
 | 
					 | 
					 | 
					 | 
					        info_status_app(info_box_error_css);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        lblWarning->set_text(program_as_root);
 | 
					 | 
					 | 
					 | 
					        lblWarning->set_text(program_as_root);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Gtk::Widget *boxWidget;
 | 
					 | 
					 | 
					 | 
					    
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    builder->get_widget("boxColor", boxWidget);
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    HeadOverlay->add_overlay(*boxWidget);
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ubl_make_plugs(boxSave, boxButton, socket_ext_id_I, socket_trd_id_I);
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					void MainWindow::set_obj_browser(View_open_browser* obj_open_browser) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    this->obj_open_browser = obj_open_browser;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    obj_open_browser->get_about()->set_version(version_application);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void MainWindow::init_spin_all() {
 | 
					 | 
					 | 
					 | 
					void MainWindow::init_spin_all() {
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -142,22 +181,6 @@ void MainWindow::lacalization() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    generalGroupsFilesLabel->set_text(str_excess_files_delay);
 | 
					 | 
					 | 
					 | 
					    generalGroupsFilesLabel->set_text(str_excess_files_delay);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    generalUsersSizeLabel->set_text(str_excess_size_delay);
 | 
					 | 
					 | 
					 | 
					    generalUsersSizeLabel->set_text(str_excess_size_delay);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    generalUsersFilesLabel->set_text(str_excess_files_delay);
 | 
					 | 
					 | 
					 | 
					    generalUsersFilesLabel->set_text(str_excess_files_delay);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    generalGroupsSizeWeeksLabel->set_text(str_weeks);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    generalGroupsFilesWeeksLabel->set_text(str_weeks);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    generalUsersSizeWeeksLabel->set_text(str_weeks);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    generalUsersFilesWeeksLabel->set_text(str_weeks);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    generalGroupsSizeDaysLabel->set_text(str_days);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    generalGroupsFilesDaysLabel->set_text(str_days);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    generalUsersSizeDaysLabel->set_text(str_days);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    generalUsersFilesDaysLabel->set_text(str_days);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    generalGroupsSizeHoursLabel->set_text(str_hours);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    generalGroupsFilesHoursLabel->set_text(str_hours);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    generalUsersSizeHoursLabel->set_text(str_hours);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    generalUsersFilesHoursLabel->set_text(str_hours);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    generalGroupsSizeMinutesLabel->set_text(str_minutes);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    generalGroupsFilesMinutesLabel->set_text(str_minutes);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    generalUsersSizeMinutesLabel->set_text(str_minutes);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    generalUsersFilesMinutesLabel->set_text(str_minutes);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    lblLoad->set_text(str_load_local);
 | 
					 | 
					 | 
					 | 
					    lblLoad->set_text(str_load_local);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    lblSave->set_text(str_save_local);
 | 
					 | 
					 | 
					 | 
					    lblSave->set_text(str_save_local);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    groupsDeviceLabel->set_label(str_device); 
 | 
					 | 
					 | 
					 | 
					    groupsDeviceLabel->set_label(str_device); 
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -279,7 +302,7 @@ void MainWindow::add_CSS() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Glib::RefPtr<Gtk::StyleContext> boxButton_css = boxButton->get_style_context();
 | 
					 | 
					 | 
					 | 
					    Glib::RefPtr<Gtk::StyleContext> boxButton_css = boxButton->get_style_context();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Glib::RefPtr<Gtk::StyleContext> boxSave_css = boxSave->get_style_context();
 | 
					 | 
					 | 
					 | 
					    Glib::RefPtr<Gtk::StyleContext> boxSave_css = boxSave->get_style_context();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Glib::RefPtr<Gtk::StyleContext> headerBar_css = headerBar->get_style_context();
 | 
					 | 
					 | 
					 | 
					    Glib::RefPtr<Gtk::StyleContext> headerBar_css = headerBar->get_style_context();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if (socket_trd_id_I == 0 && socket_ext_id_I == 0){
 | 
					 | 
					 | 
					 | 
					    if ((*socket_trd_id_I) == 0 && (*socket_ext_id_I) == 0){
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        boxButton_css->add_class("bkim_no_plug");
 | 
					 | 
					 | 
					 | 
					        boxButton_css->add_class("bkim_no_plug");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        boxSave_css->add_class("bkim_no_plug");
 | 
					 | 
					 | 
					 | 
					        boxSave_css->add_class("bkim_no_plug");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -377,19 +400,78 @@ void MainWindow::get_builder() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    builder->get_widget("btnEditUsers", btnEditUsers);
 | 
					 | 
					 | 
					 | 
					    builder->get_widget("btnEditUsers", btnEditUsers);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    builder->get_widget("btnEditGroups", btnEditGroups);
 | 
					 | 
					 | 
					 | 
					    builder->get_widget("btnEditGroups", btnEditGroups);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    builder->get_widget("usersProjectCombo", usersProjectCombo);
 | 
					 | 
					 | 
					 | 
					    builder->get_widget("usersProjectCombo", usersProjectCombo);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    builder->get_widget("boxResize", boxResize);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    builder->get_widget("boxGroupsWeeks", boxGroupsWeeks);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    builder->get_widget("boxGroupsDays", boxGroupsDays);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    builder->get_widget("boxGroupsHours", boxGroupsHours);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    builder->get_widget("boxGroupsMinutes", boxGroupsMinutes);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    builder->get_widget("boxUsersWeeks", boxUsersWeeks);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    builder->get_widget("boxUsersDays", boxUsersDays);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    builder->get_widget("boxUsersHours", boxUsersHours);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    builder->get_widget("boxUsersMinutes", boxUsersMinutes);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    builder->get_widget("boxProjectWeeks", boxProjectWeeks);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    builder->get_widget("boxProjectDays", boxProjectDays);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    builder->get_widget("boxProjectHours", boxProjectHours);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    builder->get_widget("boxProjectMinutes", boxProjectMinutes);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					void MainWindow::open_browser() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    obj_open_browser->open_help();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					void MainWindow::wrapper_save_system() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    int id_mess = obj_wrapper_load_save->wrapper_save_system_cfg();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    int error_save = obj_wrapper_load_save->get_error_save();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    int error_load = obj_wrapper_load_save->get_error_load();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    this->info_warning_error(id_mess, error_save, error_load);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					void MainWindow::wrapper_save_global() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    int id_mess = obj_wrapper_load_save->wrapper_save_global_cfg();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    int error_save = obj_wrapper_load_save->get_error_save();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    int error_load = obj_wrapper_load_save->get_error_load();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    this->info_warning_error(id_mess, error_save, error_load);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					void MainWindow::wrapper_save_all() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    int id_mess = obj_wrapper_load_save->wrapper_save_all_cfg();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    int error_save = obj_wrapper_load_save->get_error_save();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    int error_load = obj_wrapper_load_save->get_error_load();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    this->info_warning_error(id_mess, error_save, error_load);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					void MainWindow::wrapper_load_system() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    int id_mess = obj_wrapper_load_save->load_system_cfg();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    int error_save = obj_wrapper_load_save->get_error_save();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    int error_load = obj_wrapper_load_save->get_error_load();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    this->info_warning_error(id_mess, error_save, error_load);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    this->init_work_tv_g_u_p();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					void MainWindow::wrapper_load_global() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    int id_mess = obj_wrapper_load_save->load_global_cfg();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    int error_save = obj_wrapper_load_save->get_error_save();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    int error_load = obj_wrapper_load_save->get_error_load();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    this->info_warning_error(id_mess, error_save, error_load);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    this->init_work_tv_g_u_p();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void MainWindow::event() {
 | 
					 | 
					 | 
					 | 
					void MainWindow::event() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    boxResize->signal_check_resize().connect(sigc::mem_fun(*this, &MainWindow::resize_widget));
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    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();});
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    //btnLoadGlob->signal_activate().connect([&]() {this->load_global_cfg();});
 | 
					 | 
					 | 
					 | 
					    btnSynopsis->signal_activate().connect([&]() {this->open_browser();});
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    //btnLoadLocal->signal_activate().connect([&]() {this->load_system_cfg();});
 | 
					 | 
					 | 
					 | 
					    btnAbout->signal_activate().connect([&]() {obj_open_browser->get_about()->aboutWindows->show();});
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    //btnSynopsis->signal_activate().connect([&]() {this->synopsis_show();});
 | 
					 | 
					 | 
					 | 
					    btnSaveLocalGlob->signal_activate().connect([&]() {this->wrapper_save_all();});
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    //btnAbout->signal_activate().connect([&]() {aboutWindows->show();});
 | 
					 | 
					 | 
					 | 
					    btnSaveGlob->signal_activate().connect([&]() {this->wrapper_save_global();});
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    //btnSaveLocalGlob->signal_activate().connect([&]() {this->wrapper_save_all_cfg();});
 | 
					 | 
					 | 
					 | 
					    btnSaveLocal->signal_activate().connect([&]() {this->wrapper_save_system();});
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    //btnSaveGlob->signal_activate().connect([&]() {this->wrapper_save_global_cfg();});
 | 
					 | 
					 | 
					 | 
					    btnLoadGlob->signal_activate().connect([&]() {this->wrapper_load_global();});
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    //btnSaveLocal->signal_activate().connect([&]() {this->wrapper_save_system_cfg();});
 | 
					 | 
					 | 
					 | 
					    btnLoadLocal->signal_activate().connect([&]() {this->wrapper_load_system();});
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    btnEditGroups->signal_clicked().connect(sigc::bind<string> (sigc::mem_fun( *this, 
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        &MainWindow::edit_quota_show), str_groups));
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    btnEditUsers->signal_clicked().connect(sigc::bind<string> (sigc::mem_fun( *this, 
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        &MainWindow::edit_quota_show), str_users));
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    btnEditProject->signal_clicked().connect([&]() {this->edit_quota_project_show();});
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    chbMangSystemFile->signal_toggled().connect([&]() {this->mode_switch_quota();});
 | 
					 | 
					 | 
					 | 
					    chbMangSystemFile->signal_toggled().connect([&]() {this->mode_switch_quota();});
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    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, 
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -400,36 +482,51 @@ void MainWindow::event() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    btnDelProject->signal_clicked().connect( 
 | 
					 | 
					 | 
					 | 
					    btnDelProject->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, 
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        &MainWindow::remove_template), &list_store_project, &iter_project, flag_validate_del_project));
 | 
					 | 
					 | 
					 | 
					        &MainWindow::remove_template), &list_store_project, &iter_project, flag_validate_del_project));
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    btnAddProject->signal_clicked().connect( 
 | 
					 | 
					 | 
					 | 
					    btnAddProject->signal_clicked().connect([&]() {this->obj_view_add_project->show();});
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        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_project, obj_tv_g_u_p));
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    btnAddUsers->signal_clicked().connect( 
 | 
					 | 
					 | 
					 | 
					    btnAddUsers->signal_clicked().connect( 
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        sigc::bind<Gtk::TreeModel::Row&, Glib::RefPtr<Gtk::ListStore>,  struct tv_g_u_p> (sigc::mem_fun( *this, 
 | 
					 | 
					 | 
					 | 
					        sigc::bind<string,Gtk::TreeView*, 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_users, obj_tv_g_u_p));
 | 
					 | 
					 | 
					 | 
					        &MainWindow::set_add_tv_g_u_p), str_users, usersQuotasTree, row, list_store_users, obj_tv_g_u_p));
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    btnAddGroups->signal_clicked().connect( 
 | 
					 | 
					 | 
					 | 
					    btnAddGroups->signal_clicked().connect( 
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        sigc::bind<Gtk::TreeModel::Row&, Glib::RefPtr<Gtk::ListStore>,  struct tv_g_u_p> (sigc::mem_fun( *this, 
 | 
					 | 
					 | 
					 | 
					        sigc::bind<string,Gtk::TreeView*, 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));
 | 
					 | 
					 | 
					 | 
					        &MainWindow::set_add_tv_g_u_p), str_groups, groupsQuotasTree, row, list_store_groups, obj_tv_g_u_p));
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					void MainWindow::resize_widget() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // boxGroupsWeeks = boxGroupsWeeks(Gtk::ORIENTATION_HORIZONTAL);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					void MainWindow::add_quota_show(string name) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    obj_view_add->set_label_type_quota(name);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    obj_view_add->show();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					void MainWindow::edit_quota_show(string name) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    obj_view_edit->set_label_type_quota(name);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    obj_view_edit->show();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					void MainWindow::edit_quota_project_show() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    obj_view_edit_project->show();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void MainWindow::remove_template(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate_del) {
 | 
					 | 
					 | 
					 | 
					void MainWindow::remove_template(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate_del) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if (flag_validate_del && (*list_store)->iter_is_valid(*(iter))) {
 | 
					 | 
					 | 
					 | 
					    if (flag_validate_del && (*list_store)->iter_is_valid(*(iter))) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Gtk::TreeModel::Row row = *(*iter);
 | 
					 | 
					 | 
					 | 
					        Gtk::TreeModel::Row row = *(*iter);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if(row) {
 | 
					 | 
					 | 
					 | 
					        if(row) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            string name = row[m_columns.name] + "";
 | 
					 | 
					 | 
					 | 
					            // string name = row[m_columns.name] + "";
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            // TODO:
 | 
					 | 
					 | 
					 | 
					            // TODO: : check
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            string key = "GRUB_PASSWORD[" + name + "]";
 | 
					 | 
					 | 
					 | 
					            // string key = "GRUB_PASSWORD[" + name + "]";
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            map_gui_cfg[key] = "";
 | 
					 | 
					 | 
					 | 
					            // map_gui_cfg[key] = "";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        (*list_store)->erase((*iter));
 | 
					 | 
					 | 
					 | 
					        (*list_store)->erase((*iter));
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        flag_validate_del = false;
 | 
					 | 
					 | 
					 | 
					        flag_validate_del = false;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        info_status_app(info_box_ok_css);
 | 
					 | 
					 | 
					 | 
					        info_status_app(info_box_ok_css);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        imgInfo->set_from_icon_name(icon_checked, Gtk::ICON_SIZE_MENU);
 | 
					 | 
					 | 
					 | 
					        imgInfo->set_from_icon_name(icon_checked, Gtk::ICON_SIZE_MENU);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        lblWarning->set_text("");
 | 
					 | 
					 | 
					 | 
					        // lblWarning->set_text("");
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    flag_validate_del = false;
 | 
					 | 
					 | 
					 | 
					    flag_validate_del = false;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void MainWindow::set_add_tv_g_u_p(Gtk::TreeModel::Row &row, Glib::RefPtr<Gtk::ListStore> list_store, struct tv_g_u_p obj_tv_g_u_p) {
 | 
					 | 
					 | 
					 | 
					void MainWindow::set_add_tv_g_u_p(string name, Gtk::TreeView* tree_view, Gtk::TreeModel::Row &row, Glib::RefPtr<Gtk::ListStore>& list_store, struct tv_g_u_p obj_tv_g_u_p) {
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    if (this->check_space(tree_view)) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        row = *(list_store->append());
 | 
					 | 
					 | 
					 | 
					        row = *(list_store->append());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        row[m_columns.name] = obj_tv_g_u_p.name;
 | 
					 | 
					 | 
					 | 
					        row[m_columns.name] = obj_tv_g_u_p.name;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        row[m_columns.quotas] = obj_tv_g_u_p.quotas;
 | 
					 | 
					 | 
					 | 
					        row[m_columns.quotas] = obj_tv_g_u_p.quotas;
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -441,9 +538,12 @@ void MainWindow::set_add_tv_g_u_p(Gtk::TreeModel::Row &row, Glib::RefPtr<Gtk::Li
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        row[m_columns.soft_limit_files] = obj_tv_g_u_p.soft_limit_files; 
 | 
					 | 
					 | 
					 | 
					        row[m_columns.soft_limit_files] = obj_tv_g_u_p.soft_limit_files; 
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        row[m_columns.hard_limit_delay] = obj_tv_g_u_p.hard_limit_delay; 
 | 
					 | 
					 | 
					 | 
					        row[m_columns.hard_limit_delay] = obj_tv_g_u_p.hard_limit_delay; 
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        row[m_columns.deferring_files] = obj_tv_g_u_p.deferring_files;
 | 
					 | 
					 | 
					 | 
					        row[m_columns.deferring_files] = obj_tv_g_u_p.deferring_files;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        this->add_quota_show(name);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void MainWindow::mode_switch_quota() {
 | 
					 | 
					 | 
					 | 
					void MainWindow::mode_switch_quota() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // Todo: check
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if (chbMangSystemFile->get_active()) {
 | 
					 | 
					 | 
					 | 
					    if (chbMangSystemFile->get_active()) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mode_quota = "filesystem";
 | 
					 | 
					 | 
					 | 
					        mode_quota = "filesystem";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -453,8 +553,24 @@ void MainWindow::mode_switch_quota() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void MainWindow::filters_show() {
 | 
					 | 
					 | 
					 | 
					void MainWindow::filters_show() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    obj_view_filters->show();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					bool MainWindow::check_space(Gtk::TreeView* tree_view) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    Glib::RefPtr<Gtk::TreeModel> tree_view_model = tree_view->get_model();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    Gtk::TreeModel::Children children = tree_view_model->children();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    string name = "";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    string quotas = "";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    for(Gtk::TreeModel::iterator iter = children.begin(); iter != children.end(); ++iter) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        Gtk::TreeModel::Row row = *iter;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        name = row[m_columns.name] + "";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        quotas = row[m_columns.quotas] + "";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        if (name.length() == 0 || quotas.length() == 0) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            return false;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    return true;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					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();
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -464,6 +580,7 @@ void MainWindow::info_status_app(string stule) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void MainWindow::init_work_tv_g_u_p() {
 | 
					 | 
					 | 
					 | 
					void MainWindow::init_work_tv_g_u_p() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // Todo: remove
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    groupsQuotasTree->remove_all_columns();
 | 
					 | 
					 | 
					 | 
					    groupsQuotasTree->remove_all_columns();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ProjectQuotasTree->remove_all_columns();
 | 
					 | 
					 | 
					 | 
					    ProjectQuotasTree->remove_all_columns();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    usersQuotasTree->remove_all_columns();
 | 
					 | 
					 | 
					 | 
					    usersQuotasTree->remove_all_columns();
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -492,11 +609,13 @@ void MainWindow::remove_line_template(const Gtk::TreeModel::Path&, const Gtk::Tr
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    flag_del = true;
 | 
					 | 
					 | 
					 | 
					    flag_del = true;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					MainWindow::~MainWindow() {}
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void help() {
 | 
					 | 
					 | 
					 | 
					void help() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    string version = string(str_version) + version_application + "\n";
 | 
					 | 
					 | 
					 | 
					    string version = string(str_version) + version_application + "\n";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    cout << version.c_str();
 | 
					 | 
					 | 
					 | 
					    cout << version.c_str();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    cout << str_help_h;
 | 
					 | 
					 | 
					 | 
					    cout << str_help_h;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					MainWindow::~MainWindow() {}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#endif
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
					 | 
					 | 
					
 
 |