diff --git a/source/ubl-settings-repomanager.c b/source/ubl-settings-repomanager.c index d785504..d3b15b9 100644 --- a/source/ubl-settings-repomanager.c +++ b/source/ubl-settings-repomanager.c @@ -1237,6 +1237,7 @@ void config_init(){ } void yon_config_load_update(main_window *widgets){ + gtk_tree_store_clear(widgets->RepoList); gsize size=0; config_str storages = yon_window_config_get_section("storage_info",&size); GtkTreeIter iter,itar,childiter; @@ -1263,12 +1264,14 @@ void yon_config_load_update(main_window *widgets){ int arch_status = system(yon_repo_get_signature_status_arch(storages[i],nm,dirs[k])); int packages_status = system(yon_repo_get_signature_status_packages(storages[i],nm,dirs[k])); char *sign_status_image = ""; - if (arch_status==2||packages_status==2) - sign_status_image = warning_icon_name; - else if (!arch_status&&!packages_status){ + if (!arch_status&&!packages_status){ sign_status_image = key_icon_name; - } else - sign_status_image = ""; + } else if (!arch_status&&packages_status==2) + sign_status_image = warning_icon_name; + else if (arch_status==2&&packages_status==2) + sign_status_image = ""; + else + sign_status_image = key_error_icon_name; gtk_tree_store_append(widgets->RepoList,&childiter,&itar); gtk_tree_store_set(widgets->RepoList,&childiter,0,sign_status_image,2,dirs[k],3,arch_path,-1); } @@ -1433,7 +1436,7 @@ void on_main_tree_selection_changed(GtkWidget *self, main_window *widgets){ } } else { gtk_list_store_append(widgets->RepoPackagesList,&itar); - gtk_list_store_set(widgets->RepoPackagesList,&itar,1,line[1],-1); + gtk_list_store_set(widgets->RepoPackagesList,&itar,0,package_signature_error_icon_name,1,line[1],-1); } } free(info); @@ -1620,6 +1623,10 @@ void on_repo_item_activate(GtkWidget *self, GtkTreePath *path, GtkTreeViewColumn } } +void on_update_clicked(GtkWidget *self, main_window *widgets){ + yon_config_load_update(widgets); +} + main_window *yon_main_window_complete(main_window *widgets){ widgets = yon_remalloc(widgets,sizeof(main_window)); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path); @@ -1668,6 +1675,7 @@ main_window *yon_main_window_complete(main_window *widgets){ g_signal_connect(G_OBJECT(widgets->RepoFileTree),"cursor-changed",G_CALLBACK(on_package_selection_changed),widgets); g_signal_connect(G_OBJECT(widgets->ReposTree),"row-activated",G_CALLBACK(on_tree_view_activate),widgets); g_signal_connect(G_OBJECT(widgets->RepoFileTree),"row-activated",G_CALLBACK(on_repo_item_activate),widgets); + g_signal_connect(G_OBJECT(widgets->UpdateButton),"clicked",G_CALLBACK(on_update_clicked),widgets); yon_calendar_set_date_orientation(1); gtk_window_set_title(GTK_WINDOW(widgets->Window),TITLE_LABEL);