master #314

Merged
asmeron merged 11 commits from YanTheKaller/ubinstall-gtk:master into master 1 month ago

@ -5336,4 +5336,7 @@ msgstr ""
#: source/libublsettingsui-gtk3.h:675
msgid "Uncheck all"
msgstr ""
msgid "Close installer"
msgstr ""

@ -5531,4 +5531,7 @@ msgstr "Предоставить root-доступ"
#: source/libublsettingsui-gtk3.h:675
msgid "Uncheck all"
msgstr "Снять всё"
msgstr "Снять всё"
msgid "Close installer"
msgstr "Закрыть установщик"

@ -105,7 +105,7 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror -Wmissing-declarations
-O2 -pipe -fno-plt -fexceptions \
-Wformat -Werror=format-security \
-fstack-clash-protection -fcf-protection")
string(FIND "${CMAKE_CXX_FLAGS}" "-D_FORTIFY_SOURCE" FORTIFY_FOUND)
if(FORTIFY_FOUND EQUAL -1)

@ -38,7 +38,7 @@ int yon_bootloader_save(main_window *widgets){
config_str users = yon_config_get_all_keys_by_key(GRUB_PASSWORD_parameter_search,&user_size);
yon_char_parsed_add_or_create_if_exists(users,&user_size,GRUB_SUPERUSERS_parameter);
yon_char_parsed_add_or_create_if_exists(users,&user_size,GRUB_TIMEOUT_parameter);
yon_config_save_list_simple(users, user_size,main_config.config_load_path);
yon_debug_output("%s\n",yon_config_save_list_simple(users, user_size,main_config.config_load_path));
}
yon_bootloader_interface_update(widgets);
@ -115,7 +115,7 @@ bootloader_user_window *yon_bootloader_user_window_new(){
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
g_signal_connect(G_OBJECT(window->PasswordButton),"clicked",G_CALLBACK(yon_password_change),window);
yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(window->PasswordEntry));
yon_gtk_entry_block_restricted_symbols(GTK_ENTRY(window->UsernameEntry));
yon_on_entry_set_allowed_symbols(GTK_ENTRY(window->UsernameEntry),"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-*");
return window;
}

