From 31cd1069d364d15aa69bdc759ba28e23ec665dda Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 30 May 2024 15:28:15 +0600 Subject: [PATCH] New status messages --- source/ubl-settings-repomanager.c | 98 +++++++++++++++++-------------- source/ubl-strings.h | 6 +- ubl-settings-repomanager.pot | 96 ++++++++++++++++++------------ ubl-settings-repomanager_ru.po | 96 ++++++++++++++++++------------ 4 files changed, 174 insertions(+), 122 deletions(-) diff --git a/source/ubl-settings-repomanager.c b/source/ubl-settings-repomanager.c index 53ac7cf..e49fd5c 100644 --- a/source/ubl-settings-repomanager.c +++ b/source/ubl-settings-repomanager.c @@ -622,43 +622,47 @@ void on_add_packages_accept(GtkWidget *self, dictionary *dict){ GtkTreeIter iter, itar; char *storage; - yon_gtk_tree_iter_get_from_combo_box_id(GTK_COMBO_BOX(window->StorageCombo),GTK_TREE_MODEL(window->tree_copy),&itar); - gtk_tree_model_get(GTK_TREE_MODEL(window->tree_copy),&itar,3,&storage,-1); - const char *repo = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->RepositoryCombo)); - const char *arch = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->ArchitectureCombo)); - GtkTreeModel *model = GTK_TREE_MODEL(window->PackagesList); - int size=0; - config_str packages=NULL; - int valid = gtk_tree_model_get_iter_first(model,&iter); - for (;valid;valid=gtk_tree_model_iter_next(model,&iter)){ - char *target; - gtk_tree_model_get(model,&iter,2,&target,-1); - yon_char_parsed_add_or_create_if_exists(packages,&size,target); - free(target); - } - if (size>0){ - char *command = NULL; - int repo_sign = gtk_combo_box_get_active(GTK_COMBO_BOX(window->RepoSignCombo)); - int pack_sign = gtk_combo_box_get_active(GTK_COMBO_BOX(window->PackageSignCombo)); - if (repo_sign&&pack_sign){ - command = add_packages_sign_command(storage,arch,repo,gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->RepoSignCombo)),gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->PackageSignCombo)),yon_char_parsed_to_string(packages,size," ")); - } else if (repo_sign){ - command = add_packages_repo_sign_command(storage,arch,repo,gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->RepoSignCombo)),yon_char_parsed_to_string(packages,size," ")); - } else if (pack_sign){ - command = add_packages_package_sign_command(storage,arch,repo,gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->PackageSignCombo)),yon_char_parsed_to_string(packages,size," ")); - } else { - command = add_packages_command(storage,arch,repo,yon_char_parsed_to_string(packages,size," ")); + if (yon_gtk_tree_iter_get_from_combo_box_id(GTK_COMBO_BOX(window->StorageCombo),GTK_TREE_MODEL(window->tree_copy),&itar)){ + gtk_tree_model_get(GTK_TREE_MODEL(window->tree_copy),&itar,3,&storage,-1); + const char *repo = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->RepositoryCombo)); + const char *arch = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->ArchitectureCombo)); + GtkTreeModel *model = GTK_TREE_MODEL(window->PackagesList); + int size=0; + config_str packages=NULL; + int valid = gtk_tree_model_get_iter_first(model,&iter); + for (;valid;valid=gtk_tree_model_iter_next(model,&iter)){ + char *target; + gtk_tree_model_get(model,&iter,2,&target,-1); + yon_char_parsed_add_or_create_if_exists(packages,&size,target); + free(target); } - yon_debug_output("%s\n",command); - if (!system(command)){ - gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->ReposTree),NULL); - gtk_tree_store_clear(widgets->RepoList); - yon_gtk_tree_store_copy_full(window->tree_copy,widgets->RepoList); - gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->ReposTree),GTK_TREE_MODEL(widgets->RepoList)); - gtk_widget_destroy(window->MainWindow); + if (size>0){ + char *command = NULL; + int repo_sign = gtk_combo_box_get_active(GTK_COMBO_BOX(window->RepoSignCombo)); + int pack_sign = gtk_combo_box_get_active(GTK_COMBO_BOX(window->PackageSignCombo)); + if (repo_sign&&pack_sign){ + command = add_packages_sign_command(storage,arch,repo,gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->RepoSignCombo)),gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->PackageSignCombo)),yon_char_parsed_to_string(packages,size," ")); + } else if (repo_sign){ + command = add_packages_repo_sign_command(storage,arch,repo,gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->RepoSignCombo)),yon_char_parsed_to_string(packages,size," ")); + } else if (pack_sign){ + command = add_packages_package_sign_command(storage,arch,repo,gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->PackageSignCombo)),yon_char_parsed_to_string(packages,size," ")); + } else { + command = add_packages_command(storage,arch,repo,yon_char_parsed_to_string(packages,size," ")); + } + yon_debug_output("%s\n",command); + if (!system(command)){ + gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->ReposTree),NULL); + gtk_tree_store_clear(widgets->RepoList); + yon_gtk_tree_store_copy_full(window->tree_copy,widgets->RepoList); + gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->ReposTree),GTK_TREE_MODEL(widgets->RepoList)); + gtk_widget_destroy(window->MainWindow); + yon_ubl_status_box_render(PACKAGES_ADD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); + } } else { - + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),NOTHING_TO_SAVE_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); } + } else { + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),NOTHING_TO_SAVE_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); } } @@ -873,9 +877,13 @@ void on_move_accept(GtkWidget *self, repo_add_window *window){ target_path = yon_char_divide(target_repo,yon_char_find_last(target_repo,'/')); char *command = yon_move_packages_command(source_path,arch,source_repo, target_repo, yon_char_parsed_to_string(packages,size," ")); yon_debug_output("%s\n",command); - system(command); + if (!system(command)){ + yon_ubl_status_box_render(PACKAGES_ADD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); + on_subwindow_close(window->MainWindow); + } + } else { + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),NOTHING_TO_SAVE_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); } - on_subwindow_close(window->MainWindow); } void on_move_clicked(GtkWidget *self, main_window *widgets){ @@ -978,9 +986,16 @@ void on_remove_accept(GtkWidget *self, repo_add_window *window){ command = yon_delete_packages_sign_command(storage_path,arch,repo,yon_char_parsed_to_string(packages,size," "),sign); } yon_debug_output("%s\n",command); - system(command); + if (system(command)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),NOTHING_TO_SAVE_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + gtk_widget_destroy(window->MainWindow); + } + } else { + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),NOTHING_TO_SAVE_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + } + }else { + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),NOTHING_TO_SAVE_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); } - } } void on_remove_clicked(GtkWidget *self, main_window *widgets){ @@ -1311,9 +1326,6 @@ 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); yon_calendar_set_date_orientation(1); gtk_window_set_title(GTK_WINDOW(widgets->Window),TITLE_LABEL); - - - /* Widget registration for config monitoring | Регистрация виджетов для мониторинга конфига */ /* Localisation | Локализация */ @@ -1340,9 +1352,7 @@ int main(int argc, char *argv[]){ char *path = yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL); yon_window_config_load(path); yon_config_load_update((main_window*)widgets); - if (getuid()!=0){ - yon_ubl_status_box_render("",BACKGROUND_IMAGE_SUCCESS_TYPE); - } + yon_ubl_status_box_render(DATA_LOADED_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); gtk_main(); return 0; } \ No newline at end of file diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 7526660..1ec1c44 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -78,8 +78,10 @@ #define ADD_PACKAGE_LABEL _("Add package") #define REPO_SIGN_ERROR_LABEL _("Repository sign failed - repository has no packages") -// #define ACCEPT_LABEL _("Accept") -// #define ACCEPT_LABEL _("Accept") +#define DATA_LOADED_LABEL _("Data has been loaded") +#define PACKAGES_ADD_SUCCESS_LABEL _("Packages were added successfully") +#define PACKAGES_REMOVE_SUCCESS_LABEL _("Packages were removed successfully") +#define PACKAGES_MOVE_SUCCESS_LABEL _("Packages were moved successfully") #define CHOOSE_LABEL _("Choose") #define CANCEL_LABEL _("Cancel") diff --git a/ubl-settings-repomanager.pot b/ubl-settings-repomanager.pot index 3eb1de3..53fb173 100644 --- a/ubl-settings-repomanager.pot +++ b/ubl-settings-repomanager.pot @@ -267,160 +267,180 @@ msgstr "" msgid "Path" msgstr "" -#: source/ubl-strings.h:77 source/ubl-strings.h:96 +#: source/ubl-strings.h:77 source/ubl-strings.h:98 msgid "Remove package" msgstr "" -#: source/ubl-strings.h:78 source/ubl-strings.h:95 +#: source/ubl-strings.h:78 source/ubl-strings.h:97 msgid "Add package" msgstr "" +#: source/ubl-strings.h:80 +msgid "Repository sign failed - repository has no packages" +msgstr "" + +#: source/ubl-strings.h:81 +msgid "Data has been loaded" +msgstr "" + +#: source/ubl-strings.h:82 +msgid "Packages were added successfully" +msgstr "" + +#: source/ubl-strings.h:83 +msgid "Packages were removed successfully" +msgstr "" + #: source/ubl-strings.h:84 +msgid "Packages were moved successfully" +msgstr "" + +#: source/ubl-strings.h:86 msgid "Choose" msgstr "" -#: source/ubl-strings.h:85 +#: source/ubl-strings.h:87 msgid "Cancel" msgstr "" -#: source/ubl-strings.h:87 +#: source/ubl-strings.h:89 msgid "Open or create repository" msgstr "" -#: source/ubl-strings.h:88 +#: source/ubl-strings.h:90 msgid "Open existing repository" msgstr "" -#: source/ubl-strings.h:89 +#: source/ubl-strings.h:91 msgid "Configure repository" msgstr "" -#: source/ubl-strings.h:90 +#: source/ubl-strings.h:92 msgid "Delete repository" msgstr "" -#: source/ubl-strings.h:91 +#: source/ubl-strings.h:93 msgid "" "Add/Remove repository from\n" "local package sources" msgstr "" -#: source/ubl-strings.h:92 +#: source/ubl-strings.h:94 msgid "Enable/disable repository publish" msgstr "" -#: source/ubl-strings.h:93 +#: source/ubl-strings.h:95 msgid "Check dependences" msgstr "" -#: source/ubl-strings.h:94 +#: source/ubl-strings.h:96 msgid "Sign ripository" msgstr "" -#: source/ubl-strings.h:97 +#: source/ubl-strings.h:99 msgid "Open" msgstr "" -#: source/ubl-strings.h:99 +#: source/ubl-strings.h:101 msgid "Operation done" msgstr "" -#: source/ubl-strings.h:101 +#: source/ubl-strings.h:103 msgid "Choose branch or pack in branch to add file!" msgstr "" -#: source/ubl-strings.h:102 +#: source/ubl-strings.h:104 msgid "Choose repository or branch!" msgstr "" -#: source/ubl-strings.h:103 +#: source/ubl-strings.h:105 msgid "Choose pack to delete!" msgstr "" -#: source/ubl-strings.h:104 +#: source/ubl-strings.h:106 msgid "Choose repository to delete!" msgstr "" -#: source/ubl-strings.h:105 +#: source/ubl-strings.h:107 msgid "Choose repository or package to sign" msgstr "" -#: source/ubl-strings.h:107 +#: source/ubl-strings.h:109 msgid "Name:" msgstr "" -#: source/ubl-strings.h:108 +#: source/ubl-strings.h:110 msgid "Branches:" msgstr "" -#: source/ubl-strings.h:109 +#: source/ubl-strings.h:111 msgid "< Type branch name >" msgstr "" -#: source/ubl-strings.h:110 +#: source/ubl-strings.h:112 msgid "Name must be filled!" msgstr "" -#: source/ubl-strings.h:111 +#: source/ubl-strings.h:113 msgid "Choose path for new repository" msgstr "" -#: source/ubl-strings.h:113 +#: source/ubl-strings.h:115 msgid "Choose repository folder" msgstr "" -#: source/ubl-strings.h:114 +#: source/ubl-strings.h:116 msgid "Choose repository" msgstr "" -#: source/ubl-strings.h:116 +#: source/ubl-strings.h:118 msgid "Absent" msgstr "" -#: source/ubl-strings.h:117 +#: source/ubl-strings.h:119 msgid "Dependences:" msgstr "" -#: source/ubl-strings.h:118 +#: source/ubl-strings.h:120 msgid "Digital signature" msgstr "" -#: source/ubl-strings.h:120 +#: source/ubl-strings.h:122 msgid "package" msgstr "" -#: source/ubl-strings.h:121 +#: source/ubl-strings.h:123 msgid "repository" msgstr "" -#: source/ubl-strings.h:122 +#: source/ubl-strings.h:124 msgid "This package already exists in that repository" msgstr "" -#: source/ubl-strings.h:123 +#: source/ubl-strings.h:125 msgid "This repository has already been added" msgstr "" -#: source/ubl-strings.h:125 +#: source/ubl-strings.h:127 msgid "Close" msgstr "" -#: source/ubl-strings.h:127 +#: source/ubl-strings.h:129 msgid "Are you sure want to disable?" msgstr "" -#: source/ubl-strings.h:129 +#: source/ubl-strings.h:131 msgid "Are you sure want to remove?" msgstr "" -#: source/ubl-strings.h:131 +#: source/ubl-strings.h:133 msgid "Do not sign" msgstr "" -#: source/ubl-strings.h:133 +#: source/ubl-strings.h:135 msgid "Package name error - package has incorrect name pattern" msgstr "" -#: source/ubl-strings.h:135 +#: source/ubl-strings.h:137 msgid "Passwords do not match" msgstr "" diff --git a/ubl-settings-repomanager_ru.po b/ubl-settings-repomanager_ru.po index 18c01e0..962cf27 100644 --- a/ubl-settings-repomanager_ru.po +++ b/ubl-settings-repomanager_ru.po @@ -269,39 +269,59 @@ msgstr "Имя" msgid "Path" msgstr "Путь" -#: source/ubl-strings.h:77 source/ubl-strings.h:96 +#: source/ubl-strings.h:77 source/ubl-strings.h:98 msgid "Remove package" msgstr "Удалить пакет" -#: source/ubl-strings.h:78 source/ubl-strings.h:95 +#: source/ubl-strings.h:78 source/ubl-strings.h:97 msgid "Add package" msgstr "Добавить пакет" +#: source/ubl-strings.h:80 +msgid "Repository sign failed - repository has no packages" +msgstr "Ошибка подписи репозитория - репозиторий не содержит пакетов" + +#: source/ubl-strings.h:81 +msgid "Data has been loaded" +msgstr "Данные загружены" + +#: source/ubl-strings.h:82 +msgid "Packages were added successfully" +msgstr "Пакеты успешно добавлены" + +#: source/ubl-strings.h:83 +msgid "Packages were removed successfully" +msgstr "Пакеты успешно удалены" + #: source/ubl-strings.h:84 +msgid "Packages were moved successfully" +msgstr "Пакеты успешно перемещены" + +#: source/ubl-strings.h:86 msgid "Choose" msgstr "Выбрать" -#: source/ubl-strings.h:85 +#: source/ubl-strings.h:87 msgid "Cancel" msgstr "Отмена" -#: source/ubl-strings.h:87 +#: source/ubl-strings.h:89 msgid "Open or create repository" msgstr "Открыть или создать репозиторий" -#: source/ubl-strings.h:88 +#: source/ubl-strings.h:90 msgid "Open existing repository" msgstr "Открыть и добавить репозиторий" -#: source/ubl-strings.h:89 +#: source/ubl-strings.h:91 msgid "Configure repository" msgstr "Редактировать репозиторий" -#: source/ubl-strings.h:90 +#: source/ubl-strings.h:92 msgid "Delete repository" msgstr "Удалить репозиторий" -#: source/ubl-strings.h:91 +#: source/ubl-strings.h:93 msgid "" "Add/Remove repository from\n" "local package sources" @@ -309,107 +329,107 @@ msgstr "" "Добавить/удалить репу из\n" " локальных источников пакетов" -#: source/ubl-strings.h:92 +#: source/ubl-strings.h:94 msgid "Enable/disable repository publish" msgstr "Включить/отключить публикацию" -#: source/ubl-strings.h:93 +#: source/ubl-strings.h:95 msgid "Check dependences" msgstr "Проверить на битые зависимости" -#: source/ubl-strings.h:94 +#: source/ubl-strings.h:96 msgid "Sign ripository" msgstr "Подпись пакетов" -#: source/ubl-strings.h:97 +#: source/ubl-strings.h:99 msgid "Open" msgstr "Открыть" -#: source/ubl-strings.h:99 +#: source/ubl-strings.h:101 msgid "Operation done" msgstr "Операция завершена" -#: source/ubl-strings.h:101 +#: source/ubl-strings.h:103 msgid "Choose branch or pack in branch to add file!" msgstr "Выберите ветку чтобы добавить пакет!" -#: source/ubl-strings.h:102 +#: source/ubl-strings.h:104 msgid "Choose repository or branch!" msgstr "Выберите репозиторий!" -#: source/ubl-strings.h:103 +#: source/ubl-strings.h:105 msgid "Choose pack to delete!" msgstr "Выберите пакет для удаления!" -#: source/ubl-strings.h:104 +#: source/ubl-strings.h:106 msgid "Choose repository to delete!" msgstr "Выберите репозиторий для удаления!" -#: source/ubl-strings.h:105 +#: source/ubl-strings.h:107 msgid "Choose repository or package to sign" msgstr "Выберите репозиторий или пакет для подписи" -#: source/ubl-strings.h:107 +#: source/ubl-strings.h:109 msgid "Name:" msgstr "Название:" -#: source/ubl-strings.h:108 +#: source/ubl-strings.h:110 msgid "Branches:" msgstr "Ветки:" -#: source/ubl-strings.h:109 +#: source/ubl-strings.h:111 msgid "< Type branch name >" msgstr "< Введите название ветки >" -#: source/ubl-strings.h:110 +#: source/ubl-strings.h:112 msgid "Name must be filled!" msgstr "Введите название!" -#: source/ubl-strings.h:111 +#: source/ubl-strings.h:113 msgid "Choose path for new repository" msgstr "Выбрать расположение нового репозитория" -#: source/ubl-strings.h:113 +#: source/ubl-strings.h:115 msgid "Choose repository folder" msgstr "Выбрать директорию для репозитория" -#: source/ubl-strings.h:114 +#: source/ubl-strings.h:116 msgid "Choose repository" msgstr "Выбрать репозиторий" -#: source/ubl-strings.h:116 +#: source/ubl-strings.h:118 msgid "Absent" msgstr "Отсутствует" -#: source/ubl-strings.h:117 +#: source/ubl-strings.h:119 msgid "Dependences:" msgstr "Зависит от:" -#: source/ubl-strings.h:118 +#: source/ubl-strings.h:120 msgid "Digital signature" msgstr "Цифровая подпись" -#: source/ubl-strings.h:120 +#: source/ubl-strings.h:122 msgid "package" msgstr "пакет" -#: source/ubl-strings.h:121 +#: source/ubl-strings.h:123 msgid "repository" msgstr "репозиторий" -#: source/ubl-strings.h:122 +#: source/ubl-strings.h:124 msgid "This package already exists in that repository" msgstr "Этот пакет уже присутствует в выбранном репозитории" -#: source/ubl-strings.h:123 +#: source/ubl-strings.h:125 msgid "This repository has already been added" msgstr "Этот репозиторий уже был добавлен" -#: source/ubl-strings.h:125 +#: source/ubl-strings.h:127 msgid "Close" msgstr "Закрыть" -#: source/ubl-strings.h:127 +#: source/ubl-strings.h:129 msgid "Are you sure want to disable?" msgstr "" "Внимание! Вы хотите отключить хранилище от управления менеджером " @@ -419,20 +439,20 @@ msgstr "" "Примечание: в дальнейшем Вы можете заново подключить хранилище и управлять " "им." -#: source/ubl-strings.h:129 +#: source/ubl-strings.h:131 msgid "Are you sure want to remove?" msgstr "" "Внимание! Вы ходите удалить хранилище При этом хранилище и вложенные " "репозитории будут безвозвратно удалены!" -#: source/ubl-strings.h:131 +#: source/ubl-strings.h:133 msgid "Do not sign" msgstr "Не подписывать" -#: source/ubl-strings.h:133 +#: source/ubl-strings.h:135 msgid "Package name error - package has incorrect name pattern" msgstr "Ошибка имени пакета - некорректное имя пакета" -#: source/ubl-strings.h:135 +#: source/ubl-strings.h:137 msgid "Passwords do not match" msgstr "Пароли не совпадают"