From 58d141416d58ea8e35b4c7f84d37ecbe2dbd933a Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 19 Feb 2025 17:06:20 +0600 Subject: [PATCH] Publication fixes --- source/ubl-settings-update.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index 547a9a3..33f7b44 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -114,23 +114,10 @@ void on_toggle_button_toggled(GtkWidget *self, main_window *widgets){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RecieveDBFromNetCheck))){ if (!repo_net) repo_net = ",db"; else repo_net = yon_char_unite(repo_net,",","db",NULL); - }else { - // repo_net = yon_char_unite(repo_net,",",NULL); } - } else { - repo_net = "disable"; - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RecieveDBFromNetCheck))){ - if (!repo_net) repo_net = ",db"; - else repo_net = yon_char_unite(repo_net,",","db",NULL); - } else { - // repo_net = yon_char_unite(repo_net,",",NULL); - } - } - if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->PublicationCheck))){ - yon_config_remove_by_key(REPOPUBLIC_NET_parameter); - } else { char *repos = ""; GtkTreeIter iter; + int disabled_count=0; for_iter(GTK_TREE_MODEL(widgets->PublicationList),&iter){ char *target; int status; @@ -139,11 +126,24 @@ void on_toggle_button_toggled(GtkWidget *self, main_window *widgets){ char *temp = yon_char_unite(repos,!yon_char_is_empty(repos)?",":"",target,NULL); if (!yon_char_is_empty(repos)) free(repos); repos = temp; + } else { + disabled_count++; } } - if (!yon_char_is_empty(repos)){ + if (!yon_char_is_empty(repos)&&disabled_count){ repo_net = yon_char_unite(repo_net,",",repos,NULL); } + } else { + repo_net = "disable"; + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RecieveDBFromNetCheck))){ + if (!repo_net) repo_net = ",db"; + else repo_net = yon_char_unite(repo_net,",","db",NULL); + } else { + // repo_net = yon_char_unite(repo_net,",",NULL); + } + } + if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->PublicationCheck))){ + yon_config_remove_by_key(REPOPUBLIC_NET_parameter); } yon_config_register(REPOPUBLIC_NET_parameter,REPOPUBLIC_NET_parameter_command,repo_net);