@ -36,7 +36,7 @@ int yon_kernel_save(main_window *widgets){
}
if (!main_config.configure_mode){
yon_config_save_args_simple(main_config.config_load_path,packages_parameter, KERNEL_BOOT_parameter,NULL);
yon_debug_output("%s\n",yon_config_save_args_simple(main_config.config_load_path,packages_parameter, KERNEL_BOOT_parameter,NULL));
}
return 1;
@ -73,6 +73,27 @@ int yon_kernel_addon_save(main_window *widgets){
return 1;
}
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);
}
int yon_os_components_check_packages_size(GtkWidget *, main_window *widgets){
long pacman_size = 0;
{
@ -83,6 +104,9 @@ int yon_os_components_check_packages_size(GtkWidget *, main_window *widgets){
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){
long cur_size = yon_packages_get_installed_size(YON_PACKAGES_ALL,row->name);
pacman_size += cur_size;
if (gtk_widget_get_sensitive(row->InstallCheck)){
gtk_widget_show(widgets->OSSoftwareUncheckAllCheck);
}
}
}
}
@ -207,6 +231,7 @@ void *yon_modules_list_load(main_window *widgets){
main_config.modules_size = size;
}
g_idle_add((GSourceFunc)yon_spinner_switch_off,widgets->OSSpinner);
g_idle_add((GSourceFunc)yon_os_components_load,widgets);
g_thread_exit(NULL);
}
@ -251,29 +276,10 @@ gboolean yon_spinner_switch_off(GtkSpinner *target){
return G_SOURCE_REMOVE;
}
void yon_modules_missed_func(main_window *widgets){
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),MAIN_COMPONENTS_NOT_FOUND_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
}
void yon_os_components_init(main_window *widgets){
if (!main_config.configure_mode){
yon_config_update_by_args(modules_parameter,NULL);
}
int size = 0;
gboolean yon_os_components_load(main_window *widgets){
int size=0;
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");
free(row);
gtk_widget_destroy(GTK_WIDGET(iter->data));
}
gtk_overlay_add_overlay(GTK_OVERLAY(widgets->OSOverlay),widgets->OSSpinner);
gtk_spinner_start(GTK_SPINNER(widgets->OSSpinner));
gtk_widget_show(widgets->OSSpinner);
g_thread_new("geag",(GThreadFunc)yon_modules_list_load,widgets);
while(gtk_events_pending()) gtk_main_iteration();
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 cur_size = 0;
@ -292,7 +298,7 @@ void yon_os_components_init(main_window *widgets){
config_str parsed = yon_char_parse(modules,&parsed_size,",");
for(iter = list;iter;iter=iter->next){
os_row *row = g_object_get_data(iter->data,"kernel_row");
char *target = row->name;
char *target = row->source;
if (yon_char_parsed_check_exist(parsed,parsed_size,target)>-1){
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),1);
} else {
@ -301,6 +307,30 @@ void yon_os_components_init(main_window *widgets){
}
yon_char_parsed_free(parsed,parsed_size);
}
return G_SOURCE_REMOVE;
}
void yon_modules_missed_func(main_window *widgets){
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),MAIN_COMPONENTS_NOT_FOUND_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
}
void yon_os_components_init(main_window *widgets){
if (!main_config.configure_mode){
yon_config_update_by_args(modules_parameter,NULL);
}
// int size = 0;
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");
free(row);
gtk_widget_destroy(GTK_WIDGET(iter->data));
}
gtk_overlay_add_overlay(GTK_OVERLAY(widgets->OSOverlay),widgets->OSSpinner);
gtk_spinner_start(GTK_SPINNER(widgets->OSSpinner));
gtk_widget_show(widgets->OSSpinner);
g_thread_new("geag",(GThreadFunc)yon_modules_list_load,widgets);
while(gtk_events_pending()) gtk_main_iteration();
}
void on_software_uncheck_all(GtkWidget *, main_window *widgets){
@ -413,8 +443,9 @@ gboolean yon_software_insert(struct row_data *row_input){
} else {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),0);
}
char *modules_param = config(modules_parameter);
if (modules_param&&!strcmp(modules_param,"auto")){
char *modules_prm = config(modules_parameter);
char *modules_param = NULL;
if (modules_prm&&!strcmp(modules_prm,"auto")){
int final_size;
config_str final = NULL;
for (int i=0;i<main_config.modules_size;i++){

@ -24,7 +24,9 @@ int yon_installation_check_packages_size(main_window *widgets){
config_str module_names = yon_os_components_get_modules(&modules_size);
modules = yon_char_parsed_to_string(module_names,modules_size,",");
}
if (yon_char_is_empty(install_mode)){
return 0;
}
if (!strcmp(install_mode,"fast")){
char *device = config(device_parameter);
GtkTreeIter iter;
@ -45,7 +47,7 @@ int yon_installation_check_packages_size(main_window *widgets){
for (int i=0;i<main_config.part_size;i++){
int parsed_size;
config_str parsed = yon_char_parse(main_config.partitions[i],&parsed_size,";");
if (!strcmp(parsed[2],part)&&parsed_size>3&&!yon_char_is_empty(parsed[3])){
if (parsed&&parsed_size>2&&!strcmp(parsed[2],part)&&parsed_size>3&&!yon_char_is_empty(parsed[3])){
part_size = atol(parsed[3]);
yon_char_parsed_free(parsed,parsed_size);
@ -59,7 +61,7 @@ int yon_installation_check_packages_size(main_window *widgets){
for (int i=0;i<main_config.part_size;i++){
int parsed_size;
config_str parsed = yon_char_parse(main_config.partitions[i],&parsed_size,";");
if (!strcmp(parsed[2],part)&&parsed_size>3&&!yon_char_is_empty(parsed[3])){
if (parsed&&parsed_size>2&&!strcmp(parsed[2],part)&&parsed_size>3&&!yon_char_is_empty(parsed[3])){
part_size = atol(parsed[3]);
yon_char_parsed_free(parsed,parsed_size);

@ -57,7 +57,7 @@ int yon_grub_update_save(main_window *widgets){
yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"grub_update");
if (!main_config.configure_mode){
yon_config_save_args_simple(main_config.config_load_path,device_parameter,part_parameter,AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL,NULL);
yon_debug_output("%s\n",yon_config_save_args_simple(main_config.config_load_path,device_parameter,part_parameter,AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL,NULL));
}
return 1;
}

@ -30,7 +30,7 @@ int yon_install_common_save(main_window *widgets){
}
if (!main_config.configure_mode){
yon_config_save_args_simple(main_config.config_load_path,AUTOINSTALL_TYPE_INSTALL,device_parameter,part_label_parameter,part_fs_type_parameter,NULL);
yon_debug_output("%s\n",yon_config_save_args_simple(main_config.config_load_path,AUTOINSTALL_TYPE_INSTALL,device_parameter,part_label_parameter,part_fs_type_parameter,NULL));
}
return 1;
}
@ -104,7 +104,7 @@ int yon_install_separate_save(main_window *widgets){
}
if (!main_config.configure_mode){
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,NULL));
}
return 1;
}
@ -132,7 +132,7 @@ int yon_install_same_partition_save(main_window *widgets){
yon_config_register(part_parameter,part_parameter_command,part);
if (gtk_switch_get_active(GTK_SWITCH(widgets->SameInstallationFormatSwitch))){
yon_config_register(part_format_parameter,part_format_parameter_command,"yes");
yon_config_register(part_format_parameter,part_format_parameter_command,"no");
char *device_name = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->SameInstallationSectionNameEntry));
if (!yon_char_is_empty(device_name)){
yon_config_register(part_label_parameter,part_label_parameter_command,device_name);
@ -148,13 +148,13 @@ int yon_install_same_partition_save(main_window *widgets){
}
} else {
yon_config_register(part_format_parameter,part_format_parameter_command,"no");
yon_config_register(part_format_parameter,part_format_parameter_command,"yes");
yon_config_remove_by_key(part_label_parameter);
yon_config_remove_by_key(part_format_parameter);
yon_config_remove_by_key(part_fs_type_parameter);
}
if (!main_config.configure_mode){
yon_config_save_args_simple(main_config.config_load_path,part_format_parameter,part_size_parameter,part_label_parameter,part_fs_type_parameter,AUTOINSTALL_TYPE_INSTALL,device_parameter,part_parameter,NULL);
yon_debug_output("%s\n",yon_config_save_args_simple(main_config.config_load_path,part_format_parameter,part_size_parameter,part_label_parameter,part_fs_type_parameter,AUTOINSTALL_TYPE_INSTALL,device_parameter,part_parameter,NULL));
}
return 1;
}

@ -332,6 +332,13 @@ void on_kernel_addon_info(GtkLabel *self){
gtk_widget_show(window->Window);
}
gboolean on_kernel_addon_menu_block(GObject *, GdkEventButton *event){
if (event->button==3){
return 1;
}
return 0;
}
kernel_addon_row *yon_kernel_addon_row_new(){
kernel_addon_row *row = new(kernel_addon_row);
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_kernel_addon_row);
@ -349,6 +356,8 @@ kernel_addon_row *yon_kernel_addon_row_new(){
g_signal_connect(G_OBJECT(row->InstallCheck),"toggled",G_CALLBACK(on_kernel_addon_install_enabled),row);
g_signal_connect(G_OBJECT(row->ModuleLabel),"activate-link",G_CALLBACK(on_kernel_addon_info),NULL);
g_signal_connect(G_OBJECT(row->PackageLabel),"activate-link",G_CALLBACK(on_kernel_addon_info),NULL);
g_signal_connect(G_OBJECT(row->PackageLabel),"button-press-event",G_CALLBACK(on_kernel_addon_menu_block),row);
g_signal_connect(G_OBJECT(row->ModuleLabel),"button-press-event",G_CALLBACK(on_kernel_addon_menu_block),row);
row->row = gtk_list_box_row_new();
gtk_container_add(GTK_CONTAINER(row->row),row->RowBox);
@ -428,6 +437,13 @@ void yon_kernel_addon_init(main_window *widgets){
for (int i=1;i<size;i++){
int parsed_size;
config_str parsed = yon_char_parse(kernels[i],&parsed_size,";");
int status_module = !yon_char_is_empty(parsed[1])&&yon_packages_check_exist(parsed[1]);
int status_package = !yon_char_is_empty(parsed[2])&&yon_packages_check_exist(parsed[2]);
if (!status_package&&!status_module){
yon_char_parsed_free(parsed,parsed_size);
continue;
}
char *name = parsed[0];
char *modules = yon_char_new(parsed[1]);
char *package = parsed[2];
@ -443,10 +459,11 @@ void yon_kernel_addon_init(main_window *widgets){
} else {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),0);
}
if (yon_packages_check_installed(modules)||yon_packages_check_installed(package)){
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),1);
gtk_widget_set_sensitive(row->InstallCheck,0);
}
if (yon_packages_check_installed(modules)||yon_packages_check_installed(package)){
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),1);
gtk_widget_set_sensitive(row->InstallCheck,0);
}
yon_char_parsed_free(parsed,parsed_size);
}
yon_kernel_addon_resize(widgets);

@ -48,7 +48,7 @@ int yon_keyboard_save(main_window *widgets){
yon_config_remove_by_key(num_lock_boot_parameter);
}
if (!main_config.configure_mode){
yon_config_save_args_simple(main_config.config_load_path,xkbmodel_parameter,num_lock_boot_parameter,NULL);
yon_debug_output("%s\n",yon_config_save_args_simple(main_config.config_load_path,xkbmodel_parameter,num_lock_boot_parameter,NULL));
}
on_options_save(NULL,widgets);
return 1;

@ -273,7 +273,7 @@ int yon_language_save(main_window *widgets){
yon_config_remove_by_key(locale_parameter);
}
if (!main_config.configure_mode){
yon_config_save_args_simple(main_config.config_load_path,lang_parameter,locale_parameter,NULL);
yon_debug_output("%s\n",yon_config_save_args_simple(main_config.config_load_path,lang_parameter,locale_parameter,NULL));
}
return 1;

@ -310,7 +310,7 @@ int yon_network_save(main_window *widgets){
yon_char_parsed_add_or_create_if_exists(connections,&connect_size,DOMAIN_admanger_parameter);
yon_char_parsed_add_or_create_if_exists(connections,&connect_size,NTPSERVERS_parameter);
yon_char_parsed_add_or_create_if_exists(connections,&connect_size,hostname_parameter);
yon_config_save_list_simple(connections,connect_size,main_config.config_load_path);
yon_debug_output("%s\n",yon_config_save_list_simple(connections,connect_size,main_config.config_load_path));
}
return 1;
}

@ -28,7 +28,7 @@ int yon_packages_tab_save(main_window *widgets){
}
}
if (!main_config.configure_mode){
yon_config_save_args_simple(main_config.config_load_path,packages_parameter,NULL);
yon_debug_output("%s\n",yon_config_save_args_simple(main_config.config_load_path,packages_parameter,NULL));
}
return 1;
}

