diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index 8aa5415..1cf125b 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -90,25 +90,25 @@ void _yon_saving_threaded(char *final_command){ file_return = yon_char_parsed_append(file_return,&file_save,final_command); char *result = yon_char_parsed_to_string(file_return,file_save,""); yon_debug_output("%s\n",result); - // yon_char_parsed_free(file_return,file_save); - // free(result); + yon_char_parsed_free(file_return,file_save); + free(result); } char *yon_save_command_prepare(char *command, char *target){ int size; config_str parsed = yon_char_parse(command,&size," "); - // free(parsed[2]); + free(parsed[2]); parsed[2]=yon_char_new(target); - // free(parsed[3]); + free(parsed[3]); parsed[3]=yon_char_new("set"); for (int i=5;iAvailableLanguagesEntry),chosen_langs); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->LanguagesSensitiveCheck),1); - // free(chosen_langs); + free(chosen_langs); } else { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->LanguagesSensitiveCheck),0); gtk_entry_set_text(GTK_ENTRY(widgets->AvailableLanguagesEntry),""); @@ -362,9 +362,9 @@ void yon_interface_update(main_window *widgets){ } else { gtk_list_store_set(widgets->LanguagesList,&iter,0,0,-1); } - // if (cur) free(cur); + if (cur) free(cur); } - // if (langsize) yon_char_parsed_free(lang,langsize); + if (langsize) yon_char_parsed_free(lang,langsize); // gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter)); } @@ -595,14 +595,14 @@ void on_config_custom_save(GtkWidget *, main_window *widgets){ } } path = yon_char_unite("'",file,"'",NULL); - // free(file); + free(file); gtk_widget_destroy(dialog); } else { gtk_widget_destroy(dialog); return; } yon_save_proceed(path,YON_CONFIG_CUSTOM); - // if (path) free(path); + if (path) free(path); gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_COMPLETED); } @@ -767,7 +767,7 @@ void on_language_window_accept(GtkWidget *,dictionary *dict){ if (yon_char_parsed_check_exist(lang_parsed,size,code)!=-1){ gtk_list_store_set(widgets->LanguagesList,&iter,0,1,-1); char *tmp = yon_char_unite(final,!yon_char_is_empty(final)?";":"",labl,NULL); - // if (!yon_char_is_empty(final)) free(final); + if (!yon_char_is_empty(final)) free(final); final = tmp; } else gtk_list_store_set(widgets->LanguagesList,&iter,0,0,-1); @@ -796,8 +796,8 @@ void on_language_window_accept(GtkWidget *,dictionary *dict){ if (yon_char_is_empty(final)) { gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->LanguagesCombo),-1); } - // if (final) free(final); - // yon_char_parsed_free(parsed,size); + if (final) free(final); + yon_char_parsed_free(parsed,size); } else gtk_entry_set_text(GTK_ENTRY(widgets->AvailableLanguagesEntry),""); @@ -904,27 +904,26 @@ int cur_slide=0; int yon_image_resize_from_container(GtkImage *target, GdkPixbuf *pixbuf_unscaled); int yon_image_resize_from_container(GtkImage *target, GdkPixbuf *pixbuf_unscaled) { - if (target&&pixbuf_unscaled){}; - // int width = gtk_widget_get_allocated_width((gtk_widget_get_parent(GTK_WIDGET(target)))); - // int height = gtk_widget_get_allocated_height((gtk_widget_get_parent(GTK_WIDGET(target)))); + int width = gtk_widget_get_allocated_width((gtk_widget_get_parent(GTK_WIDGET(target)))); + int height = gtk_widget_get_allocated_height((gtk_widget_get_parent(GTK_WIDGET(target)))); - // int newImgWidthDef = (width <= 217) ? width : width - 30; - // int newImgHeightDef = (height <= 120) ? height : height - 80; + int newImgWidthDef = (width <= 217) ? width : width - 30; + int newImgHeightDef = (height <= 120) ? height : height - 80; - // int originalWidth = gdk_pixbuf_get_width(pixbuf_unscaled); - // int originalHeight = gdk_pixbuf_get_height(pixbuf_unscaled); - // int newImgHeight = (int)(originalHeight / ((double) originalWidth / newImgWidthDef)); + int originalWidth = gdk_pixbuf_get_width(pixbuf_unscaled); + int originalHeight = gdk_pixbuf_get_height(pixbuf_unscaled); + int newImgHeight = (int)(originalHeight / ((double) originalWidth / newImgWidthDef)); - // if (newImgHeight > newImgHeightDef) { - // newImgHeight = newImgHeightDef; - // newImgWidthDef = (int)(originalWidth / ((double) originalHeight / newImgHeight)); - // } - // int newImageWidth = (int)(originalWidth / ((double) originalHeight / newImgHeight)); + if (newImgHeight > newImgHeightDef) { + newImgHeight = newImgHeightDef; + newImgWidthDef = (int)(originalWidth / ((double) originalHeight / newImgHeight)); + } + int newImageWidth = (int)(originalWidth / ((double) originalHeight / newImgHeight)); - // GdkPixbuf *scaledPixBuf = gdk_pixbuf_scale_simple(pixbuf_unscaled, newImageWidth, newImgHeight, GDK_INTERP_BILINEAR); - // gtk_image_set_from_pixbuf(target, scaledPixBuf); + GdkPixbuf *scaledPixBuf = gdk_pixbuf_scale_simple(pixbuf_unscaled, newImageWidth, newImgHeight, GDK_INTERP_BILINEAR); + gtk_image_set_from_pixbuf(target, scaledPixBuf); - // g_object_unref(scaledPixBuf); + g_object_unref(scaledPixBuf); return 1; } @@ -968,10 +967,10 @@ gboolean on_image_slide(void *data){ main_window *widgets = (main_window*)data; int size; config_str target = yon_char_parsed_new(&size,slide_repeat_path); - if (size) - yon_char_parsed_free(target,size); + // if (size) + // yon_char_parsed_free(target,size); gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->SlidesImage),widgets->slides_original[cur_slide]); - gtk_widget_queue_draw(widgets->SlidesImage); + // gtk_widget_queue_draw(widgets->SlidesImage); if (cur_slidePackageInstallationProgress), fraction); gtk_label_set_text(GTK_LABEL(widgets->PackageInstallationLabel), yon_char_parsed_to_string(parsed, size, " ")); } - // yon_char_parsed_free(parsed, size); + yon_char_parsed_free(parsed, size); } - // free(current_copy); - // free(percentage); + free(current_copy); + free(percentage); } - // yon_char_parsed_free(text, size); + yon_char_parsed_free(text, size); } if (main_config.install_thread) { @@ -1097,14 +1096,14 @@ void on_page_changed(GtkWidget *,GtkWidget *,int page, main_window *widgets){ } break; case YON_PAGE_REGION: { - yon_image_resize_from_container(GTK_IMAGE(widgets->RegionImage), widgets->regions_original); + // 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); + // yon_image_resize_from_container(GTK_IMAGE(widgets->KeyboardImage), widgets->keyboard_original); } break; case YON_PAGE_OS_COMPONENTS: @@ -1121,7 +1120,7 @@ void on_page_changed(GtkWidget *,GtkWidget *,int page, main_window *widgets){ if (main_config.config_save_thread&&!main_config.configure_mode) g_thread_join(main_config.config_save_thread); if (!main_config.progress_thread&&!main_config.configure_mode) - // main_config.progress_thread = gdk_threads_add_timeout(500,(GSourceFunc)yon_installation_progress_update,widgets); + 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); @@ -1253,9 +1252,9 @@ void *on_setup_system_configuration(void * data){ char *parameter_string = yon_char_parsed_to_string(all_parameters,size," "); char *command = set_user_config_command(parameter_string); if (system(yon_debug_output("%s\n",command))){}; - // yon_char_parsed_free(all_parameters,size); - // free(command); - // if (parameter_string) free(parameter_string); + yon_char_parsed_free(all_parameters,size); + free(command); + if (parameter_string) free(parameter_string); } g_thread_new("success func",(GThreadFunc)on_install_success,widgets); return NULL; @@ -1269,7 +1268,7 @@ void on_log_closed(GtkWidget *, dictionary *dict){ gtk_widget_set_sensitive(widgets->ReadFullLogButton,1); gtk_widget_set_sensitive(widgets->ReadShortLogButton,1); - // free(window->command); + free(window->command); window->Window=NULL; } @@ -1297,9 +1296,9 @@ void *on_save_system_configuration(void * data){ char *parameter_string = yon_char_parsed_to_string(all_parameters,size," "); char *command = save_additional_config_command(parameter_string); if (system(yon_debug_output("%s\n",command))){}; - // yon_char_parsed_free(all_parameters,size); - // free(command); - // if (parameter_string) free(parameter_string); + yon_char_parsed_free(all_parameters,size); + free(command); + if (parameter_string) free(parameter_string); } return NULL; } @@ -1333,8 +1332,8 @@ gboolean yon_read_log(void *data){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->ScrollToEndCheck))){ gtk_adjustment_set_value(gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(window->ScrollWindow)),gtk_adjustment_get_upper(gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(window->ScrollWindow)))); } - // free(final); - // yon_char_parsed_free(parsed,size); + free(final); + yon_char_parsed_free(parsed,size); } yon_debug_output("%s\n","Log read"); if (!main_config.install_complete){ @@ -1388,8 +1387,8 @@ void yon_install_options_save(GtkWidget *device_tree, GtkWidget *part_tree,char yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,mode); yon_config_register(part_parameter,part_parameter_command,cur_section); - // if(cur_section) free(cur_section); - // if(cur_device) free(cur_device); + if(cur_section) free(cur_section); + if(cur_device) free(cur_device); if (!main_config.configure_mode) gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION_BEGIN); else @@ -1444,84 +1443,84 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){ } }break; case YON_PAGE_REGION:{ //region - // gtk_widget_set_sensitive(widgets->BackButton,1); - // if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->RegionCombo))==-1){ - // yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),REGION_EMPTY_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); - // yon_ubl_status_highlight_incorrect(widgets->RegionCombo); - // return; - // } else if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->ZoneCombo))==-1){ - // yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),ZONE_EMPTY_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); - // yon_ubl_status_highlight_incorrect(widgets->ZoneCombo); - // return; - // } - // char *languages = ""; - // GtkTreeIter iter; - // GtkTreeModel *model = GTK_TREE_MODEL(widgets->LanguagesFilter); - // char *lang_code=NULL; - // for_iter(model,&iter){ - // gtk_tree_model_get(model,&iter,2,&lang_code,-1); - // languages = yon_char_unite(languages,!yon_char_is_empty(languages)?",":"",lang_code,NULL); - // } - // if (yon_char_is_empty(languages)||!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->MainLanguageSensitiveCheck))){ - // yon_config_remove_by_key(locale_parameter); - // } else { - // yon_config_register(locale_parameter,locale_parameter_command,languages); - // free(languages); - // } - // if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->LanguagesCombo))==-1||!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->LanguagesSensitiveCheck))){ - // yon_config_remove_by_key(lang_parameter); - // } else { - // char *language = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->LanguagesCombo)); - // yon_config_register(lang_parameter,lang_parameter_command,language); - // } - // if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RegionSensitiveCheck))){ - // char *region = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->RegionCombo)); - // char *zone = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->ZoneCombo)); - // yon_debug_output("%s",region); - // yon_debug_output("/%s\n\n",zone); - // yon_config_register(zone_parameter,zone_parameter_command,yon_char_unite(region,"/",zone,NULL)); - // } else { - // yon_config_remove_by_key(zone_parameter); - // } + gtk_widget_set_sensitive(widgets->BackButton,1); + if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->RegionCombo))==-1){ + yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),REGION_EMPTY_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(widgets->RegionCombo); + return; + } else if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->ZoneCombo))==-1){ + yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),ZONE_EMPTY_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(widgets->ZoneCombo); + return; + } + char *languages = ""; + GtkTreeIter iter; + GtkTreeModel *model = GTK_TREE_MODEL(widgets->LanguagesFilter); + char *lang_code=NULL; + for_iter(model,&iter){ + gtk_tree_model_get(model,&iter,2,&lang_code,-1); + languages = yon_char_unite(languages,!yon_char_is_empty(languages)?",":"",lang_code,NULL); + } + if (yon_char_is_empty(languages)||!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->MainLanguageSensitiveCheck))){ + yon_config_remove_by_key(locale_parameter); + } else { + yon_config_register(locale_parameter,locale_parameter_command,languages); + free(languages); + } + if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->LanguagesCombo))==-1||!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->LanguagesSensitiveCheck))){ + yon_config_remove_by_key(lang_parameter); + } else { + char *language = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->LanguagesCombo)); + yon_config_register(lang_parameter,lang_parameter_command,language); + } + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RegionSensitiveCheck))){ + char *region = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->RegionCombo)); + char *zone = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->ZoneCombo)); + yon_debug_output("%s",region); + yon_debug_output("/%s\n\n",zone); + yon_config_register(zone_parameter,zone_parameter_command,yon_char_unite(region,"/",zone,NULL)); + } else { + yon_config_remove_by_key(zone_parameter); + } gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),page+1); }break; case YON_PAGE_KEYBOARD: { //keyboard - // gtk_widget_set_sensitive(widgets->BackButton,1); - // if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->ManualLayoutRadio))){ - // GtkTreeIter iter; - // if (!gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->LayoutList),&iter)){ - // yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),LAYOUTS_CHOSEN_BUT_EMPTY_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); - // yon_ubl_status_highlight_incorrect(widgets->ManualLayoutRadio); - // yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->LayoutTree)); - // } - // } - // char *layouts_list=""; - // if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->ManualLayoutRadio))&>k_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->LayoutSensitiveCheck))){ - // GtkTreeModel *layouts_model=GTK_TREE_MODEL(widgets->LayoutList); - // GtkTreeIter iter; - // char *cur_layout=NULL; - // for_iter(layouts_model,&iter){ - // int chosen=0; - // gtk_tree_model_get(layouts_model,&iter,0,&cur_layout,3,&chosen,-1); - // if (chosen) - // layouts_list = yon_char_unite(layouts_list,yon_char_is_empty(layouts_list)?"":",",cur_layout,NULL); - // } - // } else { - // yon_config_remove_by_key(xkblayout_parameter); - // } - // if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->KeyboardModelCombo))&>k_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->KeyboardModelSensitiveCheck))){ - // char *model = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->KeyboardModelCombo)); - // // char *layout_switch; - // if (!yon_char_is_empty(model)) - // yon_config_register(xkbmodel_parameter,xkbmodel_parameter_command,model); - // } else{ - // yon_config_remove_by_key(xkbmodel_parameter); - // } - // if (yon_char_is_empty(layouts_list)&>k_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->LayoutSensitiveCheck))) - // yon_config_register(xkblayout_parameter,xkblayout_parameter_command,layouts_list); - // else - // yon_config_remove_by_key(xkblayout_parameter); + gtk_widget_set_sensitive(widgets->BackButton,1); + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->ManualLayoutRadio))){ + GtkTreeIter iter; + if (!gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->LayoutList),&iter)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),LAYOUTS_CHOSEN_BUT_EMPTY_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(widgets->ManualLayoutRadio); + yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->LayoutTree)); + } + } + char *layouts_list=""; + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->ManualLayoutRadio))&>k_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->LayoutSensitiveCheck))){ + GtkTreeModel *layouts_model=GTK_TREE_MODEL(widgets->LayoutList); + GtkTreeIter iter; + char *cur_layout=NULL; + for_iter(layouts_model,&iter){ + int chosen=0; + gtk_tree_model_get(layouts_model,&iter,0,&cur_layout,3,&chosen,-1); + if (chosen) + layouts_list = yon_char_unite(layouts_list,yon_char_is_empty(layouts_list)?"":",",cur_layout,NULL); + } + } else { + yon_config_remove_by_key(xkblayout_parameter); + } + if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->KeyboardModelCombo))&>k_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->KeyboardModelSensitiveCheck))){ + char *model = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->KeyboardModelCombo)); + // char *layout_switch; + if (!yon_char_is_empty(model)) + yon_config_register(xkbmodel_parameter,xkbmodel_parameter_command,model); + } else{ + yon_config_remove_by_key(xkbmodel_parameter); + } + if (yon_char_is_empty(layouts_list)&>k_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->LayoutSensitiveCheck))) + yon_config_register(xkblayout_parameter,xkblayout_parameter_command,layouts_list); + else + yon_config_remove_by_key(xkblayout_parameter); gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),page+1); } break; @@ -1532,30 +1531,30 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){ }break; case YON_PAGE_INSTALL_COMMON: { - // GtkTreeModel *model; - // GtkTreeIter iter; - // if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->CommonInstallationDevicesTree)),&model,&iter)){ - // yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); - // yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->CommonInstallationDevicesTree)); - // return; - // } - // char *file_system_type = (char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(widgets->CommonInstallationFilesystemTypeCombo)); - // char *device_name = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->CommonInstallationSectionNameEntry)); - // char *device; - // yon_config_remove_by_key(part_parameter); - // gtk_tree_model_get(model,&iter,0,&device,-1); - // yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"fast"); - // yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,device); - // if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->CommonSectionSensitiveCheck))){ - // yon_config_register(device_label_parameter,device_label_parameter_command,device_name); - // } else { - // yon_config_remove_by_key(device_label_parameter); - // } - // if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->CommonFilesystemSensitiveCheck))){ - // yon_config_register(part_type_parameter,part_type_parameter_command,file_system_type); - // } else { - // yon_config_remove_by_key(part_type_parameter); - // } + GtkTreeModel *model; + GtkTreeIter iter; + if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->CommonInstallationDevicesTree)),&model,&iter)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->CommonInstallationDevicesTree)); + return; + } + char *file_system_type = (char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(widgets->CommonInstallationFilesystemTypeCombo)); + char *device_name = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->CommonInstallationSectionNameEntry)); + char *device; + yon_config_remove_by_key(part_parameter); + gtk_tree_model_get(model,&iter,0,&device,-1); + yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"fast"); + yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,device); + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->CommonSectionSensitiveCheck))){ + yon_config_register(device_label_parameter,device_label_parameter_command,device_name); + } else { + yon_config_remove_by_key(device_label_parameter); + } + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->CommonFilesystemSensitiveCheck))){ + yon_config_register(part_type_parameter,part_type_parameter_command,file_system_type); + } else { + yon_config_remove_by_key(part_type_parameter); + } if (!main_config.configure_mode) gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION_BEGIN); @@ -1673,112 +1672,112 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){ case YON_PAGE_USERS:{ //users - // if (yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->UserNameEntry)))||!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->UsernameSensitiveCheck))){ - // yon_config_remove_by_key(user_gecos_parameter); - // } else { - // char *username = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->UserNameEntry)); - // yon_config_register(user_gecos_parameter,user_gecos_parameter_command,username); - // } - - // if (yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->LoginEntry)))||!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->LoginSensitiveCheck))){ - // yon_config_remove_by_key(user_name_parameter); - // } else { - // char *login = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->LoginEntry)); - // yon_config_register(user_name_parameter,user_name_parameter_command,login); - - // } - - // if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->PasswordSensitiveCheck))){ - // if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->PasswordCombo))==1){ - // if (yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->PasswordEntry)))){ - // yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); - // yon_ubl_status_highlight_incorrect(widgets->PasswordEntry); - // return; - // } else { - // char *password = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->PasswordEntry)); + if (yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->UserNameEntry)))||!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->UsernameSensitiveCheck))){ + yon_config_remove_by_key(user_gecos_parameter); + } else { + char *username = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->UserNameEntry)); + yon_config_register(user_gecos_parameter,user_gecos_parameter_command,username); + } + + if (yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->LoginEntry)))||!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->LoginSensitiveCheck))){ + yon_config_remove_by_key(user_name_parameter); + } else { + char *login = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->LoginEntry)); + yon_config_register(user_name_parameter,user_name_parameter_command,login); + + } + + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->PasswordSensitiveCheck))){ + if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->PasswordCombo))==1){ + if (yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->PasswordEntry)))){ + yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(widgets->PasswordEntry); + return; + } else { + char *password = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->PasswordEntry)); - // yon_config_register(user_password_parameter,user_password_parameter_command,password); + yon_config_register(user_password_parameter,user_password_parameter_command,password); - // } - // } else { - // yon_config_remove_by_key(user_password_parameter); - // } - // }else { - // yon_config_remove_by_key(user_password_parameter); - - // } - - // if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RootPasswordSensitiveCheck))){ - // if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->AdminPasswordCombo))==1){ - // if (yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->AdminPasswordEntry)))){ - // yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); - // yon_ubl_status_highlight_incorrect(widgets->AdminPasswordEntry); - // return; - // } else { - // char *root_password = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->AdminPasswordEntry)); - // yon_config_register(root_password_parameter,root_password_parameter_command,root_password); + } + } else { + yon_config_remove_by_key(user_password_parameter); + } + }else { + yon_config_remove_by_key(user_password_parameter); + + } + + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RootPasswordSensitiveCheck))){ + if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->AdminPasswordCombo))==1){ + if (yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->AdminPasswordEntry)))){ + yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(widgets->AdminPasswordEntry); + return; + } else { + char *root_password = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->AdminPasswordEntry)); + yon_config_register(root_password_parameter,root_password_parameter_command,root_password); - // } - // } else { - // yon_config_remove_by_key(root_password_parameter); - // } - // } else { - // yon_config_remove_by_key(root_password_parameter); - // } - - // if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->HostnameSensitiveCheck))){ - // if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->AutoHostnameCheck))){ - // yon_config_register(hostname_parameter,hostname_parameter_command,"auto"); - // } else { - // if (!yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->HotnameEntry)))){ - // char *hostname = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->HotnameEntry)); - // yon_config_register(hostname_parameter,hostname_parameter_command,hostname); - - // } else { - // yon_config_remove_by_key(hostname_parameter); + } + } else { + yon_config_remove_by_key(root_password_parameter); + } + } else { + yon_config_remove_by_key(root_password_parameter); + } + + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->HostnameSensitiveCheck))){ + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->AutoHostnameCheck))){ + yon_config_register(hostname_parameter,hostname_parameter_command,"auto"); + } else { + if (!yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->HotnameEntry)))){ + char *hostname = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->HotnameEntry)); + yon_config_register(hostname_parameter,hostname_parameter_command,hostname); + + } else { + yon_config_remove_by_key(hostname_parameter); - // } - // } - // } else { - // yon_config_remove_by_key(hostname_parameter); - // } + } + } + } else { + yon_config_remove_by_key(hostname_parameter); + } - // if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->AutologinSensitiveCheck))){ - // char *autologin = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->AutologinCheck))?"yes":"no"; - // yon_config_register(autologin_parameter,autologin_parameter_command,autologin); - // } else { - // yon_config_remove_by_key(autologin_parameter); - // } - - // if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->LayoutSensitiveCheck))){ - // GtkTreeIter iter; - // if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->LayoutsFilter),&iter)){ - // char *locales=""; - // for_iter (GTK_TREE_MODEL(widgets->LayoutsFilter),&iter){ - // char *id; - // int status; - // gtk_tree_model_get(GTK_TREE_MODEL(widgets->LayoutsFilter),&iter,0,&id,3,&status,-1); - // if (status){ - // char *temp = yon_char_unite(locales,!yon_char_is_empty(locales)?",":"",id,NULL); - // locales=temp; - // } - // } - // if (!yon_char_is_empty(locales)){ - // yon_config_register(xkblayout_parameter,xkblayout_parameter_command,locales); - // } else { - // yon_config_remove_by_key(xkblayout_parameter); - // } - // } - // } else { - // yon_config_remove_by_key(xkblayout_parameter); - // } - - // if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->LayoutBindingCombo))&>k_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->OptionsSensitiveCheck))){ - // char *options = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->LayoutBindingCombo)); - // yon_config_register(xkboptions_parameter,xkboptions_parameter_command,options); - // } else { - // yon_config_remove_by_key(xkboptions_parameter); - // } + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->AutologinSensitiveCheck))){ + char *autologin = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->AutologinCheck))?"yes":"no"; + yon_config_register(autologin_parameter,autologin_parameter_command,autologin); + } else { + yon_config_remove_by_key(autologin_parameter); + } + + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->LayoutSensitiveCheck))){ + GtkTreeIter iter; + if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->LayoutsFilter),&iter)){ + char *locales=""; + for_iter (GTK_TREE_MODEL(widgets->LayoutsFilter),&iter){ + char *id; + int status; + gtk_tree_model_get(GTK_TREE_MODEL(widgets->LayoutsFilter),&iter,0,&id,3,&status,-1); + if (status){ + char *temp = yon_char_unite(locales,!yon_char_is_empty(locales)?",":"",id,NULL); + locales=temp; + } + } + if (!yon_char_is_empty(locales)){ + yon_config_register(xkblayout_parameter,xkblayout_parameter_command,locales); + } else { + yon_config_remove_by_key(xkblayout_parameter); + } + } + } else { + yon_config_remove_by_key(xkblayout_parameter); + } + + if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->LayoutBindingCombo))&>k_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->OptionsSensitiveCheck))){ + char *options = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->LayoutBindingCombo)); + yon_config_register(xkboptions_parameter,xkboptions_parameter_command,options); + } else { + yon_config_remove_by_key(xkboptions_parameter); + } if (!main_config.configure_mode){ yon_debug_output("%s\n","Entered saving"); @@ -1830,116 +1829,116 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){ return; break; - // case YON_PAGE_INSTALL_OPTIONS: { - // int mode = -1; - // if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->GrubInstallRadio))){ - // mode = 0; - // } else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->GrubUpdateRadio))){ - // mode = 1; - // } else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->SeparateRadio))){ - // mode = 2; - // } else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->OSRadio))){ - // mode = 3; - // } else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->UserDataOnlyRadio))){ - // mode = 4; - // } - // switch(mode){ - // case 0: gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_OPTIONS_GRUB_INSTALL); - // break; - // case 1: gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_OPTIONS_GRUB_UPDATE); - // break; - // case 2: gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_OPTIONS_SEPARATE); - // break; - // case 3: gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_OPTIONS_OS_ONLY); - // break; - // case 4: gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_OPTIONS_USRDATA_ONLY); - // break; - // } - // } break; - - // case YON_PAGE_OPTIONS_GRUB_INSTALL:{ - // GtkTreeIter iter; - // GtkTreeModel *model; - // if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GrubInstallDevicesTree)),&model,&iter)){ - // char *cur_device; - // gtk_tree_model_get(model,&iter,0,&cur_device,-1); - // yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,cur_device); - // yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"grub_install"); - // yon_config_remove_by_key(part_parameter); - // if (!main_config.configure_mode) - // gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION_BEGIN); - // else - // gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_REGION); - // } else { - // yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); - // yon_ubl_status_highlight_incorrect(widgets->GrubInstallDevicesTree); - // } - // } break; - - // case YON_PAGE_OPTIONS_GRUB_UPDATE:{ - // GtkTreeIter iter; - // GtkTreeModel *model; - // if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GrubUpdateDevicesTree)),&model,&iter)){ - // char *cur_device; - // gtk_tree_model_get(model,&iter,0,&cur_device,-1); - // yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,cur_device); - // yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"grub_update"); - // yon_config_remove_by_key(part_parameter); - // if (!main_config.configure_mode) - // gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION_BEGIN); - // else - // gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_REGION); - // } else { - // yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); - // yon_ubl_status_highlight_incorrect(widgets->GrubUpdateDevicesTree); - // } - // }break; - - // case YON_PAGE_OPTIONS_SEPARATE:{ - // GtkTreeModel *model; - // GtkTreeIter iter; - // if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SeparateSysSectionTree)),&model,&iter)){ - // yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); - // yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->SeparateSysSectionTree)); - // return; - // } - // gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_OPTIONS_SEPARATE_USRDATA); - // }break; - - // case YON_PAGE_OPTIONS_SEPARATE_USRDATA:{ - // GtkTreeIter iter,itar; - // GtkTreeModel *model,*model2; - // if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SeparateDevicesTree)),&model,&iter)){ - // if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SeparateSysSectionTree)),&model2,&itar)){ - // char *cur_device, *system_section, *user_section; - // gtk_tree_model_get(model,&iter,0,&cur_device,-1); - // gtk_tree_model_get(model2,&itar,0,&system_section,-1); - // if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SeparateUserSysSectionTree)),&model2,&itar)){ - // gtk_tree_model_get(model2,&itar,0,&user_section,-1); - // yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,cur_device); - // yon_config_register(part_parameter,part_parameter_command,yon_char_unite(system_section,",",user_section,NULL)); - // yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"custom"); - // gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION_BEGIN); - // return; - // } else { - - // } - // } else { - - // } - // } else { - - // } + case YON_PAGE_INSTALL_OPTIONS: { + int mode = -1; + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->GrubInstallRadio))){ + mode = 0; + } else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->GrubUpdateRadio))){ + mode = 1; + } else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->SeparateRadio))){ + mode = 2; + } else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->OSRadio))){ + mode = 3; + } else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->UserDataOnlyRadio))){ + mode = 4; + } + switch(mode){ + case 0: gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_OPTIONS_GRUB_INSTALL); + break; + case 1: gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_OPTIONS_GRUB_UPDATE); + break; + case 2: gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_OPTIONS_SEPARATE); + break; + case 3: gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_OPTIONS_OS_ONLY); + break; + case 4: gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_OPTIONS_USRDATA_ONLY); + break; + } + } break; + + case YON_PAGE_OPTIONS_GRUB_INSTALL:{ + GtkTreeIter iter; + GtkTreeModel *model; + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GrubInstallDevicesTree)),&model,&iter)){ + char *cur_device; + gtk_tree_model_get(model,&iter,0,&cur_device,-1); + yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,cur_device); + yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"grub_install"); + yon_config_remove_by_key(part_parameter); + if (!main_config.configure_mode) + gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION_BEGIN); + else + gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_REGION); + } else { + yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(widgets->GrubInstallDevicesTree); + } + } break; + + case YON_PAGE_OPTIONS_GRUB_UPDATE:{ + GtkTreeIter iter; + GtkTreeModel *model; + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GrubUpdateDevicesTree)),&model,&iter)){ + char *cur_device; + gtk_tree_model_get(model,&iter,0,&cur_device,-1); + yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,cur_device); + yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"grub_update"); + yon_config_remove_by_key(part_parameter); + if (!main_config.configure_mode) + gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION_BEGIN); + else + gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_REGION); + } else { + yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(widgets->GrubUpdateDevicesTree); + } + }break; + + case YON_PAGE_OPTIONS_SEPARATE:{ + GtkTreeModel *model; + GtkTreeIter iter; + if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SeparateSysSectionTree)),&model,&iter)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->SeparateSysSectionTree)); + return; + } + gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_OPTIONS_SEPARATE_USRDATA); + }break; + + case YON_PAGE_OPTIONS_SEPARATE_USRDATA:{ + GtkTreeIter iter,itar; + GtkTreeModel *model,*model2; + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SeparateDevicesTree)),&model,&iter)){ + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SeparateSysSectionTree)),&model2,&itar)){ + char *cur_device, *system_section, *user_section; + gtk_tree_model_get(model,&iter,0,&cur_device,-1); + gtk_tree_model_get(model2,&itar,0,&system_section,-1); + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SeparateUserSysSectionTree)),&model2,&itar)){ + gtk_tree_model_get(model2,&itar,0,&user_section,-1); + yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,cur_device); + yon_config_register(part_parameter,part_parameter_command,yon_char_unite(system_section,",",user_section,NULL)); + yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"custom"); + gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION_BEGIN); + return; + } else { + + } + } else { + + } + } else { + + } - // } break; + } break; - // case YON_PAGE_OPTIONS_OS_ONLY:{ - // yon_install_options_save(widgets->OSDevicesTree,widgets->OSSysSectionTree,"system_only",widgets); - // } break; + case YON_PAGE_OPTIONS_OS_ONLY:{ + yon_install_options_save(widgets->OSDevicesTree,widgets->OSSysSectionTree,"system_only",widgets); + } break; - // case YON_PAGE_OPTIONS_USRDATA_ONLY:{ - // yon_install_options_save(widgets->UserdataDevicesTree,widgets->UserdataSysSectionTree,"data_only",widgets); - // } break; + case YON_PAGE_OPTIONS_USRDATA_ONLY:{ + yon_install_options_save(widgets->UserdataDevicesTree,widgets->UserdataSysSectionTree,"data_only",widgets); + } break; } } break; case -1: { // Previous @@ -2013,10 +2012,10 @@ void on_region_changed(GtkComboBox *self, main_window *widgets){ for (int i=0;iZoneCombo),parsed[i],_(parsed[i])); } - // if (size) yon_char_parsed_free(parsed,size); + if (size) yon_char_parsed_free(parsed,size); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->ZoneCombo),0); } - // free(active); + free(active); } void on_locale_changed(GtkWidget *,main_window *); @@ -2205,7 +2204,7 @@ void on_near_installation_device_changed(GtkWidget *self, main_window *widgets){ gtk_list_store_append(widgets->PartitionsList,&iter); gtk_list_store_set(widgets->PartitionsList,&iter,0,json_object_get_string(path),1,json_object_get_string(size),2,free_space_string,3,json_object_get_string(fstype),-1); } - // yon_char_parsed_free(parsed,size); + yon_char_parsed_free(parsed,size); } } @@ -2244,7 +2243,7 @@ void on_same_installation_device_changed(GtkWidget *, main_window *widgets){ gtk_list_store_append(widgets->PartitionsList,&iter); gtk_list_store_set(widgets->PartitionsList,&iter,0,json_object_get_string(path),1,json_object_get_string(model),2,json_object_get_string(serial),3,json_object_get_string(size),4,json_object_get_string(vendor),-1); } - // yon_char_parsed_free(parsed,size); + yon_char_parsed_free(parsed,size); } } @@ -2264,10 +2263,9 @@ void on_exit_accepted(GtkWidget *,dictionary *dict){ } main_config.exit_accepted=1; g_signal_emit_by_name(G_OBJECT(widgets->MainWindow),"delete-event",widgets->MainWindow,NULL); - // free(window); - // yon_dictionary_free_all(dict,NULL); - // free(dict); - if (window){}; + free(window); + yon_dictionary_free_all(dict,NULL); + free(dict); gtk_widget_destroy(widgets->MainWindow); } @@ -2494,7 +2492,7 @@ main_window *yon_main_window_complete(){ g_signal_connect(G_OBJECT(widgets->GpartedNearButton),"clicked",G_CALLBACK(on_gparted_open),NULL); g_signal_connect(G_OBJECT(widgets->Notebook),"switch-page",G_CALLBACK(on_page_changed),widgets); - g_signal_connect(G_OBJECT(widgets->MainWindow),"check-resize",G_CALLBACK(on_region_resized),widgets); + // g_signal_connect(G_OBJECT(widgets->MainWindow),"check-resize",G_CALLBACK(on_region_resized),widgets); g_signal_connect(G_OBJECT(widgets->BackButton),"clicked",G_CALLBACK(on_page_navigation_clicked),widgets); g_signal_connect(G_OBJECT(widgets->NextButton),"clicked",G_CALLBACK(on_page_navigation_clicked),widgets); g_signal_connect(G_OBJECT(widgets->CancelInstallButton),"clicked",G_CALLBACK(on_page_navigation_clicked),widgets); @@ -2549,148 +2547,148 @@ main_window *yon_main_window_complete(){ gtk_window_set_title(GTK_WINDOW(widgets->MainWindow),TITLE_LABEL); gtk_window_set_icon_name(GTK_WINDOW(widgets->MainWindow),icon_path); - // int size; - // config_str parsed = yon_file_open(licence_path,&size); - // if (size){ - // char *licence = yon_char_parsed_to_string(parsed,size,""); - // gtk_label_set_text(GTK_LABEL(widgets->LicenceLabel),licence); - // // free(licence); - // // yon_char_parsed_free(parsed,size); - // } - - // config_str slides = yon_char_parsed_new(&size,slide_repeat_path); - // widgets->regions_original = gdk_pixbuf_new_from_resource(regions_path,NULL); - // widgets->keyboard_original = gdk_pixbuf_new_from_resource(keyboard_path,NULL); - // widgets->slides_original = malloc(sizeof(GdkPixbuf*)*size); - // widgets->slides_original[0] = gdk_pixbuf_new_from_resource(slide_0_path,NULL); - // for (int i=1;islides_original[i] = gdk_pixbuf_new_from_resource(slides[i-1],NULL); - // } - // // yon_char_parsed_free(slides,size); - // int width = gdk_pixbuf_get_width(widgets->regions_original); - // int height = gdk_pixbuf_get_height(widgets->regions_original); - // widgets->region_height_mult = (float)height/width; - // GdkPixbuf *pix = gdk_pixbuf_scale_simple(widgets->regions_original,600,400,GDK_INTERP_BILINEAR); - // gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->RegionImage),pix); + int size; + config_str parsed = yon_file_open(licence_path,&size); + if (size){ + char *licence = yon_char_parsed_to_string(parsed,size,""); + gtk_label_set_text(GTK_LABEL(widgets->LicenceLabel),licence); + free(licence); + yon_char_parsed_free(parsed,size); + } + + config_str slides = yon_char_parsed_new(&size,slide_repeat_path); + widgets->regions_original = gdk_pixbuf_new_from_resource(regions_path,NULL); + widgets->keyboard_original = gdk_pixbuf_new_from_resource(keyboard_path,NULL); + widgets->slides_original = malloc(sizeof(GdkPixbuf*)*size); + widgets->slides_original[0] = gdk_pixbuf_new_from_resource(slide_0_path,NULL); + for (int i=1;islides_original[i] = gdk_pixbuf_new_from_resource(slides[i-1],NULL); + } + yon_char_parsed_free(slides,size); + int width = gdk_pixbuf_get_width(widgets->regions_original); + int height = gdk_pixbuf_get_height(widgets->regions_original); + widgets->region_height_mult = (float)height/width; + GdkPixbuf *pix = gdk_pixbuf_scale_simple(widgets->regions_original,600,400,GDK_INTERP_BILINEAR); + gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->RegionImage),pix); // g_object_unref(pix); - // pix = gdk_pixbuf_scale_simple(widgets->keyboard_original,600,400,GDK_INTERP_BILINEAR); - // gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->KeyboardImage),pix); + pix = gdk_pixbuf_scale_simple(widgets->keyboard_original,600,400,GDK_INTERP_BILINEAR); + gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->KeyboardImage),pix); // g_object_unref(pix); - // pix = gdk_pixbuf_scale_simple(widgets->slides_original[0],600,400,GDK_INTERP_BILINEAR); - // gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->SlidesImage),pix); + pix = gdk_pixbuf_scale_simple(widgets->slides_original[0],600,400,GDK_INTERP_BILINEAR); + gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->SlidesImage),pix); // g_object_unref(pix); - // int langsize; - // config_str lang = default_langs(&langsize); - - // GtkTreeIter iter; - // gtk_list_store_clear(widgets->LanguagesList); - // parsed = yon_file_open(languages_path,&size); - // for (int i=0;iLanguagesList,&iter); - // gtk_list_store_set(widgets->LanguagesList,&iter,0,0,1,_(cur[1]),2,cur[0],-1); - // } - // // yon_char_parsed_free(cur,cur_size); - // } - // // yon_char_parsed_free(parsed,size); - // if (lang) - // // yon_char_parsed_free(lang,langsize); - - // parsed = yon_dir_get_contents(zone_path,&size); - // for (int i=0;iRegionCombo),parsed[i],_(parsed[i])); - // } - // // free(path); - // } - // } - // gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->RegionCombo),0); - // // yon_char_parsed_free(parsed,size); - // parsed = yon_config_load(get_layouts_command,&size); - // GtkTreeIter itar; - // for (int i=0;iLayoutList,&iter,NULL); - // gtk_tree_store_set(widgets->LayoutList,&iter,0,layout[0],1,_(layout[1]),2,1,-1); - // // yon_char_parsed_free(layout,layout_size); - // char *command = get_layouts_local_command(layout_id); - // config_str layout_local = yon_config_load(command,&layout_size); - // // free(command); - // // free(layout_id); - // for (int j=0;jLayoutList,&itar,&iter); - // gtk_tree_store_set(widgets->LayoutList,&itar,0,layouts_parsed[0],1,_(layouts_parsed[1]),2,1,3,0,-1); - // // yon_char_parsed_free(layouts_parsed,parsed_size); - // } - // } - // if (layout_size==-1) { - // gtk_tree_store_set(widgets->LayoutList,&iter,2,1,-1); - // } - // // yon_char_parsed_free(layout_local,layout_size); - // } - // } - // // yon_char_parsed_free(parsed,size); - // { - // parsed = yon_config_load(get_devices_command,&size); - // char *string = yon_char_parsed_to_string(parsed,size,""); - // struct json_object *root; - // struct json_object *blockdevices; - // root = json_tokener_parse(string); - // // free(string); - // json_object_object_get_ex(root, "blockdevices", &blockdevices); - // for (long unsigned int i = 0; i < json_object_array_length(blockdevices); i++) { - // struct json_object *device = json_object_array_get_idx(blockdevices, i); - // struct json_object *path, *size, *model, *vendor, *serial; - - // json_object_object_get_ex(device, "path", &path); - // json_object_object_get_ex(device, "size", &size); - // json_object_object_get_ex(device, "model", &model); - // json_object_object_get_ex(device, "vendor", &vendor); - // json_object_object_get_ex(device, "serial", &serial); - - // gtk_list_store_append(widgets->DevicesList,&iter); - // gtk_list_store_set(widgets->DevicesList,&iter,0,json_object_get_string(path),1,json_object_get_string(model),2,json_object_get_string(serial),3,json_object_get_string(size),4,json_object_get_string(vendor),-1); + int langsize; + config_str lang = default_langs(&langsize); + + GtkTreeIter iter; + gtk_list_store_clear(widgets->LanguagesList); + parsed = yon_file_open(languages_path,&size); + for (int i=0;iLanguagesList,&iter); + gtk_list_store_set(widgets->LanguagesList,&iter,0,0,1,_(cur[1]),2,cur[0],-1); + } + yon_char_parsed_free(cur,cur_size); + } + yon_char_parsed_free(parsed,size); + if (lang) + yon_char_parsed_free(lang,langsize); + + parsed = yon_dir_get_contents(zone_path,&size); + for (int i=0;iRegionCombo),parsed[i],_(parsed[i])); + } + free(path); + } + } + gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->RegionCombo),0); + yon_char_parsed_free(parsed,size); + parsed = yon_config_load(get_layouts_command,&size); + GtkTreeIter itar; + for (int i=0;iLayoutList,&iter,NULL); + gtk_tree_store_set(widgets->LayoutList,&iter,0,layout[0],1,_(layout[1]),2,1,-1); + yon_char_parsed_free(layout,layout_size); + char *command = get_layouts_local_command(layout_id); + config_str layout_local = yon_config_load(command,&layout_size); + free(command); + free(layout_id); + for (int j=0;jLayoutList,&itar,&iter); + gtk_tree_store_set(widgets->LayoutList,&itar,0,layouts_parsed[0],1,_(layouts_parsed[1]),2,1,3,0,-1); + yon_char_parsed_free(layouts_parsed,parsed_size); + } + } + if (layout_size==-1) { + gtk_tree_store_set(widgets->LayoutList,&iter,2,1,-1); + } + yon_char_parsed_free(layout_local,layout_size); + } + } + yon_char_parsed_free(parsed,size); + { + parsed = yon_config_load(get_devices_command,&size); + char *string = yon_char_parsed_to_string(parsed,size,""); + struct json_object *root; + struct json_object *blockdevices; + root = json_tokener_parse(string); + free(string); + json_object_object_get_ex(root, "blockdevices", &blockdevices); + for (long unsigned int i = 0; i < json_object_array_length(blockdevices); i++) { + struct json_object *device = json_object_array_get_idx(blockdevices, i); + struct json_object *path, *size, *model, *vendor, *serial; + + json_object_object_get_ex(device, "path", &path); + json_object_object_get_ex(device, "size", &size); + json_object_object_get_ex(device, "model", &model); + json_object_object_get_ex(device, "vendor", &vendor); + json_object_object_get_ex(device, "serial", &serial); + + gtk_list_store_append(widgets->DevicesList,&iter); + gtk_list_store_set(widgets->DevicesList,&iter,0,json_object_get_string(path),1,json_object_get_string(model),2,json_object_get_string(serial),3,json_object_get_string(size),4,json_object_get_string(vendor),-1); - // } - // // yon_char_parsed_free(parsed,size); - // } + } + yon_char_parsed_free(parsed,size); + } - // parsed = yon_resource_open_file(additional_software_path,&size); - // for (int i=1;iAdditionalSoftwareList,&iter); - // gtk_list_store_set(widgets->AdditionalSoftwareList,&iter,0,1,1,module_parsed[0],3,module_parsed[1],-1); //2,module_parsed[2] - // // yon_char_parsed_free(module_parsed,module_size); - // } - // } - // // if (size) yon_char_parsed_free(parsed,size); - - // config_str models = yon_config_load(get_models_command,&size); - // for (int i=0;iKeyboardModelCombo),models[i],_(models[i+1])); - // } - // if (size) yon_char_parsed_free(models,size); + parsed = yon_resource_open_file(additional_software_path,&size); + for (int i=1;iAdditionalSoftwareList,&iter); + gtk_list_store_set(widgets->AdditionalSoftwareList,&iter,0,1,1,module_parsed[0],3,module_parsed[1],-1); //2,module_parsed[2] + yon_char_parsed_free(module_parsed,module_size); + } + } + if (size) yon_char_parsed_free(parsed,size); + + config_str models = yon_config_load(get_models_command,&size); + for (int i=0;iKeyboardModelCombo),models[i],_(models[i+1])); + } + if (size) yon_char_parsed_free(models,size); gtk_builder_connect_signals(builder,NULL); - // yon_load_proceed(YON_CONFIG_DEFAULT); - // yon_interface_update(widgets); + yon_load_proceed(YON_CONFIG_DEFAULT); + yon_interface_update(widgets); return widgets; } @@ -2778,12 +2776,12 @@ int main(int argc, char *argv[]){ yon_window_config_setup(GTK_WINDOW(widgets->MainWindow)); char *window_config_path = config_path; yon_window_config_load(window_config_path); - // free(window_config_path); + free(window_config_path); GtkCssProvider *css=gtk_css_provider_new(); gtk_css_provider_load_from_resource(css,CssPath); gtk_style_context_add_provider_for_screen(gdk_screen_get_default(), GTK_STYLE_PROVIDER(css), -1); gtk_main(); - // free(widgets); + free(widgets); } \ No newline at end of file