From 5e2c05b6ac40cc58abaae48043d64bef3ec090a9 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 10 Jun 2025 03:54:24 +0000 Subject: [PATCH] Info render changes --- source/ubl-settings-repomanager.c | 24 ++++++++++++++++++------ source/ubl-settings-repomanager.h | 8 ++++---- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/source/ubl-settings-repomanager.c b/source/ubl-settings-repomanager.c index dd9427c..1454b81 100644 --- a/source/ubl-settings-repomanager.c +++ b/source/ubl-settings-repomanager.c @@ -721,7 +721,7 @@ void on_main_tree_selection_changed(GtkWidget *self, main_window *widgets){ char *repo_string = yon_char_parsed_to_string(repos,size,", "); char *archs_string = yon_char_parsed_to_string(archs,arch_size,", "); char *info = get_storage_info_label(target,repo_string,archs_string); - gtk_label_set_text(GTK_LABEL(widgets->InformationLabel),info); + gtk_label_set_markup(GTK_LABEL(widgets->InformationLabel),info); int lvlsize; config_str level = yon_tree_store_get_all_at_level(widgets->RepoList,&iter,&lvlsize,2,2); for (int i=0;iReposTree),&iter); char *info = get_repo_info_label(name,archs_string,sign); - gtk_label_set_text(GTK_LABEL(widgets->InformationLabel),info); + gtk_label_set_markup(GTK_LABEL(widgets->InformationLabel),info); int lvlsize; config_str level = yon_tree_store_get_all_at_level(widgets->RepoList,&iter,&lvlsize,2,3); for (int i=0;iRepoList),&itor,2,&trg,-1); char *info = get_arch_info_label(trg,name); - gtk_label_set_text(GTK_LABEL(widgets->InformationLabel),info); + gtk_label_set_markup(GTK_LABEL(widgets->InformationLabel),info); char *packages; int size; char *arch = yon_char_new(target); @@ -807,7 +807,7 @@ void on_main_tree_selection_changed(GtkWidget *self, main_window *widgets){ } void on_package_selection_changed(GtkWidget *self, main_window *widgets){ - gtk_label_set_text(GTK_LABEL(widgets->InformationLabel),""); + gtk_label_set_markup(GTK_LABEL(widgets->InformationLabel),""); GtkTreeIter iter,itar; GtkTreeModel *model, *model2; if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoFileTree)),&model,&iter)){ @@ -827,10 +827,22 @@ void on_package_selection_changed(GtkWidget *self, main_window *widgets){ char *command = get_package_info_command(yon_char_unite(path,"/",filename,NULL)); yon_debug_output("%s\n",command); config_str parsed = yon_config_load(command,&size); + for (int i=0;i",">"); + temp = yon_char_replace(temp,"<","<"); + parsed[i] = yon_char_unite("",title,":",temp,NULL); + if (!yon_char_is_empty(temp)) free(temp); + if (!yon_char_is_empty(title)) free(title); + } + } char *full = yon_char_parsed_to_string(parsed,size,""); - gtk_label_set_text(GTK_LABEL(widgets->InformationLabel),full); + gtk_label_set_markup(GTK_LABEL(widgets->InformationLabel),full); yon_char_parsed_free(parsed,size); - free(full); + if (!yon_char_is_empty(full)) free(full); break; } } diff --git a/source/ubl-settings-repomanager.h b/source/ubl-settings-repomanager.h index d25d215..238d7ac 100644 --- a/source/ubl-settings-repomanager.h +++ b/source/ubl-settings-repomanager.h @@ -90,13 +90,13 @@ typedef char* string; #define yon_sign_package(storage,repo,arch,target,sign) yon_char_unite("repo-manager add -r ''",repo,"'' -a '",arch,"' -d '", storage,"' -s ",sign," ",target,NULL) #define yon_sign_repo(storage,repo,sign) yon_char_unite("repo-manager add -f -r ''",repo,"'' -d '", storage,"' --sign-repo=",sign,NULL) -#define get_package_info_command(filename) yon_char_unite("pacman -Q --info --file ",filename," 2>/dev/null|sed -e 's/ */ /g' -e 's/ : /: /g' -e 's/\\n/ /g' -e 's/^ /\\t/g'",NULL) +#define get_package_info_command(filename) yon_char_unite("pacman -Q --info --file '",filename,"' 2>/dev/null|sed -e 's/ */ /g' -e 's/ : /: /g' -e 's/\\n/ /g' -e 's/^ /\\t/g'",NULL) -#define get_storage_info_label(path, repos, archs) yon_char_unite(STORAGE_PATH_LABEL,": ", path,"\n\n", REPOS_LABEL,": ",repos,"\n\n",ARCHS_LABEL,": ",archs,NULL) +#define get_storage_info_label(path, repos, archs) yon_char_unite("",STORAGE_PATH_LABEL,": ", path,"\n\n", REPOS_LABEL,": ",repos,"\n\n",ARCHS_LABEL,": ",archs,NULL) -#define get_repo_info_label(repos, archs,sign) yon_char_unite(REPO_NAME_LABEL,": ",repos,"\n\n",ARCHS_LABEL,": ",archs,"\n\n",sign,NULL) +#define get_repo_info_label(repos, archs,sign) yon_char_unite("",REPO_NAME_LABEL,": ",repos,"\n\n",ARCHS_LABEL,": ",archs,"\n\n",sign,NULL) -#define get_arch_info_label(repos, archs) yon_char_unite(REPO_NAME_LABEL,": ",repos,"\n\n",ARCHS_LABEL,": ",archs,NULL) +#define get_arch_info_label(repos, archs) yon_char_unite("",REPO_NAME_LABEL,": ",repos,"\n\n",ARCHS_LABEL,": ",archs,NULL) #define yon_generate_key_command(type,name,email,strength,comment,expire,password) yon_char_unite("gpg --batch --gen-key <