master #377

Merged
asmeron merged 8 commits from YanTheKaller/ubinstall-gtk:master into master 3 weeks ago

@ -105,7 +105,7 @@ int yon_os_components_check_packages_size(GtkWidget *, main_window *widgets){
for (listiter=list;listiter;listiter=listiter->next){ for (listiter=list;listiter;listiter=listiter->next){
os_row *row = g_object_get_data(G_OBJECT(listiter->data),"kernel_row"); os_row *row = g_object_get_data(G_OBJECT(listiter->data),"kernel_row");
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){ 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; pacman_size += cur_size;
if (gtk_widget_get_sensitive(row->InstallCheck)){ if (gtk_widget_get_sensitive(row->InstallCheck)){
gtk_widget_show(widgets->OSSoftwareUncheckAllCheck); 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 *yon_os_row_new(){
os_row *row = new(os_row); os_row *row = new(os_row);
memset(row,0,sizeof(os_row));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_os_row); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_os_row);
row->RowBox = yon_gtk_builder_get_widget(builder,"TableRow"); row->RowBox = yon_gtk_builder_get_widget(builder,"TableRow");
row->InstallCheck = yon_gtk_builder_get_widget(builder,"InstallCheck"); row->InstallCheck = yon_gtk_builder_get_widget(builder,"InstallCheck");
@ -200,6 +201,7 @@ os_row *yon_os_row_new(){
row->name=NULL; row->name=NULL;
row->modules=NULL; row->modules=NULL;
row->version=NULL; row->version=NULL;
row->size_raw=0;
gtk_overlay_add_overlay(GTK_OVERLAY(row->RowOverlay),row->NameLabel); 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); 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; continue;
} }
struct row_data *row = malloc(sizeof(struct row_data)); struct row_data *row = malloc(sizeof(struct row_data));
memset(row,0,sizeof(struct row_data));
row->version = parsed[3]; row->version = parsed[3];
row->name = parsed[1]; row->name = parsed[1];
row->tags = yon_char_replace(parsed[2]," ",", "); row->tags = yon_char_replace(parsed[2]," ",", ");
@ -235,6 +238,7 @@ void *yon_modules_list_load(main_window *widgets){
char sizemod; char sizemod;
char *temp = yon_char_from_double(yon_size_long_convert_automatic(atol(parsed[4]),&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); 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); row->size = yon_char_unite(temp," ", size_str,NULL);
free(temp); free(temp);
g_idle_add((GSourceFunc)yon_os_component_insert,row); 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); 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); 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); 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); char *modules = config(modules_parameter);
if (yon_char_is_empty(modules)||yon_char_check_element(modules,row_input->name,",")||!strcmp(modules,"auto")){ 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); 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){ for (listiter=list;listiter;listiter=listiter->next){
os_row *row = g_object_get_data(G_OBJECT(listiter->data),"kernel_row"); os_row *row = g_object_get_data(G_OBJECT(listiter->data),"kernel_row");
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){ 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; pacman_size += cur_size;
if (gtk_widget_get_sensitive(row->InstallCheck)){ if (gtk_widget_get_sensitive(row->InstallCheck)){
gtk_widget_show(widgets->AdditionalComponentsUncheckAllCheck); 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); 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); 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); 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); char *modules = config(packages_parameter);
if (yon_char_check_element(modules,row_input->name,",")){ 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->name = yon_char_new(base[i]);
row->tags = yon_packages_get_groups(YON_PACKAGES_ALL,base[i]); row->tags = yon_packages_get_groups(YON_PACKAGES_ALL,base[i]);
int parsed_size; 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){ if (parsed_size){
int ubmodule_pos = yon_char_parsed_check_exist(tags_parsed,parsed_size,"ubmodule"); int ubmodule_pos = yon_char_parsed_check_exist(tags_parsed,parsed_size,"ubmodule");
if (ubmodule_pos>-1){ if (ubmodule_pos>-1){
free(tags_parsed[ubmodule_pos]); free(tags_parsed[ubmodule_pos]);
tags_parsed[ubmodule_pos] = NULL; 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); yon_char_parsed_free(tags_parsed,parsed_size);
} }
row->description = yon_packages_get_description(YON_PACKAGES_ALL,base[i]); 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'; char mod = '\0';
double size_converted = yon_size_long_convert_automatic(size,&mod); 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); 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->size = size_str;
row->widgets=widgets; row->widgets=widgets;
g_idle_add((GSourceFunc)yon_software_insert,row); g_idle_add((GSourceFunc)yon_software_insert,row);
@ -589,9 +596,9 @@ void yon_pacman_init(main_window *widgets){
int size=0; int size=0;
config_str parsed = yon_char_parse(pacman_packages,&size,","); config_str parsed = yon_char_parse(pacman_packages,&size,",");
for (int i=0;i<size;i++){ for (int i=0;i<size;i++){
char *description = yon_packages_get_description(YON_PACKAGES_SYNC,parsed[i]); char *description = yon_packages_get_description(YON_PACKAGES_ALL,parsed[i]);
char *version = yon_packages_get_version(YON_PACKAGES_SYNC,parsed[i]); char *version = yon_packages_get_version(YON_PACKAGES_ALL,parsed[i]);
long pkgsize = yon_packages_get_installed_size(YON_PACKAGES_SYNC,parsed[i]); long pkgsize = yon_packages_get_installed_size(YON_PACKAGES_ALL,parsed[i]);
char mod = '\n'; char mod = '\n';
double size_converted = yon_size_long_convert_automatic(pkgsize,&mod); 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); char *size_str = yon_char_unite(yon_char_from_double(size_converted)," ", yon_size_get_name_from_letter(mod),NULL);
@ -629,9 +636,9 @@ void yon_pacman_init(main_window *widgets){
parsed = yon_char_parse(modules_packages,&size,","); parsed = yon_char_parse(modules_packages,&size,",");
for (int i=1;i<size;i++){ for (int i=1;i<size;i++){
char *description = yon_packages_get_description(YON_PACKAGES_SYNC,parsed[i]); char *description = yon_packages_get_description(YON_PACKAGES_ALL,parsed[i]);
char *version = yon_packages_get_version(YON_PACKAGES_SYNC,parsed[i]); char *version = yon_packages_get_version(YON_PACKAGES_ALL,parsed[i]);
long pkgsize = yon_packages_get_installed_size(YON_PACKAGES_SYNC,parsed[i]); long pkgsize = yon_packages_get_installed_size(YON_PACKAGES_ALL,parsed[i]);
char mod = '\n'; char mod = '\n';
double size_converted = yon_size_long_convert_automatic(pkgsize,&mod); 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); char *size_str = yon_char_unite(yon_char_from_double(size_converted)," ", yon_size_get_name_from_letter(mod),NULL);
@ -651,7 +658,7 @@ void on_pacman_software_all_toggled(GtkWidget *, char *path, main_window *widget
gtk_tree_model_get(GTK_TREE_MODEL(widgets->PacmanSoftwareAllList),&iter,1,&name,2,&type,3,&description,4,&size_str,-1); gtk_tree_model_get(GTK_TREE_MODEL(widgets->PacmanSoftwareAllList),&iter,1,&name,2,&type,3,&description,4,&size_str,-1);
gtk_list_store_remove(widgets->PacmanSoftwareAllList,&iter); gtk_list_store_remove(widgets->PacmanSoftwareAllList,&iter);
gtk_list_store_append(widgets->PacmanSoftwareChosenList,&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)); g_hash_table_add(widgets->pacmanchosen,yon_char_new(name));
yon_pacman_software_update_overall_size(widgets); 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){ for (listiter=list;listiter;listiter=listiter->next){
os_row *row = g_object_get_data(G_OBJECT(listiter->data),"kernel_row"); os_row *row = g_object_get_data(G_OBJECT(listiter->data),"kernel_row");
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){ 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; pacman_size += cur_size;
} }
} }

@ -7,6 +7,14 @@ void yon_language_update(main_window *widgets){
char *config_languages = config(lang_parameter); char *config_languages = config(lang_parameter);
if (yon_char_is_empty(config_locale)||yon_config_check_ignore(locale_parameter)){ if (yon_char_is_empty(config_locale)||yon_config_check_ignore(locale_parameter)){
gtk_switch_set_active(GTK_SWITCH(widgets->LocaleDefaultSwitch),1); 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 { } else {
gtk_switch_set_active(GTK_SWITCH(widgets->LocaleDefaultSwitch),0); gtk_switch_set_active(GTK_SWITCH(widgets->LocaleDefaultSwitch),0);
int parsed_param_size; int parsed_param_size;

@ -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]); 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); yon_char_parsed_free(modules_parsed,modules_parsed_size);
char *modules_string = yon_char_parsed_to_string(final,final_size,"\t"); 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 (category_iter){
if (!yon_char_is_empty(parsed[1])){ if (!yon_char_is_empty(parsed[1])){
GtkTreeIter *subcategory_iter = yon_subcategory_check(widgets->PackagesList,category_iter,parsed[1]); GtkTreeIter *subcategory_iter = yon_subcategory_check(widgets->PackagesList,category_iter,parsed[1]);

@ -430,10 +430,9 @@ void yon_configuration_mode_check(main_window *widgets){
} }
void yon_page_update(main_window *widgets){ void yon_page_update(main_window *widgets){
// yon_resize_images_update(widgets);
yon_navigation_buttons_set_sensetiveness(widgets); yon_navigation_buttons_set_sensetiveness(widgets);
// yon_switch_page_render(widgets); yon_switch_page_render(widgets);
// yon_configuration_mode_check(widgets); yon_configuration_mode_check(widgets);
} }
enum YON_PAGES yon_sections_get_next_page(main_window *widgets){ enum YON_PAGES yon_sections_get_next_page(main_window *widgets){

@ -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))); int active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_list_nth_data(children,0)));
if (!active){ if (!active){
yon_launch(enable_rdp_command); yon_launch(yon_debug_output("%s\n",enable_rdp_command));
} else { } 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); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(g_list_nth_data(children,0)),!active);
g_list_free(box); g_list_free(box);

