From 2775a9e37ff0d50e3a089338e8aaad46510999cd Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Thu, 11 Dec 2025 17:47:34 +0000 Subject: [PATCH] Added language slide; Fixed kernel crash --- gresource.xml | 1 + source/CMakeLists.txt | 2 + source/ubinstall-gtk-components.c | 39 ++-- source/ubinstall-gtk-language.c | 243 +++++++++++++++++++++ source/ubinstall-gtk-page-switch.c | 12 +- source/ubinstall-gtk.c | 13 ++ source/ubinstall-gtk.h | 46 +++- source/ubl-strings.h | 1 + ubinstall-gtk-layouts.glade | 238 +++++++++++++++++++++ ubinstall-gtk.desktop | 0 ubinstall-gtk.glade | 330 ++++++++++++++++++++++++----- 11 files changed, 847 insertions(+), 78 deletions(-) create mode 100644 source/ubinstall-gtk-language.c create mode 100644 ubinstall-gtk-layouts.glade mode change 100644 => 100755 ubinstall-gtk.desktop diff --git a/gresource.xml b/gresource.xml index fc38ddb..ead2b57 100644 --- a/gresource.xml +++ b/gresource.xml @@ -19,6 +19,7 @@ ubinstall-gtk-configuration-mode.glade ubinstall-gtk-source.glade ubinstall-gtk-source-element.glade + ubinstall-gtk-layouts.glade ubinstall-gtk.css diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index acc10a7..797d534 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -72,6 +72,7 @@ set(DEPENDFILES ../ubinstall-gtk-configuration-mode.glade ../ubinstall-gtk-source.glade ../ubinstall-gtk-source-element.glade + ../ubinstall-gtk-layouts.glade ../gresource.xml ../ubinstall-gtk.css ../modules.csv @@ -147,6 +148,7 @@ set(SOURCE_FILES ubinstall-gtk-install-start.c ubinstall-gtk-startup-services.c ubinstall-gtk-kernel.c + ubinstall-gtk-language.c ubinstall-gtk.h ubl-strings.h ) diff --git a/source/ubinstall-gtk-components.c b/source/ubinstall-gtk-components.c index 915582c..1af6ded 100644 --- a/source/ubinstall-gtk-components.c +++ b/source/ubinstall-gtk-components.c @@ -195,24 +195,27 @@ void yon_os_components_init(main_window *widgets){ int size = 0; GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox)); GList *iter; - if (!list){ - gtk_overlay_add_overlay(GTK_OVERLAY(widgets->OSOverlay),widgets->OSSpinner); - gtk_spinner_start(GTK_SPINNER(widgets->OSSpinner)); - gtk_widget_show(widgets->OSSpinner); - g_thread_new("geag",(GThreadFunc)yon_os_components_setup,widgets); - while(gtk_events_pending()) gtk_main_iteration(); - list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox)); - for(iter = list;iter;iter=iter->next){ - os_row *row = g_object_get_data(iter->data,"kernel_row"); - int cur_size = 0; - gtk_widget_realize(row->RowBox); - gtk_widget_get_preferred_width(row->RowBox,&cur_size,NULL); - if (sizenext){ - os_row *row = g_object_get_data(iter->data,"kernel_row"); - gtk_widget_set_size_request(row->RowBox,size,-1); - } + for (iter=list;iter;iter=iter->next){ + os_row *row = g_object_get_data(iter->data,"kernel_row"); + free(row); + gtk_widget_destroy(GTK_WIDGET(iter->data)); + } + gtk_overlay_add_overlay(GTK_OVERLAY(widgets->OSOverlay),widgets->OSSpinner); + gtk_spinner_start(GTK_SPINNER(widgets->OSSpinner)); + gtk_widget_show(widgets->OSSpinner); + g_thread_new("geag",(GThreadFunc)yon_os_components_setup,widgets); + while(gtk_events_pending()) gtk_main_iteration(); + list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox)); + for(iter = list;iter;iter=iter->next){ + os_row *row = g_object_get_data(iter->data,"kernel_row"); + int cur_size = 0; + gtk_widget_realize(row->RowBox); + gtk_widget_get_preferred_width(row->RowBox,&cur_size,NULL); + if (sizenext){ + os_row *row = g_object_get_data(iter->data,"kernel_row"); + gtk_widget_set_size_request(row->RowBox,size,-1); } char *modules = config(modules_parameter); diff --git a/source/ubinstall-gtk-language.c b/source/ubinstall-gtk-language.c new file mode 100644 index 0000000..ff6041b --- /dev/null +++ b/source/ubinstall-gtk-language.c @@ -0,0 +1,243 @@ +#include "ubinstall-gtk.h" + +void yon_language_update(main_window *widgets){ + gtk_list_store_clear(widgets->LanguageList); + { + char *config_locale = config(locale_parameter); + char *config_languages = config(lang_parameter); + if (yon_char_is_empty(config_locale)||yon_config_check_ignore(locale_parameter)){ + gtk_switch_set_active(GTK_SWITCH(widgets->LocaleDefaultSwitch),1); + } else { + gtk_switch_set_active(GTK_SWITCH(widgets->LocaleDefaultSwitch),0); + int parsed_param_size; + config_str parsed_param = yon_char_parse(config_locale,&parsed_param_size,","); + GtkTreeIter iter; + for (int i=0;iLanguageList,&iter); + gtk_list_store_set(widgets->LanguageList,&iter,1,parsed[1],2,parsed[2],3,parsed[0],-1); + if (!yon_char_is_empty(config_languages)){ + if (!strcmp(config_languages,parsed[0])){ + gtk_list_store_set(widgets->LanguageList,&iter,0,1,-1); + } + } else if (yon_char_is_empty(config_languages)&&!i){ + gtk_list_store_set(widgets->LanguageList,&iter,0,1,-1); + } + yon_char_parsed_free(parsed,parsed_size); + } + } + } + } + +} + + +void on_locale_toggle(GtkCellRenderer *, gchar *path,language_window *window){ + GtkTreeIter iter; + GtkTreeModel *model = GTK_TREE_MODEL(window->LanguagesList); + gtk_tree_model_get_iter_from_string(model,&iter,path); + gboolean is_active; + char *target; + gtk_tree_model_get(model,&iter,0,&is_active,1,&target,-1); + gtk_list_store_set(GTK_LIST_STORE(model),&iter,0,!is_active,-1); + + char *locales = (char*)gtk_entry_get_text(GTK_ENTRY(window->ManualEntry)); + if (!is_active){ + if (!yon_char_check_element(locales,target,",")){ + char *temp = yon_char_append_element(locales,target,","); + gtk_entry_set_text(GTK_ENTRY(window->ManualEntry),temp); + free(temp); + } + } else { + char *temp = yon_char_remove_element(locales,target,","); + gtk_entry_set_text(GTK_ENTRY(window->ManualEntry),temp); + if (!yon_char_is_empty(temp)) free(temp); + } +} + +void on_locale_accept(GtkWidget *self, language_window *window){ + main_window *widgets = g_object_get_data(G_OBJECT(window->Window),"widgets"); + + char *final = (char*)gtk_entry_get_text(GTK_ENTRY(window->ManualEntry)); + if (yon_char_is_empty(final)) { + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),yon_char_get_localised_from_lib(NOTHING_CHOSEN_LABEL),5,BACKGROUND_IMAGE_FAIL_TYPE); + return; + } + char *locale_str = config(locale_parameter); + GtkTreeIter iter,itar; + for_iter (GTK_TREE_MODEL(window->LanguagesList),&iter){ + char *locale,*lang,*territory; + int status; + gtk_tree_model_get(GTK_TREE_MODEL(window->LanguagesList),&iter,0,&status,1,&locale,2,&lang,3,&territory,-1); + if (status){ + gtk_list_store_append(widgets->LanguageList,&itar); + gtk_list_store_set(widgets->LanguageList,&itar,1,lang,2,territory,3,locale,-1); + if (!yon_char_is_empty(locale_str)&&!strcmp(locale_str,locale)){ + gtk_list_store_set(widgets->LanguageList,&itar,0,1,-1); + } + } + } + if (yon_char_is_empty(locale_str)){ + if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->LanguageList),&iter)){ + gtk_list_store_set(widgets->LanguageList,&iter,0,1,-1); + } + } + on_subwindow_close(self); +} + +gboolean yon_locale_window_set_locales(struct locales_struct *data){ + GtkTreeIter iter; + gtk_list_store_append(GTK_LIST_STORE(data->list),&iter); + gtk_list_store_set(GTK_LIST_STORE(data->list),&iter,1,data->locale,2,data->lang,3,data->territory,0,data->chosen,-1); + if(!yon_char_is_empty(data->lang)) free(data->lang); + if(!yon_char_is_empty(data->locale)) free(data->locale); + if(!yon_char_is_empty(data->territory)) free(data->territory); + if(!yon_char_is_empty(data->lang)) free(data); + return G_SOURCE_REMOVE; +} + +gboolean yon_locale_window_unlock(GtkWidget *spinner){ + gtk_widget_hide(spinner); + return G_SOURCE_REMOVE; +} + +void *yon_locales_load_func(language_window *window){ + char *config_value = config(locale_parameter); + int config_parsed_size; + config_str config_parsed = NULL; + if (config_value){ + gtk_entry_set_text(GTK_ENTRY(window->ManualEntry),config_value); + config_parsed = yon_char_parse(config_value,&config_parsed_size,","); + } + + int size; + config_str languages = yon_config_load(languages_command,&size); + for (int i=0;ilist=window->LanguagesList; + yon_char_remove_last_symbol(languages[i],'\n'); + int parsed_size; + config_str parsed = yon_char_parse(languages[i],&parsed_size,"|"); + data_struct->locale = yon_char_new(parsed[0]); + data_struct->lang = yon_char_new(parsed[1]); + data_struct->territory = yon_char_new(parsed[2]); + + if (config_parsed_size&&yon_char_parsed_check_exist(config_parsed,config_parsed_size,parsed[0])>-1){ + data_struct->chosen=1; + } else { + data_struct->chosen=0; + } + g_idle_add((GSourceFunc)yon_locale_window_set_locales,data_struct); + yon_char_parsed_free(parsed,parsed_size); + } + g_idle_add((GSourceFunc)yon_locale_window_unlock,window->LoadingSpinner); + yon_char_parsed_free(config_parsed,config_parsed_size); + g_thread_exit(NULL); +} + +language_window *yon_language_window_new(){ + language_window *window = malloc(sizeof(language_window)); + GtkBuilder *builder = gtk_builder_new_from_resource(glade_locales_path); + window->Window = yon_gtk_builder_get_widget(builder,"Window"); + window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox"); + window->LanguagesTree = yon_gtk_builder_get_widget(builder,"LanguagesTree"); + window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton"); + window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton"); + window->ManualEntry = yon_gtk_builder_get_widget(builder,"ManualEntry"); + window->LoadingOverlay = yon_gtk_builder_get_widget(builder,"LoadingOverlay"); + window->LoadingSpinner = yon_gtk_builder_get_widget(builder,"LoadingSpinner"); + window->ToggleCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"ToggleCell")); + window->LanguagesList = GTK_LIST_STORE(gtk_builder_get_object(builder,"LanguagesList")); + + g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); + g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_locale_accept),window); + g_signal_connect(G_OBJECT(window->ToggleCell),"toggled",G_CALLBACK(on_locale_toggle),window); + yon_gtk_tree_view_minimal_fixed_size_set_full(GTK_TREE_VIEW(window->LanguagesTree)); + + gtk_overlay_add_overlay(GTK_OVERLAY(window->LoadingOverlay),window->LoadingSpinner); + g_thread_new("locales-thread",(GThreadFunc)yon_locales_load_func,window); + return window; +} + +void on_language_open(GtkWidget *, main_window *widgets){ + language_window *window = yon_language_window_new(); + + g_object_set_data(G_OBJECT(window->Window),"widgets",widgets); + + yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->MainWindow),ADD_LANGUAGE_TITLE_LABEL,icon_path,"LocalesWindow"); + + gtk_widget_show(window->Window); + +} + +void on_language_remove(GtkWidget *, main_window *widgets){ + GtkTreeIter iter; + GtkTreeModel *model; + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->LocaleTree)),&model,&iter)){ + gtk_list_store_remove(widgets->LanguageList,&iter); + } +} + + +void on_language_default_toggled(GtkWidget *, int status, main_window *widgets){ + gtk_widget_set_sensitive(widgets->LocaleTree,!status); + gtk_widget_set_sensitive(widgets->LocaleAddButton,!status); + GtkTreeModel *model; + GtkTreeIter iter; + if (!status&>k_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->LocaleTree)),&model,&iter)){ + gtk_widget_set_sensitive(widgets->LocaleRemoveButton,1); + } else { + gtk_widget_set_sensitive(widgets->LocaleRemoveButton,0); + } +} + +void on_locale_toggled(GtkCellRenderer *, gchar *path, main_window *widgets){ + GtkTreeIter fiter; + GtkTreeIter iter; + GtkTreeModel *model = GTK_TREE_MODEL(widgets->LanguageList); + gtk_tree_model_get_iter_from_string(model,&fiter,path); + for_iter(model,&iter){ + gtk_list_store_set(GTK_LIST_STORE(model),&iter,0,0,-1); + + } + char *target; + gtk_tree_model_get(model,&fiter,3,&target,-1); + gtk_list_store_set(GTK_LIST_STORE(model),&fiter,0,1,-1); + // yon_config_register(lang_parameter,lang_parameter_command,target); +} + +int yon_language_save(main_window *widgets){ + int status = gtk_switch_get_active(GTK_SWITCH(widgets->LocaleDefaultSwitch)); + if (!status){ + GtkTreeModel *model = GTK_TREE_MODEL(widgets->LanguageList); + GtkTreeIter iter; + char *locales = NULL; + for_iter(model,&iter){ + int status; + char *target; + + gtk_tree_model_get(model,&iter,0,&status,3,&target,-1); + char *temp = yon_char_append_element(locales?locales:"",target,","); + if (!yon_char_is_empty(locales)) free(locales); + locales = temp; + if (status){ + yon_config_register(lang_parameter,lang_parameter_command,target); + } + } + if (!yon_char_is_empty(locales)){ + yon_config_register(locale_parameter,locale_parameter_command,locales); + } + } else { + yon_config_remove_by_key(lang_parameter); + yon_config_remove_by_key(locale_parameter); + } + + return 1; +} + +void yon_language_init(main_window *widgets){ + yon_language_update(widgets); +} \ No newline at end of file diff --git a/source/ubinstall-gtk-page-switch.c b/source/ubinstall-gtk-page-switch.c index e71202a..3be4fcd 100644 --- a/source/ubinstall-gtk-page-switch.c +++ b/source/ubinstall-gtk-page-switch.c @@ -10,11 +10,12 @@ enum YON_PAGES yon_page_get_next(main_window *widgets, enum YON_PAGES page){ case YON_PAGE_SECTIONS: return yon_sections_get_next_page(widgets); break; case YON_PAGE_OS_COMPONENTS: return YON_PAGE_SOFTWARE; break; case YON_PAGE_SOFTWARE: return main_config.configure_mode? YON_PAGE_REGION : YON_PAGE_INSTALLATION_BEGIN; break; - case YON_PAGE_INSTALLATION_BEGIN: return YON_PAGE_KEYBOARD; break; + case YON_PAGE_INSTALLATION_BEGIN: return YON_PAGE_REGION; break; case YON_PAGE_KERNEL: return YON_PAGE_PACKAGES_HUB; break; case YON_PAGE_KERNEL_ADDON: return YON_PAGE_PACKAGES_HUB; break; case YON_PAGE_PACMAN_SOFTWARE: return YON_PAGE_PACKAGES_HUB; break; - case YON_PAGE_REGION: return YON_PAGE_KEYBOARD; break; + case YON_PAGE_REGION: return YON_PAGE_LANGUAGE; break; + case YON_PAGE_LANGUAGE: return YON_PAGE_KEYBOARD; break; case YON_PAGE_KEYBOARD: return YON_PAGE_USERS; break; case YON_PAGE_USERS: return YON_PAGE_STARTUP; break; case YON_PAGE_STARTUP: return YON_PAGE_BOOTLOADER; break; @@ -181,6 +182,9 @@ int yon_page_save(main_window *widgets, enum YON_PAGES page){ case YON_PAGE_REGION: return yon_region_save(widgets); break; + case YON_PAGE_LANGUAGE: + return yon_language_save(widgets); + break; case YON_PAGE_KEYBOARD: return yon_keyboard_save(widgets); break; @@ -260,6 +264,7 @@ void yon_switch_page_render(main_window *widgets){ case YON_PAGE_REGION: page = 3; break; + case YON_PAGE_LANGUAGE: case YON_PAGE_KEYBOARD: page = 4; break; @@ -361,6 +366,9 @@ void yon_page_init(main_window *widgets, enum YON_PAGES page){ case YON_PAGE_REGION: yon_region_init(widgets); break; + case YON_PAGE_LANGUAGE: + yon_language_init(widgets); + break; case YON_PAGE_KEYBOARD: yon_keyboard_init(widgets); break; diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index dc003c3..a268a84 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -973,6 +973,13 @@ void yon_main_window_create(main_window *widgets){ widgets->UserAddBox=yon_gtk_builder_get_widget(builder,"UserAddBox"); widgets->UserAddButton=yon_gtk_builder_get_widget(builder,"UserAddButton"); + widgets->LocaleTree = yon_gtk_builder_get_widget(builder,"LocaleTree"); + widgets->LocaleAddButton = yon_gtk_builder_get_widget(builder,"LocaleAddButton"); + widgets->LocaleRemoveButton = yon_gtk_builder_get_widget(builder,"LocaleRemoveButton"); + widgets->LocaleDefaultSwitch = yon_gtk_builder_get_widget(builder,"LocaleDefaultSwitch"); + widgets->LocaleCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"LocaleCell")); + widgets->LanguageList = GTK_LIST_STORE(gtk_builder_get_object(builder,"LanguageList")); + widgets->HotnameEntry=yon_gtk_builder_get_widget(builder,"HotnameEntry"); widgets->mainSettingsButton=yon_gtk_builder_get_widget(builder,"mainSettingsButton"); widgets->RegionImage = yon_gtk_builder_get_widget(builder,"RegionImage"); @@ -1088,6 +1095,12 @@ void yon_main_window_create(main_window *widgets){ g_signal_connect(G_OBJECT(widgets->MainWindow),"check-resize",G_CALLBACK(on_region_resized),widgets); g_signal_connect(G_OBJECT(widgets->NextButton),"clicked",G_CALLBACK(on_page_next_clicked),widgets); g_signal_connect(G_OBJECT(widgets->BackButton),"clicked",G_CALLBACK(on_page_prev_clicked),widgets); + + g_signal_connect(G_OBJECT(widgets->LocaleAddButton),"clicked",G_CALLBACK(on_language_open),widgets); + g_signal_connect(G_OBJECT(widgets->LocaleRemoveButton),"clicked",G_CALLBACK(on_language_remove),widgets); + g_signal_connect(G_OBJECT(widgets->LocaleDefaultSwitch),"state-set",G_CALLBACK(on_language_default_toggled),widgets); + g_signal_connect(G_OBJECT(widgets->LocaleCell),"toggled",G_CALLBACK(on_locale_toggled),widgets); + g_signal_connect(G_OBJECT(widgets->CancelInstallButton),"clicked",G_CALLBACK(on_page_cancel_clicked),widgets); g_signal_connect(G_OBJECT(widgets->AvailableLanguagesButton),"clicked",G_CALLBACK(on_language_clicked),widgets); g_signal_connect(G_OBJECT(widgets->RegionCombo),"changed",G_CALLBACK(on_region_changed),widgets); diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index 3be8be8..be3bc1e 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -38,6 +38,7 @@ #define glade_path_configuration_mode "/com/ublinux/ui/ubinstall-gtk-configuration-mode.glade" #define glade_path_source "/com/ublinux/ui/ubinstall-gtk-source.glade" #define glade_path_source_element "/com/ublinux/ui/ubinstall-gtk-source-element.glade" +#define glade_locales_path "/com/ublinux/ui/ubinstall-gtk-layouts.glade" #define CssPath "/com/ublinux/css/ubinstall-gtk.css" #define config_path yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL) @@ -351,6 +352,7 @@ enum YON_PAGES { YON_PAGE_SOFTWARE, YON_PAGE_PACMAN_SOFTWARE, YON_PAGE_REGION, + YON_PAGE_LANGUAGE, YON_PAGE_KEYBOARD, YON_PAGE_USERS, YON_PAGE_STARTUP, @@ -498,6 +500,13 @@ typedef struct { GtkWidget *menu1; GtkWidget *menu2; + GtkWidget *LocaleDefaultSwitch; + GtkWidget *LocaleTree; + GtkWidget *LocaleAddButton; + GtkWidget *LocaleRemoveButton; + GtkCellRenderer *LocaleCell; + GtkListStore *LanguageList; + GtkWidget *RegionImage; GtkWidget *RegionBox; GtkWidget *RegionAspect; @@ -998,6 +1007,28 @@ struct row_data { char *description; }; +typedef struct { + GtkWidget *Window; + GtkWidget *StatusBox; + GtkWidget *LanguagesTree; + + GtkWidget *CancelButton; + GtkWidget *AcceptButton; + GtkWidget *ManualEntry; + GtkWidget *LoadingOverlay; + GtkWidget *LoadingSpinner; + GtkCellRenderer *ToggleCell; + + GtkListStore *LanguagesList; +} language_window; + +struct locales_struct { + char *locale; + char *lang; + char *territory; + int chosen; + GtkListStore *list; +}; void config_init(); main_window *yon_main_window_complete(); @@ -1236,4 +1267,17 @@ kernel_addon_row *yon_kernel_addon_row_new(); void yon_kernel_addon_row_setup(kernel_addon_row *row, char *name, char *modules,char *package, char *description); void on_kernel_addon_install_enabled(GtkWidget *, kernel_addon_row *row); void on_kernel_addon_info(GtkLabel *self); -void yon_license_init(main_window *widgets); \ No newline at end of file +void yon_license_init(main_window *widgets); +void on_locale_toggle(GtkCellRenderer *, gchar *path,language_window *window); +void on_locale_accept(GtkWidget *self, language_window *window); +gboolean yon_locale_window_set_locales(struct locales_struct *data); +gboolean yon_locale_window_unlock(GtkWidget *spinner); +void *yon_locales_load_func(language_window *window); +language_window *yon_language_window_new(); +void on_language_open(GtkWidget *, main_window *widgets); +void on_language_remove(GtkWidget *, main_window *widgets); +void on_language_default_toggled(GtkWidget *, int status, main_window *widgets); +void on_locale_toggled(GtkCellRenderer *, gchar *path, main_window *widgets); +void yon_language_update(main_window *widgets); +int yon_language_save(main_window *widgets); +void yon_language_init(main_window *widgets); \ No newline at end of file diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 8085f29..a9931c5 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -234,6 +234,7 @@ NULL) #define PACKAGE_INFO_LABEL _("Package information") #define LICENCE_AGREE_LABEL _("Yes, I agree to the License Agreement") #define LICENCE_DISAGREE_LABEL _("No, i do not agree") +#define ADD_LANGUAGE_TITLE_LABEL _("Add locales") // #define _LABEL _("Package:") // #define _LABEL _("Module:") // #define _LABEL _("New section at") diff --git a/ubinstall-gtk-layouts.glade b/ubinstall-gtk-layouts.glade new file mode 100644 index 0000000..b359c15 --- /dev/null +++ b/ubinstall-gtk-layouts.glade @@ -0,0 +1,238 @@ + + + + + + + + + + + + + + + + + + True + False + True + + + True + False + com.ublinux.libublsettingsui-gtk3.cancel-uncolored-symbolic + + + True + False + com.ublinux.libublsettingsui-gtk3.accept-symbolic + + + 500 + 550 + False + True + com.ublinux.ubl-settings-system + + + True + False + 5 + vertical + 5 + + + True + False + vertical + + + + + + False + True + 0 + + + + + True + False + + + True + True + 5 + 5 + never + in + + + True + True + LanguagesList + 1 + both + True + + + + + + + + + 0 + + + + + + + Locale + + + word + 150 + + + 1 + + + + + + + autosize + 35 + Language + True + + + word + 100 + + + 2 + + + + + + + autosize + Territory + True + + + word + 125 + + + 3 + + + + + + + + + -1 + + + + + True + True + 1 + + + + + True + False + 5 + 5 + 5 + + + True + False + Manual input: + + + False + True + 0 + + + + + True + True + + + True + True + 1 + + + + + False + True + 2 + + + + + + + True + False + + + True + False + System configuration + + + + + + + + Cancel + True + True + True + image8 + + + + + + Apply + True + True + True + image9 + + + + end + 1 + + + + + + diff --git a/ubinstall-gtk.desktop b/ubinstall-gtk.desktop old mode 100644 new mode 100755 diff --git a/ubinstall-gtk.glade b/ubinstall-gtk.glade index d847ac4..835983a 100644 --- a/ubinstall-gtk.glade +++ b/ubinstall-gtk.glade @@ -94,6 +94,18 @@ + + + + + + + + + + + + @@ -126,6 +138,7 @@ LayoutList + True False @@ -321,11 +334,21 @@ False com.ublinux.libublsettingsui-gtk3.flag-finish-symbolic + + True + False + com.ublinux.libublsettingsui-gtk3.increase-symbolic + True False com.ublinux.libublsettingsui-gtk3.properties-symbolic + + True + False + com.ublinux.libublsettingsui-gtk3.trash-symbolic + True False @@ -1048,7 +1071,7 @@ agreement True False - This program will ask you few questions and help you install system on your computer + Please read the license agreement before continuing the installation. center True 0 @@ -1238,7 +1261,7 @@ agreement True False - This program will ask you few questions and help you install system on your computer + Please specify what type of installation you want to perform center True 0 @@ -1768,7 +1791,7 @@ agreement True False - Installation completion + Selection of main components True 0 @@ -1788,7 +1811,7 @@ agreement True False - This program will ask you few questions and help you install system on your computer + Specify what type of installation you want to perform center True 0 @@ -1909,12 +1932,8 @@ agreement - - - True - False - Selecting additional software to install from the repository via the Internet - + + @@ -3273,7 +3292,7 @@ agreement True False - Choose system kernel + Location True 0 @@ -3293,7 +3312,7 @@ agreement True False - This program will ask you few questions and help you install system on your computer + Enter your time zone center True 0 @@ -3609,6 +3628,204 @@ agreement False + + + True + False + vertical + 5 + + + True + False + 5 + + + True + False + Available locales in the system: + + + False + True + 0 + + + + + True + True + + + False + True + 1 + + + + + True + False + Default + + + False + True + 2 + + + + + False + True + 0 + + + + + True + False + 5 + + + True + True + in + 125 + + + True + True + LanguageList + 0 + + + System locale + + + True + + + 0 + + + + + + + 100 + Locale + + + + 3 + + + + + + + Language + True + + + + 1 + + + + + + + Territory + True + + + + 2 + + + + + + + + + True + True + 0 + + + + + True + False + vertical + 5 + + + True + True + True + Add locale + image29 + + + + False + True + 0 + + + + + True + True + True + Remove language + image30 + + + + False + True + 1 + + + + + False + True + 1 + + + + + True + True + 1 + + + + + 10 + + + + + True + False + Language + + + 10 + False + + True @@ -3653,7 +3870,7 @@ agreement True False - Choose system kernel + Keyboard True 0 @@ -3673,7 +3890,7 @@ agreement True False - This program will ask you few questions and help you install system on your computer + Specify your preferred keyboard settings center True 0 @@ -3723,7 +3940,6 @@ agreement True False - Keyboard @@ -3993,7 +4209,7 @@ agreement - 10 + 11 @@ -4003,7 +4219,7 @@ agreement Keyboard - 10 + 11 False @@ -4453,7 +4669,7 @@ agreement - 11 + 12 @@ -4463,7 +4679,7 @@ agreement Users - 11 + 12 False @@ -4751,7 +4967,7 @@ agreement - 12 + 13 @@ -4761,7 +4977,7 @@ agreement Startup configuration - 12 + 13 False @@ -5217,7 +5433,7 @@ agreement - 13 + 14 @@ -5227,7 +5443,7 @@ agreement Bootloader - 13 + 14 False @@ -5713,7 +5929,7 @@ agreement - 14 + 15 @@ -5723,7 +5939,7 @@ agreement Network - 14 + 15 False @@ -6071,7 +6287,7 @@ agreement - 15 + 16 @@ -6081,7 +6297,7 @@ agreement Packages - 15 + 16 False @@ -6225,7 +6441,7 @@ agreement - 16 + 17 @@ -6235,7 +6451,7 @@ agreement Installation process - 16 + 17 False @@ -6416,7 +6632,7 @@ or continue working in the environment, booted from the Live image. - 17 + 18 @@ -6426,7 +6642,7 @@ or continue working in the environment, booted from the Live image. Completion - 17 + 18 False @@ -6605,7 +6821,7 @@ or continue working in the environment, booted from the Live image. - 18 + 19 @@ -6615,7 +6831,7 @@ or continue working in the environment, booted from the Live image. Completed - 18 + 19 False @@ -6794,7 +7010,7 @@ or continue working in the environment, booted from the Live image. - 19 + 20 @@ -6804,7 +7020,7 @@ or continue working in the environment, booted from the Live image. Configuration error - 19 + 20 False @@ -6983,7 +7199,7 @@ or continue working in the environment, booted from the Live image. - 20 + 21 @@ -6993,7 +7209,7 @@ or continue working in the environment, booted from the Live image. Configuration end - 20 + 21 False @@ -7172,7 +7388,7 @@ or continue working in the environment, booted from the Live image. - 21 + 22 @@ -7182,7 +7398,7 @@ or continue working in the environment, booted from the Live image. Configuration saved - 21 + 22 False @@ -7636,7 +7852,7 @@ or continue working in the environment, booted from the Live image. - 22 + 23 @@ -7646,7 +7862,7 @@ or continue working in the environment, booted from the Live image. Common Installation - 22 + 23 False @@ -8310,7 +8526,7 @@ or continue working in the environment, booted from the Live image. - 23 + 24 @@ -8320,7 +8536,7 @@ or continue working in the environment, booted from the Live image. Installation next to system - 23 + 24 False @@ -8939,7 +9155,7 @@ or continue working in the environment, booted from the Live image. - 24 + 25 @@ -8949,7 +9165,7 @@ or continue working in the environment, booted from the Live image. Installation on same partition - 24 + 25 False @@ -9995,7 +10211,7 @@ separately into the selected partition. - 25 + 26 @@ -10005,7 +10221,7 @@ separately into the selected partition. Advanced section - 25 + 26 False @@ -10480,7 +10696,7 @@ separately into the selected partition. - 26 + 27 @@ -10490,7 +10706,7 @@ separately into the selected partition. Recovery section - 26 + 27 False @@ -10882,7 +11098,7 @@ separately into the selected partition. - 27 + 28 @@ -10892,7 +11108,7 @@ separately into the selected partition. GRUB install - 27 + 28 False @@ -11271,7 +11487,7 @@ separately into the selected partition. - 28 + 29 @@ -11281,7 +11497,7 @@ separately into the selected partition. GRUB update - 28 + 29 False @@ -12007,7 +12223,7 @@ separately into the selected partition. - 29 + 30 @@ -12017,7 +12233,7 @@ separately into the selected partition. OS only - 29 + 30 False @@ -12813,7 +13029,7 @@ separately into the selected partition. - 30 + 31 @@ -12823,7 +13039,7 @@ separately into the selected partition. User data only - 30 + 31 False