From 5549d75f6fcb50524d72aa2c09a0937e899240a4 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 9 Dec 2024 17:37:57 +0600 Subject: [PATCH] Initramfs building fixes --- source/ubl-settings-kernel.c | 18 ++++++++++++++++++ source/ubl-settings-kernel.h | 8 +++++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/source/ubl-settings-kernel.c b/source/ubl-settings-kernel.c index cde37b7..1a58911 100644 --- a/source/ubl-settings-kernel.c +++ b/source/ubl-settings-kernel.c @@ -459,6 +459,11 @@ install_window *yon_install_window_new(){ g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); g_signal_connect(G_OBJECT(window->BasicSwitch),"state-set",G_CALLBACK(on_basic_toggled),window); + + g_signal_connect(G_OBJECT(window->BasicSwitch),"state-set",G_CALLBACK(on_build_selection_changed),window); + g_signal_connect(G_OBJECT(window->BasicCurrentSwitch),"state-set",G_CALLBACK(on_build_selection_changed),window); + g_signal_connect(G_OBJECT(window->DebugSwitch),"state-set",G_CALLBACK(on_build_selection_changed),window); + g_signal_connect(G_OBJECT(window->UniversalSwitch),"state-set",G_CALLBACK(on_build_selection_changed),window); return window; } @@ -1360,6 +1365,15 @@ void on_changelog_clicked(GtkWidget *, kernels_tab *tab){ gtk_widget_show(window->window); } +void on_build_selection_changed(GtkWidget *,int,install_window *window){ + int base = gtk_switch_get_active(GTK_SWITCH(window->BasicSwitch)); + int base_current = gtk_switch_get_active(GTK_SWITCH(window->BasicCurrentSwitch)); + int debug = gtk_switch_get_active(GTK_SWITCH(window->DebugSwitch)); + int universal = gtk_switch_get_active(GTK_SWITCH(window->UniversalSwitch)); + if (base||base_current||debug||universal) gtk_widget_set_sensitive(window->ExecuteButton,1); + else gtk_widget_set_sensitive(window->ExecuteButton,0); +} + void on_build_execute(GtkWidget *, dictionary *dict){ main_window *widgets = yon_dictionary_get_data(dict->first,main_window*); install_window *window = yon_dictionary_get_data(dict->first->next,install_window*); @@ -1369,6 +1383,10 @@ void on_build_execute(GtkWidget *, dictionary *dict){ int universal = gtk_switch_get_active(GTK_SWITCH(window->UniversalSwitch)); char *target = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->KernelVersionCombo)); char *filename = (char*)gtk_entry_get_text(GTK_ENTRY(window->FilenameEntry)); + if (yon_char_is_empty(target)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),NOTHING_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(window->KernelVersionCombo); + } int size=0; config_str commands = NULL; if (basic) yon_char_parsed_add_or_create_if_exists(commands,&size,build_command_basic(filename,target,drivers)); diff --git a/source/ubl-settings-kernel.h b/source/ubl-settings-kernel.h index e88d57b..e006606 100644 --- a/source/ubl-settings-kernel.h +++ b/source/ubl-settings-kernel.h @@ -56,9 +56,9 @@ #define get_active_kernel_command "cat /usr/lib/modules/$(uname -r)/pkgbase" -#define build_command_basic(target,kernel, only) yon_char_unite("ubmkuird -l -n ",target," -k ",kernel, only? " -H ":"",NULL) -#define build_command_debug(target,kernel) yon_char_unite("ubmkuird -l --addon -n ",target," -k ",kernel,NULL) -#define build_command_universal(target,kernel) yon_char_unite("ubmkuird -l --kmod -n ",target," -k ",kernel,NULL) +#define build_command_basic(target,kernel, only) yon_char_unite("ubmkuird -l",!yon_char_is_empty(target)?" -n ":"",!yon_char_is_empty(target)?target:"",!yon_char_is_empty(kernel)?" -k ":"",!yon_char_is_empty(kernel)?kernel:"", only? " -H ":"",NULL) +#define build_command_debug(target,kernel) yon_char_unite("ubmkuird -l --addon",!yon_char_is_empty(target)?" -n ":"",!yon_char_is_empty(target)?target:"",!yon_char_is_empty(kernel)?" -k ":"",!yon_char_is_empty(kernel)?kernel:"",NULL) +#define build_command_universal(target,kernel) yon_char_unite("ubmkuird -l --kmod",!yon_char_is_empty(target)?" -n ":"",!yon_char_is_empty(target)?target:"",!yon_char_is_empty(kernel)?" -k ":"",!yon_char_is_empty(kernel)?kernel:"",NULL) #define yon_config_get_custom_command(target) yon_char_unite("ubconfig --source ",target," get boot KERNEL_BOOT",NULL) #define config_get_local_command "ubconfig --source system get boot KERNEL_BOOT" @@ -292,6 +292,8 @@ void on_info_clicked(GtkWidget *, char *, kernels_tab *tab); void on_changelog_clicked(GtkWidget *, kernels_tab *tab); +void on_build_selection_changed(GtkWidget *,int,install_window *window); + void on_build_execute(GtkWidget *, dictionary *dict); void on_building_clicked(GtkWidget *, main_window *widgets);