From 1066a80afa0cad7b7b1234e7e4baf971b2018a6d Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 13 Jan 2025 11:07:13 +0600 Subject: [PATCH] Fixed custom config loading cancelling --- source/ubl-settings-usergroups.c | 7 ++++++- source/ubl-settings-usergroups.h | 1 + ubl-settings-usergroups-group.glade | 18 ++++++++++++++++-- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 375ac06..47b7abd 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -5,7 +5,9 @@ config main_config; //functions int yon_load_proceed(YON_CONFIG_TYPE type){ - yon_config_clean(); + if (type!=YON_CONFIG_CUSTOM){ + yon_config_clean(); + } yon_config_load_config(YON_CONFIG_DEFAULT,config_get_default_command,NULL); if (type==YON_CONFIG_GLOBAL){ yon_debug_output("%s\n",yon_char_unite(config_get_command("global"),NULL)); @@ -68,6 +70,7 @@ int yon_load_proceed(YON_CONFIG_TYPE type){ gtk_widget_destroy(dialog); return 0; } + yon_config_clean(); yon_config_load_config(type,config_get_command(path),NULL); } return 1; @@ -1606,11 +1609,13 @@ ubl_settings_usergroups_group_window *yon_ubl_settings_usergroups_group_new(int window->HeaderLabel=yon_gtk_builder_get_widget(builder,"HeaderLabel"); window->StatusCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"StatusCell")); window->GroupColumn = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder,"GroupColumn")); + window->DefaultCheck=yon_gtk_builder_get_widget(builder,"DefaultCheck"); window->list = gtk_list_store_new(3,G_TYPE_BOOLEAN,G_TYPE_STRING,G_TYPE_INT); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(window->list),2,GTK_SORT_ASCENDING); yon_window_config_custom_window_setup(GTK_WINDOW(window->GroupsWindow),"GroupWindow"); gtk_window_set_title(GTK_WINDOW(window->GroupsWindow),GROUPS_TITLE_LABEL); + g_signal_connect(G_OBJECT(window->DefaultCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),window->GroupsTree); g_signal_connect(G_OBJECT(window->StatusCell),"toggled",G_CALLBACK(on_group_clicked),window); GtkTreeIter iter; config_str current; diff --git a/source/ubl-settings-usergroups.h b/source/ubl-settings-usergroups.h index da9b081..227d4d0 100644 --- a/source/ubl-settings-usergroups.h +++ b/source/ubl-settings-usergroups.h @@ -272,6 +272,7 @@ typedef struct{ GtkWidget *GroupsCancelButton; GtkWidget *GroupsOkButton; GtkWidget *HeaderLabel; + GtkWidget *DefaultCheck; GtkCellRenderer *StatusCell; GtkTreeViewColumn *GroupColumn; } ubl_settings_usergroups_group_window; diff --git a/ubl-settings-usergroups-group.glade b/ubl-settings-usergroups-group.glade index 06819cc..c150d07 100644 --- a/ubl-settings-usergroups-group.glade +++ b/ubl-settings-usergroups-group.glade @@ -31,6 +31,20 @@ 5 vertical 5 + + + Default + True + True + False + True + + + False + True + 0 + + True @@ -90,7 +104,7 @@ True True - 0 + 1 @@ -126,7 +140,7 @@ False True - 1 + 2