diff --git a/locale/ubinstall-gtk.pot b/locale/ubinstall-gtk.pot index f61f5b7..3804b78 100644 --- a/locale/ubinstall-gtk.pot +++ b/locale/ubinstall-gtk.pot @@ -5348,6 +5348,9 @@ msgstr "" #: source/libublsettingsui-gtk3.h:675 msgid "Uncheck all" + +#: source/libublsettingsui-gtk3.h:675 +msgid "Check all" msgstr "" msgid "Close installer" diff --git a/locale/ubinstall-gtk_ru.po b/locale/ubinstall-gtk_ru.po index ccab3e5..08f67fc 100644 --- a/locale/ubinstall-gtk_ru.po +++ b/locale/ubinstall-gtk_ru.po @@ -5545,6 +5545,10 @@ msgstr "Режим отладки" msgid "Uncheck all" msgstr "Снять всё" +#: source/libublsettingsui-gtk3.h:675 +msgid "Check all" +msgstr "Отметить всё" + msgid "Close installer" msgstr "Закрыть установщик" diff --git a/source/ubinstall-gtk-bootloader.c b/source/ubinstall-gtk-bootloader.c index a9b074b..19242c3 100644 --- a/source/ubinstall-gtk-bootloader.c +++ b/source/ubinstall-gtk-bootloader.c @@ -15,8 +15,10 @@ int yon_bootloader_save(main_window *widgets){ yon_config_remove_by_key(parameter); free(parameter); } + char *old_packages = config(GRUB_SUPERUSERS_parameter); yon_config_register(GRUB_SUPERUSERS_parameter,GRUB_SUPERUSERS_parameter_command,NULL); - yon_config_set_status(GRUB_SUPERUSERS_parameter,-1); + int status = yon_char_is_empty(old_packages); + yon_config_set_status(GRUB_SUPERUSERS_parameter,status-1); } if (!gtk_switch_get_active(GTK_SWITCH(widgets->BootloadNoPasswordSwitch))){ diff --git a/source/ubinstall-gtk-components.c b/source/ubinstall-gtk-components.c index 263e52f..2f3aa97 100644 --- a/source/ubinstall-gtk-components.c +++ b/source/ubinstall-gtk-components.c @@ -5,8 +5,10 @@ int yon_kernel_save(main_window *widgets){ GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelListBox)); char *config_val = config(packages_parameter); if (yon_char_is_empty(config_val)) { + char *old_packages = config(packages_parameter); yon_config_register(packages_parameter,packages_parameter_command,NULL); - yon_config_set_status(packages_parameter,-1); + int status = yon_char_is_empty(old_packages); + yon_config_set_status(packages_parameter,status-1); } char *enabled_module = NULL; int overall_size = 0; @@ -97,6 +99,27 @@ void on_os_components_uncheck_all(GtkWidget *,main_window *widgets){ 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){ +// 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){ +// case 0: gtk_button_set_label(GTK_BUTTON(widgets->OSSoftwareUncheckAllCheck),UNCHECK_ALL_LABEL); +// break; +// case 1: 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),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; { @@ -109,7 +132,13 @@ int yon_os_components_check_packages_size(GtkWidget *, main_window *widgets){ pacman_size += cur_size; if (gtk_widget_get_sensitive(row->InstallCheck)){ gtk_widget_show(widgets->OSSoftwareUncheckAllCheck); + // gtk_button_set_label(GTK_BUTTON(widgets->OSSoftwareUncheckAllCheck),UNCHECK_ALL_LABEL); } + // } 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); } } } @@ -567,8 +596,10 @@ int yon_pacman_software_save(main_window *widgets){ if (!yon_installation_check_packages_size(widgets)) return 0; GtkTreeIter iter; GtkTreeModel *model = GTK_TREE_MODEL(widgets->PacmanSoftwareChosenList); + char *old_packages = config(packages_parameter); yon_config_register(packages_parameter,packages_parameter_command,NULL); - yon_config_set_status(packages_parameter,-1); + int status = yon_char_is_empty(old_packages); + yon_config_set_status(packages_parameter,status-1); for_iter(model,&iter){ char *target; diff --git a/source/ubinstall-gtk-config-hub.c b/source/ubinstall-gtk-config-hub.c index 7792e6d..1fbd0f9 100644 --- a/source/ubinstall-gtk-config-hub.c +++ b/source/ubinstall-gtk-config-hub.c @@ -109,34 +109,7 @@ int yon_configuration_hub_save(main_window *widgets){ } if (!main_config.configure_mode){ int size; - config_str parameters = yon_config_get_save_parameters_by_key(&size,modules_parameter, - packages_parameter, - root_password_parameter, - autologin_parameter, - xkbmodel_parameter, - xkblayout_parameter, - xkbvariant_parameter, - xkboptions_parameter, - hostname_parameter, - zone_parameter, - lang_parameter, - locale_parameter, - num_lock_boot_parameter, - swap_parameter, - swap_size_parameter, - boot_parameter, - packages_parameter, - device_typevfs_parameter, - NTPSERVERS_parameter, - DOMAIN_parameter, - DOMAIN_admanger_parameter, - KERNEL_BOOT_parameter, - SERVICES_ENABLE_parameter, - AUTOEXEC_parameter, - GRUB_SUPERUSERS_parameter, - GRUB_TIMEOUT_parameter, - GRUB_DEFAULT_parameter, - AUTOLOGINUSER_parameter, + config_str parameters = yon_config_get_save_parameters_by_key(&size, finish_parameter, NULL); if (parameters){ diff --git a/source/ubl-strings.h b/source/ubl-strings.h index fb0a0aa..eeab9f2 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -142,6 +142,7 @@ NULL) #define LOG_VIEW_LABEL _("Log exploration") #define UNCHECK_ALL_LABEL _("Uncheck all") +#define CHECK_ALL_LABEL _("Check all") #define CONFIGURATION_TITLE_LABEL _("Configuration") #define CONFIGURATION_FINISH_HEAD_LABEL _("Installer configuration has been finished")