@ -301,7 +301,14 @@ int yon_page_save(main_window *widgets, enum YON_PAGES page){
return yon_installation_start(widgets);
break;
case YON_PAGE_CONFIGURE_END:
return yon_config_save(widgets);
int status = yon_config_save(widgets);
if (status){
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);
}
}
return status;
default:return 1;
}
return 1;

@ -19,7 +19,7 @@ int yon_region_save(main_window *widgets){
yon_config_register(zone_parameter,zone_parameter_command,final);
free(final);
if (!main_config.configure_mode){
yon_config_save_args_simple(main_config.config_load_path,zone_parameter,NULL);
yon_debug_output("%s\n",yon_config_save_args_simple(main_config.config_load_path,zone_parameter,NULL));
}
return 1;
}
@ -31,7 +31,13 @@ void on_region_changed(GtkComboBox *self, main_window *widgets){
if (!yon_char_is_empty(active)){
config_str parsed = yon_timezone_get_zones_from_region(active,&size);
for (size_t i=0;i<size;i++){
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->ZoneCombo),parsed[i],_(parsed[i]));
char *timezone = yon_char_unite(active,"/",parsed[i],NULL);
char *utc = yon_timezone_get_utc(timezone);
if (utc&&strlen(utc)>3) utc[3]='\0';
char *zone_label = yon_char_unite("(UTC ",utc,") ",_(parsed[i]),NULL);
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->ZoneCombo),parsed[i],zone_label);
free(zone_label);
free(timezone);
}
if (size) yon_char_parsed_free(parsed,size);
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->ZoneCombo),0);

