diff --git a/source/ubinstall-gtk-components.c b/source/ubinstall-gtk-components.c
index 2a2cae3..e5085cb 100644
--- a/source/ubinstall-gtk-components.c
+++ b/source/ubinstall-gtk-components.c
@@ -653,8 +653,6 @@ gboolean yon_pacman_fill(struct pacman_struct *pacman){
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);
- if (!yon_char_is_empty(version))free(version);
- if (!yon_char_is_empty(description)) free(description);
}
yon_pacman_software_update_overall_size(widgets);
yon_char_parsed_free(loaded,size);
diff --git a/source/ubinstall-gtk-installation.c b/source/ubinstall-gtk-installation.c
index 0d714a0..f136fd0 100644
--- a/source/ubinstall-gtk-installation.c
+++ b/source/ubinstall-gtk-installation.c
@@ -104,7 +104,7 @@ int yon_install_separate_save(main_window *widgets){
}
if (!main_config.configure_mode){
- yon_debug_output("%s\n",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));
+ yon_debug_output("%s\n",yon_config_save_args_simple(main_config.config_load_path,part_format_parameter,part_label_parameter,part_fs_type_parameter,device_parameter,part_parameter,AUTOINSTALL_TYPE_INSTALL,NULL));
}
return 1;
}
diff --git a/source/ubinstall-gtk-packages.c b/source/ubinstall-gtk-packages.c
index e0f74a0..17a7e3f 100644
--- a/source/ubinstall-gtk-packages.c
+++ b/source/ubinstall-gtk-packages.c
@@ -16,16 +16,16 @@ int yon_packages_tab_save(main_window *widgets){
yon_config_append_elements(packages_parameter,package,",");
}else if (selectable&&!status){
- yon_config_remove_elements(packages_parameter,package,",");
+ yon_config_remove_elements_all(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);
+ gtk_tree_model_get(GTK_TREE_MODEL(widgets->PackagesList),&packiter,0,&status,1,&package,3,&selectable,4,&sensitive,-1);
if (status){
if (sensitive){
yon_config_append_elements(packages_parameter,package,",");
}
} else {
- yon_config_remove_elements(packages_parameter,package,",");
+ yon_config_remove_elements_all(packages_parameter,package,",");
}
}
}
@@ -106,7 +106,7 @@ void yon_packages_tab_init(main_window *widgets){
GtkTreeIter package_iter;
gtk_tree_store_append(widgets->PackagesList,&package_iter,subcategory_iter);
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);
+ gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_elements(config_packages,parsed[2],",")||yon_char_check_elements(modules,parsed[2],","),1,parsed[2],2,full_string,3,1,4,!yon_char_check_elements(modules,parsed[2],","),5,parsed[2],-1);
free(full_string);
gtk_tree_iter_free(subcategory_iter);
} else {
@@ -116,14 +116,14 @@ void yon_packages_tab_init(main_window *widgets){
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("",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);
+ gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_elements(config_packages,parsed[2],",")||yon_char_check_elements(modules,parsed[2],","),1,parsed[2],2,full_string,3,1,4,!yon_char_check_elements(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("",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);
+ gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_elements(config_packages,parsed[2],",")||yon_char_check_elements(modules,parsed[2],","),1,parsed[2],2,full_string,3,1,4,!yon_char_check_elements(modules,parsed[2],","),5,parsed[2],-1);
free(full_string);
}
gtk_tree_iter_free(category_iter);
@@ -138,7 +138,7 @@ void yon_packages_tab_init(main_window *widgets){
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("",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);
+ gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_elements(config_packages,parsed[2],",")||yon_char_check_elements(modules,parsed[2],","),1,parsed[2],2,full_string,3,1,4,!yon_char_check_elements(modules,parsed[2],","),-1);
free(full_string);
} else {
GtkTreeIter package_iter;
@@ -147,7 +147,7 @@ void yon_packages_tab_init(main_window *widgets){
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("",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);
+ gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_elements(config_packages,parsed[2],",")||yon_char_check_elements(modules,parsed[2],","),1,parsed[2],2,full_string,3,1,4,!yon_char_check_elements(modules,parsed[2],","),5,parsed[2],-1);
free(full_string);
}
}
diff --git a/source/ubinstall-gtk-page-switch.c b/source/ubinstall-gtk-page-switch.c
index 27a6221..4bc050a 100644
--- a/source/ubinstall-gtk-page-switch.c
+++ b/source/ubinstall-gtk-page-switch.c
@@ -479,6 +479,12 @@ void yon_page_init(main_window *widgets, enum YON_PAGES page){
case YON_PAGE_INSTALL_ADVANCED:
yon_advanced_init(widgets);
break;
+ case YON_PAGE_COMPLETION:
+ const char *endaction = gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->ConfigHubRebootCombo));
+ if (!yon_char_is_empty(endaction)&&!strcmp(endaction,"close")){
+ on_exit_accepted(widgets);
+ }
+ break;
case YON_PAGE_INSTALL_COMMON:
case YON_PAGE_INSTALL_SEPARATE:
case YON_PAGE_INSTALL_SAME_PARTITION:
diff --git a/source/ubinstall-gtk-region.c b/source/ubinstall-gtk-region.c
index 5d9a461..818cff7 100644
--- a/source/ubinstall-gtk-region.c
+++ b/source/ubinstall-gtk-region.c
@@ -265,7 +265,7 @@ void yon_region_init(main_window *widgets){
if (!gtk_switch_get_active(GTK_SWITCH(widgets->RegionSensitiveSwitch))){
size=0;
config_str autotimezone = yon_config_load(internet_tomezone_check_command,(int*)&size);
- if (size&&!yon_char_is_empty(autotimezone[0])){
+ if (autotimezone&&!yon_char_is_empty(autotimezone[0])){
yon_char_remove_last_symbol(autotimezone[0],'\n');
gtk_entry_set_text(GTK_ENTRY(widgets->RegionEntry),autotimezone[0]);
cc_timezone_map_set_timezone(CC_TIMEZONE_MAP(widgets->RegionMapTarget),autotimezone[0]);
diff --git a/source/ubinstall-gtk-users.c b/source/ubinstall-gtk-users.c
index 496033a..d34a0f6 100644
--- a/source/ubinstall-gtk-users.c
+++ b/source/ubinstall-gtk-users.c
@@ -22,6 +22,18 @@ int yon_users_save(main_window *widgets){
GList *users = gtk_container_get_children(GTK_CONTAINER(widgets->UserAddBox));
GList *iter;
if (!users){
+ {
+ int size = 0;
+ config_str users = yon_config_get_all_by_key(USERADD_parameter_search,&size);
+ for(int i=0;inext){
@@ -42,6 +54,8 @@ int yon_users_save(main_window *widgets){
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_char_parsed_add_or_create_if_exists(users,&users_size,DEFAULTUSER_parameter);
+ yon_char_parsed_add_or_create_if_exists(users,&users_size,ADDADM_parameter);
yon_debug_output("%s\n",yon_config_save_list_simple(users,users_size,main_config.config_load_path));
}
return 1;
@@ -56,6 +70,17 @@ int yon_user_save(yon_user_struct *user){
yon_ubl_status_highlight_incorrect(user->LoginEntry);
return 0;
}
+ char *default_user = config(DEFAULTUSER_parameter);
+ if (yon_char_is_empty(default_user)){
+ default_user = config(DEFAULTUSER_system_parameter);
+ }
+ if (!strcmp(default_user,login)){
+ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(user->AdminCheck))){
+ yon_config_register(ADDADM_parameter,ADDADM_parameter_command,"yes");
+ } else {
+ yon_config_register(ADDADM_parameter,ADDADM_parameter_command,"no");
+ }
+ }
if (gtk_combo_box_get_active(GTK_COMBO_BOX(user->PasswordCombo))){
password = (char *)gtk_entry_get_text(GTK_ENTRY(user->PasswordEntry));
if (yon_char_is_empty(password)){
@@ -174,13 +199,16 @@ void yon_user_init(main_window *widgets){
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->UserRootPasswordCombo),NULL,SET_PASSWORD_LABEL);
yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(widgets->UserRootPasswordEntry));
char *root_password = config(root_password_parameter);
+ if (yon_char_is_empty(root_password)){
+ root_password = config(DEFAULTROOTPASSWD_system_parameter);
+ }
char *autologin = config(autologin_parameter);
- if (!yon_char_is_empty(root_password)&&!yon_config_check_default(root_password_parameter)){
+ if (!yon_char_is_empty(root_password)&&strcmp(root_password,config(DEFAULTROOTPASSWD_system_parameter))){
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->UserRootPasswordCombo),1);
gtk_entry_set_text(GTK_ENTRY(widgets->UserRootPasswordEntry),root_password);
} else {
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->UserRootPasswordCombo),0);
- gtk_entry_set_text(GTK_ENTRY(widgets->UserRootPasswordEntry),"");
+ gtk_entry_set_text(GTK_ENTRY(widgets->UserRootPasswordEntry),root_password);
}
if (!yon_char_is_empty(autologin)&&(!strcmp(autologin,"yes")||!strcmp(autologin,"enable"))){
gtk_switch_set_active(GTK_SWITCH(widgets->UserAutologinSwitch),1);
@@ -198,24 +226,35 @@ void yon_user_init(main_window *widgets){
int users_size;
config_str users = yon_config_get_all_by_key(USERADD_parameter_search,&users_size);
if (!users_size){
- char *default_user = config(DEFAULTUSER_parameter);
- if (yon_char_is_empty(default_user)){
- default_user = config(DEFAULTUSER_system_parameter);
- }
- yon_user_struct *user = yon_user_struct_new();
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(user->AdminCheck),1);
- g_signal_connect(G_OBJECT(user->AdminCheck),"clicked",G_CALLBACK(yon_user_admin_check),widgets);
- g_object_set_data(G_OBJECT(user->MainBox),"widgets",widgets);
- gtk_box_pack_start(GTK_BOX(widgets->UserAddBox),user->MainBox,0,0,0);
- gtk_entry_set_text(GTK_ENTRY(user->UsernameEntry),ADMINISTRATOR_LABEL);
- if (!yon_char_is_empty(default_user))
- gtk_entry_set_text(GTK_ENTRY(user->LoginEntry),default_user);
- else {
- gtk_entry_set_text(GTK_ENTRY(user->LoginEntry),"superadmin");
+ char *addadm = config(ADDADM_parameter);
+ if (yon_char_is_empty(addadm)){
+ addadm = config(ADDADM_system_parameter);
+ }
+ char *def_usr = config(DEFAULTUSER_parameter);
+ if (yon_char_is_empty(def_usr)||(!yon_char_is_empty(def_usr)&&strcmp(def_usr,"root"))){
+ char *default_user = config(DEFAULTUSER_parameter);
+ if (yon_char_is_empty(default_user)){
+ default_user = config(DEFAULTUSER_system_parameter);
+ }
+ yon_user_struct *user = yon_user_struct_new();
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(user->AdminCheck),1);
+ g_signal_connect(G_OBJECT(user->AdminCheck),"clicked",G_CALLBACK(yon_user_admin_check),widgets);
+ g_object_set_data(G_OBJECT(user->MainBox),"widgets",widgets);
+ gtk_box_pack_start(GTK_BOX(widgets->UserAddBox),user->MainBox,0,0,0);
+ gtk_entry_set_text(GTK_ENTRY(user->UsernameEntry),ADMINISTRATOR_LABEL);
+ if (!yon_char_is_empty(default_user))
+ gtk_entry_set_text(GTK_ENTRY(user->LoginEntry),default_user);
+ else {
+ gtk_entry_set_text(GTK_ENTRY(user->LoginEntry),"superadmin");
+ }
+ if (!yon_char_is_empty(default_passwd))
+ gtk_entry_set_text(GTK_ENTRY(user->PasswordEntry),default_passwd);
+ if (!yon_char_is_empty(def_usr)&& !strcmp(def_usr,default_user)){
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(user->AdminCheck),!strcmp(addadm,"yes"));
+ } else {
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(user->AdminCheck),strcmp(addadm,"yes"));
+ }
}
- if (!yon_char_is_empty(default_passwd))
- gtk_entry_set_text(GTK_ENTRY(user->PasswordEntry),default_passwd);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(user->AdminCheck),1);
}
for (int i=0;i