|
|
|
@ -1,50 +1,53 @@
|
|
|
|
#include "ubinstall-gtk.h"
|
|
|
|
#include "ubinstall-gtk.h"
|
|
|
|
|
|
|
|
|
|
|
|
void on_os_components_uncheck_all(GtkWidget *,main_window *widgets){
|
|
|
|
|
|
|
|
int active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->OSSoftwareUncheckAllCheck));
|
|
|
|
|
|
|
|
switch(active){
|
|
|
|
|
|
|
|
case 1:{
|
|
|
|
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox));
|
|
|
|
|
|
|
|
GList *iter;
|
|
|
|
|
|
|
|
for(iter = list;iter;iter=iter->next){
|
|
|
|
|
|
|
|
os_row *row = g_object_get_data(iter->data,"kernel_row");
|
|
|
|
|
|
|
|
int sensitive = gtk_widget_get_sensitive(row->InstallCheck);
|
|
|
|
|
|
|
|
if (sensitive){
|
|
|
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),0);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
gtk_widget_hide(widgets->OSSoftwareUncheckAllCheck);
|
|
|
|
|
|
|
|
g_signal_handlers_block_by_func(G_OBJECT(widgets->OSSoftwareUncheckAllCheck),on_os_components_uncheck_all,widgets);
|
|
|
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->OSSoftwareUncheckAllCheck),0);
|
|
|
|
|
|
|
|
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->OSSoftwareUncheckAllCheck),on_os_components_uncheck_all,widgets);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// void on_os_components_uncheck_all(GtkWidget *,main_window *widgets){
|
|
|
|
// void on_os_components_uncheck_all(GtkWidget *,main_window *widgets){
|
|
|
|
// int active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->OSSoftwareUncheckAllCheck));
|
|
|
|
// int active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->OSSoftwareUncheckAllCheck));
|
|
|
|
// GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox));
|
|
|
|
|
|
|
|
// GList *iter;
|
|
|
|
|
|
|
|
// for(iter = list;iter;iter=iter->next){
|
|
|
|
|
|
|
|
// os_row *row = g_object_get_data(iter->data,"kernel_row");
|
|
|
|
|
|
|
|
// int sensitive = gtk_widget_get_sensitive(row->InstallCheck);
|
|
|
|
|
|
|
|
// if (sensitive){
|
|
|
|
|
|
|
|
// gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),!active);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// switch(active){
|
|
|
|
// switch(active){
|
|
|
|
// case 0: gtk_button_set_label(GTK_BUTTON(widgets->OSSoftwareUncheckAllCheck),UNCHECK_ALL_LABEL);
|
|
|
|
// case 1:{
|
|
|
|
// break;
|
|
|
|
// GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox));
|
|
|
|
// case 1: gtk_button_set_label(GTK_BUTTON(widgets->OSSoftwareUncheckAllCheck),CHECK_ALL_LABEL);
|
|
|
|
// GList *iter;
|
|
|
|
|
|
|
|
// for(iter = list;iter;iter=iter->next){
|
|
|
|
|
|
|
|
// os_row *row = g_object_get_data(iter->data,"kernel_row");
|
|
|
|
|
|
|
|
// int sensitive = gtk_widget_get_sensitive(row->InstallCheck);
|
|
|
|
|
|
|
|
// if (sensitive){
|
|
|
|
|
|
|
|
// gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),0);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// } break;
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
// gtk_widget_hide(widgets->OSSoftwareUncheckAllCheck);
|
|
|
|
// g_signal_handlers_block_by_func(G_OBJECT(widgets->OSSoftwareUncheckAllCheck),on_os_components_uncheck_all,widgets);
|
|
|
|
// g_signal_handlers_block_by_func(G_OBJECT(widgets->OSSoftwareUncheckAllCheck),on_os_components_uncheck_all,widgets);
|
|
|
|
// gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->OSSoftwareUncheckAllCheck),0);
|
|
|
|
// gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->OSSoftwareUncheckAllCheck),0);
|
|
|
|
// g_signal_handlers_unblock_by_func(G_OBJECT(widgets->OSSoftwareUncheckAllCheck),on_os_components_uncheck_all,widgets);
|
|
|
|
// g_signal_handlers_unblock_by_func(G_OBJECT(widgets->OSSoftwareUncheckAllCheck),on_os_components_uncheck_all,widgets);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void on_os_components_switch_all(GtkWidget *self,main_window *widgets){
|
|
|
|
|
|
|
|
g_signal_handlers_block_by_func(G_OBJECT(self),G_CALLBACK(on_os_components_switch_all),widgets);
|
|
|
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(self),0);
|
|
|
|
|
|
|
|
g_signal_handlers_unblock_by_func(G_OBJECT(self),G_CALLBACK(on_os_components_switch_all),widgets);
|
|
|
|
|
|
|
|
int active = !!g_object_get_data(G_OBJECT(self),"uncheck");
|
|
|
|
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox));
|
|
|
|
|
|
|
|
GList *iter;
|
|
|
|
|
|
|
|
for(iter = list;iter;iter=iter->next){
|
|
|
|
|
|
|
|
os_row *row = g_object_get_data(iter->data,"kernel_row");
|
|
|
|
|
|
|
|
int sensitive = gtk_widget_get_sensitive(row->InstallCheck);
|
|
|
|
|
|
|
|
if (sensitive){
|
|
|
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),!active);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
switch(active){
|
|
|
|
|
|
|
|
case 0: gtk_button_set_label(GTK_BUTTON(self),UNCHECK_ALL_LABEL);
|
|
|
|
|
|
|
|
g_object_set_data(G_OBJECT(self),"uncheck",widgets);
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1: gtk_button_set_label(GTK_BUTTON(self),CHECK_ALL_LABEL);
|
|
|
|
|
|
|
|
g_object_set_data(G_OBJECT(self),"uncheck",NULL);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
int yon_os_components_check_packages_size(GtkWidget *, main_window *widgets){
|
|
|
|
int yon_os_components_check_packages_size(GtkWidget *, main_window *widgets){
|
|
|
|
long pacman_size = 0;
|
|
|
|
long pacman_size = 0;
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
int active = 1;
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox));
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox));
|
|
|
|
GList *listiter;
|
|
|
|
GList *listiter;
|
|
|
|
for (listiter=list;listiter;listiter=listiter->next){
|
|
|
|
for (listiter=list;listiter;listiter=listiter->next){
|
|
|
|
@ -53,16 +56,18 @@ int yon_os_components_check_packages_size(GtkWidget *, main_window *widgets){
|
|
|
|
long cur_size = row->size_raw;
|
|
|
|
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);
|
|
|
|
// gtk_button_set_label(GTK_BUTTON(widgets->OSSoftwareUncheckAllCheck),UNCHECK_ALL_LABEL);
|
|
|
|
active = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// } else {
|
|
|
|
|
|
|
|
// gtk_button_set_label(GTK_BUTTON(widgets->OSSoftwareUncheckAllCheck),CHECK_ALL_LABEL);
|
|
|
|
|
|
|
|
// g_signal_handlers_block_by_func(G_OBJECT(widgets->OSSoftwareUncheckAllCheck),on_os_components_uncheck_all,widgets);
|
|
|
|
|
|
|
|
// gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->OSSoftwareUncheckAllCheck),1);
|
|
|
|
|
|
|
|
// g_signal_handlers_unblock_by_func(G_OBJECT(widgets->OSSoftwareUncheckAllCheck),on_os_components_uncheck_all,widgets);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
switch(active){
|
|
|
|
|
|
|
|
case 0: gtk_button_set_label(GTK_BUTTON(widgets->OSSoftwareUncheckAllCheck),UNCHECK_ALL_LABEL);
|
|
|
|
|
|
|
|
g_object_set_data(G_OBJECT(widgets->OSSoftwareUncheckAllCheck),"uncheck",widgets);
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1: gtk_button_set_label(GTK_BUTTON(widgets->OSSoftwareUncheckAllCheck),CHECK_ALL_LABEL);
|
|
|
|
|
|
|
|
g_object_set_data(G_OBJECT(widgets->OSSoftwareUncheckAllCheck),"uncheck",NULL);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
{
|
|
|
|
{
|
|
|
|
GtkTreeIter iter;
|
|
|
|
GtkTreeIter iter;
|
|
|
|
@ -299,12 +304,9 @@ void yon_os_components_init(main_window *widgets){
|
|
|
|
if (!main_config.configure_mode){
|
|
|
|
if (!main_config.configure_mode){
|
|
|
|
yon_config_update_by_args(main_config.config_load_path, modules_parameter,NULL);
|
|
|
|
yon_config_update_by_args(main_config.config_load_path, modules_parameter,NULL);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// int size = 0;
|
|
|
|
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox));
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox));
|
|
|
|
GList *iter;
|
|
|
|
GList *iter;
|
|
|
|
for (iter=list;iter;iter=iter->next){
|
|
|
|
for (iter=list;iter;iter=iter->next){
|
|
|
|
// os_row *row = g_object_get_data(iter->data,"kernel_row");
|
|
|
|
|
|
|
|
// free(row);
|
|
|
|
|
|
|
|
gtk_widget_destroy(GTK_WIDGET(iter->data));
|
|
|
|
gtk_widget_destroy(GTK_WIDGET(iter->data));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (!gtk_widget_get_parent(widgets->OSSpinner))
|
|
|
|
if (!gtk_widget_get_parent(widgets->OSSpinner))
|
|
|
|
@ -315,25 +317,48 @@ void yon_os_components_init(main_window *widgets){
|
|
|
|
while(gtk_events_pending()) gtk_main_iteration();
|
|
|
|
while(gtk_events_pending()) gtk_main_iteration();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void on_software_uncheck_all(GtkWidget *, main_window *widgets){
|
|
|
|
// void on_software_uncheck_all(GtkWidget *, main_window *widgets){
|
|
|
|
int active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->AdditionalComponentsUncheckAllCheck));
|
|
|
|
// int active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->AdditionalComponentsUncheckAllCheck));
|
|
|
|
|
|
|
|
// switch(active){
|
|
|
|
|
|
|
|
// case 1:{
|
|
|
|
|
|
|
|
// GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->AdditionalComponentsList));
|
|
|
|
|
|
|
|
// GList *iter;
|
|
|
|
|
|
|
|
// for(iter = list;iter;iter=iter->next){
|
|
|
|
|
|
|
|
// os_row *row = g_object_get_data(iter->data,"kernel_row");
|
|
|
|
|
|
|
|
// int sensitive = gtk_widget_get_sensitive(row->InstallCheck);
|
|
|
|
|
|
|
|
// if (sensitive){
|
|
|
|
|
|
|
|
// gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),0);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// } break;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// gtk_widget_hide(widgets->AdditionalComponentsUncheckAllCheck);
|
|
|
|
|
|
|
|
// g_signal_handlers_block_by_func(G_OBJECT(widgets->AdditionalComponentsUncheckAllCheck),on_software_switch_all,widgets);
|
|
|
|
|
|
|
|
// gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->AdditionalComponentsUncheckAllCheck),0);
|
|
|
|
|
|
|
|
// g_signal_handlers_unblock_by_func(G_OBJECT(widgets->AdditionalComponentsUncheckAllCheck),on_software_switch_all,widgets);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void on_software_switch_all(GtkWidget *self,main_window *widgets){
|
|
|
|
|
|
|
|
g_signal_handlers_block_by_func(G_OBJECT(self),G_CALLBACK(on_software_switch_all),widgets);
|
|
|
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(self),0);
|
|
|
|
|
|
|
|
g_signal_handlers_unblock_by_func(G_OBJECT(self),G_CALLBACK(on_software_switch_all),widgets);
|
|
|
|
|
|
|
|
int active = !!g_object_get_data(G_OBJECT(self),"uncheck");
|
|
|
|
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->AdditionalComponentsList));
|
|
|
|
|
|
|
|
GList *iter;
|
|
|
|
|
|
|
|
for(iter = list;iter;iter=iter->next){
|
|
|
|
|
|
|
|
os_row *row = g_object_get_data(iter->data,"kernel_row");
|
|
|
|
|
|
|
|
int sensitive = gtk_widget_get_sensitive(row->InstallCheck);
|
|
|
|
|
|
|
|
if (sensitive){
|
|
|
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),!active);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
switch(active){
|
|
|
|
switch(active){
|
|
|
|
case 1:{
|
|
|
|
case 0: gtk_button_set_label(GTK_BUTTON(self),UNCHECK_ALL_LABEL);
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->AdditionalComponentsList));
|
|
|
|
g_object_set_data(G_OBJECT(self),"uncheck",widgets);
|
|
|
|
GList *iter;
|
|
|
|
break;
|
|
|
|
for(iter = list;iter;iter=iter->next){
|
|
|
|
case 1: gtk_button_set_label(GTK_BUTTON(self),CHECK_ALL_LABEL);
|
|
|
|
os_row *row = g_object_get_data(iter->data,"kernel_row");
|
|
|
|
g_object_set_data(G_OBJECT(self),"uncheck",NULL);
|
|
|
|
int sensitive = gtk_widget_get_sensitive(row->InstallCheck);
|
|
|
|
|
|
|
|
if (sensitive){
|
|
|
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),0);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} break;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
gtk_widget_hide(widgets->AdditionalComponentsUncheckAllCheck);
|
|
|
|
|
|
|
|
g_signal_handlers_block_by_func(G_OBJECT(widgets->AdditionalComponentsUncheckAllCheck),on_software_uncheck_all,widgets);
|
|
|
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->AdditionalComponentsUncheckAllCheck),0);
|
|
|
|
|
|
|
|
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->AdditionalComponentsUncheckAllCheck),on_software_uncheck_all,widgets);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
int yon_software_save(main_window *widgets){
|
|
|
|
int yon_software_save(main_window *widgets){
|
|
|
|
@ -378,6 +403,7 @@ int yon_software_save(main_window *widgets){
|
|
|
|
int yon_software_check_packages_size(GtkWidget *, main_window *widgets){
|
|
|
|
int yon_software_check_packages_size(GtkWidget *, main_window *widgets){
|
|
|
|
long pacman_size = 0;
|
|
|
|
long pacman_size = 0;
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
int active = 1;
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->AdditionalComponentsList));
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->AdditionalComponentsList));
|
|
|
|
GList *listiter;
|
|
|
|
GList *listiter;
|
|
|
|
for (listiter=list;listiter;listiter=listiter->next){
|
|
|
|
for (listiter=list;listiter;listiter=listiter->next){
|
|
|
|
@ -386,10 +412,18 @@ int yon_software_check_packages_size(GtkWidget *, main_window *widgets){
|
|
|
|
long cur_size = row->size_raw;
|
|
|
|
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);
|
|
|
|
|
|
|
|
active = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
switch(active){
|
|
|
|
|
|
|
|
case 0: gtk_button_set_label(GTK_BUTTON(widgets->AdditionalComponentsUncheckAllCheck),UNCHECK_ALL_LABEL);
|
|
|
|
|
|
|
|
g_object_set_data(G_OBJECT(widgets->AdditionalComponentsUncheckAllCheck),"uncheck",widgets);
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1: gtk_button_set_label(GTK_BUTTON(widgets->AdditionalComponentsUncheckAllCheck),CHECK_ALL_LABEL);
|
|
|
|
|
|
|
|
g_object_set_data(G_OBJECT(widgets->AdditionalComponentsUncheckAllCheck),"uncheck",NULL);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
{
|
|
|
|
{
|
|
|
|
GtkTreeIter iter;
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|