@ -23,7 +23,7 @@ int yon_install_options_save(GtkWidget *device_tree, GtkWidget *part_tree,char *
if(cur_section) free(cur_section);
if(cur_device) free(cur_device);
if (!main_config.configure_mode){
yon_config_save_args_simple(main_config.config_load_path,device_parameter,AUTOINSTALL_TYPE_INSTALL,part_parameter,NULL);
yon_debug_output("%s\n",yon_config_save_args_simple(main_config.config_load_path,device_parameter,AUTOINSTALL_TYPE_INSTALL,part_parameter,NULL));
}
return 1;
}

@ -222,7 +222,7 @@ void on_source_accept(GtkWidget *,source_window *window){
yon_config_remove_by_key(source_parameter);
}
if (!main_config.configure_mode){
yon_config_save_args_simple(main_config.config_load_path,source_parameter,NULL);
yon_debug_output("%s\n",yon_config_save_args_simple(main_config.config_load_path,source_parameter,NULL));
}
on_subwindow_close(window->Window);
free(window);

@ -216,7 +216,7 @@ int yon_startup_app_save(main_window *widgets){
yon_config_remove_by_key(AUTOEXEC_parameter);
}
if (!main_config.configure_mode){
yon_config_save_args_simple(main_config.config_load_path,AUTOEXEC_parameter,NULL);
yon_debug_output("%s\n",yon_config_save_args_simple(main_config.config_load_path,AUTOEXEC_parameter,NULL));
}
return 1;
}

