diff --git a/source/ubinstall-gtk-components.c b/source/ubinstall-gtk-components.c index 45e586d..8191083 100644 --- a/source/ubinstall-gtk-components.c +++ b/source/ubinstall-gtk-components.c @@ -57,7 +57,7 @@ int yon_os_components_save(main_window *widgets){ int size; config_str modules = NULL; for(iter = list;iter;iter=iter->next){ - kernel_row *row = g_object_get_data(iter->data,"kernel_row"); + os_row *row = g_object_get_data(iter->data,"kernel_row"); char *target = row->name; int status = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck)); if (status){ diff --git a/source/ubinstall-gtk-install-start.c b/source/ubinstall-gtk-install-start.c index e4e97a8..d6648ca 100644 --- a/source/ubinstall-gtk-install-start.c +++ b/source/ubinstall-gtk-install-start.c @@ -1,6 +1,11 @@ #include "ubinstall-gtk.h" int yon_installation_start(main_window *widgets){ - g_thread_new("install_thread",(GThreadFunc)on_config_save,widgets); - return 1; + return !pthread_create(&main_config.install_thread,NULL,on_config_save,widgets); +} + +void yon_quick_install(GtkWidget *, main_window *widgets){ + main_config.save_configured=1; + pthread_create(&main_config.install_thread,NULL,on_config_save,widgets); + gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION); } \ No newline at end of file diff --git a/source/ubinstall-gtk-installation.c b/source/ubinstall-gtk-installation.c index f6018a1..ac01b58 100644 --- a/source/ubinstall-gtk-installation.c +++ b/source/ubinstall-gtk-installation.c @@ -388,6 +388,13 @@ void yon_install_init(main_window *widgets, enum YON_PAGES page){ fs_type_combo = widgets->CommonInstallationFilesystemTypeCombo; break; case YON_PAGE_INSTALL_SAME_PARTITION: + device_tree = widgets->SamePlaceDeviceTree; + partition_tree = widgets->SamePlacePartTree; + format_switch = widgets->SameInstallationFormatSwitch; + partition_mark_entry = widgets->SameInstallationSectionNameEntry; + fs_type_combo = widgets->SameInstallationFilesystemTypeCombo; + break; + case YON_PAGE_INSTALL_SEPARATE: device_tree = widgets->NextInstallationSysDevicesTree; partition_tree = widgets->NextInstallationSysSectionTree; format_switch = widgets->NextInstallationFormatSwitch; @@ -395,13 +402,6 @@ void yon_install_init(main_window *widgets, enum YON_PAGES page){ partition_size_combo = widgets->NextInstallationSizeTypeSpin; partition_mark_entry = widgets->NextInstallationSectionNameEntry; fs_type_combo = widgets->NextInstallationFilesystemTypeCombo; - break; - case YON_PAGE_INSTALL_SEPARATE: - device_tree = widgets->SamePlaceDeviceTree; - partition_tree = widgets->SamePlacePartTree; - format_switch = widgets->SameInstallationFormatSwitch; - partition_mark_entry = widgets->SameInstallationSectionNameEntry; - fs_type_combo = widgets->SameInstallationFilesystemTypeCombo; break; case YON_PAGE_INSTALL_ADVANCED: @@ -476,7 +476,7 @@ void yon_install_init(main_window *widgets, enum YON_PAGES page){ } if (format_switch){ char *format = config(part_format_parameter); - if (!yon_char_is_empty(format)&&!strcmp(format,"yes")){ + if ((!yon_char_is_empty(format)&&!strcmp(format,"yes"))||format_switch==widgets->CommonFormatSwitch){ gtk_switch_set_active(GTK_SWITCH(format_switch),1); if (device_label){ char *parameter = config(part_label_parameter); @@ -505,7 +505,7 @@ void yon_install_init(main_window *widgets, enum YON_PAGES page){ } } if (partition_mark_entry){ - char *parameter = config(part_fs_label_parameter); + char *parameter = config(part_label_parameter); if (!yon_char_is_empty(parameter)){ gtk_entry_set_text(GTK_ENTRY(partition_mark_entry),parameter); } else { diff --git a/source/ubinstall-gtk-kernel.c b/source/ubinstall-gtk-kernel.c index 3b9d3bf..f41a73c 100644 --- a/source/ubinstall-gtk-kernel.c +++ b/source/ubinstall-gtk-kernel.c @@ -196,10 +196,10 @@ void yon_kernel_setup(main_window *widgets){ char *modules = config(modules_extra_parameter); char *enabled = config(KERNEL_BOOT_parameter); - int parsed_size; + int modules_size; config_str modules_parsed = NULL; if (!yon_char_is_empty(modules)){ - modules_parsed = yon_char_parse(modules,&parsed_size,","); + modules_parsed = yon_char_parse(modules,&modules_size," "); } int size; @@ -222,22 +222,22 @@ void yon_kernel_setup(main_window *widgets){ gtk_radio_button_join_group(GTK_RADIO_BUTTON(row->EnableRadio),GTK_RADIO_BUTTON(main_config.kernel_unchosen_radio)); yon_kernel_row_setup(row,name,modules,package,tags,description); - yon_char_parsed_free(parsed,parsed_size); - if (yon_char_parsed_check_exist(modules_parsed,parsed_size,name)>-1){ + if (yon_char_parsed_check_exist(modules_parsed,modules_size,parsed[1])>-1){ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),1); } else { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),0); } - if (!yon_char_is_empty(enabled)&&!strcmp(name,enabled)){ + if (!yon_char_is_empty(enabled)&&!strcmp(package,enabled)){ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->EnableRadio),1); } + yon_char_parsed_free(parsed,parsed_size); } yon_kernel_resize(widgets); yon_char_parsed_free(kernels,size); - + yon_char_parsed_free(modules_parsed,modules_size); } void yon_kernel_addon_setup(main_window *widgets){ @@ -256,10 +256,10 @@ void yon_kernel_addon_setup(main_window *widgets){ char *modules = config(modules_extra_parameter); - int parsed_size; + int modules_size; config_str modules_parsed = NULL; if (!yon_char_is_empty(modules)){ - modules_parsed = yon_char_parse(modules,&parsed_size,","); + modules_parsed = yon_char_parse(modules,&modules_size," "); } int size; @@ -283,13 +283,13 @@ void yon_kernel_addon_setup(main_window *widgets){ gtk_widget_destroy(row->EnableSeparator); yon_kernel_row_setup(row,name,modules,package,tags,description); - yon_char_parsed_free(parsed,parsed_size); - if (yon_char_parsed_check_exist(modules_parsed,parsed_size,name)>-1){ + if (yon_char_parsed_check_exist(modules_parsed,modules_size,parsed[1])>-1){ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),1); } else { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),0); } + yon_char_parsed_free(parsed,parsed_size); } yon_kernel_addon_resize(widgets); diff --git a/source/ubinstall-gtk-keyboard.c b/source/ubinstall-gtk-keyboard.c index 86f032a..277a395 100644 --- a/source/ubinstall-gtk-keyboard.c +++ b/source/ubinstall-gtk-keyboard.c @@ -293,4 +293,43 @@ void yon_keyboard_init(main_window *widgets){ gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->KeyboardModelCombo),models[i],_(models[i+1])); } if (size) yon_char_parsed_free(models,size); + + char *keyboard = config(xkbmodel_parameter); + char *option_parameter = config(xkboptions_parameter); + char *layouts = config(xkblayout_parameter); + + if (!yon_char_is_empty(keyboard)){ + gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->KeyboardModelCombo),keyboard); + } else { + gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->KeyboardModelCombo),0); + } + + if (!yon_char_is_empty(option_parameter)){ + gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->LayoutBindingCombo),option_parameter); + } else{ + gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->LayoutBindingCombo),0); + } + + if (!yon_char_is_empty(layouts)){ + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->LayoutSensitiveCheck),1); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->ManualLayoutRadio),1); + int parsed_size; + config_str parsed = yon_char_parse(layouts,&parsed_size,","); + + GtkTreeIter iter; + GtkTreeModel *model = GTK_TREE_MODEL(widgets->LayoutList); + for_iter(model,&iter){ + char *target; + gtk_tree_model_get(model,&iter,0,&target,-1); + if (yon_char_parsed_check_exist(parsed,parsed_size,target)>-1){ + gtk_tree_store_set(widgets->LayoutList,&iter,2,1,3,1,-1); + } else { + gtk_tree_store_set(widgets->LayoutList,&iter,3,0,-1); + } + } + } else { + + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->LayoutSensitiveCheck),0); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->DefaultLayoutRadio),1); + } } \ No newline at end of file diff --git a/source/ubinstall-gtk-page-switch.c b/source/ubinstall-gtk-page-switch.c index cdb47bd..59b5444 100644 --- a/source/ubinstall-gtk-page-switch.c +++ b/source/ubinstall-gtk-page-switch.c @@ -341,7 +341,7 @@ void yon_page_init(main_window *widgets, enum YON_PAGES page){ g_mutex_lock(&main_config.install_mutex); if (main_config.install_complete){ g_mutex_unlock(&main_config.install_mutex); - on_setup_system_configuration(widgets); + g_thread_new("install_thread",(GThreadFunc)on_setup_system_configuration,widgets); on_page_next_clicked(NULL,widgets); } else { g_mutex_unlock(&main_config.install_mutex); @@ -370,145 +370,15 @@ void on_page_prev_clicked(GtkWidget *, main_window *widgets){ yon_page_update(widgets); } -// void on_page_changed(GtkWidget *,GtkWidget *,int page, main_window *widgets){ -// if (widgets){}; -// switch(page){ -// case YON_PAGE_WELCOME: { -// gtk_widget_hide(widgets->SaveButton); -// gtk_widget_set_sensitive(widgets->CancelInstallButton,0); -// gtk_widget_set_sensitive(widgets->BackButton,0); -// gtk_widget_set_sensitive(widgets->NextButton,1); -// textdomain(LocaleName); -// gtk_button_set_label(GTK_BUTTON(widgets->NextButton),NEXT_LABEL); -// gtk_button_set_label(GTK_BUTTON(widgets->CancelInstallButton),CANCEL_LABEL); -// gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->NextButton))),"com.ublinux.ubinstall-gtk.arrow-right-symbolic",GTK_ICON_SIZE_BUTTON); -// gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->CancelInstallButton))),"com.ublinux.ubinstall-gtk.circle-exit-symbolic",GTK_ICON_SIZE_BUTTON); -// gtk_widget_set_sensitive(widgets->ConfigurationModeMenuItem,1); -// yon_switch_page_render(widgets,0); -// } break; -// -// case YON_PAGE_LICENCE:{ -// gtk_widget_set_sensitive(widgets->CancelInstallButton,1); -// gtk_widget_set_sensitive(widgets->BackButton,1); -// yon_switch_page_render(widgets,1); -// } break; -// -// case YON_PAGE_REGION: { -// yon_image_resize_from_container(GTK_IMAGE(widgets->RegionImage), widgets->regions_original); -// yon_switch_page_render(widgets,4); -// } break; -// -// case YON_PAGE_KEYBOARD: { -// -// yon_switch_page_render(widgets,5); -// yon_image_resize_from_container(GTK_IMAGE(widgets->KeyboardImage), widgets->keyboard_original); -// } break; -// -// case YON_PAGE_OS_COMPONENTS: -// case YON_PAGE_SOFTWARE: -// case YON_PAGE_INSTALLATION_BEGIN: -// yon_switch_page_render(widgets,3); -// -// break; -// case YON_PAGE_INSTALLATION:{ -// yon_switch_page_render(widgets,3); -// gtk_widget_set_sensitive(widgets->BackButton,0); -// if ((!main_config.configure_mode)) -// gtk_widget_set_sensitive(widgets->CancelInstallButton,0); -// if (!main_config.progress_thread&&!main_config.configure_mode) -// main_config.progress_thread = gdk_threads_add_timeout(500,(GSourceFunc)yon_installation_progress_update,widgets); -// -// if (!main_config.slider_thread&&!main_config.configure_mode) -// main_config.slider_thread = g_timeout_add(5000,(GSourceFunc)on_image_slide,widgets); -// gtk_widget_show(gtk_widget_get_parent(widgets->InstallationProgress)); -// } break; -// -// case YON_PAGE_USERS: -// yon_switch_page_render(widgets,6); -// gtk_widget_set_sensitive(widgets->NextButton,1); -// gtk_widget_hide(widgets->SaveButton); -// break; -// -// case YON_PAGE_INSTALL_ERROR:{ -// on_summary_log_view((GtkWidget*)NULL,widgets); -// -// yon_switch_page_render(widgets,7); -// gtk_widget_set_sensitive(widgets->BackButton,0); -// gtk_widget_hide(gtk_widget_get_parent(widgets->PackageInstallationProgress)); -// gtk_widget_hide(widgets->InstallationLabel); -// gtk_widget_hide(widgets->PackageInstallationLabel); -// gtk_widget_set_sensitive(widgets->NextButton,1); -// gtk_widget_set_sensitive(widgets->CancelInstallButton,1); -// g_mutex_lock(&main_config.install_mutex); -// main_config.install_complete=0; -// g_mutex_unlock(&main_config.install_mutex); -// main_config.save_done=0; -// textdomain(LocaleName); -// gtk_button_set_label(GTK_BUTTON(widgets->NextButton),RESTART_LABEL); -// gtk_button_set_label(GTK_BUTTON(widgets->CancelInstallButton),EXIT_LABEL); -// gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->NextButton))), -// "com.ublinux.ubinstall-gtk.sync-symbolic",GTK_ICON_SIZE_BUTTON); -// -// } break; -// case YON_PAGE_COMPLETION:{ -// yon_switch_page_render(widgets,7); -// gtk_widget_set_sensitive(widgets->BackButton,0); -// gtk_widget_hide(gtk_widget_get_parent(widgets->PackageInstallationProgress)); -// gtk_widget_hide(widgets->InstallationLabel); -// gtk_widget_hide(widgets->PackageInstallationLabel); -// gtk_widget_set_sensitive(widgets->NextButton,1); -// gtk_widget_set_sensitive(widgets->CancelInstallButton,1); -// g_mutex_lock(&main_config.install_mutex); -// main_config.install_complete=0; -// g_mutex_unlock(&main_config.install_mutex); -// main_config.save_done=0; -// textdomain(LocaleName); -// gtk_button_set_label(GTK_BUTTON(widgets->NextButton),RESTART_LABEL); -// gtk_button_set_label(GTK_BUTTON(widgets->CancelInstallButton),EXIT_LABEL); -// gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->NextButton))), -// "com.ublinux.ubinstall-gtk.sync-symbolic",GTK_ICON_SIZE_BUTTON); -// } -// gtk_widget_hide(gtk_widget_get_parent(widgets->InstallationProgress)); -// gtk_widget_hide(gtk_widget_get_parent(widgets->PackageInstallationProgress)); -// break; -// -// case YON_PAGE_COMPLETED:{ -// yon_switch_page_render(widgets,7); -// gtk_widget_set_sensitive(widgets->BackButton,1); -// gtk_widget_hide(gtk_widget_get_parent(widgets->PackageInstallationProgress)); -// gtk_widget_hide(widgets->InstallationLabel); -// gtk_widget_hide(widgets->PackageInstallationLabel); -// gtk_widget_set_sensitive(widgets->NextButton,0); -// gtk_widget_set_sensitive(widgets->CancelInstallButton,1); -// g_mutex_lock(&main_config.install_mutex); -// main_config.install_complete=0; -// g_mutex_unlock(&main_config.install_mutex); -// main_config.save_done=0; -// textdomain(LocaleName); -// gtk_button_set_label(GTK_BUTTON(widgets->CancelInstallButton),EXIT_LABEL); -// gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->NextButton))), -// "com.ublinux.ubinstall-gtk.sync-symbolic",GTK_ICON_SIZE_BUTTON); -// -// }break; -// -// case YON_PAGE_SECTIONS: -// case YON_PAGE_INSTALL_COMMON: -// case YON_PAGE_INSTALL_SEPARATE: -// case YON_PAGE_INSTALL_SAME_PARTITION: -// case YON_PAGE_INSTALL_RECOVERY: -// case YON_PAGE_OPTIONS_GRUB_INSTALL: -// case YON_PAGE_OPTIONS_GRUB_UPDATE: -// case YON_PAGE_OPTIONS_SEPARATE: -// case YON_PAGE_OPTIONS_SEPARATE_USRDATA: -// case YON_PAGE_OPTIONS_OS_ONLY: -// case YON_PAGE_OPTIONS_USRDATA_ONLY: { -// yon_switch_page_render(widgets,2); -// } break; -// case YON_PAGE_CONFIGURE_END: { -// gtk_widget_set_sensitive(widgets->BackButton,1); -// gtk_widget_set_sensitive(widgets->NextButton,0); -// gtk_widget_set_sensitive(widgets->CancelInstallButton,1); -// gtk_widget_show(widgets->SaveButton); -// } -// } -// } +void on_page_cancel_clicked(GtkWidget *, main_window *widgets){ + gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_WELCOME); + gtk_widget_hide(widgets->BackButton); + gtk_widget_hide(widgets->SourceButton); + gtk_widget_hide(widgets->SkipInstallationButton); + gtk_widget_show(widgets->NextButton); + gtk_widget_show(widgets->StartScenarioButton); + gtk_widget_set_sensitive(widgets->CancelInstallButton,0); + gtk_widget_set_sensitive(widgets->BackButton,1); + gtk_widget_set_sensitive(widgets->NextButton,1); + +} \ No newline at end of file diff --git a/source/ubinstall-gtk-region.c b/source/ubinstall-gtk-region.c index 7612327..2d7dd90 100644 --- a/source/ubinstall-gtk-region.c +++ b/source/ubinstall-gtk-region.c @@ -97,9 +97,53 @@ void yon_region_init(main_window *widgets){ free(path); } } + while(gtk_events_pending()) gtk_main_iteration(); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->RegionCombo),0); yon_char_parsed_free(parsed,size); gtk_tree_model_filter_set_visible_column(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter),0); gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter)); + + char *zone = yon_char_new(config(zone_parameter)); + char *locale = config(locale_parameter); + char *lang_param = config(lang_parameter); + + if (!yon_char_is_empty(zone)){ + char *timezone = yon_char_divide_search(zone,"/",-1); + gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->RegionCombo),timezone); + while(gtk_events_pending()) gtk_main_iteration(); + gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->ZoneCombo),zone); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->RegionSensitiveCheck),1); + free(timezone); + } else { + gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->RegionCombo),0); + gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->ZoneCombo),0); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->RegionSensitiveCheck),0); + } + + if (!yon_char_is_empty(locale)){ + char *parameters_list = ""; + config_str parsed = yon_char_parse(locale,&size,","); + GtkTreeModel *model = GTK_TREE_MODEL(widgets->LanguagesList); + for_iter(model,&iter){ + char *target, *id; + gtk_tree_model_get(model,&iter,1,&target,2,&id,-1); + if (yon_char_parsed_check_exist(parsed,size,id)>-1){ + gtk_list_store_set(widgets->LanguagesList,&iter,0,1,-1); + char *temp = yon_char_unite(parameters_list,!yon_char_is_empty(parameters_list)?",":"",target,NULL); + if (!yon_char_is_empty(parameters_list)) free(parameters_list); + parameters_list=temp; + } else { + gtk_list_store_set(widgets->LanguagesList,&iter,0,0,-1); + } + } + gtk_entry_set_text(GTK_ENTRY(widgets->AvailableLanguagesEntry),parameters_list); + if(!yon_char_is_empty(parameters_list)) free(parameters_list); + + } + + if (!yon_char_is_empty(lang_param)){ + gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->LanguagesCombo),lang_param); + } + } \ No newline at end of file diff --git a/source/ubinstall-gtk-saving.c b/source/ubinstall-gtk-saving.c index 11b49bb..ae7e979 100644 --- a/source/ubinstall-gtk-saving.c +++ b/source/ubinstall-gtk-saving.c @@ -18,60 +18,63 @@ // yon_debug_output("%s\n",yon_config_save_simple(type,path)); // } -// void yon_load_proceed(YON_CONFIG_TYPE type){ -// yon_config_clean(); -// if (!yon_char_is_empty(config_get_default_command)) -// yon_config_load_config(YON_CONFIG_DEFAULT,yon_debug_output("%s\n",config_get_default_command),NULL); -// if (type==YON_CONFIG_GLOBAL){ -// yon_config_load_config(type,yon_debug_output("%s\n",config_get_global_command),NULL); -// } else if (type==YON_CONFIG_LOCAL){ -// yon_config_load_config(type,yon_debug_output("%s\n",config_get_local_command),NULL); -// } else if (type==YON_CONFIG_CUSTOM){ -// char *path=""; -// GtkWidget *dialog = gtk_file_chooser_dialog_new(TITLE_LABEL,NULL,GTK_FILE_CHOOSER_ACTION_SAVE,CANCEL_LABEL,GTK_RESPONSE_CANCEL,OPEN_LABEL,GTK_RESPONSE_ACCEPT,NULL); -// yon_gtk_window_setup(GTK_WINDOW(dialog),NULL,TITLE_LABEL,icon_path,"FileChooserWindow"); -// textdomain(LocaleName); -// gtk_window_set_icon_name(GTK_WINDOW(dialog),"com.ublinux.ubinstall"); -// gtk_window_set_title(GTK_WINDOW(dialog),TITLE_LABEL); -// GtkFileFilter *filter = gtk_file_filter_new(); -// gtk_file_filter_add_pattern(filter,"*.ini"); -// gtk_file_filter_set_name(filter, "*.ini"); -// gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog),filter); -// gtk_widget_show(dialog); -// int response = gtk_dialog_run(GTK_DIALOG(dialog)); -// if (response == GTK_RESPONSE_ACCEPT){ -// char *file = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); -// if (!yon_char_is_empty(file)){ -// path=yon_char_unite("'",file,"'",NULL); -// free(file); -// } -// gtk_widget_destroy(dialog); -// } else { -// gtk_widget_destroy(dialog); -// } -// yon_config_load_config(type,yon_debug_output("%s\n",yon_config_get_custom_command(path)),NULL); -// if (path) free(path); -// } -// } +void yon_load_proceed(YON_CONFIG_TYPE type){ + if (type!=YON_CONFIG_CUSTOM){ + yon_config_clean(); + if (!yon_char_is_empty(config_get_default_command)) + yon_config_load_config(YON_CONFIG_DEFAULT,config_get_default_command,NULL); + } + if (type==YON_CONFIG_GLOBAL){ + yon_config_load_config(type,yon_config_get_command("global"),NULL); + } else if (type==YON_CONFIG_LOCAL){ + yon_config_load_config(type,yon_config_get_command("system"),NULL); + } else if (type==YON_CONFIG_CUSTOM){ + textdomain(template_ui_LocaleName); + GtkWidget *dialog = gtk_file_chooser_dialog_new(template_app_information.app_title,NULL,GTK_FILE_CHOOSER_ACTION_SAVE,CANCEL_LABEL,GTK_RESPONSE_CANCEL,OPEN_LABEL,GTK_RESPONSE_ACCEPT,NULL); + textdomain(LocaleName); + gtk_window_set_icon_name(GTK_WINDOW(dialog),"com.ublinux.ubl-settings-services"); + gtk_window_set_title(GTK_WINDOW(dialog),TITLE_LABEL); + GtkFileFilter *filter = gtk_file_filter_new(); + gtk_file_filter_add_pattern(filter,"*.ini"); + gtk_file_filter_set_name(filter, "*.ini"); + gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog),filter); + gtk_widget_show(dialog); + int response = gtk_dialog_run(GTK_DIALOG(dialog)); + if (response == GTK_RESPONSE_ACCEPT){ + char *file = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); + if (!yon_char_is_empty(file)){ + main_config.config_load_path=yon_char_new(file); + yon_config_clean(); + if (!yon_char_is_empty(config_get_default_command)) + yon_config_load_config(YON_CONFIG_DEFAULT,config_get_default_command,NULL); + char *command = yon_config_get_command(main_config.config_load_path); + yon_config_load_config(type,command,NULL); + } + gtk_widget_destroy(dialog); + } else { + gtk_widget_destroy(dialog); + } + } +} -// void on_config_local_load(GtkWidget *,main_window *widgets){ -// yon_load_proceed(YON_CONFIG_LOCAL); -// yon_interface_update(widgets); -// main_config.load_mode=1; -// } +void on_config_local_load(GtkWidget *,main_window *widgets){ + yon_load_proceed(YON_CONFIG_LOCAL); + yon_page_init(widgets,gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook))); + main_config.load_mode=YON_CONFIG_LOCAL; +} -// void on_config_global_load(GtkWidget *,main_window *widgets){ -// yon_load_proceed(YON_CONFIG_GLOBAL); -// yon_interface_update(widgets); -// main_config.load_mode=0; -// } +void on_config_global_load(GtkWidget *,main_window *widgets){ + yon_load_proceed(YON_CONFIG_GLOBAL); + yon_page_init(widgets,gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook))); + main_config.load_mode=YON_CONFIG_GLOBAL; +} -// void on_config_custom_load(GtkWidget *,main_window *widgets){ -// yon_load_proceed(YON_CONFIG_CUSTOM); -// yon_interface_update(widgets); -// main_config.load_mode=3; -// } +void on_config_custom_load(GtkWidget *,main_window *widgets){ + yon_load_proceed(YON_CONFIG_CUSTOM); + yon_page_init(widgets,gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook))); + main_config.load_mode=YON_CONFIG_CUSTOM; +} // void on_config_global_local_save(GtkWidget *,main_window *widgets){ // yon_save_proceed(NULL,YON_CONFIG_BOTH); diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index 046599c..16e4812 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -139,10 +139,12 @@ void config_init(){ main_config.save_done=0; main_config.save_configured=0; main_config.configure_mode=0; - main_config.load_mode=-1; + main_config.load_mode=YON_CONFIG_LOCAL; main_config.log_progress_buzy=0; main_config.log_end=0; main_config.exit_accepted=0; + main_config.config_load_path = NULL; + main_config.config_save_path = NULL; yon_packages_init(); main_config.network_types = g_hash_table_new(g_str_hash,g_str_equal); } @@ -556,7 +558,7 @@ main_window *yon_main_window_complete(){ // 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->CancelInstallButton),"clicked",G_CALLBACK(on_page_navigation_clicked),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); g_signal_connect(G_OBJECT(widgets->LayoutSensitiveCheck),"toggled",G_CALLBACK(on_layout_toggle_button_switch),widgets); @@ -629,6 +631,7 @@ main_window *yon_main_window_complete(){ g_signal_connect(G_OBJECT(widgets->AdvancedPartChosenCell),"toggled",G_CALLBACK(on_install_advanced_partition_chosen),widgets); // g_signal_connect(G_OBJECT(widgets->AdvancedPartitionAddBox),"add",G_CALLBACK(on_advanced_parts_added),widgets); // g_signal_connect(G_OBJECT(widgets->AdvancedPartitionAddBox),"remove",G_CALLBACK(on_advanced_parts_removed),widgets); + g_signal_connect(G_OBJECT(widgets->StartScenarioButton),"clicked",G_CALLBACK(yon_quick_install),widgets); { @@ -688,7 +691,7 @@ main_window *yon_main_window_complete(){ g_object_unref(pix); } gtk_builder_connect_signals(builder,NULL); - // yon_load_proceed(YON_CONFIG_DEFAULT); + yon_load_proceed(YON_CONFIG_LOCAL); // yon_interface_update(widgets); return widgets; } diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index 92bb622..25ee006 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -141,25 +141,25 @@ layout && /description:/ {\ // #define user_gecos_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[user_gecos]" // #define user_password_parameter "AUTOINSTALL[user_password]" // #define user_password_parameter_command "ubconfig --source global --conarg get [autoinstall] AUTOINSTALL[user_password]" -#define root_password_parameter "AUTOINSTALL['ubconfig set [users] DEFAULTROOTPASSWD']" +#define root_password_parameter "AUTOINSTALL[ubconfig set [users] DEFAULTROOTPASSWD]" #define root_password_parameter_command "ubconfig --source global --conarg get [autoinstall] AUTOINSTALL['ubconfig set [users] DEFAULTROOTPASSWD']" -#define autologin_parameter "AUTOINSTALL['ubconfig set [desktop] AUTOLOGINUSER']" +#define autologin_parameter "AUTOINSTALL[ubconfig set [desktop] AUTOLOGINUSER]" #define autologin_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [desktop] AUTOLOGINUSER']" -#define xkbmodel_parameter "AUTOINSTALL['ubconfig set [keyboard] XKBMODEL']" +#define xkbmodel_parameter "AUTOINSTALL[ubconfig set [keyboard] XKBMODEL]" #define xkbmodel_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [keyboard] XKBMODEL']" -#define xkblayout_parameter "AUTOINSTALL['ubconfig set [keyboard] XKBLAYOUT']" +#define xkblayout_parameter "AUTOINSTALL[ubconfig set [keyboard] XKBLAYOUT]" #define xkblayout_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [keyboard] XKBLAYOUT']" -#define xkbvariant_parameter "AUTOINSTALL['ubconfig set [keyboard] XKBVARIANT']" +#define xkbvariant_parameter "AUTOINSTALL[ubconfig set [keyboard] XKBVARIANT]" #define xkbvariant_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [keyboard] XKBVARIANT']" -#define xkboptions_parameter "AUTOINSTALL['ubconfig set [keyboard] XKBOPTIONS']" +#define xkboptions_parameter "AUTOINSTALL[ubconfig set [keyboard] XKBOPTIONS]" #define xkboptions_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [keyboard] XKBOPTIONS']" -#define hostname_parameter "AUTOINSTALL['ubconfig set [system] HOSTNAME']" +#define hostname_parameter "AUTOINSTALL[ubconfig set [system] HOSTNAME]" #define hostname_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [system] HOSTNAME']" -#define zone_parameter "AUTOINSTALL['ubconfig set [clock] ZONE']" +#define zone_parameter "AUTOINSTALL[ubconfig set [clock] ZONE]" #define zone_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [clock] ZONE']" -#define lang_parameter "AUTOINSTALL['ubconfig set [locale] LANG']" +#define lang_parameter "AUTOINSTALL[ubconfig set [locale] LANG]" #define lang_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [locale] LANG']" -#define locale_parameter "AUTOINSTALL['ubconfig set [locale] LOCALE']" +#define locale_parameter "AUTOINSTALL[ubconfig set [locale] LOCALE]" #define locale_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [locale] LOCALE']" /*------------------------------------------------------------*/ @@ -185,36 +185,36 @@ layout && /description:/ {\ #define packages_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[packages]" #define device_typevfs_parameter "AUTOINSTALL[device_typevfs]" #define device_typevfs_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[device_typevfs]" -#define NTPSERVERS_parameter "AOUTINSTALL['ubconfig set [network] NTPSERVERS']" +#define NTPSERVERS_parameter "AOUTINSTALL['ubconfig set [network] NTPSERVERS]" #define NTPSERVERS_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [network] NTPSERVERS']" -#define DOMAIN_parameter "AOUTINSTALL['ubconfig set [network] DOMAIN']" +#define DOMAIN_parameter "AOUTINSTALL['ubconfig set [network] DOMAIN]" #define DOMAIN_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [network] DOMAIN']" -#define DOMAIN_admanger_parameter "AOUTINSTALL['ubconfig set [network] DOMAIN[admanger]']" +#define DOMAIN_admanger_parameter "AOUTINSTALL['ubconfig set [network] DOMAIN[admanger]]" #define DOMAIN_admanger_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [network] DOMAIN[admanger]']" -#define USERADD_parameter_all "AUTOINSTALL['ubconfig set [users] USERADD[*]']" -#define USERADD_parameter_search "AUTOINSTALL['ubconfig set [users] USERADD[" -#define USERADD_parameter(target) yon_char_unite("AUTOINSTALL['ubconfig set [users] USERADD[",target,"]']",NULL) +#define USERADD_parameter_all "AUTOINSTALL[ubconfig set [users] USERADD[*]]" +#define USERADD_parameter_search "AUTOINSTALL[ubconfig set [users] USERADD[" +#define USERADD_parameter(target) yon_char_unite("AUTOINSTALL[ubconfig set [users] USERADD[",target,"]']",NULL) #define USERADD_parameter_command(target) yon_char_unite("ubconfig --source global get autoinstall AUTOINSTALL['ubconfig set [users] USERADD[",target,"]']",NULL) -#define KERNEL_BOOT_parameter "AUTOINSTALL['ubconfig set [boot] KERNEL_BOOT']" +#define KERNEL_BOOT_parameter "AUTOINSTALL[ubconfig set [boot] KERNEL_BOOT]" #define KERNEL_BOOT_parameter_command "ubconfig --source global get autoinstall AUTOINSTALL['ubconfig set [boot] KERNEL_BOOT']" -#define SERVICES_ENABLE_parameter "AUTOINSTALL['ubconfig set [boot] SERVICES_ENABLE']" +#define SERVICES_ENABLE_parameter "AUTOINSTALL[ubconfig set [boot] SERVICES_ENABLE]" #define SERVICES_ENABLE_parameter_command "ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] SERVICES_ENABLE']" -#define GRUB_SUPERUSERS_parameter "AUTOINSTALL['ubconfig set [boot] GRUB_SUPERUSERS']" +#define GRUB_SUPERUSERS_parameter "AUTOINSTALL[ubconfig set [boot] GRUB_SUPERUSERS]" #define GRUB_SUPERUSERS_parameter_command "ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] GRUB_SUPERUSERS']" -#define GRUB_TIMEOUT_parameter "AUTOINSTALL['ubconfig set [boot] GRUB_TIMEOUT']" +#define GRUB_TIMEOUT_parameter "AUTOINSTALL[ubconfig set [boot] GRUB_TIMEOUT]" #define GRUB_TIMEOUT_parameter_command "ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] GRUB_TIMEOUT']" -#define GRUB_DEFAULT_parameter "AUTOINSTALL['ubconfig set [boot] GRUB_DEFAULT']" +#define GRUB_DEFAULT_parameter "AUTOINSTALL[ubconfig set [boot] GRUB_DEFAULT]" #define GRUB_DEFAULT_parameter_command "ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] GRUB_DEFAULT']" -#define GRUB_PASSWORD_parameter_search "AUTOINSTALL['ubconfig set [boot] GRUB_PASSWORD[" -#define GRUB_PASSWORD_parameter_all "AUTOINSTALL['ubconfig set [boot] GRUB_PASSWORD[*]']" -#define GRUB_PASSWORD_parameter(target) yon_char_unite("AUTOINSTALL['ubconfig set [boot] GRUB_PASSWORD[",target,"]']",NULL) +#define GRUB_PASSWORD_parameter_search "AUTOINSTALL[ubconfig set [boot] GRUB_PASSWORD[" +#define GRUB_PASSWORD_parameter_all "AUTOINSTALL[ubconfig set [boot] GRUB_PASSWORD[*]]" +#define GRUB_PASSWORD_parameter(target) yon_char_unite("AUTOINSTALL[ubconfig set [boot] GRUB_PASSWORD[",target,"]]",NULL) #define GRUB_PASSWORD_parameter_command_all "ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] GRUB_PASSWORD[*]']" #define GRUB_PASSWORD_parameter_command(target) yon_char_unite("ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] GRUB_PASSWORD[",target,"]']",NULL) -#define AUTOLOGINUSER_parameter "AUTOINSTALL['ubconfig set [desktop] AUTOLOGINUSER']" +#define AUTOLOGINUSER_parameter "AUTOINSTALL[ubconfig set [desktop] AUTOLOGINUSER]" #define AUTOLOGINUSER_parameter_command "ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] AUTOLOGINUSER']" -#define NETWORK_parameter_search "AUTOINSTALL['ubconfig set [network] NETWORK[" -#define NETWORK_parameter(target) yon_char_unite("AUTOINSTALL['ubconfig set [network] NETWORK[",target,"@connmod]']",NULL) -#define NETWORK_devdown_parameter(target) yon_char_unite("AUTOINSTALL['ubconfig set [network] NETWORK[",target,"@devdown]']",NULL) +#define NETWORK_parameter_search "AUTOINSTALL[ubconfig set [network] NETWORK[" +#define NETWORK_parameter(target) yon_char_unite("AUTOINSTALL[ubconfig set [network] NETWORK[",target,"@connmod]']",NULL) +#define NETWORK_devdown_parameter(target) yon_char_unite("AUTOINSTALL[ubconfig set [network] NETWORK[",target,"@devdown]']",NULL) #define NETWORK_parameter_command(target) yon_char_unite("ubconfig get autoinstall AUTOINSTALL['ubconfig set [network] NETWORK[",target,"@connmod]']",NULL) #define NETWORK_devdown_parameter_command(target) yon_char_unite("ubconfig get autoinstall AUTOINSTALL['ubconfig set [network] NETWORK[",target,"@devdown]']",NULL) #define NETWORK(target) yon_char_unite("NETWORK[",target,"@connmod]",NULL) @@ -241,10 +241,9 @@ layout && /description:/ {\ #define full_log_path "/var/log/ubinstall.log" -#define yon_config_get_custom_command(target) yon_char_unite("ubconfig --source ",target," --conarg get [autoinstall] AUTOINSTALL[installer_lang] AUTOINSTALL[install_type] AUTOINSTALL[device] AUTOINSTALL[part] AUTOINSTALL[part_size] AUTOINSTALL[part_label] AUTOINSTALL[part_fs_type] AUTOINSTALL[part_format] UTOINSTALL[locale] AUTOINSTALL[lang] AUTOINSTALL[zone] AUTOINSTALL[user_name] AUTOINSTALL[user_gecos] AUTOINSTALL[user_password] AUTOINSTALL[root_password] AUTOINSTALL[autologin] AUTOINSTALL[xkbmodel] AUTOINSTALL[xkblayout] AUTOINSTALL[xkbvariant] AUTOINSTALL[xkboptions] AUTOINSTALL[hostname] AUTOINSTALL[modules] AUTOINSTALL[modules_extra] AUTOINSTALL[part_label] AUTOINSTALL[locale]",NULL) -#define config_get_local_command "ubconfig --source system --conarg get [autoinstall] AUTOINSTALL[installer_lang] AUTOINSTALL[install_type] AUTOINSTALL[device] AUTOINSTALL[part] AUTOINSTALL[part_size] AUTOINSTALL[part_label] AUTOINSTALL[part_fs_type] AUTOINSTALL[part_format] UTOINSTALL[locale] AUTOINSTALL[lang] AUTOINSTALL[zone] AUTOINSTALL[user_name] AUTOINSTALL[user_gecos] AUTOINSTALL[user_password] AUTOINSTALL[root_password] AUTOINSTALL[autologin] AUTOINSTALL[xkbmodel] AUTOINSTALL[xkblayout] AUTOINSTALL[xkbvariant] AUTOINSTALL[xkboptions] AUTOINSTALL[hostname] AUTOINSTALL[modules] AUTOINSTALL[modules_extra] AUTOINSTALL[part_label] AUTOINSTALL[locale]" -#define config_get_global_command yon_char_new("ubconfig --source global --conarg get [autoinstall] AUTOINSTALL[installer_lang] AUTOINSTALL[install_type] AUTOINSTALL[device] AUTOINSTALL[part] AUTOINSTALL[part_size] AUTOINSTALL[part_label] AUTOINSTALL[part_fs_type] AUTOINSTALL[part_format] UTOINSTALL[locale] AUTOINSTALL[lang] AUTOINSTALL[zone] AUTOINSTALL[user_name] AUTOINSTALL[user_gecos] AUTOINSTALL[user_password] AUTOINSTALL[root_password] AUTOINSTALL[autologin] AUTOINSTALL[xkbmodel] AUTOINSTALL[xkblayout] AUTOINSTALL[xkbvariant] AUTOINSTALL[xkboptions] AUTOINSTALL[hostname] AUTOINSTALL[modules] AUTOINSTALL[modules_extra] AUTOINSTALL[part_label] AUTOINSTALL[locale]") -#define config_get_default_command "ubconfig --source default --conarg get [autoinstall] AUTOINSTALL[installer_lang] AUTOINSTALL[install_type] AUTOINSTALL[device] AUTOINSTALL[part] AUTOINSTALL[part_size] AUTOINSTALL[part_label] AUTOINSTALL[part_fs_type] AUTOINSTALL[part_format] UTOINSTALL[locale] AUTOINSTALL[lang] AUTOINSTALL[zone] AUTOINSTALL[user_name] AUTOINSTALL[user_gecos] AUTOINSTALL[user_password] AUTOINSTALL[root_password] AUTOINSTALL[autologin] AUTOINSTALL[xkbmodel] AUTOINSTALL[xkblayout] AUTOINSTALL[xkbvariant] AUTOINSTALL[xkboptions] AUTOINSTALL[hostname] AUTOINSTALL[modules] AUTOINSTALL[modules_extra] AUTOINSTALL[part_label] AUTOINSTALL[locale]" +#define yon_config_get_command(target) yon_char_unite("ubconfig --source ",target," --conarg get [autoinstall] AUTOINSTALL[*]",NULL) + +#define config_get_default_command "ubconfig --source default --conarg get [autoinstall] AUTOINSTALL[*]" #define config_get_global_only_parameters "" #define config_get_local_only_parameters "" @@ -379,6 +378,9 @@ typedef struct { GtkWidget *status_box; GHashTable *network_types; GtkWidget *kernel_unchosen_radio; + + char *config_load_path; + char *config_save_path; } config; extern config main_config; @@ -922,7 +924,7 @@ void yon_set_max_size_from_partition(GtkTreeView *table, GtkSpinButton *spin_siz gboolean on_yon_exit(GtkWidget *,GdkEvent*, main_window *widgets); void on_locale_changed(GtkWidget *,main_window *); void on_region_changed(GtkComboBox *self, main_window *widgets); -void on_page_navigation_clicked(GtkWidget *self, main_window *widgets); +void on_page_cancel_clicked(GtkWidget *, main_window *widgets); int yon_install_options_save(GtkWidget *device_tree, GtkWidget *part_tree,char *mode,main_window *widgets); void on_process_log_view(GtkWidget *,main_window *widgets); void yon_read_log(GFileMonitor *,GFile *,GFile *,GFileMonitorEvent ,log_window *window); @@ -1060,4 +1062,5 @@ void on_advanced_parts_added(GtkWidget *,GtkWidget*,main_window *widgets); void yon_advanced_partition_clear(main_window *widgets); void yon_layout_build(char *key, GHashTable *value, main_window *widgets); void yon_os_row_setup(os_row *row, char *name, char *version,char *tags, char *description); -os_row *yon_os_row_new(); \ No newline at end of file +os_row *yon_os_row_new(); +void yon_quick_install(GtkWidget *, main_window *widgets); \ No newline at end of file diff --git a/ubinstall-gtk.glade b/ubinstall-gtk.glade index 4355f51..3d461df 100644 --- a/ubinstall-gtk.glade +++ b/ubinstall-gtk.glade @@ -731,7 +731,6 @@ agreement 5 5 left - False True @@ -2533,20 +2532,9 @@ and help you install UBLinux on your computer 10 5 - + True - False - False - True - - - - - True - True - Region: - - + True False @@ -2554,6 +2542,18 @@ and help you install UBLinux on your computer 0 + + + True + True + Region: + + + False + True + 1 + + True @@ -2652,20 +2652,10 @@ and help you install UBLinux on your computer False 5 - + True - True - False - True - - - - - True - False - Available languages in the system: - - + False + Available languages in the system: False @@ -2717,19 +2707,10 @@ and help you install UBLinux on your computer False 5 - + True - True - False - True - - - - True - False - Language: - - + False + Language: False @@ -2846,19 +2827,10 @@ and help you install UBLinux on your computer False 5 - + True - True - False - True - - - - True - False - Keyboard model: - - + False + Keyboard model: False @@ -2896,19 +2868,10 @@ and help you install UBLinux on your computer False 5 - + True - True - False - True - - - - True - False - Layout changing: - - + False + Layout changing: False @@ -2975,72 +2938,81 @@ and help you install UBLinux on your computer True False - vertical 5 - + True True - False - True + in + 128 - + + True + False + True + LayoutsFilter + 0 + + + column + + + True + + + 3 + + + + + + + Layout + + + + 0 + + + + + + + Designation + + + + 1 + + + + + - False + True True - 1 + 0 True False + vertical 5 - + True - False - vertical - 5 - - - Default layout (ru) - True - False - True - False - True - True - - - - False - True - 0 - - - - - Define - True - False - True - False - True - DefaultLayoutRadio - - - - - - - False - True - 1 - - + False + True + True + Add layouts + image13 + False @@ -3049,109 +3021,19 @@ and help you install UBLinux on your computer - + True - False - 5 - - - True - True - in - 128 - - - True - False - True - LayoutsFilter - 0 - - - - - - Layout - - - - 0 - - - - - - - Designation - - - - 1 - - - - - - - - - True - True - 0 - - - - - True - False - vertical - 5 - - - True - False - True - True - Add layouts - image13 - - - - False - True - 0 - - - - - True - False - True - True - Remove layout - image14 - - - - False - True - 1 - - - - - False - True - 1 - - + False + True + True + Remove layout + image14 + - True + False True 1 @@ -3160,7 +3042,7 @@ and help you install UBLinux on your computer False True - 2 + 1 @@ -5209,7 +5091,7 @@ or continue working in the UBLinux Live environment. False 5 - + True False True