Merge pull request 'master' (#341) from YanTheKaller/ubinstall-gtk:master into master

Reviewed-on: #341
pull/344/head
Dmitry Razumov 1 month ago
commit d891385e64

@ -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);

@ -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;
}

@ -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("<b>",name_render,"</b>\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("<b>",name_render,"</b>\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("<b>",name_render,"</b>\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("<b>",name_render,"</b>\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("<b>",name_render,"</b>\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);
}
}

@ -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:

@ -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]);

@ -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;i<size;i++){
if (strstr(users[i],"=")){
char *temp = yon_char_divide_search(users[i],"=",-1);
free(users[i]);
users[i] = temp;
}
}
yon_config_remove_by_list(users,size);
}
yon_config_register(DEFAULTUSER_parameter,DEFAULTUSER_parameter_command,"root");
} else {
for (iter=users;iter;iter=iter->next){
@ -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,6 +226,12 @@ 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 *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);
@ -215,7 +249,12 @@ void yon_user_init(main_window *widgets){
}
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);
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"));
}
}
}
for (int i=0;i<users_size;i++){
yon_user_struct *user = yon_user_struct_new();

@ -275,6 +275,12 @@ layout && /description:/ {\
#define DEFAULTPASSWD_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [users] DEFAULTPASSWD']"
#define DEFAULTPASSWD_system_parameter "DEFAULTPASSWD"
#define DEFAULTPASSWD_system_parameter_command "ubconfig --source global get [users] DEFAULTPASSWD"
#define DEFAULTROOTPASSWD_system_parameter "DEFAULTROOTPASSWD"
#define DEFAULTROOTPASSWD_system_parameter_command "ubconfig --source global get [users] DEFAULTROOTPASSWD"
#define ADDADM_parameter "AUTOINSTALL[ubconfig set [users] ADDADM]"
#define ADDADM_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [users] ADDADM']"
#define ADDADM_system_parameter "ADDADM"
#define ADDADM_system_parameter_command "ubconfig --source default get [autoinstall] ADDADM"
#define SYSTEM_LANG_parameter "AUTOINSTALL['ubconfig set [locale] LANG']"
#define SYSTEM_LANG_parameter_command "ubconfig --source global get autoinstall AUTOINSTALL['ubconfig set [locale] LANG']"
@ -308,9 +314,9 @@ layout && /description:/ {\
#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)
#define config_get_command(target) yon_char_unite("ubconfig -ea --conarg --source ", target, " get [autoinstall] AUTOINSTALL[*] ADDADM -- get [locale] LANG", NULL)
#define config_get_default_command "ubconfig -ea --noconarg --source default get [autoinstall] AUTOINSTALL[*] -- get [locale] LANG -- get [users] ADMUID DEFAULTUSER DEFAULTPASSWD"
#define config_get_default_command "ubconfig -ea --noconarg --source default get [autoinstall] AUTOINSTALL[*] ADDADM -- get [locale] LANG -- get [users] ADMUID DEFAULTUSER DEFAULTPASSWD DEFAULTROOTPASSWD"
#define config_get_global_only_parameters ""
#define config_get_local_only_parameters ""
@ -387,7 +393,8 @@ layout && /description:/ {\
part_crypt_parameter
typedef char *string;
__attribute__((unused)) static string version_application;
__attribute__((unused)) static
string version_application;
enum YON_PAGES
{

Loading…
Cancel
Save