@ -220,7 +220,7 @@ int yon_startup_save(main_window *widgets){
yon_config_remove_by_key(SERVICES_ENABLE_parameter);
}
if (!main_config.configure_mode){
yon_config_save_args_simple(main_config.config_load_path,SERVICES_ENABLE_parameter,NULL);
yon_debug_output("%s\n",yon_config_save_args_simple(main_config.config_load_path,SERVICES_ENABLE_parameter,NULL));
}
return 1;
}

@ -37,7 +37,7 @@ 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_config_save_list_simple(users,users_size,main_config.config_load_path);
yon_debug_output("%s\n",yon_config_save_list_simple(users,users_size,main_config.config_load_path));
}
return 1;
}

@ -446,6 +446,7 @@ void yon_main_window_create(main_window *widgets){
widgets->OSFormatEncryptionEntry = yon_gtk_builder_get_widget(builder,"OSFormatEncryptionEntry");
widgets->OSFormatEncryptionButton = yon_gtk_builder_get_widget(builder,"OSFormatEncryptionButton");
widgets->OSComponentsOverallSizeLabel = yon_gtk_builder_get_widget(builder,"OSComponentsOverallSizeLabel");
widgets->OSSoftwareUncheckAllCheck = yon_gtk_builder_get_widget(builder,"OSSoftwareUncheckAllCheck");
widgets->UserdataDevicesTree = yon_gtk_builder_get_widget(builder,"UserdataDevicesTree");
widgets->UserdataSysSectionTree = yon_gtk_builder_get_widget(builder,"UserdataSysSectionTree");
@ -703,6 +704,7 @@ void yon_main_window_create(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->SamePlaceDeviceTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets);
g_signal_connect(G_OBJECT(widgets->UserdataDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets);
g_signal_connect(G_OBJECT(widgets->OSSoftwareUncheckAllCheck),"toggled",G_CALLBACK(on_os_components_uncheck_all),widgets);
g_signal_connect(G_OBJECT(widgets->AdditionalComponentsUncheckAllCheck),"toggled",G_CALLBACK(on_software_uncheck_all),widgets);
g_signal_connect(G_OBJECT(widgets->NextInstallationSizeSpin),"value-changed",G_CALLBACK(yon_size_changed),widgets);
g_signal_connect(G_OBJECT(widgets->UserdataFormatSizeSpin),"value-changed",G_CALLBACK(yon_size_changed),widgets);

@ -665,6 +665,7 @@ typedef struct
GtkWidget *OSSpinner;
GtkWidget *OSOverlay;
GtkWidget *OSComponentsOverallSizeLabel;
GtkWidget *OSSoftwareUncheckAllCheck;
GtkWidget *UserdataGpartedButton;
GtkWidget *UserdataUpdateGpartedButton;
@ -1590,4 +1591,7 @@ void on_bootloader_admin_toggled(GtkWidget *, char *path, main_window *widgets);
void on_bootloader_user_remove(GtkWidget *, main_window *widgets);
void on_software_uncheck_all(GtkWidget *, main_window *widgets);
gboolean on_kernel_enabled_toggled(GtkWidget *self, GdkEventButton *, kernel_row *row);
void on_status_update(GtkWidget *,main_window *widgets);
void on_status_update(GtkWidget *,main_window *widgets);
gboolean on_kernel_addon_menu_block(GObject *self, GdkEventButton *event);
void on_os_components_uncheck_all(GtkWidget *,main_window *widgets);
gboolean yon_os_components_load(main_window *widgets);

@ -157,7 +157,8 @@
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-top">5</property>
<property name="xalign">0</property>
<property name="wrap">True</property>
<property name="xalign">1</property>
</object>
<packing>
<property name="expand">False</property>

@ -2091,7 +2091,6 @@ agreement</property>
<property name="selection-mode">none</property>
<child type="placeholder">
<object class="GtkLabel" id="OSSoftwareEmptyLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">No modules were found.
Select a different installation source.</property>
@ -2136,6 +2135,19 @@ Select a different installation source.</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="spacing">5</property>
<child>
<object class="GtkCheckButton" id="OSSoftwareUncheckAllCheck">
<property name="label" translatable="yes">Uncheck all</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="draw-indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
@ -3216,6 +3228,7 @@ Select a different installation source.</property>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="hscrollbar-policy">never</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkViewport">

Loading…
Cancel
Save