diff --git a/source/ubinstall-gtk-components.c b/source/ubinstall-gtk-components.c index b1e1723..21d7b16 100644 --- a/source/ubinstall-gtk-components.c +++ b/source/ubinstall-gtk-components.c @@ -105,7 +105,7 @@ int yon_os_components_check_packages_size(GtkWidget *, main_window *widgets){ for (listiter=list;listiter;listiter=listiter->next){ os_row *row = g_object_get_data(G_OBJECT(listiter->data),"kernel_row"); if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){ - long cur_size = yon_packages_get_installed_size(YON_PACKAGES_ALL,row->name); + long cur_size = row->size_raw; pacman_size += cur_size; if (gtk_widget_get_sensitive(row->InstallCheck)){ gtk_widget_show(widgets->OSSoftwareUncheckAllCheck); @@ -187,6 +187,7 @@ gboolean on_os_components_info(GtkWidget *, GdkEventButton *, os_row *row){ os_row *yon_os_row_new(){ os_row *row = new(os_row); + memset(row,0,sizeof(os_row)); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_os_row); row->RowBox = yon_gtk_builder_get_widget(builder,"TableRow"); row->InstallCheck = yon_gtk_builder_get_widget(builder,"InstallCheck"); @@ -200,6 +201,7 @@ os_row *yon_os_row_new(){ row->name=NULL; row->modules=NULL; row->version=NULL; + row->size_raw=0; gtk_overlay_add_overlay(GTK_OVERLAY(row->RowOverlay),row->NameLabel); g_signal_connect(G_OBJECT(row->NameLabel),"activate-link",G_CALLBACK(on_os_components_info),row); @@ -225,6 +227,7 @@ void *yon_modules_list_load(main_window *widgets){ continue; } struct row_data *row = malloc(sizeof(struct row_data)); + memset(row,0,sizeof(struct row_data)); row->version = parsed[3]; row->name = parsed[1]; row->tags = yon_char_replace(parsed[2]," ",", "); @@ -235,6 +238,7 @@ void *yon_modules_list_load(main_window *widgets){ char sizemod; char *temp = yon_char_from_double(yon_size_long_convert_automatic(atol(parsed[4]),&sizemod)); char *size_str = yon_size_get_name_from_letter(sizemod); + row->size_raw = (unsigned long)atol(parsed[4]); row->size = yon_char_unite(temp," ", size_str,NULL); free(temp); g_idle_add((GSourceFunc)yon_os_component_insert,row); @@ -279,6 +283,7 @@ gboolean yon_os_component_insert(struct row_data *row_input){ g_signal_connect(G_OBJECT(row->InstallCheck),"toggled",G_CALLBACK(yon_os_components_check_packages_size),widgets); gtk_list_box_insert(GTK_LIST_BOX(widgets->OSSoftwareListBox),row->row,-1); yon_os_row_setup(row,row_input->name,row_input->version,row_input->tags,!yon_char_is_empty(row_input->description)?(_(row_input->description)):"", row_input->source, row_input->size); + row->size_raw = row_input->size_raw; char *modules = config(modules_parameter); if (yon_char_is_empty(modules)||yon_char_check_element(modules,row_input->name,",")||!strcmp(modules,"auto")){ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),1); @@ -424,7 +429,7 @@ int yon_software_check_packages_size(GtkWidget *, main_window *widgets){ for (listiter=list;listiter;listiter=listiter->next){ os_row *row = g_object_get_data(G_OBJECT(listiter->data),"kernel_row"); if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){ - long cur_size = yon_packages_get_installed_size(YON_PACKAGES_ALL,row->name); + long cur_size = row->size_raw; pacman_size += cur_size; if (gtk_widget_get_sensitive(row->InstallCheck)){ gtk_widget_show(widgets->AdditionalComponentsUncheckAllCheck); @@ -461,6 +466,7 @@ gboolean yon_software_insert(struct row_data *row_input){ g_signal_connect(G_OBJECT(row->InstallCheck),"toggled",G_CALLBACK(yon_software_check_packages_size),widgets); gtk_list_box_insert(GTK_LIST_BOX(widgets->AdditionalComponentsList),row->row,-1); yon_os_row_setup(row,row_input->name,row_input->version,row_input->tags,_(row_input->description),NULL,row_input->size); + row->size_raw = row_input->size_raw; char *modules = config(packages_parameter); if (yon_char_check_element(modules,row_input->name,",")){ @@ -521,23 +527,24 @@ void yon_software_init(main_window *widgets){ row->name = yon_char_new(base[i]); row->tags = yon_packages_get_groups(YON_PACKAGES_ALL,base[i]); int parsed_size; - config_str tags_parsed = yon_char_parse(row->tags,&parsed_size," "); + config_str tags_parsed = yon_char_parse(row->tags,&parsed_size,", "); if (parsed_size){ int ubmodule_pos = yon_char_parsed_check_exist(tags_parsed,parsed_size,"ubmodule"); if (ubmodule_pos>-1){ free(tags_parsed[ubmodule_pos]); tags_parsed[ubmodule_pos] = NULL; - row->tags = yon_char_parsed_to_string(tags_parsed,parsed_size," "); + row->tags = yon_char_parsed_to_string(tags_parsed,parsed_size,", "); } yon_char_parsed_free(tags_parsed,parsed_size); } row->description = yon_packages_get_description(YON_PACKAGES_ALL,base[i]); - long size = yon_packages_get_size(YON_PACKAGES_ALL,base[i]); + long size = yon_packages_get_installed_size(YON_PACKAGES_ALL,base[i]); char mod = '\0'; double size_converted = yon_size_long_convert_automatic(size,&mod); char *size_str = yon_char_unite(yon_char_from_double(size_converted)," ", yon_size_get_name_from_letter(mod),NULL); + row->size_raw = size; row->size = size_str; row->widgets=widgets; g_idle_add((GSourceFunc)yon_software_insert,row); @@ -589,9 +596,9 @@ void yon_pacman_init(main_window *widgets){ int size=0; config_str parsed = yon_char_parse(pacman_packages,&size,","); for (int i=0;iPacmanSoftwareAllList),&iter,1,&name,2,&type,3,&description,4,&size_str,-1); gtk_list_store_remove(widgets->PacmanSoftwareAllList,&iter); gtk_list_store_append(widgets->PacmanSoftwareChosenList,&iter); - gtk_list_store_set(widgets->PacmanSoftwareChosenList,&iter,0,1,1,name,2,type,3,description,4,size_str,-1); + gtk_list_store_set(widgets->PacmanSoftwareChosenList,&iter,0,1,1,name,2,type,3,description,4,size_str,6,1,-1); g_hash_table_add(widgets->pacmanchosen,yon_char_new(name)); yon_pacman_software_update_overall_size(widgets); @@ -686,7 +693,7 @@ void yon_pacman_software_update_overall_size(main_window *widgets){ for (listiter=list;listiter;listiter=listiter->next){ os_row *row = g_object_get_data(G_OBJECT(listiter->data),"kernel_row"); if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){ - long cur_size = yon_packages_get_installed_size(YON_PACKAGES_ALL,row->name); + long cur_size = row->size_raw; pacman_size += cur_size; } } diff --git a/source/ubinstall-gtk-language.c b/source/ubinstall-gtk-language.c index 0a6b207..9bb71f3 100644 --- a/source/ubinstall-gtk-language.c +++ b/source/ubinstall-gtk-language.c @@ -7,6 +7,14 @@ void yon_language_update(main_window *widgets){ char *config_languages = config(lang_parameter); if (yon_char_is_empty(config_locale)||yon_config_check_ignore(locale_parameter)){ gtk_switch_set_active(GTK_SWITCH(widgets->LocaleDefaultSwitch),1); + GtkTreeIter iter; + char *cur_lang = g_hash_table_lookup(main_config.languages,"en_US.UTF-8"); + if (!yon_char_is_empty(cur_lang)){ + int parsed_size; + config_str parsed = yon_char_parse(cur_lang,&parsed_size,"|"); + gtk_list_store_append(widgets->LanguageList,&iter); + gtk_list_store_set(widgets->LanguageList,&iter,1,parsed[1],2,parsed[2],3,parsed[0],-1); + } } else { gtk_switch_set_active(GTK_SWITCH(widgets->LocaleDefaultSwitch),0); int parsed_param_size; diff --git a/source/ubinstall-gtk-packages.c b/source/ubinstall-gtk-packages.c index 58fedb0..850c855 100644 --- a/source/ubinstall-gtk-packages.c +++ b/source/ubinstall-gtk-packages.c @@ -163,9 +163,9 @@ void yon_packages_tab_init(main_window *widgets){ } yon_char_parsed_add_or_create_if_exists(final,&final_size,modules_parsed[j]); } - if (empty) continue; yon_char_parsed_free(modules_parsed,modules_parsed_size); char *modules_string = yon_char_parsed_to_string(final,final_size,"\t"); + if (empty && !yon_char_check_elements(modules,modules_string,",")) continue; if (category_iter){ if (!yon_char_is_empty(parsed[1])){ GtkTreeIter *subcategory_iter = yon_subcategory_check(widgets->PackagesList,category_iter,parsed[1]); diff --git a/source/ubinstall-gtk-page-switch.c b/source/ubinstall-gtk-page-switch.c index 43227e7..9f815eb 100644 --- a/source/ubinstall-gtk-page-switch.c +++ b/source/ubinstall-gtk-page-switch.c @@ -430,10 +430,9 @@ void yon_configuration_mode_check(main_window *widgets){ } void yon_page_update(main_window *widgets){ - // yon_resize_images_update(widgets); yon_navigation_buttons_set_sensetiveness(widgets); - // yon_switch_page_render(widgets); - // yon_configuration_mode_check(widgets); + yon_switch_page_render(widgets); + yon_configuration_mode_check(widgets); } enum YON_PAGES yon_sections_get_next_page(main_window *widgets){ diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index c8705de..5b2fae5 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -162,9 +162,9 @@ void on_rdp_toggled(GtkWidget *self, main_window *){ int active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_list_nth_data(children,0))); if (!active){ - yon_launch(enable_rdp_command); + yon_launch(yon_debug_output("%s\n",enable_rdp_command)); } else { - yon_launch(disable_rdp_command); + yon_launch(yon_debug_output("%s\n",disable_rdp_command)); } gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(g_list_nth_data(children,0)),!active); g_list_free(box); diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index e46e332..4c02b9a 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -1064,6 +1064,7 @@ typedef struct char *version; char *tags; char *description; + unsigned long size_raw; GtkWidget *RowOverlay; } os_row; @@ -1173,6 +1174,7 @@ struct row_data char *description; char *source; char *size; + unsigned long size_raw; }; typedef struct @@ -1452,27 +1454,8 @@ void on_installer_language_changed(GtkWidget *self, GtkTreePath *, GtkTreeViewCo gboolean on_country_filter(GtkTreeModel *self, GtkTreeIter *iter, main_window *widgets); gboolean yon_os_component_insert(struct row_data *row_input); gboolean yon_spinner_switch_off(GtkSpinner *target); -// void on_advanced_added(GtkWidget *, char *, main_window *); -// void on_advanced_new(GtkWidget *, main_window *); -// int yon_advanced_section_get(char *partition); -// void yon_advanced_partition_set_from_section(advanced_part_widgets *part, advanced_part_widgets *section); -// void yon_advanced_update(main_window *widgets); -// void on_advanced_partition_create(GtkWidget *, main_window *widgets); -// void yon_advanced_parts_update(main_window *widgets); -// void on_advanced_partition_add(GtkWidget *, char *path, main_window *widgets); -// void yon_advanced_section_remove_all(); -// void on_advanced_section_toggled(GtkWidget *self, main_window *widgets); void yon_fs_type_setup(GtkComboBoxText *target); -// void yon_advanced_set_max_size_from_partition(advanced_part_widgets *part, main_window *widgets); -// void on_advanced_size_changed(GtkWidget *self, main_window *widgets); int yon_advanced_save(main_window *widgets); -// void yon_advanced_part_parameter_changed(GtkWidget *self, advanced_part_widgets *part); -// void yon_advanced_section_update(main_window *widgets); -// void yon_advanced_section_update_section(advanced_part_widgets *part, GtkWidget *cur_toggle, main_window *widgets); -// int yon_advanced_section_get_by_part(advanced_part_widgets *part); -// void yon_advanced_section_remove_by_name(char *part); -// void on_advanced_virtual_device_changed(GtkWidget *, main_window *widgets); -// int yon_advanced_section_append(advanced_part_widgets *section); void on_format_changed(GtkWidget *self, advanced_part_widgets *part); int yon_layouts_get(); void on_link(GtkWidget *self, char *uri, gpointer); diff --git a/ubinstall-gtk-os-row.glade b/ubinstall-gtk-os-row.glade index 21dd622..7ba62e6 100644 --- a/ubinstall-gtk-os-row.glade +++ b/ubinstall-gtk-os-row.glade @@ -52,13 +52,13 @@ - 15 + 21 True False center start 3 - 5 + 3 2 @@ -308,7 +308,7 @@ True start start - 20 + 25 6 Name 0 diff --git a/ubinstall-gtk.glade b/ubinstall-gtk.glade index 506c9d4..c4193a7 100644 --- a/ubinstall-gtk.glade +++ b/ubinstall-gtk.glade @@ -7437,6 +7437,7 @@ Select a different installation sources. + word-char 500