|
|
|
@ -5,6 +5,10 @@ custom_window cfg_custom_gui;
|
|
|
|
|
config_settings_gui main_config;
|
|
|
|
|
config_all all_config;
|
|
|
|
|
int index_selected = -1;
|
|
|
|
|
int note_selected = -1;
|
|
|
|
|
// 0 user
|
|
|
|
|
// 1 group
|
|
|
|
|
// 3 project
|
|
|
|
|
|
|
|
|
|
void wrapper_filters_user_show() {
|
|
|
|
|
filters_get_tree_view(cfg_custom_gui.user.tree_view);
|
|
|
|
@ -134,16 +138,15 @@ void block_button_add_edit_del(hotebook* obj_note) {
|
|
|
|
|
flag_block = 1;
|
|
|
|
|
}
|
|
|
|
|
gtk_widget_set_sensitive(obj_note->btnAdd, flag_block);
|
|
|
|
|
gtk_widget_set_sensitive(obj_note->btnEdit, flag_block);
|
|
|
|
|
gtk_widget_set_sensitive(obj_note->btnDel, flag_block);
|
|
|
|
|
if (index_selected!=-1 || flag_block == 0) {
|
|
|
|
|
gtk_widget_set_sensitive(obj_note->boxSpins, flag_block);
|
|
|
|
|
gtk_widget_set_sensitive(obj_note->btnEdit, flag_block);
|
|
|
|
|
if (index_selected==-1) {
|
|
|
|
|
gtk_widget_set_sensitive(obj_note->boxSpins, 0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void entry_user_disk(GtkWidget *self, int* flag_update) {
|
|
|
|
|
block_button_add_edit_del(&cfg_custom_gui.user);
|
|
|
|
|
if (flag_update) {
|
|
|
|
|
all_config.flag_set_data = 1;
|
|
|
|
|
all_config.flag_save = 3;
|
|
|
|
@ -159,8 +162,10 @@ void entry_user_disk(GtkWidget *self, int* flag_update) {
|
|
|
|
|
}
|
|
|
|
|
wrapper_fill_tree_view_generate(&all_config, &cfg_custom_gui);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void entry_groups_disk(GtkWidget *self,int* flag_update) {
|
|
|
|
|
block_button_add_edit_del(&cfg_custom_gui.group);
|
|
|
|
|
if (flag_update) {
|
|
|
|
|
all_config.flag_set_data = 1;
|
|
|
|
|
all_config.flag_save = 3;
|
|
|
|
@ -176,6 +181,17 @@ void entry_groups_disk(GtkWidget *self,int* flag_update) {
|
|
|
|
|
}
|
|
|
|
|
wrapper_fill_tree_view_generate(&all_config, &cfg_custom_gui);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void wrapper_entry_groups_disk(GtkWidget *self) {
|
|
|
|
|
block_button_add_edit_del(&cfg_custom_gui.group);
|
|
|
|
|
entry_groups_disk(0,0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void wrapper_entry_user_disk(GtkWidget *self) {
|
|
|
|
|
block_button_add_edit_del(&cfg_custom_gui.user);
|
|
|
|
|
entry_user_disk(0,0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void entry_project_disk(GtkWidget *self,int* flag_update) {
|
|
|
|
|
if (flag_update) {
|
|
|
|
|
all_config.flag_set_data = 1;
|
|
|
|
@ -191,6 +207,7 @@ void entry_project_disk(GtkWidget *self,int* flag_update) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void tree_view_select_user(GtkWidget* self) {
|
|
|
|
|
note_selected = 0;
|
|
|
|
|
block_tree_view(&cfg_custom_gui.user,tree_view_select_user);
|
|
|
|
|
block_spin_time(&cfg_custom_gui.user, wrapper_get_spin_time_gui_user);
|
|
|
|
|
tree_view_select(NULL,&all_config.v_user , &cfg_custom_gui.user);
|
|
|
|
@ -198,6 +215,7 @@ void tree_view_select_user(GtkWidget* self) {
|
|
|
|
|
unlock_tree_view(&cfg_custom_gui.user,tree_view_select_user);
|
|
|
|
|
}
|
|
|
|
|
void tree_view_select_group(GtkWidget* sel) {
|
|
|
|
|
note_selected = 1;
|
|
|
|
|
block_tree_view(&cfg_custom_gui.group,tree_view_select_group);
|
|
|
|
|
block_spin_time(&cfg_custom_gui.group, wrapper_get_spin_time_gui_group);
|
|
|
|
|
tree_view_select(NULL,&all_config.v_group ,&cfg_custom_gui.group);
|
|
|
|
@ -205,6 +223,7 @@ void tree_view_select_group(GtkWidget* sel) {
|
|
|
|
|
unlock_tree_view(&cfg_custom_gui.group,tree_view_select_group);
|
|
|
|
|
}
|
|
|
|
|
void tree_view_select_project(GtkWidget* self) {
|
|
|
|
|
note_selected = 2;
|
|
|
|
|
block_tree_view(&cfg_custom_gui.project,tree_view_select_project);
|
|
|
|
|
block_spin_time(&cfg_custom_gui.project, wrapper_get_spin_time_gui_project);
|
|
|
|
|
tree_view_select(NULL,&all_config.v_project , &cfg_custom_gui.project);
|
|
|
|
@ -221,49 +240,66 @@ void tree_view_select(GtkWidget* self, vector* vec_temp, hotebook* widgets) {
|
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(widgets->liststore);
|
|
|
|
|
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->tree_view));
|
|
|
|
|
if(gtk_tree_selection_get_selected(selection, &model, &iter)) {
|
|
|
|
|
gtk_widget_set_sensitive(widgets->btnAdd,1);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->btnDel,1);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->btnEdit,1);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->btnAdd, 1);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->btnDel, 1);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->btnEdit, 1);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->boxSpins, 1);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
if (main_config.lock_save_global == 0 || main_config.lock_save_local == 0) {
|
|
|
|
|
gtk_widget_set_sensitive(widgets->btnAdd,1);
|
|
|
|
|
}
|
|
|
|
|
gtk_widget_set_sensitive(widgets->btnDel,0);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->btnEdit,0);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->btnDel, 0);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->btnEdit, 0);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->boxSpins, 0);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
gtk_widget_set_sensitive(widgets->btnDel,0);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->btnEdit,0);
|
|
|
|
|
if (index_selected != -1) {
|
|
|
|
|
gtk_widget_set_sensitive(widgets->btnDel, 0);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->btnEdit, 0);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->boxSpins, 0);
|
|
|
|
|
}
|
|
|
|
|
if (widgets->note_selected == note_selected && index_selected>= 0) {
|
|
|
|
|
gtk_widget_set_sensitive(widgets->btnAdd, 1);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->btnDel, 1);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->btnEdit, 1);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->boxSpins, 1);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
gtk_widget_set_sensitive(widgets->btnDel, 0);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->btnEdit, 0);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->boxSpins, 0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void wrapper_get_spin_time_gui_user() {
|
|
|
|
|
if (note_selected == 0) {
|
|
|
|
|
block_spin_time(&cfg_custom_gui.user, wrapper_get_spin_time_gui_user);
|
|
|
|
|
get_spin_time_gui(&all_config.v_user, &cfg_custom_gui.user);
|
|
|
|
|
entry_user_disk(0, 0);
|
|
|
|
|
unlock_spin_time(&cfg_custom_gui.user, wrapper_get_spin_time_gui_user);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void wrapper_get_spin_time_gui_group() {
|
|
|
|
|
if (note_selected == 1) {
|
|
|
|
|
block_spin_time(&cfg_custom_gui.group, wrapper_get_spin_time_gui_group);
|
|
|
|
|
get_spin_time_gui(&all_config.v_group, &cfg_custom_gui.group);
|
|
|
|
|
entry_groups_disk(0, 0);
|
|
|
|
|
unlock_spin_time(&cfg_custom_gui.group, wrapper_get_spin_time_gui_group);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void wrapper_get_spin_time_gui_project() {
|
|
|
|
|
if (note_selected == 2) {
|
|
|
|
|
block_spin_time(&cfg_custom_gui.project, wrapper_get_spin_time_gui_project);
|
|
|
|
|
get_spin_time_gui(&all_config.v_project, &cfg_custom_gui.project);
|
|
|
|
|
entry_project_disk(0, 0);
|
|
|
|
|
unlock_spin_time(&cfg_custom_gui.project, wrapper_get_spin_time_gui_project);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void get_spin_time_gui(vector* vec_u_g_p, hotebook* widgets) {
|
|
|
|
@ -301,6 +337,7 @@ void template_remove(vector* vec_temp, hotebook* widgets) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void user_remove() {
|
|
|
|
|
if (note_selected == 0) {
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(cfg_custom_gui.user.liststore);
|
|
|
|
|
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(cfg_custom_gui.user.tree_view));
|
|
|
|
@ -308,9 +345,11 @@ void user_remove() {
|
|
|
|
|
gtk_list_store_remove(cfg_custom_gui.user.liststore, &iter);
|
|
|
|
|
}
|
|
|
|
|
template_remove(&all_config.v_user, &cfg_custom_gui.user);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void group_remove() {
|
|
|
|
|
if (note_selected == 1) {
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(cfg_custom_gui.group.liststore);
|
|
|
|
|
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(cfg_custom_gui.group.tree_view));
|
|
|
|
@ -318,9 +357,11 @@ void group_remove() {
|
|
|
|
|
gtk_list_store_remove(cfg_custom_gui.group.liststore, &iter);
|
|
|
|
|
}
|
|
|
|
|
template_remove(&all_config.v_group ,&cfg_custom_gui.group);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void project_remove() {
|
|
|
|
|
if (note_selected == 2) {
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(cfg_custom_gui.project.liststore);
|
|
|
|
|
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(cfg_custom_gui.project.tree_view));
|
|
|
|
@ -328,6 +369,7 @@ void project_remove() {
|
|
|
|
|
gtk_list_store_remove(cfg_custom_gui.project.liststore, &iter);
|
|
|
|
|
}
|
|
|
|
|
template_remove(&all_config.v_project , &cfg_custom_gui.project);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
int tree_view_edit(config_all* _all_config, vector* vec_temp, hotebook* widgets) {
|
|
|
|
|
int index = wrapper_select_tree_view(widgets);
|
|
|
|
@ -346,7 +388,6 @@ int wrapper_select_tree_view(hotebook* widgets) {
|
|
|
|
|
char* str_iter = gtk_tree_model_get_string_from_iter(model, &iter);
|
|
|
|
|
index = atoi(str_iter);
|
|
|
|
|
index_selected = index;
|
|
|
|
|
gtk_widget_set_sensitive(widgets->boxSpins, 1);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
}
|
|
|
|
@ -421,8 +462,8 @@ void control_event(main_window* _config_main_gui, custom_window* _config_custom_
|
|
|
|
|
g_signal_connect(G_OBJECT(_config_custom_gui->user.btnFilter),"clicked",G_CALLBACK(wrapper_filters_user_show), glade_path);
|
|
|
|
|
g_signal_connect(G_OBJECT(_config_custom_gui->group.btnFilter),"clicked",G_CALLBACK(wrapper_filters_group_show), glade_path);
|
|
|
|
|
g_signal_connect(G_OBJECT(_config_custom_gui->project.btnFilter),"clicked",G_CALLBACK(wrapper_filters_project_show), glade_path);
|
|
|
|
|
g_signal_connect(G_OBJECT(_config_custom_gui->user.comboBox),"changed",G_CALLBACK(entry_user_disk), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(_config_custom_gui->group.comboBox),"changed",G_CALLBACK(entry_groups_disk), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(_config_custom_gui->user.comboBox),"changed",G_CALLBACK(wrapper_entry_user_disk), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(_config_custom_gui->group.comboBox),"changed",G_CALLBACK(wrapper_entry_groups_disk), NULL);
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(_config_custom_gui->user.tree_view), "cursor-changed", G_CALLBACK(tree_view_select_user), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(_config_custom_gui->group.tree_view), "cursor-changed", G_CALLBACK(tree_view_select_group), NULL);
|
|
|
|
@ -619,9 +660,8 @@ int main(int argc, char *argv[]){
|
|
|
|
|
filters_set_name("prjquota");
|
|
|
|
|
filters_init_flag();
|
|
|
|
|
control_event(widgets, &cfg_custom_gui);
|
|
|
|
|
block_button_add_edit_del(&cfg_custom_gui.user);
|
|
|
|
|
block_button_add_edit_del(&cfg_custom_gui.group);
|
|
|
|
|
tree_view_select(NULL,&all_config.v_project , &cfg_custom_gui.project);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
yon_ubl_header_setup_resource(widgets->HeadOverlay,widgets->HeadBox,widgets->HeadImage,banner_path);
|
|
|
|
|
|
|
|
|
|
yon_ubl_status_box_setup(widgets->StatusIcon,widgets->StatusBox,widgets->StatusLabel);
|
|
|
|
@ -638,6 +678,7 @@ int main(int argc, char *argv[]){
|
|
|
|
|
load_system_cfg();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
yon_ubl_setup_sockets(widgets->PlugBox,widgets->LeftBox,widgets->RightBox,main_config.socket_id,main_config.load_socket_id,main_config.save_socket_id);
|
|
|
|
|
yon_window_config_setup(GTK_WINDOW(widgets->Window));
|
|
|
|
|
yon_window_config_load(config_path);
|
|
|
|
@ -646,5 +687,8 @@ int main(int argc, char *argv[]){
|
|
|
|
|
gtk_style_context_add_provider_for_screen(gdk_screen_get_default(),
|
|
|
|
|
GTK_STYLE_PROVIDER(css),
|
|
|
|
|
-1);
|
|
|
|
|
block_button_add_edit_del(&cfg_custom_gui.user);
|
|
|
|
|
block_button_add_edit_del(&cfg_custom_gui.group);
|
|
|
|
|
tree_view_select(NULL,&all_config.v_project , &cfg_custom_gui.project);
|
|
|
|
|
gtk_main();
|
|
|
|
|
}
|