From cb266f7419a784b1e569910c5aeb68c00bd8e37c Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Fri, 27 Jun 2025 17:36:19 +0000 Subject: [PATCH] Fixed info label boldness --- source/ubl-settings-repomanager-add-window.c | 28 ++++------- source/ubl-settings-repomanager-move.c | 51 +++++++++++++------- source/ubl-settings-repomanager.c | 18 ++++++- source/ubl-settings-repomanager.h | 5 +- 4 files changed, 64 insertions(+), 38 deletions(-) diff --git a/source/ubl-settings-repomanager-add-window.c b/source/ubl-settings-repomanager-add-window.c index 2063163..fef5012 100644 --- a/source/ubl-settings-repomanager-add-window.c +++ b/source/ubl-settings-repomanager-add-window.c @@ -138,10 +138,11 @@ void on_add_window_tree_changed(GtkWidget *self, repo_add_window *window){ gtk_tree_model_get(model,&iter,2,&target,-1); int size; config_str info = yon_config_load(get_package_info_command(target),&size); + yon_package_info_set_markup(info,size); char *result = yon_char_parsed_to_string(info,size,""); - gtk_label_set_text(GTK_LABEL(window->InfoLabel),result); + gtk_label_set_markup(GTK_LABEL(window->InfoLabel),result); yon_char_parsed_free(info,size); - free(result); + if (!yon_char_is_empty(result)) free(result); } else { gtk_widget_set_sensitive(window->RemoveButton,0); } @@ -213,23 +214,12 @@ void yon_add_window_set_selected(main_window *widgets, repo_add_window *window){ if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->ReposTree)),NULL,&iter)){ int depth = gtk_tree_store_iter_depth(widgets->RepoList,&iter); char *storage=NULL, *repo=NULL, *arch=NULL; - switch (depth){ - case 0: //storage - { - gtk_tree_model_get(GTK_TREE_MODEL(widgets->RepoList),&iter,3,&storage,-1); - }break; - case 1: //repo - gtk_tree_model_get(GTK_TREE_MODEL(widgets->RepoList),&iter,2,&repo,-1); - gtk_tree_model_iter_parent(GTK_TREE_MODEL(widgets->RepoList),&itar, &iter); - gtk_tree_model_get(GTK_TREE_MODEL(widgets->RepoList),&itar,3,&storage,-1); - break; - case 2: //arch - gtk_tree_model_get(GTK_TREE_MODEL(widgets->RepoList),&iter,2,&arch,-1); - gtk_tree_model_iter_parent(GTK_TREE_MODEL(widgets->RepoList),&itar, &iter); - gtk_tree_model_get(GTK_TREE_MODEL(widgets->RepoList),&itar,2,&repo,-1); - gtk_tree_model_iter_parent(GTK_TREE_MODEL(widgets->RepoList),&itor, &itar); - gtk_tree_model_get(GTK_TREE_MODEL(widgets->RepoList),&itor,3,&storage,-1); - break; + storage_struct *storage_str; + gtk_tree_model_get(GTK_TREE_MODEL(widgets->RepoList),&iter,7,&storage_str,-1); + if (depth==2){ + storage = ((arch_struct*)storage_str)->storage_path; + repo = ((arch_struct*)storage_str)->repo_name; + arch = ((arch_struct*)storage_str)->name; } if (!yon_char_is_empty(storage)) gtk_combo_box_set_active_id(GTK_COMBO_BOX(window->StorageCombo),storage); while(gtk_events_pending()) gtk_main_iteration(); diff --git a/source/ubl-settings-repomanager-move.c b/source/ubl-settings-repomanager-move.c index 1e7cb42..dec38e2 100644 --- a/source/ubl-settings-repomanager-move.c +++ b/source/ubl-settings-repomanager-move.c @@ -19,6 +19,7 @@ void on_move_storage_changed(GtkWidget *self, repo_add_window *window){ } void on_move_repo_changed(GtkWidget *self, repo_add_window *window){ + if (gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->MoveSourceArchEntry))) return; gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(window->MoveTargetArchEntry)); gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(window->MoveSourceArchEntry)); GtkWidget *check_repo = NULL; @@ -49,6 +50,13 @@ void on_move_repo_changed(GtkWidget *self, repo_add_window *window){ } } } + if (!yon_char_is_empty(current_repo_selection)||!yon_char_is_empty(check_repo_selection)){ + gtk_widget_set_sensitive(window->MoveSourceArchEntry,1); + gtk_widget_set_sensitive(window->MoveTargetArchEntry,1); + } else { + gtk_widget_set_sensitive(window->MoveSourceArchEntry,0); + gtk_widget_set_sensitive(window->MoveTargetArchEntry,0); + } } @@ -176,7 +184,26 @@ void on_move_accept(GtkWidget *self, dictionary *dict){ const char *source_repo = gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->MoveSourceRepoEntry)); const char *target_repo = gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->MoveTargetRepoEntry)); const char *arch = gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->MoveSourceArchEntry)); - + if (yon_char_is_empty(storage)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),NOTHING_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(window->MoveSourceStorageEntry); + return; + } + if (yon_char_is_empty(source_repo)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),NOTHING_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(window->MoveSourceRepoEntry); + return; + } + if (yon_char_is_empty(target_repo)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),NOTHING_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(window->MoveTargetRepoEntry); + return; + } + if (yon_char_is_empty(arch)) { + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),NOTHING_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(window->MoveSourceArchEntry); + return; + } const char *repo_sign = gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->RepoSignCombo)); if (!yon_char_is_empty(storage)&&!yon_char_is_empty(source_repo)&&!yon_char_is_empty(target_repo)&&!yon_char_is_empty(arch)){ @@ -237,22 +264,12 @@ void yon_move_window_set_selected(main_window *widgets, repo_add_window *window) if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->ReposTree)),NULL,&iter)){ int depth = gtk_tree_store_iter_depth(widgets->RepoList,&iter); char *storage=NULL, *repo=NULL, *arch=NULL; - switch (depth){ - case 0: //storage - { - gtk_tree_model_get(GTK_TREE_MODEL(widgets->RepoList),&iter,3,&storage,-1); - }break; - case 1: //repo - gtk_tree_model_get(GTK_TREE_MODEL(widgets->RepoList),&iter,2,&repo,-1); - gtk_tree_model_iter_parent(GTK_TREE_MODEL(widgets->RepoList),&itar, &iter); - gtk_tree_model_get(GTK_TREE_MODEL(widgets->RepoList),&itar,3,&storage,-1); - break; - case 2: //arch - gtk_tree_model_iter_parent(GTK_TREE_MODEL(widgets->RepoList),&itar, &iter); - gtk_tree_model_get(GTK_TREE_MODEL(widgets->RepoList),&itar,2,&repo,-1); - gtk_tree_model_iter_parent(GTK_TREE_MODEL(widgets->RepoList),&itor, &itar); - gtk_tree_model_get(GTK_TREE_MODEL(widgets->RepoList),&itor,3,&storage,-1); - break; + storage_struct *storage_str; + gtk_tree_model_get(GTK_TREE_MODEL(widgets->RepoList),&iter,7,&storage_str,-1); + if (depth==2){ + storage = ((arch_struct*)storage_str)->storage_path; + repo = ((arch_struct*)storage_str)->repo_name; + arch = ((arch_struct*)storage_str)->name; } if (!yon_char_is_empty(storage)) gtk_combo_box_set_active_id(GTK_COMBO_BOX(window->MoveSourceStorageEntry),storage); while(gtk_events_pending()) gtk_main_iteration(); diff --git a/source/ubl-settings-repomanager.c b/source/ubl-settings-repomanager.c index 6bcd554..8e6cf31 100644 --- a/source/ubl-settings-repomanager.c +++ b/source/ubl-settings-repomanager.c @@ -216,6 +216,20 @@ void on_main_tree_selection_changed(GtkWidget *self, main_window *widgets){ } } +void yon_package_info_set_markup(config_str parsed, int size){ + for (int i=0;i",temp,":",escaped,NULL); + free(parsed[i]); + free(escaped); + free(temp); + parsed[i]=temp2; + } + } +} + void on_package_selection_changed(GtkWidget *self, main_window *widgets){ GtkTreeIter iter; GtkTreeModel *model; @@ -259,8 +273,10 @@ void on_package_selection_changed(GtkWidget *self, main_window *widgets){ char *command = get_package_info_command(path); int size; config_str parsed = yon_config_load(command,&size); + yon_package_info_set_markup(parsed,size); char *info_label = yon_char_parsed_to_string(parsed,size,""); - gtk_label_set_markup(GTK_LABEL(widgets->InformationLabel),g_markup_escape_text(info_label,strlen(info_label))); + + gtk_label_set_markup(GTK_LABEL(widgets->InformationLabel),info_label); yon_char_parsed_free(parsed,size); if (!yon_char_is_empty(info_label)) free(info_label); diff --git a/source/ubl-settings-repomanager.h b/source/ubl-settings-repomanager.h index ff5d9ba..58a2a2c 100644 --- a/source/ubl-settings-repomanager.h +++ b/source/ubl-settings-repomanager.h @@ -414,4 +414,7 @@ void yon_move_window_set_selected(main_window *widgets, repo_add_window *window) void on_move_add_package(GtkWidget *self, repo_add_window *window); void on_packages_sign(GtkWidget *self, main_window *widgets); void yon_add_window_add_chosen_packages(main_window *widgets, repo_add_window *window); -void yon_storage_open_add_repos(char *storage_path, storage_config_window *window); \ No newline at end of file +void yon_storage_open_add_repos(char *storage_path, storage_config_window *window); +void yon_package_info_set_markup(config_str parsed, int size); +void on_remove_window_tree_changed(GtkWidget *self, repo_add_window *window); +void on_move_window_tree_changed(GtkWidget *self, repo_add_window *window); \ No newline at end of file