diff --git a/source/ubinstall-gtk-advanced.c b/source/ubinstall-gtk-advanced.c index 560750d..803164e 100644 --- a/source/ubinstall-gtk-advanced.c +++ b/source/ubinstall-gtk-advanced.c @@ -170,7 +170,7 @@ void yon_advanced_part_clean_config(){ yon_config_remove_by_key(part_format_parameter); } -void yon_advanced_part_save_part(advanced_part_data *data){ +gboolean yon_advanced_part_save_part(advanced_part_data *data){ if (!config(device_parameter)) yon_config_register(device_parameter,device_parameter_command,NULL); if (!config(part_parameter)) yon_config_register(part_parameter,part_parameter_command,NULL); if (!config(part_size_parameter)) yon_config_register(part_size_parameter,part_size_parameter_command,NULL); @@ -190,7 +190,7 @@ void yon_advanced_part_save_part(advanced_part_data *data){ yon_config_force_append_element(part_fs_label_parameter,"",","); yon_config_force_append_element(part_crypt_parameter,"",","); yon_config_force_append_element(part_format_parameter,"",","); - return; + return 0; } yon_config_force_append_element(device_parameter,data->device,","); yon_config_force_append_element(part_parameter,data->partition,","); @@ -208,9 +208,10 @@ void yon_advanced_part_save_part(advanced_part_data *data){ yon_config_force_append_element(part_fs_label_parameter,data->fs_label,","); yon_config_force_append_element(part_crypt_parameter,data->encryption,","); yon_config_force_append_element(part_format_parameter,data->format,","); + return 1; } -void yon_advanced_part_save(main_window *widgets){ +gboolean yon_advanced_part_save(main_window *widgets){ GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->AdvancedPartitionAddBox)); advanced_part_data *data1 = NULL; @@ -226,13 +227,15 @@ void yon_advanced_part_save(main_window *widgets){ yon_advanced_part_to_data(part2,data2); } if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(part1->SystemSectionToggle))){ - yon_advanced_part_save_part(data1); - yon_advanced_part_save_part(data2); + if (!yon_advanced_part_save_part(data1)&&!yon_advanced_part_save_part(data2)){ + return 0; + } } else { yon_advanced_part_save_part(data2); yon_advanced_part_save_part(data1); } } + return 1; } int yon_advanced_save(main_window *widgets){ diff --git a/source/ubinstall-gtk-page-switch.c b/source/ubinstall-gtk-page-switch.c index 707f465..ad24a39 100644 --- a/source/ubinstall-gtk-page-switch.c +++ b/source/ubinstall-gtk-page-switch.c @@ -183,6 +183,8 @@ void yon_navigation_buttons_set_sensetiveness(main_window *widgets){ case YON_PAGE_INSTALL_ERROR: case YON_PAGE_CONFIGURE_SAVE: case YON_PAGE_COMPLETION: + gtk_widget_set_sensitive(widgets->LoadLocalConfigurationMenuItem,0); + gtk_widget_set_sensitive(widgets->LoadExternalConfigurationMenuItem,0); gtk_button_set_label(GTK_BUTTON(widgets->NextButton),RESTART_LABEL); gtk_widget_hide(widgets->BackButton); gtk_widget_set_sensitive(widgets->CancelInstallButton,1); @@ -195,6 +197,8 @@ void yon_navigation_buttons_set_sensetiveness(main_window *widgets){ gtk_widget_set_sensitive(widgets->BackButton,1); gtk_widget_set_sensitive(widgets->NextButton,1); gtk_widget_set_sensitive(widgets->CancelInstallButton,1); + gtk_widget_set_sensitive(widgets->LoadLocalConfigurationMenuItem,1); + gtk_widget_set_sensitive(widgets->LoadExternalConfigurationMenuItem,1); gtk_button_set_label(GTK_BUTTON(widgets->CancelInstallButton),EXIT_LABEL); if (!yon_char_is_empty(config(AUTOINSTALL_TYPE_INSTALL))&&!main_config.configure_mode){ gtk_widget_show(widgets->StartScenarioButton); @@ -202,6 +206,19 @@ void yon_navigation_buttons_set_sensetiveness(main_window *widgets){ gtk_widget_hide(widgets->StartScenarioButton); } break; + case YON_PAGE_INSTALL_COMMON: + case YON_PAGE_INSTALL_SEPARATE: + case YON_PAGE_INSTALL_SAME_PARTITION: + case YON_PAGE_INSTALL_ADVANCED: + case YON_PAGE_INSTALL_RECOVERY: + case YON_PAGE_RECOVERY_GRUB_INSTALL: + case YON_PAGE_RECOVERY_GRUB_UPDATE: + case YON_PAGE_RECOVERY_OS_ONLY: + case YON_PAGE_RECOVERY_USRDATA_ONLY: + { + gtk_widget_set_sensitive(widgets->LoadLocalConfigurationMenuItem,0); + gtk_widget_set_sensitive(widgets->LoadExternalConfigurationMenuItem,0); + } break; default: gtk_widget_set_sensitive(widgets->BackButton,1); gtk_widget_set_sensitive(widgets->NextButton,1); diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index 485d916..a6bac12 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -1602,10 +1602,10 @@ void on_advanced_part_content_changed(GtkWidget *, GtkWidget *, main_window *wid gboolean on_keyboard_search_func(GtkTreeModel *model, gint, const char *key, GtkTreeIter *iter, main_window *); void yon_update_part_sections(main_window *widgets); void on_advanced_part_toggled(GtkWidget *self); -void yon_advanced_part_save(main_window *widgets); +gboolean yon_advanced_part_save(main_window *widgets); void yon_advanced_part_clean_config(); void yon_advanced_part_to_data(advanced_part_widgets *part, advanced_part_data *data); -void yon_advanced_part_save_part(advanced_part_data *data); +gboolean yon_advanced_part_save_part(advanced_part_data *data); void yon_advanced_part_remove_for_part(const char *part_name, main_window *widgets); int yon_software_check_packages_size(GtkWidget *, main_window *widgets); void yon_user_admin_check(GtkWidget *self, main_window *widgets);