diff --git a/locale/ubinstall-gtk.pot b/locale/ubinstall-gtk.pot
index ed05804..5271fb7 100644
--- a/locale/ubinstall-gtk.pot
+++ b/locale/ubinstall-gtk.pot
@@ -945,10 +945,6 @@ msgstr ""
msgid "Kernel"
msgstr ""
-#: source/ubl-strings.h:274
-msgid "Kernel addons"
-msgstr ""
-
#: source/ubl-strings.h:275
msgid "Installing Modules"
msgstr ""
@@ -1018,7 +1014,7 @@ msgid "Select your language:"
msgstr ""
#: source/ubl-strings.h:293
-msgid "Selecting additional system kernel components"
+msgid "Additional kernel components"
msgstr ""
#: source/ubl-strings.h:294
diff --git a/locale/ubinstall-gtk_ru.po b/locale/ubinstall-gtk_ru.po
index 47afa9a..4e4e49a 100644
--- a/locale/ubinstall-gtk_ru.po
+++ b/locale/ubinstall-gtk_ru.po
@@ -965,10 +965,6 @@ msgstr "Установка программ по группам"
msgid "Kernel"
msgstr "Ядро"
-#: source/ubl-strings.h:274
-msgid "Kernel addons"
-msgstr "Дополнительные компоненты ядра"
-
#: source/ubl-strings.h:275
msgid "Installing Modules"
msgstr "Установка модулей"
@@ -991,7 +987,7 @@ msgstr "Загрузчик"
#: source/ubl-strings.h:281
msgid "Network"
-msgstr "Настройка сетевых интерфейсов"
+msgstr "Сеть"
#: source/ubl-strings.h:282
msgid "Enable VNC server"
@@ -1038,8 +1034,8 @@ msgid "Select your language:"
msgstr "Выберите язык:"
#: source/ubl-strings.h:293
-msgid "Selecting additional system kernel components"
-msgstr "Выбор дополнительных компонентов ядра системы"
+msgid "Additional kernel components"
+msgstr "Дополнительные компоненты ядра"
#: source/ubl-strings.h:294
msgid "Package:"
@@ -1523,7 +1519,7 @@ msgid ""
"Selecting kernels for installation in the system and selecting the default kernel. Internet access required"
msgstr ""
"Выбор ядер для установки в систему и выбор ядра по умолчанию. Требуется "
-"доступ В Интернет."
+"доступ в Интернет."
#: source/ubl-strings.h:414
msgid ""
diff --git a/source/ubinstall-gtk-bootloader.c b/source/ubinstall-gtk-bootloader.c
index d8cbaa3..3bd4bc4 100644
--- a/source/ubinstall-gtk-bootloader.c
+++ b/source/ubinstall-gtk-bootloader.c
@@ -26,29 +26,19 @@ int yon_bootloader_save(main_window *widgets){
gtk_tree_model_get(model,&iter,0,&is_admin,1,&username,2,&password,-1);
yon_config_register(GRUB_PASSWORD_parameter(username),GRUB_PASSWORD_parameter_command(username),password);
if (is_admin){
- yon_config_append_element(GRUB_SUPERUSERS_parameter,GRUB_SUPERUSERS_parameter_command,username);
+ yon_config_append_element(GRUB_SUPERUSERS_parameter,username,",");
} else {
yon_config_remove_by_key(GRUB_SUPERUSERS_parameter);
}
}
+
if (!main_config.configure_mode){
int user_size=0;
- int param_size=0;
config_str users = yon_config_get_all_keys_by_key(GRUB_PASSWORD_parameter_search,&user_size);
- config_str user_parameters = yon_config_get_save_parameters_by_list(¶m_size,users,user_size);
- yon_char_parsed_free(users,user_size);
- char *user_string = yon_char_parsed_to_string(user_parameters,param_size," ");
- yon_char_parsed_free(user_parameters,param_size);
- int size;
- config_str parameters = yon_config_get_save_parameters_by_key(&size,GRUB_TIMEOUT_parameter,AUTOLOGINUSER_parameter,GRUB_SUPERUSERS_parameter,NULL);
- if (parameters){
- char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
- char *command = yon_char_unite(ubconfig_dull_command," --target system remove [autoinstall] ",GRUB_PASSWORD_parameter_all,"; ",ubconfig_dull_command,"--target system ",command_parameters, " ", user_string, NULL);
- if (!system(yon_debug_output("%s\n",command))){}
- free(command);
- yon_char_parsed_free(parameters,size);
- }
+ yon_char_parsed_add_or_create_if_exists(users,&user_size,GRUB_SUPERUSERS_parameter);
+ yon_char_parsed_add_or_create_if_exists(users,&user_size,GRUB_TIMEOUT_parameter);
+ yon_config_save_list_simple(users, user_size,main_config.config_load_path);
}
yon_bootloader_interface_update(widgets);
@@ -443,6 +433,8 @@ void yon_bootloader_interface_update(main_window *widgets){
for (int i=0;iBootloadUsersList);
char *timeout = config(GRUB_TIMEOUT_parameter);
char *os = config(GRUB_DEFAULT_parameter);
@@ -483,6 +482,7 @@ void yon_bootloader_init(main_window *widgets){
for (int i=0;idata),"kernel_row");
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){
char *append_str = yon_char_replace(row->modules," ",",");
- yon_config_append_element(packages_parameter,append_str,",");
+ yon_config_append_elements(packages_parameter,append_str,",");
free(append_str);
active_size++;
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->EnableRadio))){
@@ -36,15 +36,7 @@ int yon_kernel_save(main_window *widgets){
}
if (!main_config.configure_mode){
- int size;
- config_str parameters = yon_config_get_save_parameters_by_key(&size,packages_parameter, KERNEL_BOOT_parameter,NULL);
- if (parameters){
- char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
- char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
- if (!system(yon_debug_output("%s\n",command))){}
- free(command);
- yon_char_parsed_free(parameters,size);
- }
+ yon_config_save_args_simple(main_config.config_load_path,packages_parameter, KERNEL_BOOT_parameter,NULL);
}
return 1;
@@ -59,7 +51,7 @@ int yon_kernel_addon_save(main_window *widgets){
for(GList *iter = list;iter;iter = iter->next){
kernel_addon_row *row = g_object_get_data(G_OBJECT(iter->data),"kernel_row");
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){
- yon_config_append_element(packages_parameter,row->modules,",");
+ yon_config_append_elements(packages_parameter,row->modules,",");
} else {
char *append_str = yon_char_replace(row->modules," ",",");
yon_config_remove_elements(packages_parameter,row->modules,",");
@@ -69,7 +61,7 @@ int yon_kernel_addon_save(main_window *widgets){
if (!main_config.configure_mode){
int size;
- config_str parameters = yon_config_get_save_parameters_by_key(&size,packages_parameter, KERNEL_BOOT_parameter,NULL);
+ config_str parameters = yon_config_get_save_parameters_by_key(&size,packages_parameter,NULL);
if (parameters){
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
@@ -265,6 +257,9 @@ void yon_modules_missed_func(main_window *widgets){
void yon_os_components_init(main_window *widgets){
+ if (!main_config.configure_mode){
+ yon_config_update_by_args(modules_parameter,NULL);
+ }
int size = 0;
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox));
GList *iter;
@@ -316,7 +311,10 @@ void on_software_uncheck_all(GtkWidget *, main_window *widgets){
GList *iter;
for(iter = list;iter;iter=iter->next){
os_row *row = g_object_get_data(iter->data,"kernel_row");
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),0);
+ int sensitive = gtk_widget_get_sensitive(row->InstallCheck);
+ if (sensitive){
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),0);
+ }
}
} break;
}
@@ -335,11 +333,11 @@ int yon_software_save(main_window *widgets){
}
for(iter = list;iter;iter=iter->next){
os_row *row = g_object_get_data(iter->data,"kernel_row");
- char *target = row->name;
+ char *target = row->name;
int status = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck));
if (status){
if (!yon_char_check_element(config_val,target,",")){
- yon_config_append_element(packages_parameter,target,",");
+ yon_config_append_elements(packages_parameter,target,",");
}
} else{
char *append_str = yon_char_replace(target," ",",");
@@ -373,7 +371,9 @@ int yon_software_check_packages_size(GtkWidget *, main_window *widgets){
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){
long cur_size = yon_packages_get_installed_size(YON_PACKAGES_ALL,row->name);
pacman_size += cur_size;
- gtk_widget_show(widgets->AdditionalComponentsUncheckAllCheck);
+ if (gtk_widget_get_sensitive(row->InstallCheck)){
+ gtk_widget_show(widgets->AdditionalComponentsUncheckAllCheck);
+ }
}
}
}
@@ -413,10 +413,30 @@ gboolean yon_software_insert(struct row_data *row_input){
} else {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),0);
}
+ char *modules_param = config(modules_parameter);
+ if (modules_param&&!strcmp(modules_param,"auto")){
+ int final_size;
+ config_str final = NULL;
+ for (int i=0;iname,",")){
+ gtk_widget_set_sensitive(row->InstallCheck,0);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),1);
+ }
+ if (!yon_char_is_empty(modules_param)) free(modules_param);
return G_SOURCE_REMOVE;
}
void yon_software_init(main_window *widgets){
+ if (!main_config.configure_mode){
+ yon_config_update_by_args(packages_parameter,NULL);
+ }
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->AdditionalComponentsList));
GList *iter;
for (iter=list;iter;iter=iter->next){
@@ -486,6 +506,9 @@ int yon_pacman_software_save(main_window *widgets){
}
void yon_pacman_init(main_window *widgets){
+ if (!main_config.configure_mode){
+ yon_config_update_by_args(packages_parameter,NULL);
+ }
gtk_list_store_clear(widgets->PacmanSoftwareChosenList);
char *pacman_packages = config(packages_parameter);
@@ -589,7 +612,7 @@ gboolean yon_pacman_fill(struct pacman_struct *pacman){
double size_converted = yon_size_long_convert_automatic(pkgsize,&mod);
char *size_str = yon_char_unite(yon_char_from_double(size_converted)," ", yon_size_get_name_from_letter(mod),NULL);
gtk_list_store_append(widgets->PacmanSoftwareAllList,&iter);
- gtk_list_store_set(widgets->PacmanSoftwareAllList,&iter,0,0,1,loaded[i],2,version,3,description,4,size_str,-1);
+ gtk_list_store_set(widgets->PacmanSoftwareAllList,&iter,0,0,1,loaded[i],2,version,3,_(description),4,size_str,-1);
if (!yon_char_is_empty(version))free(version);
if (!yon_char_is_empty(description)) free(description);
}
@@ -613,6 +636,8 @@ void *yon_pacman_load(struct pacman_struct *pacman){
void on_pacman_search_enter(GtkEntry *self, main_window *widgets){
on_pacman_icon_press(self,GTK_ENTRY_ICON_SECONDARY,NULL,widgets);
+ while (gtk_events_pending()) gtk_main_iteration();
+ gtk_widget_grab_focus(widgets->PacmanSoftwareSearchEntry);
}
void on_pacman_icon_press(GtkEntry *self,GtkEntryIconPosition icon_pos,GdkEvent* ,main_window *widgets){
@@ -621,6 +646,7 @@ void on_pacman_icon_press(GtkEntry *self,GtkEntryIconPosition icon_pos,GdkEvent*
gtk_list_store_clear(widgets->PacmanSoftwareAllList);
const char *find_package = gtk_entry_get_text(self);
+ if (strlen(find_package)<2) return;
struct pacman_struct *pacman = new (struct pacman_struct);
pacman->widgets=widgets;
pacman->find_package=find_package;
diff --git a/source/ubinstall-gtk-configuration-mode.c b/source/ubinstall-gtk-configuration-mode.c
index 6bed3fc..4d02b01 100644
--- a/source/ubinstall-gtk-configuration-mode.c
+++ b/source/ubinstall-gtk-configuration-mode.c
@@ -26,9 +26,17 @@ int yon_configuration_path_check(const char *path){
data->action_text = homedir_create?CREATE_CONFIG_DIALOG_LABEL_HOMEDIR:CREATE_CONFIG_DIALOG_LABEL;
data->title = WARNING_TITLE_LABEL;
if (yon_confirmation_dialog_call(NULL,data)==GTK_RESPONSE_ACCEPT){
+ char *dir_path = yon_file_get_parent(full_path);
+ if (access(full_path,F_OK)&&(access(dir_path,W_OK)||access(dir_path,R_OK))){
+ if (system(ubconfig_file_create_pkexec(full_path))){
+ return 0;
+ }
+ } else if (access(full_path,F_OK)){
yon_launch(ubconfig_file_create(full_path));
struct passwd *user = getpwnam(yon_ubl_root_user_get());
if (chown(full_path,user->pw_uid,user->pw_gid)){};
+ }
+
} else {
return 0;
diff --git a/source/ubinstall-gtk-grub.c b/source/ubinstall-gtk-grub.c
index 9dc05a8..0e151f3 100644
--- a/source/ubinstall-gtk-grub.c
+++ b/source/ubinstall-gtk-grub.c
@@ -57,15 +57,7 @@ int yon_grub_update_save(main_window *widgets){
yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"grub_update");
if (!main_config.configure_mode){
- int size;
- config_str parameters = yon_config_get_save_parameters_by_key(&size,device_parameter,part_parameter,AUTOINSTALL_TYPE_INSTALL,NULL);
- if (parameters){
- char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
- char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
- if (!system(yon_debug_output("%s\n",command))){}
- free(command);
- yon_char_parsed_free(parameters,size);
- }
+ yon_config_save_args_simple(main_config.config_load_path,device_parameter,part_parameter,AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL,NULL);
}
return 1;
}
\ No newline at end of file
diff --git a/source/ubinstall-gtk-installation.c b/source/ubinstall-gtk-installation.c
index 3e9cae3..4a0d2d3 100644
--- a/source/ubinstall-gtk-installation.c
+++ b/source/ubinstall-gtk-installation.c
@@ -30,15 +30,7 @@ int yon_install_common_save(main_window *widgets){
}
if (!main_config.configure_mode){
- int size;
- config_str parameters = yon_config_get_save_parameters_by_key(&size,AUTOINSTALL_TYPE_INSTALL,device_parameter,part_label_parameter,part_fs_type_parameter,NULL);
- if (parameters){
- char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
- char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
- if (!system(yon_debug_output("%s\n",command))){}
- free(command);
- yon_char_parsed_free(parameters,size);
- }
+ yon_config_save_args_simple(main_config.config_load_path,AUTOINSTALL_TYPE_INSTALL,device_parameter,part_label_parameter,part_fs_type_parameter,NULL);
}
return 1;
}
@@ -112,15 +104,7 @@ int yon_install_separate_save(main_window *widgets){
}
if (!main_config.configure_mode){
- int size;
- config_str parameters = yon_config_get_save_parameters_by_key(&size,part_format_parameter,part_label_parameter,part_fs_type_parameter,device_parameter,part_parameter,NULL);
- if (parameters){
- char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
- char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
- if (!system(yon_debug_output("%s\n",command))){}
- free(command);
- yon_char_parsed_free(parameters,size);
- }
+ yon_config_save_args_simple(main_config.config_load_path,part_format_parameter,part_label_parameter,part_fs_type_parameter,device_parameter,part_parameter,NULL);
}
return 1;
}
@@ -170,15 +154,7 @@ int yon_install_same_partition_save(main_window *widgets){
yon_config_remove_by_key(part_fs_type_parameter);
}
if (!main_config.configure_mode){
- int size;
- config_str parameters = yon_config_get_save_parameters_by_key(&size,part_format_parameter,part_size_parameter,part_label_parameter,part_fs_type_parameter,AUTOINSTALL_TYPE_INSTALL,device_parameter,part_parameter,NULL);
- if (parameters){
- char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
- char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
- if (!system(yon_debug_output("%s\n",command))){}
- free(command);
- yon_char_parsed_free(parameters,size);
- }
+ yon_config_save_args_simple(main_config.config_load_path,part_format_parameter,part_size_parameter,part_label_parameter,part_fs_type_parameter,AUTOINSTALL_TYPE_INSTALL,device_parameter,part_parameter,NULL);
}
return 1;
}
@@ -340,6 +316,9 @@ void yon_userdata_password_open(GtkWidget *, main_window *widgets){
}
void yon_install_init(main_window *widgets, enum YON_PAGES page){
+ if (!main_config.configure_mode){
+ yon_config_update_by_args(AUTOINSTALL_TYPE_INSTALL,device_parameter,part_label_parameter,part_fs_type_parameter,NULL);
+ }
yon_devices_setup(widgets);
GtkWidget *device_tree = NULL;
diff --git a/source/ubinstall-gtk-kernel.c b/source/ubinstall-gtk-kernel.c
index 5f5484c..d57d181 100644
--- a/source/ubinstall-gtk-kernel.c
+++ b/source/ubinstall-gtk-kernel.c
@@ -3,11 +3,21 @@
void on_kernel_install_enabled(GtkWidget *, kernel_row *row){
int active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck));
gtk_widget_set_sensitive(row->EnableRadio,active);
- if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){
+ if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))&>k_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->EnableRadio))){
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(main_config.kernel_unchosen_radio),1);
}
}
+gboolean on_kernel_enabled_toggled(GtkWidget *self, GdkEventButton *, kernel_row *row){
+ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->EnableRadio))){
+ g_signal_handlers_block_by_func(G_OBJECT(self),"toggled",row);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(main_config.kernel_unchosen_radio),1);
+ g_signal_handlers_unblock_by_func(G_OBJECT(self),"toggled",row);
+ return 1;
+ }
+ return 0;
+}
+
kernel_row *yon_kernel_row_new(){
kernel_row *row = new(kernel_row);
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_kernel_row);
@@ -26,6 +36,7 @@ kernel_row *yon_kernel_row_new(){
row->package=NULL;
g_signal_connect(G_OBJECT(row->InstallCheck),"toggled",G_CALLBACK(on_kernel_install_enabled),row);
+ g_signal_connect(G_OBJECT(row->EnableRadio),"button-release-event",G_CALLBACK(on_kernel_enabled_toggled),row);
row->row = gtk_list_box_row_new();
gtk_container_add(GTK_CONTAINER(row->row),row->RowBox);
@@ -175,7 +186,10 @@ void yon_kernel_addon_resize(main_window *widgets){
g_list_free(list);
}
-void yon_kernel_setup(main_window *widgets){
+void yon_kernel_init(main_window *widgets){
+ if (!main_config.configure_mode){
+ yon_config_update_by_args(packages_parameter,KERNEL_BOOT_parameter,NULL);
+ }
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelListBox));
GList *iter;
for (iter = list; iter; iter = iter->next){
@@ -225,6 +239,10 @@ void yon_kernel_setup(main_window *widgets){
} else {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),0);
}
+ if (yon_packages_check_installed(parsed[1])||yon_packages_check_installed(package)){
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),1);
+ gtk_widget_set_sensitive(row->InstallCheck,0);
+ }
if (!yon_char_is_empty(enabled)&&!strcmp(package,enabled)){
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->EnableRadio),1);
}
@@ -376,7 +394,11 @@ void yon_kernel_addon_row_setup(kernel_addon_row *row, char *name, char *modules
free(description_full);
}
-void yon_kernel_addon_setup(main_window *widgets){
+void yon_kernel_addon_init(main_window *widgets){
+ yon_config_remove_by_args(packages_parameter,NULL);
+ char *command = yon_config_parameter_prepare_command(packages_parameter_command,main_config.config_load_path,NULL,NULL);
+ yon_config_load_config(YON_CONFIG_CUSTOM,command,NULL);
+ free(command);
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelAddonListBox));
GList *iter;
for (iter = list; iter; iter = iter->next){
@@ -419,6 +441,10 @@ void yon_kernel_addon_setup(main_window *widgets){
} else {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),0);
}
+ if (yon_packages_check_installed(modules)||yon_packages_check_installed(package)){
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),1);
+ gtk_widget_set_sensitive(row->InstallCheck,0);
+ }
}
yon_kernel_addon_resize(widgets);
diff --git a/source/ubinstall-gtk-keyboard.c b/source/ubinstall-gtk-keyboard.c
index e82afa0..7aa1ea6 100644
--- a/source/ubinstall-gtk-keyboard.c
+++ b/source/ubinstall-gtk-keyboard.c
@@ -48,21 +48,16 @@ int yon_keyboard_save(main_window *widgets){
yon_config_remove_by_key(num_lock_boot_parameter);
}
if (!main_config.configure_mode){
- int size;
- config_str parameters = yon_config_get_save_parameters_by_key(&size,xkbmodel_parameter,xkbmodel_parameter,num_lock_boot_parameter,NULL);
- if (parameters){
- char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
- char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
- if (!system(yon_debug_output("%s\n",command))){}
- free(command);
- yon_char_parsed_free(parameters,size);
- }
+ yon_config_save_args_simple(main_config.config_load_path,xkbmodel_parameter,num_lock_boot_parameter,NULL);
}
on_options_save(NULL,widgets);
return 1;
}
void yon_keyboard_init(main_window *widgets){
+ if (!main_config.configure_mode){
+ yon_config_update_by_args(xkbmodel_parameter,num_lock_boot_parameter,NULL);
+ }
g_signal_handlers_block_by_func(G_OBJECT(widgets->KeyboardModelCombo),G_CALLBACK(on_model_changed),widgets);
g_signal_handlers_block_by_func(G_OBJECT(widgets->KeyboardDefaultLayoutsSwitch),G_CALLBACK(on_layout_default_toggled),widgets);
gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->KeyboardModelCombo));
diff --git a/source/ubinstall-gtk-language.c b/source/ubinstall-gtk-language.c
index bc8bcda..450d100 100644
--- a/source/ubinstall-gtk-language.c
+++ b/source/ubinstall-gtk-language.c
@@ -273,20 +273,15 @@ int yon_language_save(main_window *widgets){
yon_config_remove_by_key(locale_parameter);
}
if (!main_config.configure_mode){
- int size;
- config_str parameters = yon_config_get_save_parameters_by_key(&size,lang_parameter,locale_parameter,NULL);
- if (parameters){
- char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
- char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
- if (!system(yon_debug_output("%s\n",command))){}
- free(command);
- yon_char_parsed_free(parameters,size);
- }
+ yon_config_save_args_simple(main_config.config_load_path,lang_parameter,locale_parameter,NULL);
}
return 1;
}
void yon_language_init(main_window *widgets){
+ if (!main_config.configure_mode){
+ yon_config_update_by_args(lang_parameter, locale_parameter,NULL);
+ }
yon_language_update(widgets);
}
diff --git a/source/ubinstall-gtk-network.c b/source/ubinstall-gtk-network.c
index 5e743f7..cad5d64 100644
--- a/source/ubinstall-gtk-network.c
+++ b/source/ubinstall-gtk-network.c
@@ -187,6 +187,10 @@ int yon_network_save(main_window *widgets){
} else {
yon_config_remove_by_key(DOMAIN_admanger_parameter);
}
+ } else {
+ yon_config_remove_by_key(DOMAIN_parameter);
+ yon_config_remove_by_key(DOMAIN_admanger_parameter);
+
}
if (gtk_switch_get_active(GTK_SWITCH(widgets->NetworkNTPServerSwitch))){
@@ -226,7 +230,7 @@ int yon_network_save(main_window *widgets){
hostname = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->HotnameEntry));
}
if (yon_char_is_empty(hostname)){
- yon_ubl_status_box_render(_EMPTY_IMPORTANT_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
+ yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),_EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(widgets->HotnameEntry);
return 0;
}
@@ -235,6 +239,16 @@ int yon_network_save(main_window *widgets){
yon_config_remove_by_key(hostname_parameter);
}
+ {
+ int size;
+ config_str users = yon_config_get_all_by_key(NETWORK_parameter_search,&size);
+ for (int i=0;iNetworkConnectionsBox));
GList *iter;
for (iter=list;iter;iter=iter->next){
@@ -290,26 +304,25 @@ int yon_network_save(main_window *widgets){
}
}
if (!main_config.configure_mode){
- int connect_size;
-
- config_str connections = yon_config_get_all_by_key(NETWORK_parameter_search,&connect_size);
- char *connections_string = yon_char_parsed_to_string(connections,connect_size," ");
- yon_char_parsed_free(connections,connect_size);
-
- int size;
- config_str parameters = yon_config_get_save_parameters_by_key(&size,DOMAIN_parameter,DOMAIN_admanger_parameter,NTPSERVERS_parameter,hostname_parameter,NULL);
- if (parameters){
- char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
- char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters, " ", connections_string,NULL);
- if (!system(yon_debug_output("%s\n",command))){}
- free(command);
- yon_char_parsed_free(parameters,size);
- }
+ int connect_size=0;
+ config_str connections = yon_config_get_all_keys_by_key(NETWORK_parameter_search,&connect_size);
+ yon_char_parsed_add_or_create_if_exists(connections,&connect_size,DOMAIN_parameter);
+ yon_char_parsed_add_or_create_if_exists(connections,&connect_size,DOMAIN_admanger_parameter);
+ yon_char_parsed_add_or_create_if_exists(connections,&connect_size,NTPSERVERS_parameter);
+ yon_char_parsed_add_or_create_if_exists(connections,&connect_size,hostname_parameter);
+ yon_config_save_list_simple(connections,connect_size,main_config.config_load_path);
}
return 1;
}
void yon_network_init(main_window *widgets){
+ if (!main_config.configure_mode){
+ int size = 0;
+ config_str users = yon_config_get_all_by_key(NETWORK_parameter_search,&size);
+ yon_config_remove_by_list(users,size);
+ yon_config_update_by_args(DOMAIN_parameter,DOMAIN_admanger_parameter,NTPSERVERS_parameter,hostname_parameter,NULL);
+ yon_config_load_config(YON_CONFIG_CUSTOM,ubconfig_load_command(main_config.config_load_path),NETWORK_parameter_all,NULL);
+ }
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->NetworkConnectionsBox));
GList *iter;
for (iter=list;iter;iter=iter->next){
@@ -392,6 +405,7 @@ void yon_network_init(main_window *widgets){
for (int i=0;iPackagesList),&subiter,0,&status,1,&package,3,&selectable,-1);
if (selectable&&status){
- yon_config_append_element(packages_parameter,package,",");
+ yon_config_append_elements(packages_parameter,package,",");
}else if (selectable&&!status){
yon_config_remove_elements(packages_parameter,package,",");
} else {
for (int valid3 = gtk_tree_model_iter_children(GTK_TREE_MODEL(widgets->PackagesList),&packiter,&subiter);valid3;valid3 = gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->PackagesList),&packiter)){
gtk_tree_model_get(GTK_TREE_MODEL(widgets->PackagesList),&packiter,0,&status,1,&package,3,&selectable,-1);
if (status){
- yon_config_append_element(packages_parameter,package,",");
+ yon_config_append_elements(packages_parameter,package,",");
} else {
yon_config_remove_elements(packages_parameter,package,",");
}
@@ -28,15 +28,7 @@ int yon_packages_tab_save(main_window *widgets){
}
}
if (!main_config.configure_mode){
- int size;
- config_str parameters = yon_config_get_save_parameters_by_key(&size,packages_parameter,NULL);
- if (parameters){
- char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
- char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
- if (!system(yon_debug_output("%s\n",command))){}
- free(command);
- yon_char_parsed_free(parameters,size);
- }
+ yon_config_save_args_simple(main_config.config_load_path,packages_parameter,NULL);
}
return 1;
}
@@ -71,7 +63,28 @@ GtkTreeIter *yon_subcategory_check(GtkTreeStore *target, GtkTreeIter *parent_ite
}
void yon_packages_tab_init(main_window *widgets){
+ if (!main_config.configure_mode){
+ yon_config_update_by_args(packages_parameter,NULL);
+ }
+ if (!main_config.configure_mode){
+ yon_config_remove_by_args(packages_parameter,NULL);
+ char *command = yon_config_parameter_prepare_command(packages_parameter_command,main_config.config_load_path,NULL,NULL);
+ yon_config_load_config(YON_CONFIG_CUSTOM,command,NULL);
+ free(command);
+ }
gtk_tree_store_clear(widgets->PackagesList);
+ char *modules = config(modules_parameter);
+ if (modules&&!strcmp(modules,"auto")){
+ int final_size;
+ config_str final = NULL;
+ for (int i=0;iPackagesList,parsed[0]);
+ char *name_render = yon_char_replace(parsed[2],","," ");
if (category_iter){
if (!yon_char_is_empty(parsed[1])){
GtkTreeIter *subcategory_iter = yon_subcategory_check(widgets->PackagesList,category_iter,parsed[1]);
if (subcategory_iter){
GtkTreeIter package_iter;
gtk_tree_store_append(widgets->PackagesList,&package_iter,subcategory_iter);
- char *full_string = yon_char_unite("",parsed[2],"\n",_(parsed[3]),NULL);
- gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_element(config_packages,parsed[2],","),1,parsed[2],2,full_string,3,1,-1);
+ char *full_string = yon_char_unite("",name_render,"\n",_(parsed[3]),NULL);
+ gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_element(config_packages,parsed[2],",")||yon_char_check_element(modules,parsed[2],","),1,parsed[2],2,full_string,3,1,4,!yon_char_check_element(modules,parsed[2],","),5,parsed[2],-1);
free(full_string);
gtk_tree_iter_free(subcategory_iter);
} else {
@@ -96,15 +110,15 @@ void yon_packages_tab_init(main_window *widgets){
gtk_tree_store_append(widgets->PackagesList,&subcatiter,category_iter);
gtk_tree_store_set(widgets->PackagesList,&subcatiter,1,parsed[1],2,_(parsed[3]),3,0,-1);
gtk_tree_store_append(widgets->PackagesList,&package_iter,&subcatiter);
- char *full_string = yon_char_unite("",parsed[2],"\n",_(parsed[3]),NULL);
- gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_element(config_packages,parsed[2],","),1,parsed[2],2,full_string,3,1,-1);
+ char *full_string = yon_char_unite("",name_render,"\n",_(parsed[3]),NULL);
+ gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_element(config_packages,parsed[2],",")||yon_char_check_element(modules,parsed[2],","),1,parsed[2],2,full_string,3,1,4,!yon_char_check_element(modules,parsed[2],","),5,parsed[2],-1);
free(full_string);
}
} else {
GtkTreeIter package_iter;
gtk_tree_store_append(widgets->PackagesList,&package_iter,category_iter);
- char *full_string = yon_char_unite("",parsed[2],"\n",_(parsed[3]),NULL);
- gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_element(config_packages,parsed[2],","),1,parsed[2],2,full_string,3,1,-1);
+ char *full_string = yon_char_unite("",name_render,"\n",_(parsed[3]),NULL);
+ gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_element(config_packages,parsed[2],",")||yon_char_check_element(modules,parsed[2],","),1,parsed[2],2,full_string,3,1,4,!yon_char_check_element(modules,parsed[2],","),5,parsed[2],-1);
free(full_string);
}
gtk_tree_iter_free(category_iter);
@@ -118,8 +132,8 @@ void yon_packages_tab_init(main_window *widgets){
gtk_tree_store_append(widgets->PackagesList,&subcategory_iter,&catiter);
gtk_tree_store_set(widgets->PackagesList,&subcategory_iter,1,parsed[1],2,_(parsed[1]),3,0,-1);
gtk_tree_store_append(widgets->PackagesList,&package_iter,&subcategory_iter);
- char *full_string = yon_char_unite("",parsed[2],"\n",_(parsed[3]),NULL);
- gtk_tree_store_set(widgets->PackagesList,&package_iter,1,parsed[2],2,full_string,3,1,-1);
+ char *full_string = yon_char_unite("",name_render,"\n",_(parsed[3]),NULL);
+ gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_element(config_packages,parsed[2],",")||yon_char_check_element(modules,parsed[2],","),1,parsed[2],2,full_string,3,1,4,!yon_char_check_element(modules,parsed[2],","),-1);
free(full_string);
} else {
GtkTreeIter package_iter;
@@ -127,12 +141,13 @@ void yon_packages_tab_init(main_window *widgets){
gtk_tree_store_append(widgets->PackagesList,&catiter,NULL);
gtk_tree_store_set(widgets->PackagesList,&catiter,1,parsed[0],2,_(parsed[0]),3,0,-1);
gtk_tree_store_append(widgets->PackagesList,&package_iter,&catiter);
- char *full_string = yon_char_unite("",parsed[2],"\n",_(parsed[3]),NULL);
- gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_element(config_packages,parsed[2],","),1,parsed[2],2,full_string,3,1,-1);
+ char *full_string = yon_char_unite("",name_render,"\n",_(parsed[3]),NULL);
+ gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_element(config_packages,parsed[2],",")||yon_char_check_element(modules,parsed[2],","),1,parsed[2],2,full_string,3,1,4,!yon_char_check_element(modules,parsed[2],","),5,parsed[2],-1);
free(full_string);
}
}
}
+ if (!yon_char_is_empty(modules)) free(modules);
gtk_tree_view_expand_all(GTK_TREE_VIEW(widgets->PackagesTree));
}
@@ -165,14 +180,20 @@ void yon_on_packages_chosen(GtkWidget *, char *path, main_window *widgets){
GtkTreeIter iter;
gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(widgets->PackagesList),&iter,path);
int status;
- gtk_tree_model_get(GTK_TREE_MODEL(widgets->PackagesList),&iter,0,&status,-1);
- gtk_tree_store_set(widgets->PackagesList,&iter,0,!status,-1);
+ int sensitive;
+ gtk_tree_model_get(GTK_TREE_MODEL(widgets->PackagesList),&iter,0,&status,4,&sensitive,-1);
+ if (sensitive){
+ gtk_tree_store_set(widgets->PackagesList,&iter,0,!status,-1);
+ }
}
void yon_on_packages_activated(GtkWidget *, GtkTreePath* path, GtkTreeViewColumn* , main_window *widgets){
GtkTreeIter iter;
gtk_tree_model_get_iter(GTK_TREE_MODEL(widgets->PackagesList),&iter,path);
+ int sensitive;
int status;
- gtk_tree_model_get(GTK_TREE_MODEL(widgets->PackagesList),&iter,0,&status,-1);
- gtk_tree_store_set(widgets->PackagesList,&iter,0,!status,-1);
+ gtk_tree_model_get(GTK_TREE_MODEL(widgets->PackagesList),&iter,0,&status,4,&sensitive,-1);
+ if (sensitive){
+ gtk_tree_store_set(widgets->PackagesList,&iter,0,!status,-1);
+ }
}
\ No newline at end of file
diff --git a/source/ubinstall-gtk-page-switch.c b/source/ubinstall-gtk-page-switch.c
index 01ff02a..aef5eda 100644
--- a/source/ubinstall-gtk-page-switch.c
+++ b/source/ubinstall-gtk-page-switch.c
@@ -53,7 +53,7 @@ enum YON_PAGES yon_page_get_next(main_window *widgets, enum YON_PAGES page){
return -1;
}
-enum YON_PAGES yon_page_get_prev(enum YON_PAGES page){
+enum YON_PAGES yon_page_get_prev(main_window *,enum YON_PAGES page){
switch (page){
case YON_PAGE_WELCOME: return YON_PAGE_WELCOME; break;
case YON_PAGE_LICENCE: return YON_PAGE_WELCOME; break;
@@ -92,7 +92,6 @@ enum YON_PAGES yon_page_get_prev(enum YON_PAGES page){
} break;
case YON_PAGE_INSTALLATION_BEGIN: return YON_PAGE_OS_COMPONENTS; break;
case YON_PAGE_SOFTWARE: return YON_PAGE_CONFIG_HUB; break;
- case YON_PAGE_CONFIG_HUB: return YON_PAGE_CONFIG_HUB; 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;
@@ -177,10 +176,11 @@ void yon_navigation_buttons_set_sensetiveness(main_window *widgets){
break;
case YON_PAGE_SECTIONS:
gtk_widget_show(widgets->SourceButton);
- gtk_widget_show(widgets->BackButton);
+ gtk_widget_show(widgets->BackButton);
gtk_widget_set_sensitive(widgets->BackButton,1);
gtk_widget_set_sensitive(widgets->NextButton,1);
gtk_widget_set_sensitive(widgets->CancelInstallButton,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);
} else {
@@ -208,6 +208,7 @@ void yon_navigation_buttons_set_sensetiveness(main_window *widgets){
case YON_PAGE_BOOTLOADER:
case YON_PAGE_PACKAGES:
case YON_PAGE_NETWORK:{
+ gtk_button_set_label(GTK_BUTTON(widgets->CancelInstallButton),CANCEL_LABEL);
gtk_widget_show(widgets->NextButton);
gtk_widget_hide(widgets->BackButton);
gtk_button_set_label(GTK_BUTTON(widgets->NextButton),BACK_LABEL);
@@ -429,10 +430,10 @@ void yon_page_init(main_window *widgets, enum YON_PAGES page){
yon_os_components_init(widgets);
break;
case YON_PAGE_KERNEL:
- yon_kernel_setup(widgets);
+ yon_kernel_init(widgets);
break;
case YON_PAGE_KERNEL_ADDON:
- yon_kernel_addon_setup(widgets);
+ yon_kernel_addon_init(widgets);
break;
case YON_PAGE_SOFTWARE:
yon_software_init(widgets);
@@ -453,10 +454,10 @@ void yon_page_init(main_window *widgets, enum YON_PAGES page){
yon_user_init(widgets);
break;
case YON_PAGE_STARTUP:
- yon_startup_services_setup(widgets);
+ yon_startup_services_init(widgets);
break;
case YON_PAGE_APP_STARTUP:
- yon_startup_apps_setup(widgets);
+ yon_startup_apps_init(widgets);
break;
case YON_PAGE_BOOTLOADER:
yon_bootloader_init(widgets);
@@ -479,6 +480,17 @@ void yon_page_init(main_window *widgets, enum YON_PAGES page){
case YON_PAGE_RECOVERY_USRDATA_ONLY:
case YON_PAGE_INSTALLATION_BEGIN:
yon_install_init(widgets,page);
+ {
+ int size=0;
+ char *command = yon_config_parameter_prepare_command(AUTOINSTALL_TYPE_INSTALL_command,"system",NULL,NULL);
+ config_str autoinstall_param = yon_config_load(command,&size);
+ if (size&&!yon_char_is_empty(autoinstall_param[0])&&strcmp(autoinstall_param[0],"(null)\n")&&!main_config.configure_mode){
+ gtk_widget_show(widgets->StartScenarioButton);
+ } else {
+ gtk_widget_hide(widgets->StartScenarioButton);
+ }
+ yon_char_parsed_free(autoinstall_param,size);
+ }
break;
case YON_PAGE_INSTALLATION:
yon_install_slider_init(widgets);
@@ -507,7 +519,7 @@ void on_page_next_clicked(GtkWidget *, main_window *widgets){
void on_page_prev_clicked(GtkWidget *, main_window *widgets){
enum YON_PAGES page = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook));
- page = yon_page_get_prev(page);
+ page = yon_page_get_prev(widgets,page);
if ((int)page!=-1){
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),page);
}
@@ -529,6 +541,9 @@ void on_page_cancel_clicked(GtkWidget *, main_window *widgets){
gtk_main_quit();
break;
+ case YON_PAGE_SECTIONS:
+ on_yon_exit(NULL,NULL,widgets);
+ break;
default: {
if (main_config.install_thread){
dialog_confirmation_data *data = yon_confirmation_dialog_data_new();
diff --git a/source/ubinstall-gtk-region.c b/source/ubinstall-gtk-region.c
index 57047a3..a6080d3 100644
--- a/source/ubinstall-gtk-region.c
+++ b/source/ubinstall-gtk-region.c
@@ -19,15 +19,7 @@ int yon_region_save(main_window *widgets){
yon_config_register(zone_parameter,zone_parameter_command,final);
free(final);
if (!main_config.configure_mode){
- int size;
- config_str parameters = yon_config_get_save_parameters_by_key(&size,zone_parameter,NULL);
- if (parameters){
- char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
- char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
- if (!system(yon_debug_output("%s\n",command))){}
- free(command);
- yon_char_parsed_free(parameters,size);
- }
+ yon_config_save_args_simple(main_config.config_load_path,zone_parameter,NULL);
}
return 1;
}
@@ -197,6 +189,9 @@ void on_region_entry_changed(GtkWidget *, main_window *widgets){
}
void yon_region_init(main_window *widgets){
+ if (!main_config.configure_mode){
+ yon_config_update_by_args(zone_parameter,NULL);
+ }
yon_timezone_init();
gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->RegionCombo));
gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->KeyboardNumLockCombo));
diff --git a/source/ubinstall-gtk-saving.c b/source/ubinstall-gtk-saving.c
index 5f1d6c7..ed67324 100644
--- a/source/ubinstall-gtk-saving.c
+++ b/source/ubinstall-gtk-saving.c
@@ -43,24 +43,9 @@ void on_config_local_load(GtkWidget *,main_window *widgets){
yon_page_init(widgets,gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook)));
}
-void on_config_global_load(GtkWidget *,main_window *widgets){
- if (!yon_char_is_empty(main_config.force_ini)) {
- on_config_custom_load_last(NULL,widgets);
- return;
- }
- if (!yon_char_is_empty(main_config.config_load_path)) free(main_config.config_load_path);
- main_config.config_load_path = yon_char_new("global");
- yon_load_proceed(YON_CONFIG_GLOBAL);
- main_config.load_mode=YON_CONFIG_GLOBAL;
- yon_main_window_update_locale(widgets);
- yon_page_init(widgets,gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook)));
-}
-
void on_config_custom_load(GtkWidget *,main_window *){
yon_load_proceed(YON_CONFIG_CUSTOM);
- // yon_page_init(widgets,gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook)));
main_config.load_mode=YON_CONFIG_CUSTOM;
- // yon_main_window_update_locale(widgets);
}
void on_config_custom_load_last(GtkWidget *,main_window *){
@@ -69,9 +54,7 @@ void on_config_custom_load_last(GtkWidget *,main_window *){
yon_config_load_config(YON_CONFIG_DEFAULT,config_get_default_command,NULL);
char *command = config_get_command(main_config.config_load_path);
yon_config_load_config(YON_CONFIG_CUSTOM,command,NULL);
- // yon_page_init(widgets,gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook)));
main_config.load_mode=YON_CONFIG_CUSTOM;
- // yon_main_window_update_locale(widgets);
}
void on_config_global_local_save(GtkWidget *,main_window *widgets){
diff --git a/source/ubinstall-gtk-separate.c b/source/ubinstall-gtk-separate.c
index 4a8aeb4..809e43b 100644
--- a/source/ubinstall-gtk-separate.c
+++ b/source/ubinstall-gtk-separate.c
@@ -23,15 +23,7 @@ int yon_install_options_save(GtkWidget *device_tree, GtkWidget *part_tree,char *
if(cur_section) free(cur_section);
if(cur_device) free(cur_device);
if (!main_config.configure_mode){
- int size;
- config_str parameters = yon_config_get_save_parameters_by_key(&size,device_parameter,AUTOINSTALL_TYPE_INSTALL,part_parameter,NULL);
- if (parameters){
- char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
- char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
- if (!system(yon_debug_output("%s\n",command))){}
- free(command);
- yon_char_parsed_free(parameters,size);
- }
+ yon_config_save_args_simple(main_config.config_load_path,device_parameter,AUTOINSTALL_TYPE_INSTALL,part_parameter,NULL);
}
return 1;
}
\ No newline at end of file
diff --git a/source/ubinstall-gtk-source.c b/source/ubinstall-gtk-source.c
index 793e480..8e1791e 100644
--- a/source/ubinstall-gtk-source.c
+++ b/source/ubinstall-gtk-source.c
@@ -222,15 +222,7 @@ void on_source_accept(GtkWidget *,source_window *window){
yon_config_remove_by_key(source_parameter);
}
if (!main_config.configure_mode){
- int size;
- config_str parameters = yon_config_get_save_parameters_by_key(&size,source_parameter,NULL);
- if (parameters){
- char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
- char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
- if (!system(command)){}
- free(command);
- yon_char_parsed_free(parameters,size);
- }
+ yon_config_save_args_simple(main_config.config_load_path,source_parameter,NULL);
}
on_subwindow_close(window->Window);
free(window);
diff --git a/source/ubinstall-gtk-startup-apps.c b/source/ubinstall-gtk-startup-apps.c
index 65a42c9..a39af09 100644
--- a/source/ubinstall-gtk-startup-apps.c
+++ b/source/ubinstall-gtk-startup-apps.c
@@ -41,7 +41,10 @@ void on_startup_apps_remove(GtkWidget *self,main_window *widgets){
}
}
-void yon_startup_apps_setup(main_window *widgets){
+void yon_startup_apps_init(main_window *widgets){
+ if (!main_config.configure_mode){
+ yon_config_update_by_args(AUTOEXEC_parameter,NULL);
+ }
GtkTreeIter iter;
gtk_list_store_clear(widgets->StartupAppsList);
int size;
@@ -213,15 +216,7 @@ int yon_startup_app_save(main_window *widgets){
yon_config_remove_by_key(AUTOEXEC_parameter);
}
if (!main_config.configure_mode){
- int size;
- config_str parameters = yon_config_get_save_parameters_by_key(&size,AUTOEXEC_parameter,NULL);
- if (parameters){
- char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
- char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
- if (!system(yon_debug_output("%s\n",command))){}
- free(command);
- yon_char_parsed_free(parameters,size);
- }
+ yon_config_save_args_simple(main_config.config_load_path,AUTOEXEC_parameter,NULL);
}
return 1;
}
\ No newline at end of file
diff --git a/source/ubinstall-gtk-startup-services.c b/source/ubinstall-gtk-startup-services.c
index df22c6b..b03bffb 100644
--- a/source/ubinstall-gtk-startup-services.c
+++ b/source/ubinstall-gtk-startup-services.c
@@ -49,7 +49,10 @@ void on_startup_services_remove(GtkWidget *self,main_window *widgets){
}
}
-void yon_startup_services_setup(main_window *widgets){
+void yon_startup_services_init(main_window *widgets){
+ if (!main_config.configure_mode){
+ yon_config_update_by_args(SERVICES_ENABLE_parameter,NULL);
+ }
GtkTreeIter iter;
gtk_list_store_clear(widgets->StartupList);
int size;
@@ -217,15 +220,7 @@ int yon_startup_save(main_window *widgets){
yon_config_remove_by_key(SERVICES_ENABLE_parameter);
}
if (!main_config.configure_mode){
- int size;
- config_str parameters = yon_config_get_save_parameters_by_key(&size,SERVICES_ENABLE_parameter,NULL);
- if (parameters){
- char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
- char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
- if (!system(yon_debug_output("%s\n",command))){}
- free(command);
- yon_char_parsed_free(parameters,size);
- }
+ yon_config_save_args_simple(main_config.config_load_path,SERVICES_ENABLE_parameter,NULL);
}
return 1;
}
\ No newline at end of file
diff --git a/source/ubinstall-gtk-users.c b/source/ubinstall-gtk-users.c
index 5cb1ff5..4c302d4 100644
--- a/source/ubinstall-gtk-users.c
+++ b/source/ubinstall-gtk-users.c
@@ -34,19 +34,10 @@ int yon_users_save(main_window *widgets){
if (!main_config.configure_mode){
int users_size;
- config_str users = yon_config_get_all_by_key(USERADD_parameter_search,&users_size);
- char *parameter = yon_char_parsed_to_string(users,users_size," ");
- yon_char_parsed_free(users,users_size);
-
- int size;
- config_str parameters = yon_config_get_save_parameters_by_key(&size,autologin_parameter,root_password_parameter,NULL);
- if (parameters){
- char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
- char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters," ",parameter,NULL);
- if (!system(yon_debug_output("%s\n",command))){}
- free(command);
- yon_char_parsed_free(parameters,size);
- }
+ config_str users = yon_config_get_all_keys_by_key(USERADD_parameter_search,&users_size);
+ yon_char_parsed_add_or_create_if_exists(users,&users_size,root_password_parameter);
+ yon_char_parsed_add_or_create_if_exists(users,&users_size,autologin_parameter);
+ yon_config_save_list_simple(users,users_size,main_config.config_load_path);
}
return 1;
}
@@ -143,6 +134,13 @@ yon_user_struct *yon_user_struct_new(){
}
void yon_user_init(main_window *widgets){
+ if (!main_config.configure_mode){
+ int size = 0;
+ config_str users = yon_config_get_all_by_key(USERADD_parameter_search,&size);
+ yon_config_remove_by_list(users,size);
+ yon_config_update_by_args(autologin_parameter,root_password_parameter,NULL);
+ yon_config_load_config(YON_CONFIG_CUSTOM,ubconfig_load_command(main_config.config_load_path),USERADD_parameter_all,NULL);
+ }
gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->UserRootPasswordCombo));
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->UserRootPasswordCombo),NULL,DEFAULT_LABEL);
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->UserRootPasswordCombo),NULL,SET_PASSWORD_LABEL);
@@ -189,6 +187,7 @@ void yon_user_init(main_window *widgets){
int parsed_size;
char *parameter = yon_char_new(users[i]);
char *parameter_name = yon_char_divide_search(parameter,"=",-1);
+ if (yon_config_get_status(parameter_name)<-1) continue;
char *key = yon_config_parameter_get_key(parameter_name);
char *login = yon_config_parameter_get_key(strstr(key,"USERADD["));
yon_char_remove_brackets(login);
diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c
index c6bc354..d0b5a39 100644
--- a/source/ubinstall-gtk.c
+++ b/source/ubinstall-gtk.c
@@ -100,22 +100,6 @@ void yon_on_about(GtkWidget *, main_window *){
//functions
-// //functions
-// void yon_encryption_type_setup(GtkComboBoxText *target){
-// int size;
-// config_str enc_types = yon_resource_open_file(encryptions_path,&size);
-// for (int i=0;iDocumentationMenuItem = 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");
@@ -356,7 +340,6 @@ void yon_main_window_create(main_window *widgets){
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");
@@ -469,7 +452,6 @@ void yon_main_window_create(main_window *widgets){
widgets->InstallerCountryList=GTK_LIST_STORE(gtk_builder_get_object(builder,"InstallerCountryList"));
widgets->InstallerCountryFilter=GTK_TREE_MODEL(gtk_builder_get_object(builder,"InstallerCountryFilter"));
widgets->InstallerLanguageList=GTK_LIST_STORE(gtk_builder_get_object(builder,"InstallerLanguageList"));
- // widgets->LanguageCombo=yon_gtk_builder_get_widget(builder,"LanguageCombo");
widgets->RegionMapBox=yon_gtk_builder_get_widget(builder,"RegionMapBox");
widgets->RegionMapTarget=NULL;
widgets->RegionCombo=yon_gtk_builder_get_widget(builder,"RegionCombo");
@@ -563,7 +545,6 @@ void yon_main_window_create(main_window *widgets){
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");
@@ -578,12 +559,10 @@ void yon_main_window_create(main_window *widgets){
widgets->StartupAppsChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"StartupAppsChosenCell"));
widgets->StartupAppsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"StartupAppsList"));
- // 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->BootloadUserEditButton = yon_gtk_builder_get_widget(builder,"BootloadUserEditButton");
@@ -591,7 +570,6 @@ void yon_main_window_create(main_window *widgets){
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");
@@ -639,7 +617,6 @@ void yon_main_window_create(main_window *widgets){
{
g_signal_connect(G_OBJECT(widgets->LicenseAgreeRadio),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->NextButton);
- g_signal_connect(G_OBJECT(widgets->LoadGlobalConfigurationMenuItem),"activate",G_CALLBACK(on_config_global_load),widgets);
g_signal_connect(G_OBJECT(widgets->LoadLocalConfigurationMenuItem),"activate",G_CALLBACK(on_config_local_load),widgets);
g_signal_connect(G_OBJECT(widgets->LoadExternalConfigurationMenuItem),"activate",G_CALLBACK(on_config_custom_load),widgets);
@@ -663,7 +640,6 @@ void yon_main_window_create(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->GrubInstallUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets);
g_signal_connect(G_OBJECT(widgets->AdvancedUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets);
- // g_signal_connect(G_OBJECT(widgets->MainWindow),"check-resize",G_CALLBACK(on_region_resized),widgets);
g_signal_connect(G_OBJECT(widgets->NextButton),"clicked",G_CALLBACK(on_page_next_clicked),widgets);
g_signal_connect(G_OBJECT(widgets->BackButton),"clicked",G_CALLBACK(on_page_prev_clicked),widgets);
@@ -702,15 +678,9 @@ void yon_main_window_create(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->UserdataDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets);
g_signal_connect(G_OBJECT(widgets->AdditionalComponentsUncheckAllCheck),"toggled",G_CALLBACK(on_software_uncheck_all),widgets);
- // g_signal_connect(G_OBJECT(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widgets->NextInstallationSizeSpin))),"value-changed",G_CALLBACK(yon_size_changed),widgets);
g_signal_connect(G_OBJECT(widgets->NextInstallationSizeSpin),"value-changed",G_CALLBACK(yon_size_changed),widgets);
g_signal_connect(G_OBJECT(widgets->UserdataFormatSizeSpin),"value-changed",G_CALLBACK(yon_size_changed),widgets);
g_signal_connect(G_OBJECT(widgets->OSFormatSizeSpin),"value-changed",G_CALLBACK(yon_size_changed),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);
- // g_signal_connect(G_OBJECT(widgets->NextInstallationSizeTypeSpin),"changed",G_CALLBACK(on_partition_size_changed),widgets);
- // g_signal_connect(G_OBJECT(widgets->OSFormatSizeCombo),"changed",G_CALLBACK(on_partition_size_changed),widgets);
- // g_signal_connect(G_OBJECT(widgets->UserdataFormatSizeCombo),"changed",G_CALLBACK(on_partition_size_changed),widgets);
g_signal_connect(G_OBJECT(widgets->UserRootPasswordCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),widgets->UserRootPasswordEntry);
g_signal_connect(G_OBJECT(widgets->UserRootPasswordCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),widgets->UserRootPasswordButton);
@@ -720,7 +690,6 @@ void yon_main_window_create(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->LanguagesTree),"cursor-changed",G_CALLBACK(on_locale_changed),widgets);
g_signal_connect(G_OBJECT(widgets->CountryLanguagesTree),"row-activated",G_CALLBACK(on_installer_language_changed),widgets);
- // g_signal_connect(G_OBJECT(widgets->LanguageCombo),"changed",G_CALLBACK(on_locale_changed),widgets);
g_signal_connect(G_OBJECT(widgets->StartupServicesTree),"cursor-changed",G_CALLBACK(on_startup_services_selection_changed),widgets);
g_signal_connect(G_OBJECT(widgets->StartupServicesAddButton),"clicked",G_CALLBACK(on_startup_service_add),widgets);
@@ -761,9 +730,6 @@ void yon_main_window_create(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->BootloadUserRemoveButton),"clicked",G_CALLBACK(on_bootloader_user_remove),widgets);
g_signal_connect(G_OBJECT(widgets->BootloadTimerSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->BootloadTimerSpin);
- // g_signal_connect(G_OBJECT(widgets->BootloadNoPasswordSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),widgets->BootloadUserRemoveButton);
- // g_signal_connect(G_OBJECT(widgets->BootloadNoPasswordSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),widgets->BootloadUserAddButton);
- // g_signal_connect(G_OBJECT(widgets->BootloadNoPasswordSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),widgets->BootloadUserTree);
g_signal_connect(G_OBJECT(widgets->NetworkDomainSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->NetworkDomainNameEntry);
g_signal_connect(G_OBJECT(widgets->NetworkDomainSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->NetworkDomainAdminEntry);
@@ -897,23 +863,11 @@ void yon_main_window_create(main_window *widgets){
g_thread_new("Partitions_thread",(GThreadFunc)yon_partitions_list_load,widgets);
{
- if (main_config.lock_load_global == 1){
- gtk_widget_set_sensitive(widgets->LoadGlobalConfigurationMenuItem,0);
- }
-
gtk_window_set_title(GTK_WINDOW(widgets->MainWindow),TITLE_LABEL);
gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder,"headerTopic")),TITLE_LABEL);
gtk_window_set_icon_name(GTK_WINDOW(widgets->MainWindow),icon_path);
}
gtk_builder_connect_signals(builder,NULL);
- if (!yon_char_is_empty(config(AUTOINSTALL_TYPE_INSTALL))){
- gtk_widget_show(widgets->StartScenarioButton);
- if (main_config.autoinstall){
- gtk_button_clicked(GTK_BUTTON(widgets->StartScenarioButton));
- }
- } else {
- gtk_widget_hide(widgets->StartScenarioButton);
- }
if (getuid()){
gtk_menu_item_activate(GTK_MENU_ITEM(widgets->ConfigurationModeMenuItem));
if (yon_char_is_empty(main_config.config_save_path)){
@@ -922,15 +876,7 @@ void yon_main_window_create(main_window *widgets){
}
if (main_config.force_ini){
while(gtk_events_pending()) gtk_main_iteration();
- if (yon_configuration_path_check(main_config.config_save_path)){
- GList *box = gtk_container_get_children(GTK_CONTAINER(widgets->ConfigurationModeMenuItem));
- GList *children = gtk_container_get_children(GTK_CONTAINER(box->data));
-
- GtkWidget *Check = GTK_WIDGET(g_list_nth_data(children,1));
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(Check),1);
- yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),CONFIGURATION_MODE_STATUS_LABEL,0,BACKGROUND_IMAGE_INFO_TYPE);
- yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox2),CONFIG_PATH_LABEL(main_config.config_save_path),0,BACKGROUND_IMAGE_INFO_TYPE);
- } else {
+ if (!yon_configuration_path_check(main_config.config_save_path)){
exit (1);
}
}
@@ -945,9 +891,6 @@ void yon_main_window_create(main_window *widgets){
main_config.part_size_default = default_part_size[0];
}
}
- // if (main_config.autoinstall){
-
- // }
}
gboolean yon_maximize_start(main_window *widgets){
@@ -985,7 +928,6 @@ main_window *yon_main_window_complete(){
int main(int argc, char *argv[]){
main_config.argv=argv;
main_config.argc = argc;
- // __attribute__((unused)) char *locale = setlocale(LC_ALL, "en_US.UTF-8");
config_str unfound = NULL;
int size=0;
opterr=0;
@@ -1027,7 +969,7 @@ int main(int argc, char *argv[]){
{
widgets = yon_main_window_complete();
- on_config_global_load(NULL,widgets);
+ on_config_local_load(NULL,widgets);
}
main_config.launch_arguments=yon_char_parsed_copy(argv,argc);
diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h
index 172bdf3..b94f9d9 100755
--- a/source/ubinstall-gtk.h
+++ b/source/ubinstall-gtk.h
@@ -294,6 +294,7 @@ layout && /description:/ {\
#define get_devices_command "ubinstall show --lsdevices"
#define get_parts_for_device_command "ubinstall show --lsparts"
#define get_modules_command "ubinstall show --lsmodules"
+#define ubconfig_file_create_pkexec(target) yon_char_unite("pkexec ubconfig --target \"",target,"\" create",NULL)
#define config_get_command(target) yon_char_unite("ubconfig -ea --conarg --source ", target, " get [autoinstall] AUTOINSTALL[*] -- get [locale] LANG", NULL)
@@ -492,7 +493,6 @@ typedef struct
GtkListStore *LayoutsList;
GtkListStore *PartitionsList;
- GtkWidget *LoadGlobalConfigurationMenuItem;
GtkWidget *LoadLocalConfigurationMenuItem;
GtkWidget *LoadExternalConfigurationMenuItem;
@@ -1272,7 +1272,6 @@ void on_config_local_save(GtkWidget *, main_window *widgets);
void on_config_global_local_save(GtkWidget *, main_window *widgets);
void on_config_custom_load_last(GtkWidget *, main_window *widgets);
void on_config_custom_load(GtkWidget *, main_window *);
-void on_config_global_load(GtkWidget *, main_window *);
void on_config_local_load(GtkWidget *, main_window *widgets);
void yon_config_save_proceed(char *path, YON_CONFIG_TYPE type);
void on_page_next_clicked(GtkWidget *, main_window *widgets);
@@ -1280,7 +1279,7 @@ void on_page_prev_clicked(GtkWidget *, main_window *widgets);
void yon_load_proceed(YON_CONFIG_TYPE type);
void _yon_saving_threaded(char *final_command);
enum YON_PAGES yon_page_get_next(main_window *widgets, enum YON_PAGES page);
-enum YON_PAGES yon_page_get_prev(enum YON_PAGES page);
+enum YON_PAGES yon_page_get_prev(main_window *widgets,enum YON_PAGES page);
enum YON_PAGES yon_sections_get_next_page(main_window *widgets);
enum YON_PAGES yon_recovery_get_next(main_window *widgets);
enum YON_PAGES yon_page_get_current(GtkNotebook *target);
@@ -1326,22 +1325,22 @@ gboolean yon_on_revealer_switched(yon_menu_window *window);
gboolean on_menu_clicked(GtkWidget *, GdkEventButton *event, yon_menu_window *window);
yon_menu_window *yon_menu_window_open(GtkWidget *, main_window *widgets);
void on_submenu_open(GtkWidget *, yon_menu_item *item);
-void yon_kernel_setup(main_window *widgets);
+void yon_kernel_init(main_window *widgets);
void yon_kernel_row_setup(kernel_row *row, char *name, char *modules, char *package, char *tags, char *description);
void yon_kernel_row_setup_tags(kernel_row *row, char *tags);
int yon_tag_add(GtkBox *target, char *tag_label, char *tag_style, char *icon_name);
kernel_row *yon_kernel_row_new();
void yon_kernel_resize(main_window *widgets);
-void yon_kernel_addon_setup(main_window *widgets);
+void yon_kernel_addon_init(main_window *widgets);
void yon_kernel_addon_resize(main_window *widgets);
-void yon_startup_services_setup(main_window *widgets);
+void yon_startup_services_init(main_window *widgets);
void on_srartup_services_toggled(GtkCellRenderer *, char *path, main_window *widgets);
void on_startup_service_edit(GtkWidget *, main_window *widgets);
void on_startup_service_add(GtkWidget *, main_window *widgets);
startup_service_window *yon_startup_service_window_new();
void on_startup_edit_accept(GtkWidget *, main_window *widgets);
void on_startup_add_accept(GtkWidget *, main_window *widgets);
-void yon_startup_services_setup(main_window *widgets);
+void yon_startup_services_init(main_window *widgets);
void on_startup_services_remove(GtkWidget *self, main_window *widgets);
void on_startup_services_selection_changed(GtkWidget *, main_window *widgets);
void on_pacman_software_all_toggled(GtkWidget *, char *path, main_window *widgets);
@@ -1493,7 +1492,7 @@ gboolean on_install_slider_slide(main_window *widgets);
void on_srartup_apps_toggled(GtkWidget *, char *path, main_window *widgets);
void on_startup_apps_selection_changed(GtkWidget *, main_window *widgets);
void on_startup_apps_remove(GtkWidget *self, main_window *widgets);
-void yon_startup_apps_setup(main_window *widgets);
+void yon_startup_apps_init(main_window *widgets);
void on_startup_app_add_accept(GtkWidget *self, main_window *widgets);
void on_startup_app_edit_accept(GtkWidget *self, main_window *widgets);
startup_service_window *yon_startup_app_window_new();
@@ -1579,4 +1578,5 @@ void yon_gtk_widget_set_translation(GtkWidget *target);
void on_bootloader_user_edit(GtkWidget *, main_window *widgets);
void on_bootloader_admin_toggled(GtkWidget *, char *path, main_window *widgets);
void on_bootloader_user_remove(GtkWidget *, main_window *widgets);
-void on_software_uncheck_all(GtkWidget *, main_window *widgets);
\ No newline at end of file
+void on_software_uncheck_all(GtkWidget *, main_window *widgets);
+gboolean on_kernel_enabled_toggled(GtkWidget *self, GdkEventButton *, kernel_row *row);
\ No newline at end of file
diff --git a/source/ubl-strings.h b/source/ubl-strings.h
index 702fa7f..4f24f0c 100644
--- a/source/ubl-strings.h
+++ b/source/ubl-strings.h
@@ -262,7 +262,7 @@ NULL)
#define SYSTEM_SECTION_LABEL _("System")
#define PACKAGES_SECTION_LABEL _("Installing software by groups")
#define KERNEL_LABEL _("Kernel")
-#define KERNEL_ADDON_LABEL _("Kernel addons")
+#define KERNEL_ADDON_LABEL _("Additional kernel components")
#define SOFTWARE_LABEL _("Installing Modules")
#define PACMAN_SOFTWARE_LABEL _("Installing Packages")
#define REGION_ICON_LABEL _("Location")
@@ -303,7 +303,7 @@ NULL)
// #define _LABEL _("Chosen size:")
// #define _LABEL _("Overall size:")
// #define _LABEL _("Select your language:")
-// #define _LABEL _("Selecting additional system kernel components")
+// #define _LABEL _("Additional kernel components")
// #define _LABEL _("Package:")
// #define _LABEL _("Module:")
// #define _LABEL _("New section at")
diff --git a/ubinstall-gtk-service-window.glade b/ubinstall-gtk-service-window.glade
index 0f7923d..c311996 100644
--- a/ubinstall-gtk-service-window.glade
+++ b/ubinstall-gtk-service-window.glade
@@ -68,7 +68,7 @@
-
-
+
True
True
diff --git a/ubinstall-gtk.glade b/ubinstall-gtk.glade
index 75bacc4..0af1011 100644
--- a/ubinstall-gtk.glade
+++ b/ubinstall-gtk.glade
@@ -213,6 +213,10 @@
+
+
+
+
@@ -617,16 +621,6 @@
True
False
False
-
-
-