From c5be4e7dd8033868f67e0f011065ca56043befe1 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 7 Nov 2024 18:16:12 +0600 Subject: [PATCH] Fixes, localisation --- gresource.xml | 1 + kernel-list-addon.csv | 2 +- source/CMakeLists.txt | 1 + source/ubl-settings-kernel.c | 188 ++++++++++++++++++++++---- source/ubl-settings-kernel.h | 22 +++ source/ubl-strings.h | 44 +++++- ubl-settings-kernel-dialog.glade | 214 ++++++++++++++++++++++++++++++ ubl-settings-kernel-info.glade | 2 +- ubl-settings-kernel-install.glade | 4 +- ubl-settings-kernel.desktop | 8 +- ubl-settings-kernel.glade | 3 +- ubl-settings-kernel.pot | 150 ++++++++------------- ubl-settings-kernel_ru.po | 208 ++++++++++++----------------- 13 files changed, 593 insertions(+), 254 deletions(-) create mode 100644 ubl-settings-kernel-dialog.glade diff --git a/gresource.xml b/gresource.xml index 3449e5e..05fab96 100644 --- a/gresource.xml +++ b/gresource.xml @@ -6,6 +6,7 @@ ubl-settings-kernel-install.glade ubl-settings-kernel-table-row.glade ubl-settings-kernel-additions-table-row.glade + ubl-settings-kernel-dialog.glade ubl-settings-kernel.css diff --git a/kernel-list-addon.csv b/kernel-list-addon.csv index a4b3bf7..679fb38 100644 --- a/kernel-list-addon.csv +++ b/kernel-list-addon.csv @@ -1,5 +1,5 @@ NAME;PAСKAGE_UBM;PAСKAGE;DESCRIPTION -Linux 5.15 headers;ubm-002-linux515-headers;linux515-headers;The Linux kernel headers v5.15 +Linux 5.15 headers;ubm-001-linux515-headers;linux515-headers;The Linux kernel headers v5.15 Linux 5.15 Docs;ubm-003-linux515-docs;linux515-docs;The Linux kernel docs v5.15 Linux 5.15 DKMS modules;ubm-linux515-dkms;linux515-dkms;The Linux kernel DKMS modules v5.15 : v4l2loopback, r8168-8136, rtl88x2bu, r8125, rtl8192eu Linux 6.1 headers;ubm-002-linux61-headers;linux61-headers;The Linux kernel headers v6.1 diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 450e841..e90e6e4 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -36,6 +36,7 @@ set(DEPENDFILES ../ubl-settings-kernel-install.glade ../ubl-settings-kernel-table-row.glade ../ubl-settings-kernel-additions-table-row.glade + ../ubl-settings-kernel-dialog.glade ../gresource.xml ../kernel-list.csv ../kernel-list-addon.csv diff --git a/source/ubl-settings-kernel.c b/source/ubl-settings-kernel.c index b8b0071..fb69000 100644 --- a/source/ubl-settings-kernel.c +++ b/source/ubl-settings-kernel.c @@ -193,58 +193,180 @@ gboolean on_command_execute_success(GtkWidget *,gint,main_window *widgets){ yon_interface_update(widgets); return G_SOURCE_REMOVE; } +gboolean yon_terminal_get_progress(main_window *widgets){ + char *text = vte_terminal_get_text_format(VTE_TERMINAL(widgets->InstallTerminal),VTE_FORMAT_TEXT); + GRegex *regex = g_regex_new("\\d?\\d\\d%",0,0,NULL); + + GMatchInfo *match = NULL; + g_regex_match(regex,text,0,&match); + g_regex_unref(regex); + char *target = g_match_info_fetch(match,0); + g_match_info_unref(match); + + if (!yon_char_is_empty(target)) { + target[strlen(target)-1]='\0'; + double percentage = atof(target); + gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(widgets->InstallationProgress),percentage/100); + } + + if (!gtk_revealer_get_child_revealed(GTK_REVEALER(widgets->MainRevealer))){ + return G_SOURCE_REMOVE; + } + return G_SOURCE_CONTINUE; +} void *yon_command_execute_async(char *command,main_window *widgets){ + gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(widgets->InstallationProgress),0); + vte_terminal_reset(VTE_TERMINAL(widgets->InstallTerminal),0,1); gtk_revealer_set_transition_type(GTK_REVEALER(widgets->MainRevealer),GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP); gtk_revealer_set_reveal_child(GTK_REVEALER(widgets->MainRevealer),1); gtk_revealer_set_reveal_child(GTK_REVEALER(widgets->TerminalRevealer),0); yon_terminal_integrated_start(widgets->InstallTerminal,command); - glong columns = vte_terminal_get_column_count(VTE_TERMINAL(widgets->InstallTerminal)); - vte_terminal_set_size(VTE_TERMINAL(widgets->InstallTerminal),columns,20); + glong columns = vte_terminal_get_column_count(VTE_TERMINAL(widgets->InstallTerminal)); + vte_terminal_set_size(VTE_TERMINAL(widgets->InstallTerminal),columns,20); + gdk_threads_add_timeout(500,(GSourceFunc)yon_terminal_get_progress,widgets); return NULL; } -void on_module_install_clicked(GtkWidget *,dictionary *dict){ +void on_install_accept(GtkWidget *, dictionary *dict){ main_window *widgets = yon_dictionary_get_data(dict->first,main_window*); kernels_tab *tab = yon_dictionary_get_data(dict->first->next,kernels_tab*); - char *command = install_command(tab->module); - yon_command_execute_async(command,widgets); - tab->module_installed=1; + dialog_window *window = yon_dictionary_get_data(dict->first->next->next,dialog_window*); + char *modules_to_install = tab->module; + + GtkTreeIter iter; + for_iter (GTK_TREE_MODEL(window->liststore1),&iter){ + int status; + char *package; + gtk_tree_model_get(GTK_TREE_MODEL(window->liststore1),&iter,0,&status,1,&package,-1); + if (status){ + char *temp = yon_char_unite(modules_to_install," ", package, NULL); + if (strcmp(modules_to_install,tab->module)) free(modules_to_install); + modules_to_install = temp; + } + } + char *command = install_command(modules_to_install); + yon_command_execute_async(command,widgets); + tab->module_installed=1; + free(dict->first->next->next); + dict->first->next->next=NULL; +} +dialog_window *yon_dialog_window_new(){ + GtkBuilder *builder = gtk_builder_new_from_resource(glade_dialog_path); + dialog_window *window = malloc(sizeof(dialog_window)); + window->Window = yon_gtk_builder_get_widget(builder,"MainWindow"); + window->HeadLabel = yon_gtk_builder_get_widget(builder,"HeadLabel"); + window->TopicLabel = yon_gtk_builder_get_widget(builder,"TopicLabel"); + window->DependencesTree = yon_gtk_builder_get_widget(builder,"DependencesTree"); + window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton"); + window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton"); + window->ChooseCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"ChooseCell")); + window->liststore1 = GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1")); + g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); + yon_cell_renderer_toggle_set_toggle(GTK_CELL_RENDERER_TOGGLE(window->ChooseCell),window->DependencesTree); + return window; +} + +void on_module_install_clicked(GtkWidget *,dictionary *dict){ + // main_window *widgets = yon_dictionary_get_data(dict->first,main_window*); + kernels_tab *tab = yon_dictionary_get_data(dict->first->next,kernels_tab*); + char *action_text = MODULE_INSTALL_CONFIRMATION_LABEL(tab->name); + dialog_window *window = yon_dialog_window_new(); + g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_install_accept),dict); + + gtk_label_set_text(GTK_LABEL(window->TopicLabel),action_text); + gtk_widget_show(window->Window); + yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); + + int size; + config_str additions = yon_resource_open_file(kernels_addon_path,&size); + GtkTreeIter iter; + for (int i=0;imodule_requirements_size;i++){ + gtk_list_store_append(window->liststore1,&iter); + for (int j=1;jmodule_requirements[i])) + gtk_list_store_set(window->liststore1,&iter,2,parsed[3],-1); + yon_char_parsed_free(parsed,cur_size); + } + gtk_list_store_set(window->liststore1,&iter,0,1,1,tab->module_requirements[i],-1); + } + yon_char_parsed_free(additions,size); } void on_package_install_clicked(GtkWidget *,dictionary *dict){ - main_window *widgets = yon_dictionary_get_data(dict->first,main_window*); + // main_window *widgets = yon_dictionary_get_data(dict->first,main_window*); kernels_tab *tab = yon_dictionary_get_data(dict->first->next,kernels_tab*); - char *command = install_command(tab->package); - yon_command_execute_async(command,widgets); - tab->package_installed=1; + char *action_text = PACKAGE_INSTALL_CONFIRMATION_LABEL(tab->name); + dialog_window *window = yon_dialog_window_new(); + g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_install_accept),dict); + + gtk_label_set_text(GTK_LABEL(window->TopicLabel),action_text); + gtk_widget_show(window->Window); + yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); + + int size; + config_str additions = yon_resource_open_file(kernels_addon_path,&size); + GtkTreeIter iter; + for (int i=0;ipackage_requirements_size;i++){ + gtk_list_store_append(window->liststore1,&iter); + for (int j=1;jpackage_requirements[i])) + gtk_list_store_set(window->liststore1,&iter,2,parsed[3],-1); + yon_char_parsed_free(parsed,cur_size); + } + gtk_list_store_set(window->liststore1,&iter,0,1,1,tab->package_requirements[i],-1); + } + yon_char_parsed_free(additions,size); } -void on_module_remove_clicked(GtkWidget *,dictionary *dict){ +void on_module_remove_clicked(GtkWidget *self,dictionary *dict){ main_window *widgets = yon_dictionary_get_data(dict->first,main_window*); kernels_tab *tab = yon_dictionary_get_data(dict->first->next,kernels_tab*); - char *command = remove_command(tab->module); - yon_command_execute_async(command,widgets); - tab->module_installed=0; + dialog_confirmation_data *data = malloc(sizeof(dialog_confirmation_data)); + data->action_text = MODULE_REMOVE_CONFIRMATION_LABEL(tab->name); + data->function = NULL; + data->data = NULL; + if (yon_confirmation_dialog_call(self,data) == GTK_RESPONSE_ACCEPT){ + char *command = remove_command(tab->module); + yon_command_execute_async(command,widgets); + tab->module_installed=0; + } } -void on_package_remove_clicked(GtkWidget *,dictionary *dict){ +void on_package_remove_clicked(GtkWidget *self,dictionary *dict){ main_window *widgets = yon_dictionary_get_data(dict->first,main_window*); kernels_tab *tab = yon_dictionary_get_data(dict->first->next,kernels_tab*); - char *command = remove_command(tab->package); - yon_command_execute_async(command,widgets); - tab->package_installed=0; + dialog_confirmation_data *data = malloc(sizeof(dialog_confirmation_data)); + data->action_text = PACKAGE_REMOVE_CONFIRMATION_LABEL(tab->name); + data->function = NULL; + data->data = NULL; + int resp = yon_confirmation_dialog_call(self,data); + if (resp == GTK_RESPONSE_ACCEPT){ + char *command = remove_command(tab->package); + yon_command_execute_async(command,widgets); + tab->package_installed=0; + } } -void on_launch_cliked(GtkWidget *,dictionary *dict){ +void on_launch_cliked(GtkWidget *self,dictionary *dict){ main_window *widgets = yon_dictionary_get_data(dict->first,main_window*); kernels_tab *tab = yon_dictionary_get_data(dict->first->next,kernels_tab*); - yon_config_set(KERNEL_BOOT_parameter,tab->package); - yon_interface_update(widgets); + dialog_confirmation_data *data = malloc(sizeof(dialog_confirmation_data)); + data->action_text = LAUNCH_CONFIRMATION_LABEL(tab->name); + data->function = NULL; + data->data = NULL; + if (yon_confirmation_dialog_call(self,data) == GTK_RESPONSE_ACCEPT){ + yon_config_set(KERNEL_BOOT_parameter,tab->package); + yon_interface_update(widgets); + } } kernels_tab *yon_tab_row_new(GtkListBox *target, char *target_string, main_window *widgets){ @@ -263,11 +385,14 @@ kernels_tab *yon_tab_row_new(GtkListBox *target, char *target_string, main_windo g_list_free(list); gtk_widget_hide(tab->changelog_button); gtk_widget_show(tab->launch_button); + gtk_image_set_from_icon_name(GTK_IMAGE(tab->module_icon),"",GTK_ICON_SIZE_BUTTON); + gtk_image_set_from_icon_name(GTK_IMAGE(tab->package_icon),"",GTK_ICON_SIZE_BUTTON); if (tab->module_installed){ gtk_widget_show(tab->remove_module_button); gtk_widget_hide(tab->install_module_button); gtk_widget_show(tab->remove_module_button); yon_tag_add(GTK_BOX(tab->install_tags_box),MODULE_INSTALLED_LABEL,"tag_green",NULL); + gtk_image_set_from_icon_name(GTK_IMAGE(tab->module_icon),module_icon_path,GTK_ICON_SIZE_BUTTON); } else { gtk_widget_hide(tab->remove_module_button); gtk_widget_show(tab->install_module_button); @@ -278,6 +403,7 @@ kernels_tab *yon_tab_row_new(GtkListBox *target, char *target_string, main_windo gtk_widget_hide(tab->install_package_button); gtk_widget_show(tab->changelog_button); yon_tag_add(GTK_BOX(tab->install_tags_box),PACKAGE_INSTALLED_LABEL,"tag_green",NULL); + gtk_image_set_from_icon_name(GTK_IMAGE(tab->package_icon),package_icon_path,GTK_ICON_SIZE_BUTTON); } else { gtk_widget_hide(tab->remove_package_button); @@ -337,22 +463,24 @@ kernels_tab *yon_tab_row_new(GtkListBox *target, char *target_string, main_windo char *passw = types_parsed[k][0]==' '?yon_char_divide(types_parsed[k],0):NULL; if (passw) free(passw); char *tag_type = NULL; - if (!strcmp(types_parsed[k],"LTS")){ + if (!strcmp(types_parsed[k],LTS_TAG)){ tag_type = "tag_blue"; - } else if (!strcmp(types_parsed[k],"Stable")){ + } else if (!strcmp(types_parsed[k],STABLE_TAG)){ tag_type = "tag_green"; - } else if (!strcmp(types_parsed[k],"RealTime")){ + } else if (!strcmp(types_parsed[k],REALTIME_TAG)){ tag_type = "tag_orange"; - } else if (!strcmp(types_parsed[k],"Hardened")){ + } else if (!strcmp(types_parsed[k],HARDENED_TAG)){ tag_type = "tag_yellow"; - } else if (!strcmp(types_parsed[k],"Recomended")){ + } else if (!strcmp(types_parsed[k],RECOMENDED_TAG)){ tag_type = "tag_blue"; - } else if (!strcmp(types_parsed[k],"Reactive")){ + } else if (!strcmp(types_parsed[k],REACTIVE_TAG)){ tag_type = "tag_purple"; } else continue; yon_tag_add(GTK_BOX(tab->tags_box),types_parsed[k],tag_type,NULL); } + tab->module_requirements = yon_char_parse(parsed[3],&tab->module_requirements_size,","); + tab->package_requirements = yon_char_parse(parsed[4],&tab->package_requirements_size,","); char *check_install_command = get_package_is_installed_command(tab->module); if (!system(check_install_command)){ yon_tag_add(GTK_BOX(tab->install_tags_box),MODULE_INSTALLED_LABEL,"tag_green",NULL); @@ -409,12 +537,15 @@ additions_kernels_tab *yon_additions_tab_row_new(GtkListBox *target, char *targe for (guint i=0;imodule_icon),"",GTK_ICON_SIZE_BUTTON); + gtk_image_set_from_icon_name(GTK_IMAGE(tab->package_icon),"",GTK_ICON_SIZE_BUTTON); g_list_free(list); if (tab->module_installed){ gtk_widget_show(tab->remove_module_button); gtk_widget_hide(tab->install_module_button); gtk_widget_show(tab->remove_module_button); yon_tag_add(GTK_BOX(tab->install_tags_box),MODULE_INSTALLED_LABEL,"tag_green",NULL); + gtk_image_set_from_icon_name(GTK_IMAGE(tab->module_icon),module_icon_path,GTK_ICON_SIZE_BUTTON); } else { gtk_widget_hide(tab->remove_module_button); gtk_widget_show(tab->install_module_button); @@ -424,6 +555,7 @@ additions_kernels_tab *yon_additions_tab_row_new(GtkListBox *target, char *targe gtk_widget_show(tab->remove_package_button); gtk_widget_hide(tab->install_package_button); yon_tag_add(GTK_BOX(tab->install_tags_box),PACKAGE_INSTALLED_LABEL,"tag_green",NULL); + gtk_image_set_from_icon_name(GTK_IMAGE(tab->package_icon),package_icon_path,GTK_ICON_SIZE_BUTTON); } else { gtk_widget_hide(tab->remove_package_button); @@ -472,6 +604,7 @@ additions_kernels_tab *yon_additions_tab_row_new(GtkListBox *target, char *targe yon_dictionary_add_or_create_if_exists_with_data(main_config.addition_tabs,tab->package,tab); if (!system(check_install_command)){ + tab->module_installed=1; yon_tag_add(GTK_BOX(tab->install_tags_box),MODULE_INSTALLED_LABEL,"tag_green",NULL); gtk_image_set_from_icon_name(GTK_IMAGE(tab->module_icon),module_icon_path,GTK_ICON_SIZE_BUTTON); @@ -484,6 +617,7 @@ additions_kernels_tab *yon_additions_tab_row_new(GtkListBox *target, char *targe free(check_install_command); check_install_command = get_package_is_installed_command(tab->package); if (!system(check_install_command)){ + tab->package_installed=1; yon_tag_add(GTK_BOX(tab->install_tags_box),PACKAGE_INSTALLED_LABEL,"tag_green",NULL); gtk_image_set_from_icon_name(GTK_IMAGE(tab->package_icon),package_icon_path,GTK_ICON_SIZE_BUTTON); gtk_widget_hide(tab->install_package_button); diff --git a/source/ubl-settings-kernel.h b/source/ubl-settings-kernel.h index 2cd641d..5fcadda 100644 --- a/source/ubl-settings-kernel.h +++ b/source/ubl-settings-kernel.h @@ -26,6 +26,7 @@ #define glade_install_path "/com/ublinux/ui/ubl-settings-kernel-install.glade" #define glade_table_row_path "/com/ublinux/ui/ubl-settings-kernel-table-row.glade" #define glade_additions_table_row_path "/com/ublinux/ui/ubl-settings-kernel-additions-table-row.glade" +#define glade_dialog_path "/com/ublinux/ui/ubl-settings-kernel-dialog.glade" #define banner_path "/com/ublinux/images/ubl-settings-kernel-banner.png" #define CssPath "/com/ublinux/css/ubl-settings-kernel.css" #define config_path yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL) @@ -150,6 +151,10 @@ typedef struct { GtkWidget *install_package_button; GtkWidget *changelog_button; GtkWidget *launch_button; + config_str module_requirements; + int module_requirements_size; + config_str package_requirements; + int package_requirements_size; } kernels_tab; @@ -174,6 +179,18 @@ typedef struct { } additions_kernels_tab; +typedef struct { + GtkWidget *Window; + GtkWidget *HeadLabel; + GtkWidget *TopicLabel; + GtkWidget *DependencesTree; + GtkWidget *CancelButton; + GtkWidget *AcceptButton; + GtkCellRenderer *ChooseCell; + GtkListStore *liststore1; + +} dialog_window; + void *yon_interface_update(main_window *widgets); @@ -193,8 +210,13 @@ void config_init(); void yon_main_window_complete(main_window *widgets); gboolean on_command_execute_success(GtkWidget *,gint,main_window *widgets); +gboolean yon_terminal_get_progress(main_window *widgets); void *yon_command_execute_async(char *command,main_window *widgets); +dialog_window *yon_dialog_window_new(); + +void on_install_accept(GtkWidget *, dictionary *dict); + void on_module_install_clicked(GtkWidget *,dictionary *dict); void on_package_install_clicked(GtkWidget *,dictionary *dict); void on_module_remove_clicked(GtkWidget *,dictionary *dict); diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 9e5d9b7..78ef180 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -1,15 +1,53 @@ -#define TITLE_LABEL _("ubl-settings-kernel") -#define TITLE_INFO_LABEL _("kernel configuration") +#define TITLE_LABEL _("System kernel") +#define TITLE_INFO_LABEL _("Kernel downloading and installation, kernel selection to boot by default") #define INFO_TITLE_LABEL _("Information") #define MODULE_LABEL _("Module:") #define PACKAGE_LABEL _("Package:") +#define CANCEL_LABEL _("Cancel") + #define PACKAGE_NOT_FOUND_LABEL _("Package were not found") #define CHANGELOG_NOT_FOUND_LABEL _("Changelog was not found") #define PACKAGE_INSTALLED_LABEL _("Package installed") #define MODULE_INSTALLED_LABEL _("Module installed") -#define BOOT_RUN_LABEL _("Startup boot") \ No newline at end of file +#define BOOT_RUN_LABEL _("Startup boot") + + +#define INITRAMFS_TITLE_LABEL _("Initramfs building") +#define EXECUTE_LABEL _("Execute") +#define KERNEL_VERSION_LABEL _("Kernel version:") +#define ADD_DEBUG_LABEL _("Add debug components") +#define ADD_DRIVERS_LABEL _("Add drivers for current hardware components only") + +#define INSTALL_MODULE_LABEL _("Install module") +#define REMOVE_MODULE_LABEL _("Remove module") +#define INSTALL_PACKAGE_LABEL _("Install package") +#define REMOVE_PACKAGE_LABEL _("Remove package") +#define CHANGELOG_LABEL _("Changelog") +#define LAUNCH_LABEL _("Launch") +#define LTS_TAG _("LTS") +#define REACTIVE_TAG _("Reactive") +#define RECOMENDED_TAG _("Recomended") +#define HARDENED_TAG _("Hardened") +#define REALTIME_TAG _("RealTime") +#define STABLE_TAG _("Stable") + +#define KERNELS_LABEL _("Kernels") +#define ADDITIONS_LABEL _("Additions") +#define UPDATE_LABEL _("Update") +#define OPE_INFO_LABEL _("Open package information") +#define MORE_LABEL _("More") + +#define ACCEPT_LABEL _("Accept") +#define WARNING_TITLE_LABEL _("Warning") +#define DEPENDENCES_LABEL _("Dependences") + +#define MODULE_INSTALL_CONFIRMATION_LABEL(target) yon_char_unite(_("Are you sure want to install kernel "),target,"?",NULL) +#define PACKAGE_INSTALL_CONFIRMATION_LABEL(target) yon_char_unite(_("Are you sure want to install package "),target,"?",NULL) +#define MODULE_REMOVE_CONFIRMATION_LABEL(target) yon_char_unite(_("Are you sure want to remove module "),target,"?",NULL) +#define PACKAGE_REMOVE_CONFIRMATION_LABEL(target) yon_char_unite(_("Are you sure want to remove package "),target,"?",NULL) +#define LAUNCH_CONFIRMATION_LABEL(target) yon_char_unite(_("Are you sure want to launch "),target,"?",NULL) \ No newline at end of file diff --git a/ubl-settings-kernel-dialog.glade b/ubl-settings-kernel-dialog.glade new file mode 100644 index 0000000..34d0add --- /dev/null +++ b/ubl-settings-kernel-dialog.glade @@ -0,0 +1,214 @@ + + + + + + + + + + + + + + + + + 400 + 200 + False + True + com.ublinux.ubl-settings-repomanager + + + True + False + 5 + 5 + 5 + 5 + vertical + 5 + + + True + False + vertical + + + True + False + 15 + + + True + False + 51 + dialog-question-symbolic + + + False + True + 0 + + + + + True + False + label + 0 + + + False + True + 1 + + + + + False + True + 0 + + + + + False + True + 0 + + + + + True + False + 0.019999999552965164 + in + + + True + False + 5 + 5 + 5 + + + True + True + never + in + + + True + True + liststore1 + + + none + + + + + + + + 0 + + + + + + + Module + + + + 1 + + + + + + + Description + + + + 2 + + + + + + + + + + + + + True + False + Dependences + + + + + True + True + 1 + + + + + + + True + False + True + + + True + False + Warning + + + + + + + + True + False + 32 + com.ublinux.ubl-settings-kernel + + + + + Cancel + True + True + True + + + 1 + + + + + Accept + True + True + True + + + end + 2 + + + + + + diff --git a/ubl-settings-kernel-info.glade b/ubl-settings-kernel-info.glade index 02b9d6b..143b6be 100644 --- a/ubl-settings-kernel-info.glade +++ b/ubl-settings-kernel-info.glade @@ -61,7 +61,7 @@ True False - Kernel settings + Information diff --git a/ubl-settings-kernel-install.glade b/ubl-settings-kernel-install.glade index ff1f9d4..d88d358 100644 --- a/ubl-settings-kernel-install.glade +++ b/ubl-settings-kernel-install.glade @@ -1,5 +1,5 @@ - + @@ -132,7 +132,7 @@ True False - Kernel settings + Initramfs building diff --git a/ubl-settings-kernel.desktop b/ubl-settings-kernel.desktop index 2624408..f9a5465 100644 --- a/ubl-settings-kernel.desktop +++ b/ubl-settings-kernel.desktop @@ -1,11 +1,11 @@ [Desktop Entry] Encoding=UTF-8 Name=System kernel -Name[ru]=kernel +Name[ru]=Ядро системы GenericName=ubl-settings-kernel -GenericName[ru]=kernel -Comment=Kernel downloading and installation for default load -Comment[ru]=Приложение для kernel +GenericName[ru]=Ядро системы +Comment=Kernel downloading and installation, kernel selection to boot by default +Comment[ru]=Загрузка и устанвока ядер системы, выбор ядра для загрузки по умолчанию Type=Application Exec=pkexec ubl-settings-kernel Icon=com.ublinux.ubl-settings-kernel diff --git a/ubl-settings-kernel.glade b/ubl-settings-kernel.glade index 02b42e0..1622efa 100644 --- a/ubl-settings-kernel.glade +++ b/ubl-settings-kernel.glade @@ -1,5 +1,5 @@ - + @@ -214,6 +214,7 @@ True True True + Update image1