diff --git a/gresource.xml b/gresource.xml index 8cfa3cf..022eda4 100644 --- a/gresource.xml +++ b/gresource.xml @@ -56,6 +56,7 @@ kernel-list-addon.csv services-list.csv network-list.csv + languages.csv filesystems-format-list.csv \ No newline at end of file diff --git a/languages.csv b/languages.csv new file mode 100644 index 0000000..ee656e8 --- /dev/null +++ b/languages.csv @@ -0,0 +1,24 @@ +af_ZA.UTF-8;Afrikaans, South Africa +ar_AE.UTF-8;Arabic, United Arab Emirates +az_AZ.UTF-8;Azerbaijani, Azerbaijan +ka_GE.UTF-8;Georgian +kk_KZ.UTF-8;Kazakh, Kazakhstan +kn_IN.UTF-8;Kannada, India +ko_KR.UTF-8;Korean, Korea +zh_CN.UTF-8;Simplified Chinese +zh_TW.UTF-8;Traditional Chinese +vi_VN.UTF-8;Vietnamese +uk_UA.UTF-8;Ukrainian +tr_TR.UTF-8;Turkish +th_TH.UTF-8;Thai +sv_SE.UTF-8;Swedish +sr_RS.UTF-8;Serbian +sq_AL.UTF-8;Albanian +sk_SK.UTF-8;Slovak, Slovakia +sl_SI.UTF-8;Slovenian +ru_RU.UTF-8;Russian +pt_PT.UTF-8;Portuguese, Portugal +ro_RO.UTF-8;Romanian +pl_PL.UTF-8;Polish +ms_MY.UTF-8;Malay, Malaysia +mt_MT.UTF-8;Maltese \ No newline at end of file diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 3174321..cec9547 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -78,6 +78,7 @@ set(DEPENDFILES ../kernel-list-addon.csv ../services-list.csv ../network-list.csv + ../languages.csv ../filesystems-format-list.csv ../icons-builtin/install_type_custom_normal.png ../icons-builtin/install_type_data_only_normal.png diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index 651b32e..e6990eb 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -310,9 +310,31 @@ void config_init(){ // void *on_setup_system_configuration(void *data); -// void on_locale_changed(GtkWidget *,main_window *){ -// -// } +void on_locale_changed(GtkWidget *self,GtkWidget *child,main_window *widgets){ + char *window_language = g_object_get_data(G_OBJECT(child),"language"); + if (!yon_char_is_empty(window_language)){ + yon_config_register(installer_lang_parameter,installer_lang_parameter_command,(char*)window_language); + } + int chosen_pos = gtk_flow_box_child_get_index(GTK_FLOW_BOX_CHILD(child)); + int size; + config_str parameters = yon_config_get_save_parameters_by_key(&size,installer_lang_parameter,NULL); + char *command_parameters = yon_char_parsed_to_string(parameters,size," "); + char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL); + g_signal_handlers_block_by_func(G_OBJECT(widgets->MainWindow),G_CALLBACK(on_yon_exit),widgets); + if (!system(command)){}; + gtk_widget_destroy(widgets->MainWindow); + setlocale(LC_ALL, window_language); + textdomain(LocaleName); + g_setenv("LANGUAGE",window_language,1); + + yon_main_window_create(widgets); + char *path = yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL); + yon_window_config_setup(GTK_WINDOW(widgets->MainWindow)); + yon_window_config_load(path); + g_signal_handlers_block_by_func(G_OBJECT(self),G_CALLBACK(on_locale_changed),widgets); + gtk_flow_box_select_child(GTK_FLOW_BOX(widgets->LanguagesBox),gtk_flow_box_get_child_at_index(GTK_FLOW_BOX(widgets->LanguagesBox),chosen_pos)); + g_signal_handlers_unblock_by_func(G_OBJECT(self),G_CALLBACK(on_locale_changed),widgets); +} void on_additional_software_toggled(GtkWidget *, char *path, main_window *widgets){ GtkTreeIter iter; @@ -362,22 +384,36 @@ gboolean on_yon_exit(GtkWidget *,GdkEvent*, main_window *widgets){ gtk_main_quit(); return 1; } - - } return 1; } -/**yon_main_window_complete(main_window *widgets) - * [EN] - * - * [RU] - * Функция настройки основного окна приложения. [widgets] - структура со стандартным интерфейсом. -*/ -main_window *yon_main_window_complete(){ - main_window *widgets=NULL; - widgets = yon_remalloc(widgets,sizeof(main_window)); +void set_locales_list(main_window *widgets){ + GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->LanguagesBox)); + GList *iter; + for (iter=list;iter;iter=iter->next){ + gtk_widget_destroy(GTK_WIDGET(iter->data)); + } + int size; + config_str languages = yon_resource_open_file(installer_languages_path,&size); + for (int i=0;iLanguagesBox),child,-1); + } + } + +} + +void yon_main_window_create(main_window *widgets){ GtkBuilder *builder = gtk_builder_new_from_resource(glade_path); gtk_builder_add_callback_symbol(builder,"yon_gtk_widget_set_sensitive_from_toggle_button",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button)); gtk_builder_add_callback_symbol(builder,"on_toggle_button_switch_on",G_CALLBACK(on_toggle_button_switch_on)); @@ -386,264 +422,265 @@ main_window *yon_main_window_complete(){ gtk_builder_set_translation_domain(builder,template_ui_LocaleName); { - widgets->DevicesList=GTK_LIST_STORE(gtk_builder_get_object(builder,"DevicesList")); - widgets->LanguagesList=GTK_LIST_STORE(gtk_builder_get_object(builder,"LanguagesList")); - - widgets->PartitionsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"PartitionsList")); - - main_config.kernel_unchosen_radio = yon_gtk_builder_get_widget(builder,"KernelUnchosenRadio"); - - widgets->MainWindow=yon_gtk_builder_get_widget(builder,"MainWindow"); - widgets->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox"); - widgets->StatusBox2 = yon_gtk_builder_get_widget(builder,"StatusBox2"); - widgets->Notebook = yon_gtk_builder_get_widget(builder,"Notebook"); - widgets->MainSpinner=yon_gtk_builder_get_widget(builder,"MainSpinner"); - - widgets->EnableVNCMenuItem = yon_gtk_builder_get_widget(builder,"EnableVNCMenuItem"); - widgets->DocumentationMenuItem = yon_ubl_menu_item_documentation_new(DOCUMENTATION_LABEL); - widgets->AboutMenuItem = yon_ubl_menu_item_about_new(ABOUT_LABEL); - - - widgets->LoadGlobalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"LoadGlobalConfigurationMenuItem"); - widgets->LoadLocalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"LoadLocalConfigurationMenuItem"); - widgets->LoadExternalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"LoadExternalConfigurationMenuItem"); - - widgets->SaveGlobalLocalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveGlobalLocalConfigurationMenuItem"); - widgets->SaveGlobalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveGlobalConfigurationMenuItem"); - widgets->SaveLocalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveLocalConfigurationMenuItem"); - widgets->SaveExternalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveExternalConfigurationMenuItem"); - - widgets->SlidesImage = yon_gtk_builder_get_widget(builder,"SlidesImage"); - - widgets->LicenceLabel = yon_gtk_builder_get_widget(builder,"LicenceLabel"); - - widgets->menu1=yon_gtk_builder_get_widget(builder,"menu1"); - widgets->menu2=yon_gtk_builder_get_widget(builder,"menu2"); - widgets->ConfigurationModeMenuItem = yon_gtk_builder_get_widget(builder,"ConfigurationModeMenuItem"); - - widgets->CancelInstallButton=yon_gtk_builder_get_widget(builder,"CancelInstallButton"); - widgets->BackButton=yon_gtk_builder_get_widget(builder,"BackButton"); - widgets->NextButton=yon_gtk_builder_get_widget(builder,"NextButton"); - - widgets->WelcomeToggle=yon_gtk_builder_get_widget(builder,"WelcomeToggle"); - widgets->LicenceToggle=yon_gtk_builder_get_widget(builder,"LicenceToggle"); - widgets->LocationToggle=yon_gtk_builder_get_widget(builder,"LocationToggle"); - widgets->KeyboardToggle=yon_gtk_builder_get_widget(builder,"KeyboardToggle"); - widgets->SectionsToggle=yon_gtk_builder_get_widget(builder,"SectionsToggle"); - widgets->UsersToggle=yon_gtk_builder_get_widget(builder,"UsersToggle"); - widgets->SummaryToggle=yon_gtk_builder_get_widget(builder,"SummaryToggle"); - widgets->CompletionToggle=yon_gtk_builder_get_widget(builder,"CompletionToggle"); - widgets->InstallationToggle=yon_gtk_builder_get_widget(builder,"InstallationToggle"); - - widgets->StartScenarioButton=yon_gtk_builder_get_widget(builder,"StartScenarioButton"); - - widgets->SourceButton=yon_gtk_builder_get_widget(builder,"SourceButton"); - widgets->SkipInstallationButton=yon_gtk_builder_get_widget(builder,"SkipInstallationButton"); - - widgets->InstallationRadio=yon_gtk_builder_get_widget(builder,"InstallationRadio"); - widgets->InstallationNearRadio=yon_gtk_builder_get_widget(builder,"InstallationNearRadio"); - widgets->InstallationLinuxRadio=yon_gtk_builder_get_widget(builder,"InstallationLinuxRadio"); - widgets->InstallationWindowsRadio=yon_gtk_builder_get_widget(builder,"InstallationWindowsRadio"); - widgets->InstallationOptionsRadio=yon_gtk_builder_get_widget(builder,"InstallationOptionsRadio"); - widgets->GrubInstallRadio = yon_gtk_builder_get_widget(builder,"GrubInstallRadio"); - widgets->GrubUpdateRadio = yon_gtk_builder_get_widget(builder,"GrubUpdateRadio"); - widgets->SeparateRadio = yon_gtk_builder_get_widget(builder,"SeparateRadio"); - widgets->OSRadio = yon_gtk_builder_get_widget(builder,"OSRadio"); - widgets->UserDataOnlyRadio = yon_gtk_builder_get_widget(builder,"UserDataOnlyRadio"); - - widgets->CommonInstallationDevicesTree = yon_gtk_builder_get_widget(builder,"CommonInstallationDevicesTree"); - widgets->CommonInstallationFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"CommonInstallationFilesystemTypeCombo"); - widgets->CommonInstallationSectionNameEntry = yon_gtk_builder_get_widget(builder,"CommonInstallationSectionNameEntry"); - widgets->CommonFormatSwitch = yon_gtk_builder_get_widget(builder,"CommonFormatSwitch"); - widgets->GpartedCommonButton = yon_gtk_builder_get_widget(builder,"GpartedCommonButton"); - - widgets->SamePlaceDeviceTree = yon_gtk_builder_get_widget(builder,"SamePlaceDeviceTree"); - widgets->SamePlacePartTree = yon_gtk_builder_get_widget(builder,"SamePlacePartTree"); - widgets->SameInstallationFormatSwitch = yon_gtk_builder_get_widget(builder,"SameInstallationFormatSwitch"); - widgets->SameInstallationFormatRevealer = yon_gtk_builder_get_widget(builder,"SameInstallationFormatRevealer"); - widgets->SameInstallationFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"SameInstallationFilesystemTypeCombo"); - widgets->SameInstallationSectionNameEntry = yon_gtk_builder_get_widget(builder,"SameInstallationSectionNameEntry"); - widgets->GpartedSameButton = yon_gtk_builder_get_widget(builder,"GpartedSameButton"); - - widgets->NextInstallationFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"NextInstallationFilesystemTypeCombo"); - widgets->NextInstallationFormatSwitch = yon_gtk_builder_get_widget(builder,"NextInstallationFormatSwitch"); - widgets->NextInstallationFormatRevealer = yon_gtk_builder_get_widget(builder,"NextInstallationFormatRevealer"); - widgets->NextInstallationSectionNameEntry = yon_gtk_builder_get_widget(builder,"NextInstallationSectionNameEntry"); - widgets->NextInstallationSizeSpin = yon_gtk_builder_get_widget(builder,"NextInstallationFormatSizeSpin"); - widgets->NextInstallationSizeTypeSpin = yon_gtk_builder_get_widget(builder,"NextInstallationFormatSizeCombo"); - widgets->NextInstallationSysDevicesTree = yon_gtk_builder_get_widget(builder,"NextInstallationSysDevicesTree"); - widgets->NextInstallationSysSectionTree = yon_gtk_builder_get_widget(builder,"NextInstallationSysSectionTree"); - widgets->GpartedNextInstallationButton = yon_gtk_builder_get_widget(builder,"GpartedNextInstallationButton"); - - widgets->AdvancedDeviceChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"AdvancedDeviceChosenCell")); - widgets->AdvancedPartChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"AdvancedPartChosenCell")); - widgets->AdvancedDeviceTree = yon_gtk_builder_get_widget(builder,"AdvancedDeviceTree"); - widgets->AdvancedVirtualDeviceCombo = yon_gtk_builder_get_widget(builder,"AdvancedVirtualDeviceCombo"); - widgets->AdvancedPartitionTree = yon_gtk_builder_get_widget(builder,"AdvancedPartitionTree"); - widgets->AdvancedPartitionAddBox = yon_gtk_builder_get_widget(builder,"AdvancedPartitionAddBox"); - widgets->AdvancedAddButton = yon_gtk_builder_get_widget(builder,"AdvancedAddButton"); - widgets->AdvancedLoadTypeSwitch = yon_gtk_builder_get_widget(builder,"AdvancedLoadTypeSwitch"); - widgets->AdvancedBiosSectorSwitch = yon_gtk_builder_get_widget(builder,"AdvancedBiosSectorSwitch"); - widgets->AdvancedEFISwitch = yon_gtk_builder_get_widget(builder,"AdvancedEFISwitch"); - widgets->AdvancedSwapSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapSwitch"); - widgets->AdvancedSwapAutoSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapAutoSwitch"); - widgets->AdvancedSwapRamSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapRamSwitch"); - widgets->AdvancedSwapFixedSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapFixedSwitch"); - widgets->AdvancedSwapFixedSizeSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapFixedSizeSwitch"); - widgets->AdvancedSwapFixedSpin = yon_gtk_builder_get_widget(builder,"AdvancedSwapFixedSpin"); - widgets->AdvancedSwapRevealer = yon_gtk_builder_get_widget(builder,"AdvancedSwapRevealer"); - widgets->AdvancedLoadTypeRevealer = yon_gtk_builder_get_widget(builder,"AdvancedLoadTypeRevealer"); - widgets->advanced_partition_order = g_sequence_new(NULL); - - widgets->GrubInstallDevicesTree = yon_gtk_builder_get_widget(builder,"GrubInstallDevicesTree"); - widgets->GrubInstallPartitionTree = yon_gtk_builder_get_widget(builder,"GrubInstallPartitionTree"); - widgets->GpartedGrubInstallButton = yon_gtk_builder_get_widget(builder,"GpartedGrubInstallButton"); - - widgets->GrubUpdateDevicesTree = yon_gtk_builder_get_widget(builder,"GrubUpdateDevicesTree"); - widgets->GrubUpdatePartitionTree = yon_gtk_builder_get_widget(builder,"GrubUpdatePartitionTree"); - widgets->GpartedGrubUpdateButton = yon_gtk_builder_get_widget(builder,"GpartedGrubUpdateButton"); - - widgets->OSDevicesTree = yon_gtk_builder_get_widget(builder,"OSDevicesTree"); - widgets->OSSysSectionTree = yon_gtk_builder_get_widget(builder,"OSSysSectionTree"); - widgets->GpartedOSButton = yon_gtk_builder_get_widget(builder,"GpartedOSButton"); - widgets->OSFormatSwitch = yon_gtk_builder_get_widget(builder,"OSFormatSwitch"); - widgets->OSFormatSizeSpin = yon_gtk_builder_get_widget(builder,"OSFormatSizeSpin"); - widgets->OSFormatSizeCombo = yon_gtk_builder_get_widget(builder,"OSFormatSizeCombo"); - widgets->OSFormatPartitionEntry = yon_gtk_builder_get_widget(builder,"OSFormatPartitionEntry"); - widgets->OSFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"OSFilesystemTypeCombo"); - widgets->OSFormatFSMarkEntry = yon_gtk_builder_get_widget(builder,"OSFormatFSMarkEntry"); - widgets->OSFormatEncryptionCombo = yon_gtk_builder_get_widget(builder,"OSFormatEncryptionCombo"); - widgets->OSFormatEncryptionEntry = yon_gtk_builder_get_widget(builder,"OSFormatEncryptionEntry"); - - widgets->UserdataDevicesTree = yon_gtk_builder_get_widget(builder,"UserdataDevicesTree"); - widgets->UserdataSysSectionTree = yon_gtk_builder_get_widget(builder,"UserdataSysSectionTree"); - widgets->GpartedUserdataButton = yon_gtk_builder_get_widget(builder,"UserdataGpartedButton"); - widgets->UserdataFormatSwitch = yon_gtk_builder_get_widget(builder,"UserdataFormatSwitch"); - widgets->UserdataFormatSizeSpin = yon_gtk_builder_get_widget(builder,"UserdataFormatSizeSpin"); - widgets->UserdataFormatSizeCombo = yon_gtk_builder_get_widget(builder,"UserdataFormatSizeCombo"); - widgets->UserdataFormatPartitionEntry = yon_gtk_builder_get_widget(builder,"UserdataFormatPartitionEntry"); - widgets->UserdataFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"UserdataFilesystemTypeCombo"); - widgets->UserdataFormatFSMarkEntry = yon_gtk_builder_get_widget(builder,"UserdataFormatFSMarkEntry"); - widgets->UserdataFormatEncryptionCombo = yon_gtk_builder_get_widget(builder,"UserdataFormatEncryptionCombo"); - widgets->UserdataFormatEncryptionEntry = yon_gtk_builder_get_widget(builder,"UserdataFormatEncryptionEntry"); - - widgets->LanguagesFilter = GTK_TREE_MODEL(gtk_builder_get_object(builder,"LanguagesFilter")); - widgets->LayoutsFilter = GTK_TREE_MODEL(gtk_builder_get_object(builder,"LayoutsFilter")); - widgets->LayoutList = GTK_TREE_STORE(gtk_builder_get_object(builder,"LayoutList")); - widgets->LanguageCombo=yon_gtk_builder_get_widget(builder,"LanguageCombo"); - widgets->RegionCombo=yon_gtk_builder_get_widget(builder,"RegionCombo"); - widgets->ZoneCombo=yon_gtk_builder_get_widget(builder,"ZoneCombo"); - widgets->AvailableLanguagesEntry=yon_gtk_builder_get_widget(builder,"AvailableLanguagesEntry"); - widgets->AvailableLanguagesButton=yon_gtk_builder_get_widget(builder,"AvailableLanguagesButton"); - widgets->LanguagesCombo=yon_gtk_builder_get_widget(builder,"LanguagesCombo"); - widgets->KeyboardModelCombo=yon_gtk_builder_get_widget(builder,"KeyboardModelCombo"); - widgets->LayoutBindingCombo=yon_gtk_builder_get_widget(builder,"LayoutBindingCombo"); - widgets->LayoutTree=yon_gtk_builder_get_widget(builder,"LayoutTree"); - widgets->AddButton=yon_gtk_builder_get_widget(builder,"AddButton"); - widgets->RemoveButton=yon_gtk_builder_get_widget(builder,"RemoveButton"); - widgets->RegionSensitiveSwitch = yon_gtk_builder_get_widget(builder,"RegionSensitiveSwitch"); - - widgets->UserImage=yon_gtk_builder_get_widget(builder,"UserImage"); - widgets->UserRootNameEntry=yon_gtk_builder_get_widget(builder,"UserRootNameEntry"); - widgets->UserRootLoginEntry=yon_gtk_builder_get_widget(builder,"UserRootLoginEntry"); - widgets->UserRootPasswordCombo=yon_gtk_builder_get_widget(builder,"UserRootPasswordCombo"); - widgets->UserRootPasswordEntry=yon_gtk_builder_get_widget(builder,"UserRootPasswordEntry"); - widgets->UserRootPasswordButton=yon_gtk_builder_get_widget(builder,"UserRootPasswordButton"); - widgets->UserAutologinSwitch=yon_gtk_builder_get_widget(builder,"UserAutologinSwitch"); - widgets->UserAddBox=yon_gtk_builder_get_widget(builder,"UserAddBox"); - widgets->UserAddButton=yon_gtk_builder_get_widget(builder,"UserAddButton"); - - 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"); - widgets->RegionBox = yon_gtk_builder_get_widget(builder,"RegionBox"); - widgets->RegionAspect = yon_gtk_builder_get_widget(builder,"RegionAspect"); - widgets->KeyboardImage = yon_gtk_builder_get_widget(builder,"KeyboardImage"); - widgets->KeyboardBox = yon_gtk_builder_get_widget(builder,"KeyboardBox"); - widgets->KeyboardLayoutChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"KeyboardLayoutChosenCell")); - - widgets->AdditionalSoftwareList = GTK_LIST_STORE(gtk_builder_get_object(builder,"AdditionalSoftwareList")); - widgets->AdditionalSoftwareTree = yon_gtk_builder_get_widget(builder,"AdditionalSoftwareTree"); - widgets->AdditionalSoftwareCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"AdditionalSoftwareCell")); - - - widgets->InstallationProgress = yon_gtk_builder_get_widget(builder,"InstallationProgress"); - widgets->InstallationLabel = yon_gtk_builder_get_widget(builder,"InstallationLabel"); - widgets->ReadShortLogButton = yon_gtk_builder_get_widget(builder,"ReadShortLogButton"); - widgets->PackageInstallationProgress = yon_gtk_builder_get_widget(builder,"PackageInstallationProgress"); - widgets->PackageInstallationLabel = yon_gtk_builder_get_widget(builder,"PackageInstallationLabel"); - widgets->ReadFullLogButton = yon_gtk_builder_get_widget(builder,"ReadFullLogButton"); - - widgets->KernelListBox = yon_gtk_builder_get_widget(builder,"KernelListBox"); - widgets->KernelInstallLabel = yon_gtk_builder_get_widget(builder,"KernelInstallLabel"); - widgets->KernelEnableLabel = yon_gtk_builder_get_widget(builder,"KernelEnableLabel"); - widgets->KernelNameLabel = yon_gtk_builder_get_widget(builder,"KernelNameLabel"); - widgets->KernelTagsLabel = yon_gtk_builder_get_widget(builder,"KernelTagsLabel"); - widgets->KernelModulesLabel = yon_gtk_builder_get_widget(builder,"KernelModulesLabel"); - widgets->KernelDescriptionLabel = yon_gtk_builder_get_widget(builder,"KernelDescriptionLabel"); - widgets->KernelSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"TagsSizeGroup")); - - widgets->KernelAddonListBox = yon_gtk_builder_get_widget(builder,"KernelAddonListBox"); - widgets->KernelAddonInstallLabel = yon_gtk_builder_get_widget(builder,"KernelAddonInstallLabel"); - widgets->KernelAddonNameLabel = yon_gtk_builder_get_widget(builder,"KernelAddonNameLabel"); - widgets->KernelAddonModulesLabel = yon_gtk_builder_get_widget(builder,"KernelAddonModulesLabel"); - widgets->KernelAddonDescriptionLabel = yon_gtk_builder_get_widget(builder,"KernelAddonDescriptionLabel"); - - widgets->OSSoftwareListBox = yon_gtk_builder_get_widget(builder,"OSSoftwareListBox"); - widgets->OSSoftwareInstallLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareInstallLabel"); - widgets->OSSoftwareNameLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareNameLabel"); - widgets->OSSoftwareTagsLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareTagsLabel"); - widgets->OSSoftwareDescriptionLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareDescriptionLabel"); - - widgets->PacmanSoftwareSearchEntry = yon_gtk_builder_get_widget(builder,"PacmanSoftwareSearchEntry"); - widgets->PacmanSoftwareStatusImage = yon_gtk_builder_get_widget(builder,"PacmanSoftwareStatusImage"); - widgets->PacmanSoftwareStatusLabel = yon_gtk_builder_get_widget(builder,"PacmanSoftwareStatusLabel"); - widgets->PacmanSoftwareStatusButton = yon_gtk_builder_get_widget(builder,"PacmanSoftwareStatusButton"); - - widgets->PacmanLoadingOverlay = yon_gtk_builder_get_widget(builder,"PacmanLoadingOverlay"); - widgets->PacmanSoftwareAllPackagesTree = yon_gtk_builder_get_widget(builder,"PacmanSoftwareAllPackagesTree"); - widgets->PacmanSoftwareAllList = GTK_LIST_STORE(gtk_builder_get_object(builder,"PacmanSoftwareAllList")); - widgets->PacmanSoftwareAllCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"PacmanSoftwareAllCell")); - - widgets->PacmanSoftwareChosenPackagesTree = yon_gtk_builder_get_widget(builder,"PacmanSoftwareChosenPackagesTree"); - widgets->PacmanSoftwareChosenList = GTK_LIST_STORE(gtk_builder_get_object(builder,"PacmanSoftwareChosenList")); - widgets->PacmanSoftwareChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"PacmanSoftwareChosenCell")); - - widgets->StartupImage = yon_gtk_builder_get_widget(builder,"StartupImage"); - widgets->StartupServicesTree = yon_gtk_builder_get_widget(builder,"StartupServicesTree"); - widgets->StartupServicesAddButton = yon_gtk_builder_get_widget(builder,"StartupServicesAddButton"); - widgets->StartupServicesEditButton = yon_gtk_builder_get_widget(builder,"StartupServicesEditButton"); - widgets->StartupServicesRemoveButton = yon_gtk_builder_get_widget(builder,"StartupServicesRemoveButton"); - widgets->StartupChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"StartupChosenCell")); - widgets->StartupList = GTK_LIST_STORE(gtk_builder_get_object(builder,"StartupList")); - - widgets->BootloaderImage = yon_gtk_builder_get_widget(builder,"BootloaderImage"); - widgets->BootloadTimerSwitch = yon_gtk_builder_get_widget(builder,"BootloadTimerSwitch"); - widgets->BootloadTimerSpin = yon_gtk_builder_get_widget(builder,"BootloadTimerSpin"); - widgets->BootloadDefaultOSEntry = yon_gtk_builder_get_widget(builder,"BootloadDefaultOSEntry"); - widgets->BootloadDefaulOSButton = yon_gtk_builder_get_widget(builder,"BootloadDefaulOSButton"); - widgets->BootloadNoPasswordSwitch = yon_gtk_builder_get_widget(builder,"BootloadNoPasswordSwitch"); - widgets->BootloadUserTree = yon_gtk_builder_get_widget(builder,"BootloadUserTree"); - widgets->BootloadUserAddButton = yon_gtk_builder_get_widget(builder,"BootloadUserAddButton"); - widgets->BootloadUserRemoveButton = yon_gtk_builder_get_widget(builder,"BootloadUserRemoveButton"); - widgets->BootloadUsersList = GTK_LIST_STORE(gtk_builder_get_object(builder,"BootloadUsersList")); - - widgets->NetworkImage = yon_gtk_builder_get_widget(builder,"NetworkImage"); - widgets->NetworkDomainSwitch = yon_gtk_builder_get_widget(builder,"NetworkDomainSwitch"); - widgets->NetworkDomainNameEntry = yon_gtk_builder_get_widget(builder,"NetworkDomainNameEntry"); - widgets->NetworkDomainAdminEntry = yon_gtk_builder_get_widget(builder,"NetworkDomainAdminEntry"); - widgets->NetworkDomainPasswordEntry = yon_gtk_builder_get_widget(builder,"NetworkDomainPasswordEntry"); - widgets->NetworkNTPServerSwitch = yon_gtk_builder_get_widget(builder,"NetworkNTPServerSwitch"); - widgets->NetworkNTPCombo = yon_gtk_builder_get_widget(builder,"NetworkNTPCombo"); - widgets->NetworkNTPEntry = yon_gtk_builder_get_widget(builder,"NetworkNTPEntry"); - widgets->NetworkConnectionsBox = yon_gtk_builder_get_widget(builder,"NetworkConnectionsBox"); - widgets->NetworkConnectionsAddButton = yon_gtk_builder_get_widget(builder,"NetworkConnectionsAddButton"); - widgets->HostnameSensitiveSwitch = yon_gtk_builder_get_widget(builder,"HostnameSensitiveSwitch"); - widgets->AutoHostnameCheck=yon_gtk_builder_get_widget(builder,"AutoHostnameCheck"); - widgets->network_connections = NULL; - widgets->pacmanchosen = g_hash_table_new_full(g_str_hash,g_str_equal,free,NULL); - - main_config.status_box = widgets->StatusBox; + widgets->DevicesList=GTK_LIST_STORE(gtk_builder_get_object(builder,"DevicesList")); + widgets->LanguagesList=GTK_LIST_STORE(gtk_builder_get_object(builder,"LanguagesList")); + + widgets->PartitionsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"PartitionsList")); + + main_config.kernel_unchosen_radio = yon_gtk_builder_get_widget(builder,"KernelUnchosenRadio"); + + widgets->MainWindow=yon_gtk_builder_get_widget(builder,"MainWindow"); + widgets->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox"); + widgets->StatusBox2 = yon_gtk_builder_get_widget(builder,"StatusBox2"); + widgets->Notebook = yon_gtk_builder_get_widget(builder,"Notebook"); + widgets->MainSpinner=yon_gtk_builder_get_widget(builder,"MainSpinner"); + + widgets->EnableVNCMenuItem = yon_gtk_builder_get_widget(builder,"EnableVNCMenuItem"); + widgets->DocumentationMenuItem = yon_ubl_menu_item_documentation_new(DOCUMENTATION_LABEL); + widgets->AboutMenuItem = yon_ubl_menu_item_about_new(ABOUT_LABEL); + + widgets->LoadGlobalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"LoadGlobalConfigurationMenuItem"); + widgets->LoadLocalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"LoadLocalConfigurationMenuItem"); + widgets->LoadExternalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"LoadExternalConfigurationMenuItem"); + + widgets->SaveGlobalLocalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveGlobalLocalConfigurationMenuItem"); + widgets->SaveGlobalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveGlobalConfigurationMenuItem"); + widgets->SaveLocalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveLocalConfigurationMenuItem"); + widgets->SaveExternalConfigurationMenuItem = yon_gtk_builder_get_widget(builder,"SaveExternalConfigurationMenuItem"); + + widgets->SlidesImage = yon_gtk_builder_get_widget(builder,"SlidesImage"); + + widgets->LicenceLabel = yon_gtk_builder_get_widget(builder,"LicenceLabel"); + + widgets->menu1=yon_gtk_builder_get_widget(builder,"menu1"); + widgets->menu2=yon_gtk_builder_get_widget(builder,"menu2"); + widgets->ConfigurationModeMenuItem = yon_gtk_builder_get_widget(builder,"ConfigurationModeMenuItem"); + + widgets->CancelInstallButton=yon_gtk_builder_get_widget(builder,"CancelInstallButton"); + widgets->BackButton=yon_gtk_builder_get_widget(builder,"BackButton"); + widgets->NextButton=yon_gtk_builder_get_widget(builder,"NextButton"); + + widgets->WelcomeToggle=yon_gtk_builder_get_widget(builder,"WelcomeToggle"); + widgets->LicenceToggle=yon_gtk_builder_get_widget(builder,"LicenceToggle"); + widgets->LocationToggle=yon_gtk_builder_get_widget(builder,"LocationToggle"); + widgets->KeyboardToggle=yon_gtk_builder_get_widget(builder,"KeyboardToggle"); + widgets->SectionsToggle=yon_gtk_builder_get_widget(builder,"SectionsToggle"); + widgets->UsersToggle=yon_gtk_builder_get_widget(builder,"UsersToggle"); + widgets->SummaryToggle=yon_gtk_builder_get_widget(builder,"SummaryToggle"); + widgets->CompletionToggle=yon_gtk_builder_get_widget(builder,"CompletionToggle"); + widgets->InstallationToggle=yon_gtk_builder_get_widget(builder,"InstallationToggle"); + + widgets->StartScenarioButton=yon_gtk_builder_get_widget(builder,"StartScenarioButton"); + + widgets->SourceButton=yon_gtk_builder_get_widget(builder,"SourceButton"); + widgets->SkipInstallationButton=yon_gtk_builder_get_widget(builder,"SkipInstallationButton"); + + widgets->InstallationRadio=yon_gtk_builder_get_widget(builder,"InstallationRadio"); + widgets->InstallationNearRadio=yon_gtk_builder_get_widget(builder,"InstallationNearRadio"); + widgets->InstallationLinuxRadio=yon_gtk_builder_get_widget(builder,"InstallationLinuxRadio"); + widgets->InstallationWindowsRadio=yon_gtk_builder_get_widget(builder,"InstallationWindowsRadio"); + widgets->InstallationOptionsRadio=yon_gtk_builder_get_widget(builder,"InstallationOptionsRadio"); + widgets->GrubInstallRadio = yon_gtk_builder_get_widget(builder,"GrubInstallRadio"); + widgets->GrubUpdateRadio = yon_gtk_builder_get_widget(builder,"GrubUpdateRadio"); + widgets->SeparateRadio = yon_gtk_builder_get_widget(builder,"SeparateRadio"); + widgets->OSRadio = yon_gtk_builder_get_widget(builder,"OSRadio"); + widgets->UserDataOnlyRadio = yon_gtk_builder_get_widget(builder,"UserDataOnlyRadio"); + + widgets->CommonInstallationDevicesTree = yon_gtk_builder_get_widget(builder,"CommonInstallationDevicesTree"); + widgets->CommonInstallationFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"CommonInstallationFilesystemTypeCombo"); + widgets->CommonInstallationSectionNameEntry = yon_gtk_builder_get_widget(builder,"CommonInstallationSectionNameEntry"); + widgets->CommonFormatSwitch = yon_gtk_builder_get_widget(builder,"CommonFormatSwitch"); + widgets->GpartedCommonButton = yon_gtk_builder_get_widget(builder,"GpartedCommonButton"); + + widgets->SamePlaceDeviceTree = yon_gtk_builder_get_widget(builder,"SamePlaceDeviceTree"); + widgets->SamePlacePartTree = yon_gtk_builder_get_widget(builder,"SamePlacePartTree"); + widgets->SameInstallationFormatSwitch = yon_gtk_builder_get_widget(builder,"SameInstallationFormatSwitch"); + widgets->SameInstallationFormatRevealer = yon_gtk_builder_get_widget(builder,"SameInstallationFormatRevealer"); + widgets->SameInstallationFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"SameInstallationFilesystemTypeCombo"); + widgets->SameInstallationSectionNameEntry = yon_gtk_builder_get_widget(builder,"SameInstallationSectionNameEntry"); + widgets->GpartedSameButton = yon_gtk_builder_get_widget(builder,"GpartedSameButton"); + + widgets->NextInstallationFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"NextInstallationFilesystemTypeCombo"); + widgets->NextInstallationFormatSwitch = yon_gtk_builder_get_widget(builder,"NextInstallationFormatSwitch"); + widgets->NextInstallationFormatRevealer = yon_gtk_builder_get_widget(builder,"NextInstallationFormatRevealer"); + widgets->NextInstallationSectionNameEntry = yon_gtk_builder_get_widget(builder,"NextInstallationSectionNameEntry"); + widgets->NextInstallationSizeSpin = yon_gtk_builder_get_widget(builder,"NextInstallationFormatSizeSpin"); + widgets->NextInstallationSizeTypeSpin = yon_gtk_builder_get_widget(builder,"NextInstallationFormatSizeCombo"); + widgets->NextInstallationSysDevicesTree = yon_gtk_builder_get_widget(builder,"NextInstallationSysDevicesTree"); + widgets->NextInstallationSysSectionTree = yon_gtk_builder_get_widget(builder,"NextInstallationSysSectionTree"); + widgets->GpartedNextInstallationButton = yon_gtk_builder_get_widget(builder,"GpartedNextInstallationButton"); + + widgets->AdvancedDeviceChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"AdvancedDeviceChosenCell")); + widgets->AdvancedPartChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"AdvancedPartChosenCell")); + widgets->AdvancedDeviceTree = yon_gtk_builder_get_widget(builder,"AdvancedDeviceTree"); + widgets->AdvancedVirtualDeviceCombo = yon_gtk_builder_get_widget(builder,"AdvancedVirtualDeviceCombo"); + widgets->AdvancedPartitionTree = yon_gtk_builder_get_widget(builder,"AdvancedPartitionTree"); + widgets->AdvancedPartitionAddBox = yon_gtk_builder_get_widget(builder,"AdvancedPartitionAddBox"); + widgets->AdvancedAddButton = yon_gtk_builder_get_widget(builder,"AdvancedAddButton"); + widgets->AdvancedLoadTypeSwitch = yon_gtk_builder_get_widget(builder,"AdvancedLoadTypeSwitch"); + widgets->AdvancedBiosSectorSwitch = yon_gtk_builder_get_widget(builder,"AdvancedBiosSectorSwitch"); + widgets->AdvancedEFISwitch = yon_gtk_builder_get_widget(builder,"AdvancedEFISwitch"); + widgets->AdvancedSwapSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapSwitch"); + widgets->AdvancedSwapAutoSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapAutoSwitch"); + widgets->AdvancedSwapRamSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapRamSwitch"); + widgets->AdvancedSwapFixedSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapFixedSwitch"); + widgets->AdvancedSwapFixedSizeSwitch = yon_gtk_builder_get_widget(builder,"AdvancedSwapFixedSizeSwitch"); + widgets->AdvancedSwapFixedSpin = yon_gtk_builder_get_widget(builder,"AdvancedSwapFixedSpin"); + widgets->AdvancedSwapRevealer = yon_gtk_builder_get_widget(builder,"AdvancedSwapRevealer"); + widgets->AdvancedLoadTypeRevealer = yon_gtk_builder_get_widget(builder,"AdvancedLoadTypeRevealer"); + widgets->advanced_partition_order = g_sequence_new(NULL); + + widgets->GrubInstallDevicesTree = yon_gtk_builder_get_widget(builder,"GrubInstallDevicesTree"); + widgets->GrubInstallPartitionTree = yon_gtk_builder_get_widget(builder,"GrubInstallPartitionTree"); + widgets->GpartedGrubInstallButton = yon_gtk_builder_get_widget(builder,"GpartedGrubInstallButton"); + + widgets->GrubUpdateDevicesTree = yon_gtk_builder_get_widget(builder,"GrubUpdateDevicesTree"); + widgets->GrubUpdatePartitionTree = yon_gtk_builder_get_widget(builder,"GrubUpdatePartitionTree"); + widgets->GpartedGrubUpdateButton = yon_gtk_builder_get_widget(builder,"GpartedGrubUpdateButton"); + + widgets->OSDevicesTree = yon_gtk_builder_get_widget(builder,"OSDevicesTree"); + widgets->OSSysSectionTree = yon_gtk_builder_get_widget(builder,"OSSysSectionTree"); + widgets->GpartedOSButton = yon_gtk_builder_get_widget(builder,"GpartedOSButton"); + widgets->OSFormatSwitch = yon_gtk_builder_get_widget(builder,"OSFormatSwitch"); + widgets->OSFormatSizeSpin = yon_gtk_builder_get_widget(builder,"OSFormatSizeSpin"); + widgets->OSFormatSizeCombo = yon_gtk_builder_get_widget(builder,"OSFormatSizeCombo"); + widgets->OSFormatPartitionEntry = yon_gtk_builder_get_widget(builder,"OSFormatPartitionEntry"); + widgets->OSFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"OSFilesystemTypeCombo"); + widgets->OSFormatFSMarkEntry = yon_gtk_builder_get_widget(builder,"OSFormatFSMarkEntry"); + widgets->OSFormatEncryptionCombo = yon_gtk_builder_get_widget(builder,"OSFormatEncryptionCombo"); + widgets->OSFormatEncryptionEntry = yon_gtk_builder_get_widget(builder,"OSFormatEncryptionEntry"); + + widgets->UserdataDevicesTree = yon_gtk_builder_get_widget(builder,"UserdataDevicesTree"); + widgets->UserdataSysSectionTree = yon_gtk_builder_get_widget(builder,"UserdataSysSectionTree"); + widgets->GpartedUserdataButton = yon_gtk_builder_get_widget(builder,"UserdataGpartedButton"); + widgets->UserdataFormatSwitch = yon_gtk_builder_get_widget(builder,"UserdataFormatSwitch"); + widgets->UserdataFormatSizeSpin = yon_gtk_builder_get_widget(builder,"UserdataFormatSizeSpin"); + widgets->UserdataFormatSizeCombo = yon_gtk_builder_get_widget(builder,"UserdataFormatSizeCombo"); + widgets->UserdataFormatPartitionEntry = yon_gtk_builder_get_widget(builder,"UserdataFormatPartitionEntry"); + widgets->UserdataFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"UserdataFilesystemTypeCombo"); + widgets->UserdataFormatFSMarkEntry = yon_gtk_builder_get_widget(builder,"UserdataFormatFSMarkEntry"); + widgets->UserdataFormatEncryptionCombo = yon_gtk_builder_get_widget(builder,"UserdataFormatEncryptionCombo"); + widgets->UserdataFormatEncryptionEntry = yon_gtk_builder_get_widget(builder,"UserdataFormatEncryptionEntry"); + + widgets->LanguagesFilter = GTK_TREE_MODEL(gtk_builder_get_object(builder,"LanguagesFilter")); + widgets->LayoutsFilter = GTK_TREE_MODEL(gtk_builder_get_object(builder,"LayoutsFilter")); + widgets->LayoutList = GTK_TREE_STORE(gtk_builder_get_object(builder,"LayoutList")); + widgets->LanguagesTree=yon_gtk_builder_get_widget(builder,"LanguagesTree"); + widgets->CountryLanguagesTree=yon_gtk_builder_get_widget(builder,"CountryLanguagesTree"); + // widgets->LanguageCombo=yon_gtk_builder_get_widget(builder,"LanguageCombo"); + widgets->RegionCombo=yon_gtk_builder_get_widget(builder,"RegionCombo"); + widgets->ZoneCombo=yon_gtk_builder_get_widget(builder,"ZoneCombo"); + widgets->AvailableLanguagesEntry=yon_gtk_builder_get_widget(builder,"AvailableLanguagesEntry"); + widgets->AvailableLanguagesButton=yon_gtk_builder_get_widget(builder,"AvailableLanguagesButton"); + widgets->LanguagesCombo=yon_gtk_builder_get_widget(builder,"LanguagesCombo"); + widgets->KeyboardModelCombo=yon_gtk_builder_get_widget(builder,"KeyboardModelCombo"); + widgets->LayoutBindingCombo=yon_gtk_builder_get_widget(builder,"LayoutBindingCombo"); + widgets->LayoutTree=yon_gtk_builder_get_widget(builder,"LayoutTree"); + widgets->AddButton=yon_gtk_builder_get_widget(builder,"AddButton"); + widgets->RemoveButton=yon_gtk_builder_get_widget(builder,"RemoveButton"); + widgets->RegionSensitiveSwitch = yon_gtk_builder_get_widget(builder,"RegionSensitiveSwitch"); + + widgets->UserImage=yon_gtk_builder_get_widget(builder,"UserImage"); + widgets->UserRootNameEntry=yon_gtk_builder_get_widget(builder,"UserRootNameEntry"); + widgets->UserRootLoginEntry=yon_gtk_builder_get_widget(builder,"UserRootLoginEntry"); + widgets->UserRootPasswordCombo=yon_gtk_builder_get_widget(builder,"UserRootPasswordCombo"); + widgets->UserRootPasswordEntry=yon_gtk_builder_get_widget(builder,"UserRootPasswordEntry"); + widgets->UserRootPasswordButton=yon_gtk_builder_get_widget(builder,"UserRootPasswordButton"); + widgets->UserAutologinSwitch=yon_gtk_builder_get_widget(builder,"UserAutologinSwitch"); + widgets->UserAddBox=yon_gtk_builder_get_widget(builder,"UserAddBox"); + widgets->UserAddButton=yon_gtk_builder_get_widget(builder,"UserAddButton"); + + 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"); + widgets->RegionBox = yon_gtk_builder_get_widget(builder,"RegionBox"); + widgets->RegionAspect = yon_gtk_builder_get_widget(builder,"RegionAspect"); + widgets->KeyboardImage = yon_gtk_builder_get_widget(builder,"KeyboardImage"); + widgets->KeyboardBox = yon_gtk_builder_get_widget(builder,"KeyboardBox"); + widgets->KeyboardLayoutChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"KeyboardLayoutChosenCell")); + + widgets->AdditionalSoftwareList = GTK_LIST_STORE(gtk_builder_get_object(builder,"AdditionalSoftwareList")); + widgets->AdditionalSoftwareTree = yon_gtk_builder_get_widget(builder,"AdditionalSoftwareTree"); + widgets->AdditionalSoftwareCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"AdditionalSoftwareCell")); + + + widgets->InstallationProgress = yon_gtk_builder_get_widget(builder,"InstallationProgress"); + widgets->InstallationLabel = yon_gtk_builder_get_widget(builder,"InstallationLabel"); + widgets->ReadShortLogButton = yon_gtk_builder_get_widget(builder,"ReadShortLogButton"); + widgets->PackageInstallationProgress = yon_gtk_builder_get_widget(builder,"PackageInstallationProgress"); + widgets->PackageInstallationLabel = yon_gtk_builder_get_widget(builder,"PackageInstallationLabel"); + widgets->ReadFullLogButton = yon_gtk_builder_get_widget(builder,"ReadFullLogButton"); + + widgets->KernelListBox = yon_gtk_builder_get_widget(builder,"KernelListBox"); + widgets->KernelInstallLabel = yon_gtk_builder_get_widget(builder,"KernelInstallLabel"); + widgets->KernelEnableLabel = yon_gtk_builder_get_widget(builder,"KernelEnableLabel"); + widgets->KernelNameLabel = yon_gtk_builder_get_widget(builder,"KernelNameLabel"); + widgets->KernelTagsLabel = yon_gtk_builder_get_widget(builder,"KernelTagsLabel"); + widgets->KernelModulesLabel = yon_gtk_builder_get_widget(builder,"KernelModulesLabel"); + widgets->KernelDescriptionLabel = yon_gtk_builder_get_widget(builder,"KernelDescriptionLabel"); + widgets->KernelSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"TagsSizeGroup")); + + widgets->KernelAddonListBox = yon_gtk_builder_get_widget(builder,"KernelAddonListBox"); + widgets->KernelAddonInstallLabel = yon_gtk_builder_get_widget(builder,"KernelAddonInstallLabel"); + widgets->KernelAddonNameLabel = yon_gtk_builder_get_widget(builder,"KernelAddonNameLabel"); + widgets->KernelAddonModulesLabel = yon_gtk_builder_get_widget(builder,"KernelAddonModulesLabel"); + widgets->KernelAddonDescriptionLabel = yon_gtk_builder_get_widget(builder,"KernelAddonDescriptionLabel"); + + widgets->OSSoftwareListBox = yon_gtk_builder_get_widget(builder,"OSSoftwareListBox"); + widgets->OSSoftwareInstallLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareInstallLabel"); + widgets->OSSoftwareNameLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareNameLabel"); + widgets->OSSoftwareTagsLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareTagsLabel"); + widgets->OSSoftwareDescriptionLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareDescriptionLabel"); + + widgets->PacmanSoftwareSearchEntry = yon_gtk_builder_get_widget(builder,"PacmanSoftwareSearchEntry"); + widgets->PacmanSoftwareStatusImage = yon_gtk_builder_get_widget(builder,"PacmanSoftwareStatusImage"); + widgets->PacmanSoftwareStatusLabel = yon_gtk_builder_get_widget(builder,"PacmanSoftwareStatusLabel"); + widgets->PacmanSoftwareStatusButton = yon_gtk_builder_get_widget(builder,"PacmanSoftwareStatusButton"); + + widgets->PacmanLoadingOverlay = yon_gtk_builder_get_widget(builder,"PacmanLoadingOverlay"); + widgets->PacmanSoftwareAllPackagesTree = yon_gtk_builder_get_widget(builder,"PacmanSoftwareAllPackagesTree"); + widgets->PacmanSoftwareAllList = GTK_LIST_STORE(gtk_builder_get_object(builder,"PacmanSoftwareAllList")); + widgets->PacmanSoftwareAllCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"PacmanSoftwareAllCell")); + + widgets->PacmanSoftwareChosenPackagesTree = yon_gtk_builder_get_widget(builder,"PacmanSoftwareChosenPackagesTree"); + widgets->PacmanSoftwareChosenList = GTK_LIST_STORE(gtk_builder_get_object(builder,"PacmanSoftwareChosenList")); + widgets->PacmanSoftwareChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"PacmanSoftwareChosenCell")); + + widgets->StartupImage = yon_gtk_builder_get_widget(builder,"StartupImage"); + widgets->StartupServicesTree = yon_gtk_builder_get_widget(builder,"StartupServicesTree"); + widgets->StartupServicesAddButton = yon_gtk_builder_get_widget(builder,"StartupServicesAddButton"); + widgets->StartupServicesEditButton = yon_gtk_builder_get_widget(builder,"StartupServicesEditButton"); + widgets->StartupServicesRemoveButton = yon_gtk_builder_get_widget(builder,"StartupServicesRemoveButton"); + widgets->StartupChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"StartupChosenCell")); + widgets->StartupList = GTK_LIST_STORE(gtk_builder_get_object(builder,"StartupList")); + + widgets->BootloaderImage = yon_gtk_builder_get_widget(builder,"BootloaderImage"); + widgets->BootloadTimerSwitch = yon_gtk_builder_get_widget(builder,"BootloadTimerSwitch"); + widgets->BootloadTimerSpin = yon_gtk_builder_get_widget(builder,"BootloadTimerSpin"); + widgets->BootloadDefaultOSEntry = yon_gtk_builder_get_widget(builder,"BootloadDefaultOSEntry"); + widgets->BootloadDefaulOSButton = yon_gtk_builder_get_widget(builder,"BootloadDefaulOSButton"); + widgets->BootloadNoPasswordSwitch = yon_gtk_builder_get_widget(builder,"BootloadNoPasswordSwitch"); + widgets->BootloadUserTree = yon_gtk_builder_get_widget(builder,"BootloadUserTree"); + widgets->BootloadUserAddButton = yon_gtk_builder_get_widget(builder,"BootloadUserAddButton"); + widgets->BootloadUserRemoveButton = yon_gtk_builder_get_widget(builder,"BootloadUserRemoveButton"); + widgets->BootloadUsersList = GTK_LIST_STORE(gtk_builder_get_object(builder,"BootloadUsersList")); + + widgets->NetworkImage = yon_gtk_builder_get_widget(builder,"NetworkImage"); + widgets->NetworkDomainSwitch = yon_gtk_builder_get_widget(builder,"NetworkDomainSwitch"); + widgets->NetworkDomainNameEntry = yon_gtk_builder_get_widget(builder,"NetworkDomainNameEntry"); + widgets->NetworkDomainAdminEntry = yon_gtk_builder_get_widget(builder,"NetworkDomainAdminEntry"); + widgets->NetworkDomainPasswordEntry = yon_gtk_builder_get_widget(builder,"NetworkDomainPasswordEntry"); + widgets->NetworkNTPServerSwitch = yon_gtk_builder_get_widget(builder,"NetworkNTPServerSwitch"); + widgets->NetworkNTPCombo = yon_gtk_builder_get_widget(builder,"NetworkNTPCombo"); + widgets->NetworkNTPEntry = yon_gtk_builder_get_widget(builder,"NetworkNTPEntry"); + widgets->NetworkConnectionsBox = yon_gtk_builder_get_widget(builder,"NetworkConnectionsBox"); + widgets->NetworkConnectionsAddButton = yon_gtk_builder_get_widget(builder,"NetworkConnectionsAddButton"); + widgets->HostnameSensitiveSwitch = yon_gtk_builder_get_widget(builder,"HostnameSensitiveSwitch"); + widgets->AutoHostnameCheck=yon_gtk_builder_get_widget(builder,"AutoHostnameCheck"); + widgets->network_connections = NULL; + widgets->pacmanchosen = g_hash_table_new_full(g_str_hash,g_str_equal,free,NULL); + + main_config.status_box = widgets->StatusBox; } g_signal_connect(G_OBJECT(widgets->MainWindow),"delete-event",G_CALLBACK(on_yon_exit),widgets); GtkWidget *menu = yon_gtk_builder_get_widget(builder,"menu2"); @@ -658,11 +695,6 @@ main_window *yon_main_window_complete(){ g_signal_connect(G_OBJECT(widgets->EnableVNCMenuItem),"activate",G_CALLBACK(on_vnc_toggled),widgets); - // g_signal_connect(G_OBJECT(widgets->SaveGlobalLocalConfigurationMenuItem),"activate",G_CALLBACK(on_config_global_local_save),widgets); - // g_signal_connect(G_OBJECT(widgets->SaveGlobalConfigurationMenuItem),"activate",G_CALLBACK(on_config_global_save),widgets); - // g_signal_connect(G_OBJECT(widgets->SaveLocalConfigurationMenuItem),"activate",G_CALLBACK(on_config_local_save),widgets); - // g_signal_connect(G_OBJECT(widgets->SaveExternalConfigurationMenuItem),"activate",G_CALLBACK(on_config_custom_save),widgets); - g_signal_connect(G_OBJECT(widgets->ReadFullLogButton),"clicked",G_CALLBACK(on_process_log_view),widgets); g_signal_connect(G_OBJECT(widgets->ReadShortLogButton),"clicked",G_CALLBACK(on_summary_log_view),widgets); @@ -689,8 +721,6 @@ main_window *yon_main_window_complete(){ g_signal_connect(G_OBJECT(widgets->OSDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); g_signal_connect(G_OBJECT(widgets->ConfigurationModeMenuItem),"toggled",G_CALLBACK(on_configuration_mode_switch),widgets); - // g_signal_connect(G_OBJECT(widgets->DocumentationMenuItem),"activate",G_CALLBACK(on_open_documentation_confirmation),widgets); - // g_signal_connect(G_OBJECT(widgets->AboutMenuItem),"activate",G_CALLBACK(on_about),widgets); g_signal_connect(G_OBJECT(widgets->SamePlacePartTree),"cursor-changed",G_CALLBACK(on_partition_changed),widgets); g_signal_connect(G_OBJECT(widgets->NextInstallationSysSectionTree),"cursor-changed",G_CALLBACK(on_partition_changed),widgets); @@ -703,6 +733,8 @@ main_window *yon_main_window_complete(){ g_signal_connect(G_OBJECT(widgets->BootloadDefaulOSButton),"clicked",G_CALLBACK(yon_menu_window_open),widgets); gtk_tree_model_filter_set_visible_column(GTK_TREE_MODEL_FILTER(widgets->LayoutsFilter),3); + g_signal_connect(G_OBJECT(widgets->LanguagesTree),"cursor-changed",G_CALLBACK(on_locale_changed),widgets); + g_signal_connect(G_OBJECT(widgets->CountryLanguagesTree),"cursor-changed",G_CALLBACK(on_locale_changed),widgets); // g_signal_connect(G_OBJECT(widgets->LanguageCombo),"changed",G_CALLBACK(on_locale_changed),widgets); g_signal_connect(G_OBJECT(widgets->AdditionalSoftwareCell),"toggled",G_CALLBACK(on_additional_software_toggled),widgets); g_signal_connect(G_OBJECT(widgets->StartupChosenCell),"toggled",G_CALLBACK(on_srartup_services_toggled),widgets); @@ -814,6 +846,38 @@ main_window *yon_main_window_complete(){ } else { gtk_widget_hide(widgets->StartScenarioButton); } + // char *locale = config(installer_lang_parameter); + // if (!yon_char_is_empty(locale)){ + // locale = setlocale(LC_ALL,NULL); + // } + // yon_ubl_window_init(TITLE_LABEL,DESCRIPTION_LABEL,locale,CssPath,LocaleName,version_application,WIKI_LINK); + set_locales_list(widgets); + // { + // char *parameter = config(installer_lang_parameter); + // if (yon_char_is_empty(parameter)){ + // parameter=setlocale(LC_ALL,NULL); + // } + // GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->LanguagesBox)); + // GList *iter; + // for (iter = list;iter;iter=iter->next){ + // char *lang = g_object_get_data(G_OBJECT(iter->data),"language"); + // if (!strcmp(lang,parameter)){ + // gtk_flow_box_select_child(GTK_FLOW_BOX(widgets->LanguagesBox),GTK_FLOW_BOX_CHILD(iter->data)); + // } + // } + // } +} + +/**yon_main_window_complete(main_window *widgets) + * [EN] + * + * [RU] + * Функция настройки основного окна приложения. [widgets] - структура со стандартным интерфейсом. +*/ +main_window *yon_main_window_complete(){ + main_window *widgets=NULL; + widgets = yon_remalloc(widgets,sizeof(main_window)); + yon_main_window_create(widgets); return widgets; } diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index e8d153b..455e5e1 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -59,6 +59,7 @@ #define licence_path "/usr/share/ublinux/agreement/EULA.txt" #define languages_path "/usr/share/ubinstall-gtk/csv/locales.csv" +#define installer_languages_path "resource:///com/ublinux/csv/languages.csv" #define zone_path "/usr/share/zoneinfo/" @@ -225,6 +226,8 @@ layout && /description:/ {\ #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) +#define installer_lang_parameter "AUTOINSTALL[installed_lang]" +#define installer_lang_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[installed_lang]" #define source_parameter "AUTOINSTALL[source]" #define source_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[source]" @@ -436,7 +439,9 @@ typedef struct { GtkWidget *SummaryToggle; GtkWidget *CompletionToggle; GtkWidget *InstallationToggle; - GtkWidget *LanguageCombo; + GtkWidget *LanguagesTree; + GtkWidget *CountryLanguagesTree; + // GtkWidget *LanguageCombo; GtkWidget *RegionCombo; GtkWidget *ZoneCombo; GtkWidget *AvailableLanguagesEntry; @@ -960,7 +965,7 @@ void on_separate_installation_changed(GtkWidget *self, main_window *widgets); void on_partition_changed(GtkWidget *self, main_window *widgets); void yon_set_max_size_from_partition(GtkTreeView *table, GtkSpinButton *spin_size, GtkComboBox *size_type); gboolean on_yon_exit(GtkWidget *,GdkEvent*, main_window *widgets); -void on_locale_changed(GtkWidget *,main_window *); +void on_locale_changed(GtkWidget *,GtkWidget *,main_window *); void on_region_changed(GtkComboBox *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); @@ -1119,4 +1124,6 @@ void yon_source_element_add(char *key,void*,source_window *window); source_element *yon_source_element_new(); void on_system_setup_pass(GtkWidget *, main_window *widgets); void yon_resize_images_update(main_window *widgets); -void on_vnc_toggled(GtkWidget *self, main_window *widgets); \ No newline at end of file +void on_vnc_toggled(GtkWidget *self, main_window *widgets); +void yon_main_window_create(main_window *widgets); +void set_locales_list(main_window *widgets); \ No newline at end of file diff --git a/ubinstall-gtk.glade b/ubinstall-gtk.glade index 1ed2597..de11f16 100644 --- a/ubinstall-gtk.glade +++ b/ubinstall-gtk.glade @@ -736,7 +736,6 @@ agreement True False - center vertical 20 @@ -777,32 +776,92 @@ and help you install UBLinux on your computer - + True False - center - center - 128 - /com/ublinux/images/language.png - - - False - True - 2 - - - - - False - center - 0 - - Русский - English - + vertical + 5 + + + True + False + center + center + 128 + /com/ublinux/images/language.png + + + False + True + 0 + + + + + True + False + 5 + + + True + True + never + in + 132 + + + True + True + False + + + + + + + + True + True + 0 + + + + + True + True + never + in + 132 + + + True + True + False + + + + + + + + + + + True + True + 1 + + + + + True + True + 1 + + - False + True True 3 @@ -810,7 +869,7 @@ and help you install UBLinux on your computer True - False + True 0