diff --git a/source/ubinstall-gtk-advanced.c b/source/ubinstall-gtk-advanced.c index e39bc54..a490752 100644 --- a/source/ubinstall-gtk-advanced.c +++ b/source/ubinstall-gtk-advanced.c @@ -42,7 +42,7 @@ void on_advanced_part_remove_part(GtkWidget *self, main_window *widgets){ for_iter (model, &iter){ char *target; gtk_tree_model_get(model,&iter,0,&target,-1); - if (!strcmp(data->partition,target)){ + if (data->partition&&!strcmp(data->partition,target)){ gtk_widget_destroy(part->MainBox); gtk_list_store_set(widgets->PartitionsList,&iter,7,0,-1); free(part); diff --git a/source/ubinstall-gtk-kernel.c b/source/ubinstall-gtk-kernel.c index 9642e14..800abd8 100644 --- a/source/ubinstall-gtk-kernel.c +++ b/source/ubinstall-gtk-kernel.c @@ -387,16 +387,16 @@ void yon_kernel_addon_row_setup(kernel_addon_row *row, char *name, char *modules char *package_label = NULL; if (!yon_char_is_empty(row->modules)){ package_label = yon_char_unite("",row->modules,"",NULL); - gtk_label_set_markup(GTK_LABEL(row->PackageLabel),package_label); + gtk_label_set_markup(GTK_LABEL(row->ModuleLabel),package_label); } else { - gtk_widget_hide(gtk_widget_get_parent(row->PackageLabel)); + gtk_widget_hide(gtk_widget_get_parent(row->ModuleLabel)); } char *module_label = NULL; if (!yon_char_is_empty(row->package)){ module_label = yon_char_unite("",row->package,"",NULL); - gtk_label_set_markup(GTK_LABEL(row->ModuleLabel),module_label); + gtk_label_set_markup(GTK_LABEL(row->PackageLabel),module_label); } else { - gtk_widget_hide(gtk_widget_get_parent(row->ModuleLabel)); + gtk_widget_hide(gtk_widget_get_parent(row->PackageLabel)); } gtk_label_set_label(GTK_LABEL(row->NameLabel),_(name)); gtk_label_set_label(GTK_LABEL(row->DescriptionLabel),description_full); diff --git a/source/ubinstall-gtk-log.c b/source/ubinstall-gtk-log.c index a9fee30..dd183c4 100644 --- a/source/ubinstall-gtk-log.c +++ b/source/ubinstall-gtk-log.c @@ -129,7 +129,7 @@ void yon_installation_progress_update(GFileMonitor *,GFile *,GFile *,GFileMonito g_mutex_unlock(&main_config.progress_mutex); - if (size) { + if (size&&text) { if (!yon_char_is_empty(text[size-1]) && text[size-1][0] == '(') { char *current_copy = yon_char_new(text[size-1]); char *percentage = yon_char_divide_search(current_copy, ")", -1); @@ -149,13 +149,12 @@ void yon_installation_progress_update(GFileMonitor *,GFile *,GFile *,GFileMonito double fraction = atof(parsed[3]) / 100; gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(widgets->PackageInstallationProgress), 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); } if (!yon_char_is_empty(current_copy)) free(current_copy); } } - yon_char_parsed_free(text, size); size=0; text=NULL; } @@ -165,6 +164,7 @@ gboolean yon_progress_bar_start(main_window *widgets){ GFile *file_desc = g_file_new_for_path(progress_path); widgets->install_info_monitor = g_file_monitor_file(file_desc,G_FILE_MONITOR_NONE,NULL,NULL); g_signal_connect(G_OBJECT(widgets->install_info_monitor),"changed",G_CALLBACK(yon_installation_progress_update),widgets); + // g_thread_new("progress",(GThreadFunc)yon_progress_thread_test,widgets); g_object_unref(file_desc); if (access(progress_path,F_OK)){ FILE *file = fopen(progress_path,"w"); diff --git a/source/ubinstall-gtk-page-switch.c b/source/ubinstall-gtk-page-switch.c index f41ba7b..260fd4a 100644 --- a/source/ubinstall-gtk-page-switch.c +++ b/source/ubinstall-gtk-page-switch.c @@ -8,10 +8,18 @@ enum YON_PAGES yon_page_get_next(main_window *widgets, enum YON_PAGES page){ case YON_PAGE_WELCOME: return YON_PAGE_LICENCE; break; case YON_PAGE_LICENCE: return YON_PAGE_SECTIONS; break; case YON_PAGE_SECTIONS: return yon_sections_get_next_page(widgets); break; - case YON_PAGE_OS_COMPONENTS: return main_config.configure_mode?YON_PAGE_CONFIG_HUB:YON_PAGE_INSTALLATION_BEGIN; break; + case YON_PAGE_OS_COMPONENTS: return main_config.configure_mode?YON_PAGE_CONFIG_HUB: strcmp(config(AUTOINSTALL_TYPE_INSTALL),"system_only") ? YON_PAGE_INSTALLATION_BEGIN : YON_PAGE_RECOVERY_BEGIN; break; case YON_PAGE_INSTALLATION_BEGIN: return YON_PAGE_CONFIG_HUB; break; case YON_PAGE_SOFTWARE: return YON_PAGE_CONFIG_HUB; break; - case YON_PAGE_CONFIG_HUB: return main_config.configure_mode? YON_PAGE_CONFIGURE_END:YON_PAGE_INSTALLATION; break; + case YON_PAGE_CONFIG_HUB: { + if (main_config.configure_mode){ + return YON_PAGE_CONFIGURE_END; + } else if (strcmp(config(AUTOINSTALL_TYPE_INSTALL),"data_only")){ + return YON_PAGE_INSTALLATION; + } else { + return YON_PAGE_RECOVERY_PROCESS; + } + } break; case YON_PAGE_KERNEL: return YON_PAGE_CONFIG_HUB; break; case YON_PAGE_KERNEL_ADDON: return YON_PAGE_CONFIG_HUB; break; case YON_PAGE_PACMAN_SOFTWARE: return YON_PAGE_CONFIG_HUB; break; @@ -33,7 +41,7 @@ enum YON_PAGES yon_page_get_next(main_window *widgets, enum YON_PAGES page){ case YON_PAGE_RECOVERY_GRUB_UPDATE: return main_config.configure_mode?YON_PAGE_CONFIGURE_END:YON_PAGE_RECOVERY_BEGIN; break; case YON_PAGE_RECOVERY_OS_ONLY: return main_config.configure_mode?YON_PAGE_CONFIGURE_END:YON_PAGE_OS_COMPONENTS; break; case YON_PAGE_RECOVERY_USRDATA_ONLY: return main_config.configure_mode?YON_PAGE_CONFIGURE_END:YON_PAGE_RECOVERY_BEGIN; break; - case YON_PAGE_RECOVERY_BEGIN: main_config.save_configured = 1; return YON_PAGE_RECOVERY_PROCESS; break; + case YON_PAGE_RECOVERY_BEGIN: main_config.save_configured = 1; return strcmp(config(AUTOINSTALL_TYPE_INSTALL),"data_only") ? YON_PAGE_RECOVERY_PROCESS: YON_PAGE_CONFIG_HUB; break; case YON_PAGE_RECOVERY_PROCESS: return YON_PAGE_RECOVERY_COMPLETION; break; case YON_PAGE_INSTALLATION: return YON_PAGE_COMPLETION; break; case YON_PAGE_CONFIGURE_SAVE: @@ -186,8 +194,6 @@ 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,0); - gtk_widget_set_sensitive(widgets->LoadExternalConfigurationMenuItem,0); 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); @@ -217,6 +223,8 @@ void yon_navigation_buttons_set_sensetiveness(main_window *widgets){ case YON_PAGE_BOOTLOADER: case YON_PAGE_PACKAGES: case YON_PAGE_NETWORK:{ + gtk_widget_set_sensitive(widgets->LoadLocalConfigurationMenuItem,0); + gtk_widget_set_sensitive(widgets->LoadExternalConfigurationMenuItem,0); gtk_button_set_label(GTK_BUTTON(widgets->CancelInstallButton),CANCEL_LABEL); gtk_widget_show(widgets->NextButton); gtk_widget_hide(widgets->BackButton); @@ -225,6 +233,8 @@ void yon_navigation_buttons_set_sensetiveness(main_window *widgets){ gtk_image_set_from_icon_name(GTK_IMAGE(image),arrow_left_icon_path,GTK_ICON_SIZE_BUTTON); } break; case YON_PAGE_CONFIG_HUB:{ + gtk_widget_set_sensitive(widgets->LoadLocalConfigurationMenuItem,0); + gtk_widget_set_sensitive(widgets->LoadExternalConfigurationMenuItem,0); gtk_widget_show(widgets->NextButton); gtk_widget_hide(widgets->BackButton); gtk_button_set_label(GTK_BUTTON(widgets->NextButton),NEXT_LABEL); diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index b7989bb..0e1f77f 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -449,7 +449,6 @@ typedef struct int install_complete; guint slider_thread; - int install_mode; unsigned long install_thread; guint progress_thread; int configure_mode;