From 854e299a8c7bb1af3cfe71cecb5b85924633b3cc Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 17 Feb 2025 09:59:40 +0600 Subject: [PATCH 01/19] Fixes --- source/ubl-settings-update.c | 19 ++++++++++++------- ubl-settings-update-web-publication-add.glade | 1 + 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index 15490b2..66ea922 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -115,7 +115,7 @@ void on_toggle_button_toggled(GtkWidget *self, main_window *widgets){ 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); + // repo_net = yon_char_unite(repo_net,",",NULL); } } else { repo_net = "disable"; @@ -123,7 +123,7 @@ void on_toggle_button_toggled(GtkWidget *self, main_window *widgets){ 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); + // repo_net = yon_char_unite(repo_net,",",NULL); } } if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->PublicationCheck))){ @@ -131,6 +131,7 @@ void on_toggle_button_toggled(GtkWidget *self, main_window *widgets){ } else { char *repos = ""; GtkTreeIter iter; + int disabled_count=0; for_iter(GTK_TREE_MODEL(widgets->PublicationList),&iter){ char *target; int status; @@ -139,9 +140,11 @@ 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); } } @@ -217,6 +220,12 @@ void yon_interface_update(main_window *widgets){ hour = atoi(time_parsed[0]); minute = atoi(time_parsed[1]); GDateTime *datetime = g_date_time_new_utc(year,month,day,hour,minute,0.0); + if (yon_char_is_empty(main_config.date_format)){ + yon_window_config_get_parameter("settings","date_format",&main_config.date_format,YON_TYPE_STRING); + if (yon_char_is_empty(main_config.date_format)){ + main_config.date_format="%d.%m.%Y %H:%M"; + } + } char *time_label = g_date_time_format(datetime,main_config.date_format); gtk_entry_set_text(GTK_ENTRY(widgets->DateEntry),time_label); g_date_time_unref(datetime); @@ -591,9 +600,6 @@ void config_init(){ main_config.lock_save_local=0; main_config.load_mode=1; main_config.date_format=NULL; - if (!yon_window_config_get_parameter("usage","date_format",&main_config.date_format,YON_TYPE_STRING)){ - main_config.date_format="%d.%m.%Y %H:%M"; - } } @@ -1626,7 +1632,6 @@ web_publication_add_window *yon_web_publication_add_window_new(){ window->SelectionCellRenderer = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"SelectionCellRenderer")); yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(window->UserPasswordEntry)); - yon_gtk_entry_block_restricted_symbols(GTK_ENTRY(window->PathEntry)); yon_gtk_entry_block_restricted_symbols(GTK_ENTRY(window->UsernameEntry)); window->name=NULL; g_signal_connect(G_OBJECT(window->SelectionCellRenderer),"toggled",G_CALLBACK(on_cell_renderer_toggle_toggled),window->RepositoriesTree); diff --git a/ubl-settings-update-web-publication-add.glade b/ubl-settings-update-web-publication-add.glade index 4729aae..827c1b1 100644 --- a/ubl-settings-update-web-publication-add.glade +++ b/ubl-settings-update-web-publication-add.glade @@ -100,6 +100,7 @@ True True Storage path to publish + url True -- 2.35.1 From 3f841cf6bf690b86bb46bce7fd88ed9a6006432d Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 18 Feb 2025 17:27:14 +0600 Subject: [PATCH 02/19] Fixed parameter saving --- source/ubl-settings-update.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index 66ea922..0c9ecf2 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -131,7 +131,6 @@ void on_toggle_button_toggled(GtkWidget *self, main_window *widgets){ } else { char *repos = ""; GtkTreeIter iter; - int disabled_count=0; for_iter(GTK_TREE_MODEL(widgets->PublicationList),&iter){ char *target; int status; @@ -140,11 +139,9 @@ 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)&&disabled_count){ + if (!yon_char_is_empty(repos)){ repo_net = yon_char_unite(repo_net,",",repos,NULL); } } @@ -1904,6 +1901,7 @@ void yon_main_window_complete(main_window *widgets){ yon_interface_update(widgets); g_signal_connect(G_OBJECT(widgets->BootCheck),"toggled",G_CALLBACK(on_toggle_button_toggled),widgets); + g_signal_connect(G_OBJECT(widgets->PublicationCheck),"toggled",G_CALLBACK(on_toggle_button_toggled),widgets); g_signal_connect(G_OBJECT(widgets->UpdateIntervalSpin),"changed",G_CALLBACK(on_toggle_button_toggled),widgets); g_signal_connect(G_OBJECT(widgets->UpdateIntervalCombo),"changed",G_CALLBACK(on_toggle_button_toggled),widgets); g_signal_connect(G_OBJECT(widgets->AutoUpdateCheck),"toggled",G_CALLBACK(on_toggle_button_toggled),widgets); -- 2.35.1 From d5557377de52cc5ec04abd1a7bc814bcdba121ea Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 18 Feb 2025 17:46:03 +0600 Subject: [PATCH 03/19] Fixed path entry --- source/ubl-settings-update.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index 0c9ecf2..df396c3 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -1594,7 +1594,7 @@ repo_add_window *yon_repo_add_window_new(){ g_signal_connect(G_OBJECT(window->UsageDefaultCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),window->UsageEnableUpdateCheck); g_signal_connect(G_OBJECT(window->UsageDefaultCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),window->UsageSysupgradeCheck); yon_gtk_entry_block_restricted_symbols(GTK_ENTRY(window->RepoNameEntry)); - yon_gtk_entry_block_restricted_symbols(GTK_ENTRY(window->RepoSourceEntry)); + yon_on_entry_set_allowed_symbols(GTK_ENTRY(window->RepoSourceEntry),"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/1234567890!"); g_signal_connect(G_OBJECT(window->SignDefaultCheck),"toggled",G_CALLBACK(on_sign_check_toggled),window); g_signal_connect(G_OBJECT(window->SignCell),"toggled",G_CALLBACK(on_sign_cell_toggled),window); g_signal_connect(G_OBJECT(window->RepoSourceCombo),"changed",G_CALLBACK(on_repo_source_changed),window); -- 2.35.1 From 861f48471048fb82ca7b7ffa951ce4ed2e9b6a53 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 18 Feb 2025 17:49:13 +0600 Subject: [PATCH 04/19] Fixed parameter loading --- source/ubl-settings-update.c | 1 + 1 file changed, 1 insertion(+) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index df396c3..13d495e 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -239,6 +239,7 @@ void yon_interface_update(main_window *widgets){ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->RepositoriesRepoListConfigurationCheck),1); }else if (!strcmp(repo_config,"only")){ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->RepositoriesDisableSystemReposCheck),1); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->RepositoriesRepoListConfigurationCheck),1); } } -- 2.35.1 From fec09d513527453ea9f58293fcab118076fcc7b7 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 19 Feb 2025 15:58:45 +0600 Subject: [PATCH 05/19] Fixes --- source/ubl-settings-update.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index 13d495e..547a9a3 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -1595,7 +1595,7 @@ repo_add_window *yon_repo_add_window_new(){ g_signal_connect(G_OBJECT(window->UsageDefaultCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),window->UsageEnableUpdateCheck); g_signal_connect(G_OBJECT(window->UsageDefaultCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),window->UsageSysupgradeCheck); yon_gtk_entry_block_restricted_symbols(GTK_ENTRY(window->RepoNameEntry)); - yon_on_entry_set_allowed_symbols(GTK_ENTRY(window->RepoSourceEntry),"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/1234567890!"); + yon_on_entry_set_allowed_symbols(GTK_ENTRY(window->RepoSourceEntry),"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/1234567890!$.#-_"); g_signal_connect(G_OBJECT(window->SignDefaultCheck),"toggled",G_CALLBACK(on_sign_check_toggled),window); g_signal_connect(G_OBJECT(window->SignCell),"toggled",G_CALLBACK(on_sign_cell_toggled),window); g_signal_connect(G_OBJECT(window->RepoSourceCombo),"changed",G_CALLBACK(on_repo_source_changed),window); @@ -1845,6 +1845,7 @@ void yon_main_window_complete(main_window *widgets){ g_signal_connect(G_OBJECT(widgets->UpdateIntervalDefaultCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),widgets->UpdateIntervalCombo); g_signal_connect(G_OBJECT(widgets->UpdateIntervalDefaultCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),widgets->UpdateIntervalSpin); g_signal_connect(G_OBJECT(widgets->UpdateIntervalDefaultCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),widgets->BootCheck); + // g_signal_connect(G_OBJECT(widgets->RepositoriesDisableSystemReposCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->RepositoriesTree); GList *list = gtk_tree_view_get_columns(GTK_TREE_VIEW(widgets->WebPublicationTree)); for (unsigned int i=0;i Date: Wed, 19 Feb 2025 17:06:20 +0600 Subject: [PATCH 06/19] 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); -- 2.35.1 From 086fdd76977e88a4a89a83ba807adf9ff13e62c8 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 20 Feb 2025 09:43:54 +0600 Subject: [PATCH 07/19] Fixes --- source/ubl-settings-update.c | 80 +++++++++++++++++++++++++++--------- source/ubl-settings-update.h | 1 + ubl-settings-update.glade | 7 ++++ 3 files changed, 68 insertions(+), 20 deletions(-) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index 33f7b44..37c4896 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -97,7 +97,29 @@ void on_toggle_button_toggled(GtkWidget *self, main_window *widgets){ } else if (self == widgets->RepositoriesRepoListConfigurationCheck||self == widgets->RepositoriesDisableSystemReposCheck){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RepositoriesRepoListConfigurationCheck))){ - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RepositoriesDisableSystemReposCheck))){ + int disable_repo_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RepositoriesDisableSystemReposCheck)); + GtkTreeModel *model = GTK_TREE_MODEL(widgets->ReposList); + GtkTreeIter iter; + int size; + config_str parsed = yon_config_load(get_all_standard_repos,&size); + for(int i=0;iReposList,&iter,5,!disable_repo_active,-1); + } else { + + } + } + } + if (disable_repo_active){ yon_config_register(REPOSITORY_parameter,REPOSITORY_parameter_command,"only"); } else { yon_config_register(REPOSITORY_parameter,REPOSITORY_parameter_command,"enable"); @@ -233,6 +255,25 @@ void yon_interface_update(main_window *widgets){ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->RepositoriesRepoListConfigurationCheck),0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->RepositoriesDisableSystemReposCheck),0); if (!yon_char_is_empty(repo_config)){ + config_str repos = yon_config_get_all_by_key(REPOSITORY_search,&size); + for (int i=0;iReposList,&iter); + char *temp = strstr(parsed[0],",")?yon_char_replace(parsed[0],",","\n"):parsed[0]; + parsed[0] = temp; + gtk_list_store_set(widgets->ReposList,&iter,0,(cur_size>3&&!strcmp(parsed[3],""))||cur_size<3?1:0,1,key,2,parsed[0],3,cur_size>1?parsed[1]:"",4,cur_size>2?parsed[2]:"",5,1,-1); + + } + free(key); + free(current); + } + yon_char_parsed_free(repos,size); if (!strcmp(repo_config,"disable")){ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->RepositoriesRepoListConfigurationCheck),0); } else if (!strcmp(repo_config,"enable")){ @@ -240,28 +281,27 @@ void yon_interface_update(main_window *widgets){ }else if (!strcmp(repo_config,"only")){ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->RepositoriesDisableSystemReposCheck),1); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->RepositoriesRepoListConfigurationCheck),1); + int disable_repo_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RepositoriesDisableSystemReposCheck)); + GtkTreeModel *model = GTK_TREE_MODEL(widgets->ReposList); + GtkTreeIter iter; + int size; + config_str parsed = yon_config_load(get_all_standard_repos,&size); + for(int i=0;iReposList,&iter,5,!disable_repo_active,-1); + } + } } } - config_str repos = yon_config_get_all_by_key(REPOSITORY_search,&size); - for (int i=0;iReposList,&iter); - char *temp = strstr(parsed[0],",")?yon_char_replace(parsed[0],",","\n"):parsed[0]; - parsed[0] = temp; - gtk_list_store_set(widgets->ReposList,&iter,0,(cur_size>3&&!strcmp(parsed[3],""))||cur_size<3?1:0,1,key,2,parsed[0],3,cur_size>1?parsed[1]:"",4,cur_size>2?parsed[2]:"",-1); - - } - free(key); - free(current); - } - yon_char_parsed_free(repos,size); } { int repos_size; diff --git a/source/ubl-settings-update.h b/source/ubl-settings-update.h index e3e409f..e262540 100644 --- a/source/ubl-settings-update.h +++ b/source/ubl-settings-update.h @@ -53,6 +53,7 @@ #define config_get_global_only_parameters "" #define config_get_local_only_parameters "" +#define get_all_standard_repos "ubconfig --source default get [update] REPOSITORY[*]" #define get_publication_list_command "sed -rn \"/^[[:blank:]]*\\[options\\][[:blank:]]*$/d;s/^\\[(.*)\\]$/\\1/p\" /etc/pacman.conf" #define REPOSITORY(target) yon_char_unite("REPOSITORY[",target,"]",NULL) diff --git a/ubl-settings-update.glade b/ubl-settings-update.glade index 5c4160d..f8febc6 100644 --- a/ubl-settings-update.glade +++ b/ubl-settings-update.glade @@ -55,6 +55,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + @@ -791,6 +793,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + 5 0 @@ -806,6 +809,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. end + 5 1 @@ -821,6 +825,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. end + 5 2 @@ -837,6 +842,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 125 + 5 3 @@ -850,6 +856,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. end + 5 4 -- 2.35.1 From d7e8e955c73f4fd34e15eaaa2fd0335237aa1006 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 20 Feb 2025 09:45:16 +0600 Subject: [PATCH 08/19] Sensitiveness fixes --- source/ubl-settings-update.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index 37c4896..fa1d3d1 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -112,11 +112,7 @@ void on_toggle_button_toggled(GtkWidget *self, main_window *widgets){ char *name; gtk_tree_model_get(model,&iter,1,&name,-1); if (yon_char_parsed_check_exist(parsed,size,name)!=-1){ - if (disable_repo_active){ gtk_list_store_set(widgets->ReposList,&iter,5,!disable_repo_active,-1); - } else { - - } } } if (disable_repo_active){ -- 2.35.1 From 28ff0dbbd5fb8016d19230c0538ab8ece039c545 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 20 Feb 2025 16:08:08 +0600 Subject: [PATCH 09/19] Test fix for paths --- source/ubl-settings-update.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index fa1d3d1..dc3b993 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -462,8 +462,18 @@ void yon_interface_update(main_window *widgets){ path = yon_char_divide_search(key,":",-1); } int repos_size; - config_str repos = yon_char_parse(key,&repos_size,","); - + config_str repos = NULL; + if (!yon_char_is_empty(key)){ + repos = yon_char_parse(key,&repos_size,","); + } else { + repos = yon_file_list_dirs(path,&repos_size); + int pool_pos = yon_char_parsed_check_exist(repos,repos_size,"pool"); + if (pool_pos!=-1){ + repos = yon_char_parsed_rip(repos,&repos_size,pool_pos); + } + yon_char_parsed_prepend_strings(repos,repos_size,yon_char_append(path,"/")); + } + if (repos_size){ char *repos_paths = yon_char_parsed_to_string(repos,repos_size,","); char *full_path = yon_char_unite(path,!yon_char_is_empty(repos_paths)?":":"",!yon_char_is_empty(repos_paths)?repos_paths:"",NULL); if (!yon_char_is_empty(repos_paths)) free(repos_paths); @@ -482,9 +492,12 @@ void yon_interface_update(main_window *widgets){ } repos_paths = yon_char_parsed_to_string(repos,repos_size,"\n"); - gtk_list_store_set(widgets->WebPublicationList,&iter,1,path,2,repos_paths,8,full_path,-1); + gtk_list_store_set(widgets->WebPublicationList,&iter,2,repos_paths,8,full_path,-1); free(repos_paths); free(full_path); + } + + gtk_list_store_set(widgets->WebPublicationList,&iter,1,path,-1); int cur_size; config_str parsed = yon_char_parse(cur,&cur_size,":"); if (cur_size){ -- 2.35.1 From b1a9fa99cd525a1a99395002f2eab17883a8df82 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 20 Feb 2025 17:27:50 +0600 Subject: [PATCH 10/19] Fixes --- source/ubl-settings-update.c | 1 - 1 file changed, 1 deletion(-) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index dc3b993..ddcb6f5 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -471,7 +471,6 @@ void yon_interface_update(main_window *widgets){ if (pool_pos!=-1){ repos = yon_char_parsed_rip(repos,&repos_size,pool_pos); } - yon_char_parsed_prepend_strings(repos,repos_size,yon_char_append(path,"/")); } if (repos_size){ char *repos_paths = yon_char_parsed_to_string(repos,repos_size,","); -- 2.35.1 From e76fe5adb887dd546d028302c02fb45906db0be1 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 20 Feb 2025 17:58:32 +0600 Subject: [PATCH 11/19] Path allowed symbols update --- source/ubl-settings-update.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index ddcb6f5..2176f8f 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -1643,7 +1643,7 @@ repo_add_window *yon_repo_add_window_new(){ g_signal_connect(G_OBJECT(window->UsageDefaultCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),window->UsageEnableUpdateCheck); g_signal_connect(G_OBJECT(window->UsageDefaultCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),window->UsageSysupgradeCheck); yon_gtk_entry_block_restricted_symbols(GTK_ENTRY(window->RepoNameEntry)); - yon_on_entry_set_allowed_symbols(GTK_ENTRY(window->RepoSourceEntry),"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/1234567890!$.#-_"); + yon_on_entry_set_allowed_symbols(GTK_ENTRY(window->RepoSourceEntry),"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/1234567890!$.#-_()~$&;{}[]|<>^:?+\\,'*`"); g_signal_connect(G_OBJECT(window->SignDefaultCheck),"toggled",G_CALLBACK(on_sign_check_toggled),window); g_signal_connect(G_OBJECT(window->SignCell),"toggled",G_CALLBACK(on_sign_cell_toggled),window); g_signal_connect(G_OBJECT(window->RepoSourceCombo),"changed",G_CALLBACK(on_repo_source_changed),window); -- 2.35.1 From 3ce66d395534a3cb2aca493e1cb4380db4e2c35e Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Fri, 21 Feb 2025 16:59:48 +0600 Subject: [PATCH 12/19] Path allowed symbols changed --- source/ubl-settings-update.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index 2176f8f..d078685 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -1643,7 +1643,7 @@ repo_add_window *yon_repo_add_window_new(){ g_signal_connect(G_OBJECT(window->UsageDefaultCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),window->UsageEnableUpdateCheck); g_signal_connect(G_OBJECT(window->UsageDefaultCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),window->UsageSysupgradeCheck); yon_gtk_entry_block_restricted_symbols(GTK_ENTRY(window->RepoNameEntry)); - yon_on_entry_set_allowed_symbols(GTK_ENTRY(window->RepoSourceEntry),"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/1234567890!$.#-_()~$&;{}[]|<>^:?+\\,'*`"); + yon_on_entry_set_allowed_symbols(GTK_ENTRY(window->RepoSourceEntry),"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/1234567890!$.#-_()~$&;{}[]|<>^:?+\\,'*`%"); g_signal_connect(G_OBJECT(window->SignDefaultCheck),"toggled",G_CALLBACK(on_sign_check_toggled),window); g_signal_connect(G_OBJECT(window->SignCell),"toggled",G_CALLBACK(on_sign_cell_toggled),window); g_signal_connect(G_OBJECT(window->RepoSourceCombo),"changed",G_CALLBACK(on_repo_source_changed),window); -- 2.35.1 From f3c66a9fd98d512ab241f0389f9cc5b8e0a2faa3 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Fri, 21 Feb 2025 17:52:04 +0600 Subject: [PATCH 13/19] Added placeholder text for mirror publication --- source/ubl-settings-update.c | 11 ++++++++--- ubl-settings-update-mirror-add.glade | 3 ++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index d078685..ce8ad23 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -1740,10 +1740,15 @@ mirror_configure_window *yon_mirror_configure_window_new(){ void on_mirror_type_changed(GtkComboBox *self, mirror_add_window *window){ int active = gtk_combo_box_get_active(self); - if (active == 2){ - gtk_widget_set_sensitive(window->TypeButton,1); - } else { + if (active == 0){ gtk_widget_set_sensitive(window->TypeButton,0); + gtk_entry_set_placeholder_text(GTK_ENTRY(window->TypeEntry),"http://repo.ublinux.ru/2405"); + } else if (active == 1){ + gtk_widget_set_sensitive(window->TypeButton,0); + gtk_entry_set_placeholder_text(GTK_ENTRY(window->TypeEntry),"http://proxy.localnet.ru:8080"); + } else if (active == 2){ + gtk_widget_set_sensitive(window->TypeButton,1); + gtk_entry_set_placeholder_text(GTK_ENTRY(window->TypeEntry),"/etc/pacman.d/reflector_mirrorlis"); } } diff --git a/ubl-settings-update-mirror-add.glade b/ubl-settings-update-mirror-add.glade index 77ac8ea..c654958 100644 --- a/ubl-settings-update-mirror-add.glade +++ b/ubl-settings-update-mirror-add.glade @@ -1,5 +1,5 @@ - + @@ -162,6 +162,7 @@ mirrorlist - mirrors file, make sure server URL is NOT included in this file! Si True True Resource link of file path + http://repo.ublinux.ru/2405 True -- 2.35.1 From 366fe6446d974f44d0f67f95ee40b72d06af0650 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 24 Feb 2025 10:42:33 +0600 Subject: [PATCH 14/19] Test fix for web publication --- source/ubl-settings-update.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index ce8ad23..55182ed 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -452,6 +452,7 @@ void yon_interface_update(main_window *widgets){ gtk_list_store_append(widgets->WebPublicationList,&iter); char *cur = yon_char_new(web_publish[i]); char *key = yon_char_divide_search(cur,"=",-1); + char *full_key = yon_char_new(key); free(yon_char_divide_search(key,"[",-1)); key[strlen(key)-1]='\0'; char *path = NULL; @@ -474,7 +475,6 @@ void yon_interface_update(main_window *widgets){ } if (repos_size){ char *repos_paths = yon_char_parsed_to_string(repos,repos_size,","); - char *full_path = yon_char_unite(path,!yon_char_is_empty(repos_paths)?":":"",!yon_char_is_empty(repos_paths)?repos_paths:"",NULL); if (!yon_char_is_empty(repos_paths)) free(repos_paths); if (!repos_size){ int temp_size; @@ -491,9 +491,8 @@ void yon_interface_update(main_window *widgets){ } repos_paths = yon_char_parsed_to_string(repos,repos_size,"\n"); - gtk_list_store_set(widgets->WebPublicationList,&iter,2,repos_paths,8,full_path,-1); + gtk_list_store_set(widgets->WebPublicationList,&iter,2,repos_paths,8,full_key,-1); free(repos_paths); - free(full_path); } gtk_list_store_set(widgets->WebPublicationList,&iter,1,path,-1); @@ -974,7 +973,7 @@ void on_web_publish_edit(GtkWidget *,main_window *widgets){ } } window->name = full; - char *parameter = config(REPOPUBLIC_WEB_full(full)); + char *parameter = config(full); int size; config_str parsed = yon_char_parse(parameter,&size,":"); if (size){ @@ -992,11 +991,13 @@ void on_web_publish_edit(GtkWidget *,main_window *widgets){ gtk_entry_set_text(GTK_ENTRY(window->UsernameEntry),parsed[3]); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->UsernameCheck),1); } - if (size>4&&!yon_char_is_empty(parsed[4])){ + if (size>5&&!yon_char_is_empty(parsed[4])&&!yon_char_is_empty(parsed[5])){ gtk_combo_box_set_active(GTK_COMBO_BOX(window->UserPasswordCombo),1); if (!strcmp(parsed[4],"sha256")||!strcmp(parsed[4],"sha512")){ gtk_combo_box_set_active_id(GTK_COMBO_BOX(window->UserPasswordCombo),parsed[4]); - gtk_entry_set_text(GTK_ENTRY(window->UserPasswordEntry),parsed[5]); + char *temp = yon_char_unite(parsed[4],"|",parsed[5],NULL); + gtk_entry_set_text(GTK_ENTRY(window->UserPasswordEntry),temp); + free(temp); } else { gtk_entry_set_text(GTK_ENTRY(window->UserPasswordEntry),parsed[4]); @@ -1413,7 +1414,9 @@ void on_password_accept(GtkWidget *,dictionary *dict){ int size; config_str hash = yon_config_load(yon_debug_output("%s\n",!strcmp(encryption,"sha512")?sha512_encrypt_command(password):sha256_encrypt_command(password)),&size); yon_char_remove_last_symbol(hash[0],'\n'); - gtk_entry_set_text(GTK_ENTRY(target),hash[0]); + char *temp = yon_char_unite(encryption,"|",hash[0],NULL); + gtk_entry_set_text(GTK_ENTRY(target),temp); + yon_char_parsed_free(hash,size); } } -- 2.35.1 From a38f51967611ab84f6eb4e813a7d902f601663e0 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 24 Feb 2025 11:22:10 +0600 Subject: [PATCH 15/19] Fixed mirror type entry allowed symbols --- source/ubl-settings-update.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index 55182ed..0a72fde 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -1770,7 +1770,7 @@ mirror_add_window *yon_mirror_add_window_new(){ window->HeadLabel = yon_gtk_builder_get_widget(builder,"HeadLabel"); window->PathBox = yon_gtk_builder_get_widget(builder,"PathBox"); yon_gtk_entry_block_restricted_symbols(GTK_ENTRY(window->NameEntry)); - yon_gtk_entry_block_restricted_symbols(GTK_ENTRY(window->TypeEntry)); + yon_on_entry_set_allowed_symbols(GTK_ENTRY(window->TypeEntry),"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/1234567890!$.#-_()~$&;{}[]|<>^:?+\\,'*`%"); window->sections = NULL; window->name=NULL; -- 2.35.1 From bc39f224131f6c469e698fb9f1fca637ac4c00a3 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 27 Feb 2025 12:44:11 +0600 Subject: [PATCH 16/19] Fixed sensitivness for edited standard repositories --- source/ubl-settings-update.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index 0a72fde..0669312 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -101,6 +101,13 @@ void on_toggle_button_toggled(GtkWidget *self, main_window *widgets){ GtkTreeModel *model = GTK_TREE_MODEL(widgets->ReposList); GtkTreeIter iter; int size; + // int existing_size; + // config_str existing = yon_config_get_all_by_key(REPOSITORY_search,&existing_size); + // for (int i=0;iReposList,&iter,5,!disable_repo_active,-1); } } -- 2.35.1 From 55de69ed4581f4e273b0c3d0ed64be6c6ea667bd Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 3 Mar 2025 14:53:27 +0600 Subject: [PATCH 17/19] Test fix for repository disable standard check --- source/ubl-settings-update.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index 0669312..8912bdb 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -110,15 +110,18 @@ void on_toggle_button_toggled(GtkWidget *self, main_window *widgets){ // } config_str parsed = yon_config_load(get_all_standard_repos,&size); for(int i=0;iReposList,&iter,5,!disable_repo_active,-1); } } -- 2.35.1 From a057bc4158969f6a553d362d00b7cfd62d528c1c Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 4 Mar 2025 11:14:32 +0600 Subject: [PATCH 18/19] Test fix for repository standard disabling --- source/ubl-settings-update.c | 40 ++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index 8912bdb..f9acaaa 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -100,7 +100,7 @@ void on_toggle_button_toggled(GtkWidget *self, main_window *widgets){ int disable_repo_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RepositoriesDisableSystemReposCheck)); GtkTreeModel *model = GTK_TREE_MODEL(widgets->ReposList); GtkTreeIter iter; - int size; + // int size; // int existing_size; // config_str existing = yon_config_get_all_by_key(REPOSITORY_search,&existing_size); // for (int i=0;iReposList,&iter,5,!disable_repo_active,-1); + } else { + gtk_list_store_set(widgets->ReposList,&iter,5,1,-1); } } if (disable_repo_active){ @@ -290,19 +291,14 @@ void yon_interface_update(main_window *widgets){ int disable_repo_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RepositoriesDisableSystemReposCheck)); GtkTreeModel *model = GTK_TREE_MODEL(widgets->ReposList); GtkTreeIter iter; - int size; - config_str parsed = yon_config_load(get_all_standard_repos,&size); - for(int i=0;iReposList,&iter,5,!disable_repo_active,-1); + char *compare_value = REPOSITORY(name); + if (!config(compare_value)||yon_config_check_ignore(compare_value)||yon_config_get_status(compare_value)<0){ + gtk_list_store_set(widgets->ReposList,&iter,5,!disable_repo_active,-1); + } else { + gtk_list_store_set(widgets->ReposList,&iter,5,1,-1); } } } -- 2.35.1 From ca48a1982f7e7e5a54301656802bcf40e9b54878 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 5 Mar 2025 10:00:38 +0600 Subject: [PATCH 19/19] Fixed repository name restricted symbols --- source/ubl-settings-update.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index f9acaaa..b68d17d 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -1651,8 +1651,8 @@ repo_add_window *yon_repo_add_window_new(){ g_signal_connect(G_OBJECT(window->UsageDefaultCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),window->UsageEnableSearchCheck); g_signal_connect(G_OBJECT(window->UsageDefaultCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),window->UsageEnableUpdateCheck); g_signal_connect(G_OBJECT(window->UsageDefaultCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),window->UsageSysupgradeCheck); - yon_gtk_entry_block_restricted_symbols(GTK_ENTRY(window->RepoNameEntry)); yon_on_entry_set_allowed_symbols(GTK_ENTRY(window->RepoSourceEntry),"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/1234567890!$.#-_()~$&;{}[]|<>^:?+\\,'*`%"); + yon_on_entry_set_allowed_symbols(GTK_ENTRY(window->RepoNameEntry),"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/1234567890.-_"); g_signal_connect(G_OBJECT(window->SignDefaultCheck),"toggled",G_CALLBACK(on_sign_check_toggled),window); g_signal_connect(G_OBJECT(window->SignCell),"toggled",G_CALLBACK(on_sign_cell_toggled),window); g_signal_connect(G_OBJECT(window->RepoSourceCombo),"changed",G_CALLBACK(on_repo_source_changed),window); -- 2.35.1