diff --git a/source/ubinstall-gtk-components.c b/source/ubinstall-gtk-components.c index c54406f..e7bb303 100644 --- a/source/ubinstall-gtk-components.c +++ b/source/ubinstall-gtk-components.c @@ -56,10 +56,17 @@ int yon_kernel_addon_save(main_window *widgets){ } } - // if (!yon_char_is_empty(install_modules)){ - // yon_config_register(packages_parameter,packages_parameter_command,install_modules); - // free(install_modules); - // } + 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); + } + } return 1; } @@ -129,6 +136,17 @@ int yon_os_components_save(main_window *widgets){ yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NOTHING_CHOSEN_LABEL,5,BACKGROUND_IMAGE_INFO_TYPE); yon_ubl_status_highlight_incorrect(widgets->OSSoftwareListBox); } + if (!main_config.configure_mode){ + int size; + config_str parameters = yon_config_get_save_parameters_by_key(&size,modules_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); + } + } return 1; } @@ -297,6 +315,17 @@ int yon_software_save(main_window *widgets){ } } g_list_free(list); + 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); + } + } return 1; } @@ -385,6 +414,17 @@ int yon_pacman_software_save(main_window *widgets){ gtk_tree_model_get(model,&iter,1,&target,-1); yon_config_append_element(packages_parameter,target,","); } + 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); + } + } return 1; } diff --git a/source/ubinstall-gtk-grub.c b/source/ubinstall-gtk-grub.c index d5d1cb1..9dc05a8 100644 --- a/source/ubinstall-gtk-grub.c +++ b/source/ubinstall-gtk-grub.c @@ -20,6 +20,18 @@ int yon_grub_install_save(main_window *widgets){ yon_config_register(device_parameter,device_parameter_command,cur_device); yon_config_register(part_parameter,part_parameter_command,partition); yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"grub_install"); + + 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); + } + } return 1; } @@ -43,5 +55,17 @@ int yon_grub_update_save(main_window *widgets){ yon_config_register(device_parameter,device_parameter_command,cur_device); yon_config_register(part_parameter,part_parameter_command,partition); 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); + } + } return 1; } \ No newline at end of file diff --git a/source/ubinstall-gtk-installation.c b/source/ubinstall-gtk-installation.c index 580d7be..3e9cae3 100644 --- a/source/ubinstall-gtk-installation.c +++ b/source/ubinstall-gtk-installation.c @@ -183,62 +183,6 @@ int yon_install_same_partition_save(main_window *widgets){ return 1; } -// int yon_advanced_sections_save(dictionary *dict){ -// if (!dict) return 0; -// advanced_part_widgets *first_section = yon_dictionary_get_data(dict->first,advanced_part_widgets*); -// advanced_part_widgets *last_section = NULL; -// if (dict->first->next){ -// last_section = yon_dictionary_get_data(dict->first->next,advanced_part_widgets*); -// } - -// char *part_first = first_section->part; -// char *part_last = last_section?last_section->part:NULL; -// char *part = yon_char_unite(part_first,last_section?",":NULL,part_last,NULL); -// yon_config_register(part_parameter,part_parameter_command,part); - -// int format_first_active = gtk_switch_get_active(GTK_SWITCH(first_section->FormatCombo)); -// int format_last_active = gtk_switch_get_active(GTK_SWITCH(last_section->FormatCombo)); -// char * format_first = format_first_active==1?"yes":format_first_active==2?"no":NULL; -// char * format_last = format_last_active==1?"yes":format_last_active==2?"no":NULL; -// char *format = yon_char_unite(format_first,part_last?",":NULL,format_last,NULL); -// yon_config_register(part_format_parameter,part_format_parameter_command,format); - -// if (!yon_char_is_empty(format)){ -// char *size_first = g_strdup_printf("%d%s",gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(first_section->SizeSpin)),yon_size_get_mod(gtk_combo_box_get_active(GTK_COMBO_BOX(first_section->SizeCombo)))); -// char *size_last = last_section&&!strcmp(format_last,"yes")?g_strdup_printf("%d%s",gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(last_section->SizeSpin)),yon_size_get_mod(gtk_combo_box_get_active(GTK_COMBO_BOX(last_section->SizeCombo)))):NULL; -// char *size = yon_char_unite(size_first,size_last?",":NULL,size_last,NULL); -// yon_config_register(part_size_parameter,part_size_parameter_command,size); - -// char *part_label_first = (char*)gtk_entry_get_text(GTK_ENTRY(first_section->PartLabelEntry)); -// char *part_label_last = last_section&&!strcmp(format_last,"yes")?(char*)gtk_entry_get_text(GTK_ENTRY(last_section->PartLabelEntry)):NULL; -// char *part_label = yon_char_unite(part_label_first,part_label_last?",":NULL,part_label_last,NULL); -// yon_config_register(part_label_parameter,part_label_parameter_command,part_label); - -// char *fs_label_first = (char*)gtk_entry_get_text(GTK_ENTRY(first_section->FileSystemLabelEntry)); -// char *fs_label_last = last_section&&!strcmp(format_last,"yes")?(char*)gtk_entry_get_text(GTK_ENTRY(last_section->FileSystemLabelEntry)):NULL; -// char *fs_label = yon_char_unite(fs_label_first,fs_label_last?",":NULL,fs_label_last,NULL); -// yon_config_register(part_fs_label_parameter,part_fs_label_parameter_command,fs_label); - -// char *fs_type_first = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(first_section->FileSystemTypeCombo)); -// char *fs_type_last = last_section&&!strcmp(format_last,"yes")?(char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(last_section->FileSystemTypeCombo)):NULL; -// char *fs_type = yon_char_unite(fs_type_first,fs_type_last?",":NULL,fs_type_last,NULL); -// yon_config_register(part_fs_type_parameter,part_fs_type_parameter_command,fs_type); - -// char *part_crypt_first = gtk_combo_box_get_active(GTK_COMBO_BOX(first_section->EncryptionCombo))?(char*)gtk_entry_get_text(GTK_ENTRY(first_section->EncryptionEntry)):NULL; -// char *part_crypt_last = last_section&&!strcmp(format_last,"yes")&>k_combo_box_get_active(GTK_COMBO_BOX(last_section->EncryptionCombo))?(char*)gtk_entry_get_text(GTK_ENTRY(first_section->EncryptionEntry)):NULL; -// char *part_crypt = NULL; -// if (part_crypt_first||part_crypt_last){ -// part_crypt = yon_char_unite(part_crypt_first,part_crypt_last?",":NULL,part_crypt_last,NULL); -// } -// if (part_crypt){ -// yon_config_register(part_crypt_parameter,part_crypt_parameter_command,part_crypt); -// } else { -// yon_config_remove_by_key(part_crypt_parameter); -// } -// } -// return 1; -// } - void yon_size_changed(GtkSpinButton *self, main_window *widgets){ int cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook)); GtkWidget *tree = NULL; diff --git a/source/ubinstall-gtk-keyboard.c b/source/ubinstall-gtk-keyboard.c index 1095337..a7e3538 100644 --- a/source/ubinstall-gtk-keyboard.c +++ b/source/ubinstall-gtk-keyboard.c @@ -43,6 +43,17 @@ int yon_keyboard_save(main_window *widgets){ break; } yon_config_register(num_lock_boot_parameter,num_lock_boot_parameter_command,numlock); + 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); + } + } on_options_save(NULL,widgets); return 1; } diff --git a/source/ubinstall-gtk-language.c b/source/ubinstall-gtk-language.c index e4013b1..29b100f 100644 --- a/source/ubinstall-gtk-language.c +++ b/source/ubinstall-gtk-language.c @@ -274,6 +274,17 @@ int yon_language_save(main_window *widgets){ yon_config_remove_by_key(lang_parameter); 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); + } + } return 1; } diff --git a/source/ubinstall-gtk-network.c b/source/ubinstall-gtk-network.c index 726bf95..5e743f7 100644 --- a/source/ubinstall-gtk-network.c +++ b/source/ubinstall-gtk-network.c @@ -289,6 +289,23 @@ 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); + } + } return 1; } diff --git a/source/ubinstall-gtk-packages.c b/source/ubinstall-gtk-packages.c index 93aaeba..9d18826 100644 --- a/source/ubinstall-gtk-packages.c +++ b/source/ubinstall-gtk-packages.c @@ -22,6 +22,17 @@ 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); + } + } return 1; } diff --git a/source/ubinstall-gtk-region.c b/source/ubinstall-gtk-region.c index 22a3bf2..c63ffcb 100644 --- a/source/ubinstall-gtk-region.c +++ b/source/ubinstall-gtk-region.c @@ -18,6 +18,17 @@ int yon_region_save(main_window *widgets){ char *final = yon_char_unite(region,"/",zone,NULL); 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); + } + } return 1; } diff --git a/source/ubinstall-gtk-startup-apps.c b/source/ubinstall-gtk-startup-apps.c index 3014f1e..094d63f 100644 --- a/source/ubinstall-gtk-startup-apps.c +++ b/source/ubinstall-gtk-startup-apps.c @@ -210,5 +210,16 @@ int yon_startup_app_save(main_window *widgets){ } else { 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); + } + } 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 b99a166..12af9dd 100644 --- a/source/ubinstall-gtk-startup-services.c +++ b/source/ubinstall-gtk-startup-services.c @@ -217,5 +217,16 @@ int yon_startup_save(main_window *widgets){ } else { 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); + } + } return 1; } \ No newline at end of file diff --git a/source/ubinstall-gtk-users.c b/source/ubinstall-gtk-users.c index 681e23a..e899e3c 100644 --- a/source/ubinstall-gtk-users.c +++ b/source/ubinstall-gtk-users.c @@ -32,6 +32,22 @@ 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); + } + } yon_debug_output("%s\n",yon_config_get_all_info()); return 1; }