@ -1064,6 +1064,7 @@ typedef struct
char *version; char *version;
char *tags; char *tags;
char *description; char *description;
unsigned long size_raw;
GtkWidget *RowOverlay; GtkWidget *RowOverlay;
} os_row; } os_row;
@ -1173,6 +1174,7 @@ struct row_data
char *description; char *description;
char *source; char *source;
char *size; char *size;
unsigned long size_raw;
}; };
typedef struct 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 on_country_filter(GtkTreeModel *self, GtkTreeIter *iter, main_window *widgets);
gboolean yon_os_component_insert(struct row_data *row_input); gboolean yon_os_component_insert(struct row_data *row_input);
gboolean yon_spinner_switch_off(GtkSpinner *target); 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_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); 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); void on_format_changed(GtkWidget *self, advanced_part_widgets *part);
int yon_layouts_get(); int yon_layouts_get();
void on_link(GtkWidget *self, char *uri, gpointer); void on_link(GtkWidget *self, char *uri, gpointer);

@ -52,13 +52,13 @@
</child> </child>
<child> <child>
<object class="GtkBox" id="TagsBox"> <object class="GtkBox" id="TagsBox">
<property name="height-request">15</property> <property name="height-request">21</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="halign">center</property> <property name="halign">center</property>
<property name="valign">start</property> <property name="valign">start</property>
<property name="margin-top">3</property> <property name="margin-top">3</property>
<property name="margin-bottom">5</property> <property name="margin-bottom">3</property>
<property name="spacing">2</property> <property name="spacing">2</property>
<child> <child>
<placeholder/> <placeholder/>
@ -308,7 +308,7 @@
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="halign">start</property> <property name="halign">start</property>
<property name="valign">start</property> <property name="valign">start</property>
<property name="margin-start">20</property> <property name="margin-start">25</property>
<property name="margin-top">6</property> <property name="margin-top">6</property>
<property name="label" translatable="yes">Name</property> <property name="label" translatable="yes">Name</property>
<property name="width-chars">0</property> <property name="width-chars">0</property>

@ -7437,6 +7437,7 @@ Select a different installation sources.</property>
</child> </child>
<child> <child>
<object class="GtkCellRendererText"> <object class="GtkCellRendererText">
<property name="wrap-mode">word-char</property>
<property name="wrap-width">500</property> <property name="wrap-width">500</property>
</object> </object>
<attributes> <attributes>

Loading…
Cancel
Save