diff --git a/locale/ubinstall-gtk.pot b/locale/ubinstall-gtk.pot index 02b2f0c..ed05804 100644 --- a/locale/ubinstall-gtk.pot +++ b/locale/ubinstall-gtk.pot @@ -41,7 +41,7 @@ msgid "Dry run; Installation will not start" msgstr "" #: source/ubl-strings.h:11 -msgid "Set ini file for configuration mode" +msgid "Automatically run installation according to script" msgstr "" #: source/ubl-strings.h:14 source/ubl-strings.h:253 @@ -1081,6 +1081,18 @@ msgstr "" msgid "Add user" msgstr "" +#: source/ubl-strings.h:308 +msgid "Edit user" +msgstr "" + +#: source/ubl-strings.h:308 +msgid "You are about to delete bootloader user" +msgstr "" + +#: source/ubl-strings.h:308 +msgid "Do you really want to remove user?" +msgstr "" + #: source/ubl-strings.h:309 source/ubl-strings.h:329 msgid "Choose a path for configuration file" msgstr "" @@ -1515,10 +1527,6 @@ msgstr "" msgid "Setting up system users" msgstr "" -#: source/ubl-strings.h:421 -msgid "Startup" -msgstr "" - #: source/ubl-strings.h:422 msgid "Configuring startup services" msgstr "" @@ -5324,4 +5332,8 @@ msgstr "" #: source/libublsettingsui-gtk3.h:675 msgid "Grant root access" +msgstr "" + +#: source/libublsettingsui-gtk3.h:675 +msgid "Uncheck all" msgstr "" \ No newline at end of file diff --git a/locale/ubinstall-gtk_ru.po b/locale/ubinstall-gtk_ru.po index fed073e..47afa9a 100644 --- a/locale/ubinstall-gtk_ru.po +++ b/locale/ubinstall-gtk_ru.po @@ -44,8 +44,8 @@ msgid "Dry run; Installation will not start" msgstr "Пробный запуск; установка не начинается." #: source/ubl-strings.h:11 -msgid "Set ini file for configuration mode" -msgstr "Выберите путь до файла конфигурации" +msgid "Automatically run installation according to script" +msgstr "Автоматически запустить установку по сценарию" #: source/ubl-strings.h:14 source/ubl-strings.h:253 msgid "Keyboard layout" @@ -1091,12 +1091,24 @@ msgstr "Имя пользователя:" #: source/ubl-strings.h:307 msgid "User password:" -msgstr "Паоль пользователя:" +msgstr "Пароль пользователя:" #: source/ubl-strings.h:308 msgid "Add user" msgstr "Добавить пользователя" +#: source/ubl-strings.h:308 +msgid "Edit user" +msgstr "Редактировать пользователя" + +#: source/ubl-strings.h:308 +msgid "You are about to delete bootloader user" +msgstr "Вы собираетесь удалить пользователя загрузчика" + +#: source/ubl-strings.h:308 +msgid "Do you really want to remove user?" +msgstr "Вы действительно хотите удалить пользователя?" + #: source/ubl-strings.h:309 source/ubl-strings.h:329 msgid "Choose a path for configuration file" msgstr "Выберите путь до файла конфигурации" @@ -1539,10 +1551,6 @@ msgstr "Введите свой часовой пояс" msgid "Setting up system users" msgstr "Настройка пользователей системы" -#: source/ubl-strings.h:421 -msgid "Startup" -msgstr "Автозагрузка" - #: source/ubl-strings.h:422 msgid "Configuring startup services" msgstr "Настройка служб автозагрузки" @@ -5519,4 +5527,8 @@ msgstr "Вьетнамский (Франция)" #: source/libublsettingsui-gtk3.h:675 msgid "Grant root access" -msgstr "Предоставить root-доступ" \ No newline at end of file +msgstr "Предоставить root-доступ" + +#: source/libublsettingsui-gtk3.h:675 +msgid "Uncheck all" +msgstr "Снять всё" \ No newline at end of file diff --git a/source/ubinstall-gtk-bootloader.c b/source/ubinstall-gtk-bootloader.c index bedb05f..d8cbaa3 100644 --- a/source/ubinstall-gtk-bootloader.c +++ b/source/ubinstall-gtk-bootloader.c @@ -7,12 +7,6 @@ int yon_bootloader_save(main_window *widgets){ } else { yon_config_remove_by_key(GRUB_TIMEOUT_parameter); } - if (!gtk_switch_get_active(GTK_SWITCH(widgets->BootloadNoPasswordSwitch))){ - yon_config_register(AUTOLOGINUSER_parameter,AUTOLOGINUSER_parameter_command,"no"); - } else { - yon_config_register(AUTOLOGINUSER_parameter,AUTOLOGINUSER_parameter_command,"yes"); - - } { int size; config_str users = yon_config_get_all_by_key(GRUB_PASSWORD_parameter_search,&size); @@ -21,23 +15,18 @@ int yon_bootloader_save(main_window *widgets){ yon_config_remove_by_key(parameter); free(parameter); } + yon_config_register(GRUB_SUPERUSERS_parameter,GRUB_SUPERUSERS_parameter_command,NULL); + yon_config_set_status(GRUB_SUPERUSERS_parameter,-1); } GtkTreeIter iter; GtkTreeModel *model = GTK_TREE_MODEL(widgets->BootloadUsersList); - int admin_size=0; - config_str admin_list = NULL; for_iter(model,&iter){ int is_admin; char *username, *password; gtk_tree_model_get(model,&iter,0,&is_admin,1,&username,2,&password,-1); - if (is_admin){ - yon_char_parsed_add_or_create_if_exists(admin_list,&admin_size,username); - } - char *admin_string = yon_char_parsed_to_string(admin_list,admin_size,","); yon_config_register(GRUB_PASSWORD_parameter(username),GRUB_PASSWORD_parameter_command(username),password); - if (!yon_char_is_empty(admin_string)){ - yon_config_register(GRUB_SUPERUSERS_parameter,GRUB_SUPERUSERS_parameter_command,admin_string); - free(admin_string); + if (is_admin){ + yon_config_append_element(GRUB_SUPERUSERS_parameter,GRUB_SUPERUSERS_parameter_command,username); } else { yon_config_remove_by_key(GRUB_SUPERUSERS_parameter); } @@ -55,7 +44,7 @@ int yon_bootloader_save(main_window *widgets){ config_str parameters = yon_config_get_save_parameters_by_key(&size,GRUB_TIMEOUT_parameter,AUTOLOGINUSER_parameter,GRUB_SUPERUSERS_parameter,NULL); if (parameters){ char *command_parameters = yon_char_parsed_to_string(parameters,size," -- "); - char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters, " ", user_string, NULL); + char *command = yon_char_unite(ubconfig_dull_command," --target system remove [autoinstall] ",GRUB_PASSWORD_parameter_all,"; ",ubconfig_dull_command,"--target system ",command_parameters, " ", user_string, NULL); if (!system(yon_debug_output("%s\n",command))){} free(command); yon_char_parsed_free(parameters,size); @@ -72,7 +61,6 @@ void yon_password_change(GtkWidget *, bootloader_user_window *window){ yon_gtk_window_setup(GTK_WINDOW(dialog->Window),GTK_WINDOW(window->Window),NULL,icon_path,"password_window"); gtk_widget_show(window->Window); yon_password_hash_list_set(dialog,NULL,NULL,0); - // gtk_widget_hide(window->AdminCheck); } @@ -160,7 +148,7 @@ void on_bootloader_user_edit(GtkWidget *, main_window *widgets){ bootloader_user_window *window = yon_bootloader_user_window_new(); g_object_set_data(G_OBJECT(window->AcceptButton),"widgets",widgets); g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_bootloader_user_accept),window); - yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->MainWindow),NULL,icon_path,"bootloader_window"); + yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->MainWindow),EDIT_USER_LABEL,icon_path,"bootloader_window"); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->AdminCheck),admin); gtk_entry_set_text(GTK_ENTRY(window->UsernameEntry),username); gtk_entry_set_text(GTK_ENTRY(window->PasswordEntry),password); @@ -253,7 +241,6 @@ yon_menu_item *yon_menu_add_item(yon_menu_window *target_menu,const char *id, co item->name = yon_char_new(name); gtk_label_set_text(GTK_LABEL(item->MenuTextLabel),item->name); - // g_signal_connect(G_OBJECT(item->MenuItemRow),"clicked",G_CALLBACK(on_menu_chosen),item); g_object_set_data(G_OBJECT(item->MenuItemRow),"yon_menu_item",item); gtk_widget_show(item->MenuItemRow); @@ -439,7 +426,6 @@ char *yon_bootloader_get_os_name(char *parameter){ void yon_bootloader_interface_update(main_window *widgets){ char *timeout = config(GRUB_TIMEOUT_parameter); char *admins = config(GRUB_SUPERUSERS_parameter); - char *autologin = config(AUTOLOGINUSER_parameter); char *os = config(GRUB_DEFAULT_parameter); int size; config_str users = yon_config_get_all_by_key(GRUB_PASSWORD_parameter_search,&size); @@ -452,9 +438,6 @@ void yon_bootloader_interface_update(main_window *widgets){ } else { gtk_entry_set_text(GTK_ENTRY(widgets->BootloadDefaultOSEntry),DEFAULT_MENU_ITEM_LABEL); } - if (!yon_char_is_empty(autologin)&&(!strcmp(autologin,"yes")||!strcmp(autologin,"enable"))){ - gtk_switch_set_active(GTK_SWITCH(widgets->BootloadNoPasswordSwitch),1); - } else { int admins_size; config_str admins_parsed = yon_char_parse(admins,&admins_size,","); for (int i=0;iBootloadUsersList,&iter); gtk_list_store_set(widgets->BootloadUsersList,&iter,0,yon_char_parsed_check_exist(admins_parsed,admins_size,key),1,key,2,value,-1); } - } } @@ -474,7 +456,6 @@ void yon_bootloader_init(main_window *widgets){ gtk_list_store_clear(widgets->BootloadUsersList); char *timeout = config(GRUB_TIMEOUT_parameter); char *os = config(GRUB_DEFAULT_parameter); - char *autologin = config(AUTOLOGINUSER_parameter); char *admins = config(GRUB_SUPERUSERS_parameter); int size; config_str users = yon_config_get_all_by_key(GRUB_PASSWORD_parameter_search,&size); @@ -495,13 +476,6 @@ void yon_bootloader_init(main_window *widgets){ } else { gtk_entry_set_text(GTK_ENTRY(widgets->BootloadDefaultOSEntry),DEFAULT_BOOTLOAD_MENU_ITEM_LABEL); } - if (!yon_char_is_empty(autologin)&&(!strcmp(autologin,"no")||!strcmp(autologin,"disable"))){ - gtk_switch_set_active(GTK_SWITCH(widgets->BootloadNoPasswordSwitch),0); - - } else { - gtk_switch_set_active(GTK_SWITCH(widgets->BootloadNoPasswordSwitch),1); - - } { int admins_size; config_str admins_parsed = yon_char_parse(admins,&admins_size,","); diff --git a/source/ubinstall-gtk-components.c b/source/ubinstall-gtk-components.c index 0b1f27a..88d724c 100644 --- a/source/ubinstall-gtk-components.c +++ b/source/ubinstall-gtk-components.c @@ -308,6 +308,24 @@ void yon_os_components_init(main_window *widgets){ } } +void on_software_uncheck_all(GtkWidget *, main_window *widgets){ + 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"); + 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){ GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->AdditionalComponentsList)); GList *iter; @@ -355,6 +373,7 @@ int yon_software_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; + gtk_widget_show(widgets->AdditionalComponentsUncheckAllCheck); } } } diff --git a/source/ubinstall-gtk-config-hub.c b/source/ubinstall-gtk-config-hub.c index f75f7b5..2f717c5 100644 --- a/source/ubinstall-gtk-config-hub.c +++ b/source/ubinstall-gtk-config-hub.c @@ -166,6 +166,7 @@ int yon_configuration_hub_save(main_window *widgets){ } if (users)yon_char_parsed_free(users,users_size); } + yon_debug_output("%s\n",yon_config_get_all_info()); return 1; } diff --git a/source/ubinstall-gtk-install-start.c b/source/ubinstall-gtk-install-start.c index 05a970a..ee59796 100644 --- a/source/ubinstall-gtk-install-start.c +++ b/source/ubinstall-gtk-install-start.c @@ -9,9 +9,13 @@ void yon_quick_install(GtkWidget *self, main_window *widgets){ if (!yon_installation_check_packages_size(widgets)) return; main_config.save_configured=1; gtk_widget_hide(self); - gtk_widget_show(gtk_widget_get_parent(widgets->InstallationProgress)); - pthread_create(&main_config.install_thread,NULL,on_config_save,widgets); + gtk_widget_show(gtk_widget_get_parent(widgets->InstallationProgress)); + // pthread_create(&main_config.install_thread,NULL,on_config_save,widgets); gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION); + if (!yon_char_is_empty(main_config.config_load_path)){ + char *command = quick_install_command(main_config.config_load_path); + yon_launch_app_with_arguments(command,NULL); + } yon_page_init(widgets,YON_PAGE_INSTALLATION); yon_page_update(widgets); } diff --git a/source/ubinstall-gtk-keyboard.c b/source/ubinstall-gtk-keyboard.c index a7e3538..e82afa0 100644 --- a/source/ubinstall-gtk-keyboard.c +++ b/source/ubinstall-gtk-keyboard.c @@ -42,7 +42,11 @@ int yon_keyboard_save(main_window *widgets){ case 2: numlock = "off"; break; } - yon_config_register(num_lock_boot_parameter,num_lock_boot_parameter_command,numlock); + if (!yon_char_is_empty(numlock)){ + yon_config_register(num_lock_boot_parameter,num_lock_boot_parameter_command,numlock); + } else { + yon_config_remove_by_key(num_lock_boot_parameter); + } if (!main_config.configure_mode){ int size; config_str parameters = yon_config_get_save_parameters_by_key(&size,xkbmodel_parameter,xkbmodel_parameter,num_lock_boot_parameter,NULL); diff --git a/source/ubinstall-gtk-language.c b/source/ubinstall-gtk-language.c index 29b100f..bc8bcda 100644 --- a/source/ubinstall-gtk-language.c +++ b/source/ubinstall-gtk-language.c @@ -23,9 +23,7 @@ void yon_language_update(main_window *widgets){ if (!strcmp(config_languages,parsed[0])){ gtk_list_store_set(widgets->LanguageList,&iter,0,1,-1); } - } else if (yon_char_is_empty(config_languages)&&!i){ - gtk_list_store_set(widgets->LanguageList,&iter,0,1,-1); - } + } yon_char_parsed_free(parsed,parsed_size); } } diff --git a/source/ubinstall-gtk-log.c b/source/ubinstall-gtk-log.c index fecb9a6..f0bd3a6 100644 --- a/source/ubinstall-gtk-log.c +++ b/source/ubinstall-gtk-log.c @@ -2,10 +2,9 @@ void on_log_closed(GtkWidget *, log_window *window){ - main_window *widgets = g_object_get_data(G_OBJECT(window->Window),"widgets"); - gtk_widget_set_sensitive(widgets->ReadFullLogButton,1); - gtk_widget_set_sensitive(widgets->ReadShortLogButton,1); + GtkWidget *button = g_object_get_data(G_OBJECT(window->Window),"button"); + gtk_widget_set_sensitive(button,1); free(window->command); window->Window=NULL; @@ -87,6 +86,7 @@ void yon_read_log(GFileMonitor *,GFile *,GFile *,GFileMonitorEvent ,log_window * void on_process_log_view(GtkWidget *,main_window *widgets){ log_window *window = yon_log_window_new(); g_object_set_data(G_OBJECT(window->Window),"widgets",widgets); + g_object_set_data(G_OBJECT(window->Window),"button",widgets->ReadFullLogButton); g_signal_connect(G_OBJECT(window->Window),"destroy",G_CALLBACK(on_log_closed),window); gtk_widget_set_sensitive(widgets->ReadFullLogButton,0); yon_gtk_window_setup(GTK_WINDOW(window->Window),NULL,INSTALL_LOG_LABEL,icon_path,"log_viewer"); @@ -101,6 +101,7 @@ void on_process_log_view(GtkWidget *,main_window *widgets){ void on_summary_log_view(GtkWidget *,main_window *widgets){ log_window *window = yon_log_window_new(); g_object_set_data(G_OBJECT(window->Window),"widgets",widgets); + g_object_set_data(G_OBJECT(window->Window),"button",widgets->ReadShortLogButton); g_signal_connect(G_OBJECT(window->Window),"destroy",G_CALLBACK(on_log_closed),window); gtk_widget_set_sensitive(widgets->ReadShortLogButton,0); yon_gtk_window_setup(GTK_WINDOW(window->Window),NULL,PROGRESS_LOG_LABEL,icon_path,"log_viewer"); diff --git a/source/ubinstall-gtk-region.c b/source/ubinstall-gtk-region.c index c63ffcb..57047a3 100644 --- a/source/ubinstall-gtk-region.c +++ b/source/ubinstall-gtk-region.c @@ -261,4 +261,12 @@ void yon_region_init(main_window *widgets){ gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->ZoneCombo),0); gtk_switch_set_active(GTK_SWITCH(widgets->RegionSensitiveSwitch),0); } + if (!gtk_switch_get_active(GTK_SWITCH(widgets->RegionSensitiveSwitch))){ + config_str autotimezone = yon_config_load(internet_tomezone_check_command,(int*)&size); + if (size&&!yon_char_is_empty(autotimezone[0])){ + yon_char_remove_last_symbol(autotimezone[0],'\n'); + gtk_entry_set_text(GTK_ENTRY(widgets->RegionEntry),autotimezone[0]); + cc_timezone_map_set_timezone(CC_TIMEZONE_MAP(widgets->RegionMapTarget),autotimezone[0]); + } + } } \ No newline at end of file diff --git a/source/ubinstall-gtk-startup-apps.c b/source/ubinstall-gtk-startup-apps.c index d150db4..65a42c9 100644 --- a/source/ubinstall-gtk-startup-apps.c +++ b/source/ubinstall-gtk-startup-apps.c @@ -45,10 +45,13 @@ void yon_startup_apps_setup(main_window *widgets){ GtkTreeIter iter; gtk_list_store_clear(widgets->StartupAppsList); int size; - config_str apps = yon_resource_open_file(apps_list_path,&size); - for (int i=1;iStartupAppsList,&iter); gtk_list_store_set(widgets->StartupAppsList,&iter,0,0,1,parsed[0],2,yon_char_return_if_exist(parsed[1],""),3,yon_char_return_if_exist(_(parsed[2]),""),-1); @@ -97,7 +100,7 @@ void yon_startup_apps_setup(main_window *widgets){ if (parsed_size&&parsed){ for (int i=0;iStartupAppsList,&iter); - gtk_list_store_set(widgets->StartupAppsList,&iter,0,0,2,parsed[i],-1); + gtk_list_store_set(widgets->StartupAppsList,&iter,0,1,2,parsed[i],-1); } } yon_char_parsed_free(parsed,parsed_size); diff --git a/source/ubinstall-gtk-startup-services.c b/source/ubinstall-gtk-startup-services.c index fbc1bd7..df22c6b 100644 --- a/source/ubinstall-gtk-startup-services.c +++ b/source/ubinstall-gtk-startup-services.c @@ -54,7 +54,10 @@ void yon_startup_services_setup(main_window *widgets){ gtk_list_store_clear(widgets->StartupList); int size; config_str services = yon_resource_open_file(services_list_path,&size); - for (int i=1;iAdditionalComponentsList = yon_gtk_builder_get_widget(builder,"AdditionalComponentsList"); widgets->AdditionalComponentsOverallSizeLabel = yon_gtk_builder_get_widget(builder,"AdditionalComponentsOverallSizeLabel"); + widgets->AdditionalComponentsUncheckAllCheck = yon_gtk_builder_get_widget(builder,"AdditionalComponentsUncheckAllCheck"); widgets->InstallationProgress = yon_gtk_builder_get_widget(builder,"InstallationProgress"); widgets->InstallationLabel = yon_gtk_builder_get_widget(builder,"InstallationLabel"); @@ -582,7 +583,7 @@ void yon_main_window_create(main_window *widgets){ widgets->BootloadTimerSpin = yon_gtk_builder_get_widget(builder,"BootloadTimerSpin"); widgets->BootloadDefaultOSEntry = yon_gtk_builder_get_widget(builder,"BootloadDefaultOSEntry"); widgets->BootloadDefaulOSButton = yon_gtk_builder_get_widget(builder,"BootloadDefaulOSButton"); - widgets->BootloadNoPasswordSwitch = yon_gtk_builder_get_widget(builder,"BootloadNoPasswordSwitch"); + // widgets->BootloadNoPasswordSwitch = yon_gtk_builder_get_widget(builder,"BootloadNoPasswordSwitch"); widgets->BootloadUserTree = yon_gtk_builder_get_widget(builder,"BootloadUserTree"); widgets->BootloadUserAddButton = yon_gtk_builder_get_widget(builder,"BootloadUserAddButton"); widgets->BootloadUserEditButton = yon_gtk_builder_get_widget(builder,"BootloadUserEditButton"); @@ -700,7 +701,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->AdditionalComponentsUncheckAllCheck),"toggled",G_CALLBACK(on_software_uncheck_all),widgets); // g_signal_connect(G_OBJECT(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widgets->NextInstallationSizeSpin))),"value-changed",G_CALLBACK(yon_size_changed),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); @@ -907,7 +908,7 @@ void yon_main_window_create(main_window *widgets){ gtk_builder_connect_signals(builder,NULL); if (!yon_char_is_empty(config(AUTOINSTALL_TYPE_INSTALL))){ gtk_widget_show(widgets->StartScenarioButton); - if (main_config.force_scenario){ + if (main_config.autoinstall){ gtk_button_clicked(GTK_BUTTON(widgets->StartScenarioButton)); } } else { @@ -944,6 +945,9 @@ void yon_main_window_create(main_window *widgets){ main_config.part_size_default = default_part_size[0]; } } + // if (main_config.autoinstall){ + + // } } gboolean yon_maximize_start(main_window *widgets){ @@ -996,6 +1000,7 @@ int main(int argc, char *argv[]){ struct option long_options[] = { {"dry-run", 0, 0, 'D'}, {"scenario", 0, 0, 's'}, + {"autoinstall", 0, 0, 'A'}, {NULL, 0, NULL, 0} }; optind = 1; @@ -1005,8 +1010,8 @@ int main(int argc, char *argv[]){ case 'D': main_config.dry_run = 1; break; - case 's': - main_config.force_scenario = 1; + case 'A': + main_config.autoinstall = 1; break; default: break; diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index cf7d9d4..172bdf3 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -142,6 +142,8 @@ layout && /description:/ {\ }\ \" | sort -u\ " + +#define internet_tomezone_check_command "curl -s ipinfo.io/timezone" #define ubinstall_dry_run_command "ubinstall --dry-run" #define os_name_get_command "sed -En 's/^PRETTY_NAME=[\"]*([^\"]+)[\"]*/\\1/p' /etc/os-release" @@ -150,8 +152,8 @@ layout && /description:/ {\ #define enable_vnc_command "ubconfig --target system set [desktop] X11VNC[password]=ublinux" #define disable_vnc_command "ubconfig --target system remove [desktop] X11VNC[password]" -#define enable_rdp_command "ubconfig --target system set [desktop] AUTOEXEC[@users]='freerdp-server.service'" -#define disable_rdp_command "ubconfig --target system remove [desktop] AUTOEXEC[@users]" +#define enable_rdp_command "ubconfig --target system set [desktop] AUTOEXEC++=freerdp-server.service" +#define disable_rdp_command "ubconfig --target system set [desktop] AUTOEXEC--=freerdp-server.service" #define get_layouts_local_command(layout) yon_char_unite("xkbcli list --load-exotic | awk -v layout=\"", layout, "\" \"BEGIN {layout_pattern = sprintf(\\\"^ *- *layout: *'%s'\\\",layout);matched=0} matched && /variant:/ {match(\\$0, /: *'([^']+)'/, matches);variant = matches[1]} matched && /description:/ {match(\\$0, /: *(.+)/, matches);description = matches[1]} matched && /^ *-/{matched=0; if (variant) printf \\\"%s|%s\\n\\\",variant,description} \\$0 ~ layout_pattern {matched=1;variant=\\\"\\\";description=\\\"\\\";next}\" | sort -u", NULL) // #define get_devices_command "lsblk --noheadings --nodeps -Jo PATH,SIZE,MODEL,VENDOR,SERIAL --exclude 7" @@ -191,7 +193,7 @@ layout && /description:/ {\ #define lang_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [locale] LANG']" #define locale_parameter "AUTOINSTALL[ubconfig set [locale] LOCALE]" #define locale_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [locale] LOCALE']" -#define num_lock_boot_parameter "AUTOINSTALL['ubconfig set [keyboard] NUMLOCK']" +#define num_lock_boot_parameter "AUTOINSTALL[ubconfig set [keyboard] NUMLOCK]" #define num_lock_boot_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [keyboard] NUMLOCK']" /*------------------------------------------------------------*/ @@ -240,17 +242,18 @@ layout && /description:/ {\ #define GRUB_DEFAULT_parameter "AUTOINSTALL[ubconfig set [boot] GRUB_DEFAULT]" #define GRUB_DEFAULT_parameter_command "ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] GRUB_DEFAULT']" #define GRUB_PASSWORD_parameter_search "AUTOINSTALL[ubconfig set [boot] GRUB_PASSWORD[" -#define GRUB_PASSWORD_parameter_all "AUTOINSTALL[ubconfig set [boot] GRUB_PASSWORD[*]]" +#define GRUB_PASSWORD_parameter_all "AUTOINSTALL[\"ubconfig set [boot] GRUB_PASSWORD[*]\"]" #define GRUB_PASSWORD_parameter(target) yon_char_unite("AUTOINSTALL[ubconfig set [boot] GRUB_PASSWORD[", target, "]]", NULL) #define GRUB_PASSWORD_parameter_command_all "ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] GRUB_PASSWORD[*]']" #define GRUB_PASSWORD_parameter_command(target) yon_char_unite("ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] GRUB_PASSWORD[", target, "]']", NULL) #define AUTOLOGINUSER_parameter "AUTOINSTALL[ubconfig set [desktop] AUTOLOGINUSER]" #define AUTOLOGINUSER_parameter_command "ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] AUTOLOGINUSER']" +#define NETWORK_parameter_all "AUTOINSTALL[\"ubconfig set [network] NETWORK[*]\"]" #define NETWORK_parameter_search "AUTOINSTALL[ubconfig set [network] NETWORK[" #define NETWORK_parameter(target) yon_char_unite("AUTOINSTALL[ubconfig set [network] NETWORK[", target, "@connmod]]", NULL) #define NETWORK_devdown_parameter(target) yon_char_unite("AUTOINSTALL[ubconfig set [network] NETWORK[", target, "@devdown]]", NULL) -#define NETWORK_parameter_command(target) yon_char_unite("ubconfig get autoinstall AUTOINSTALL['ubconfig set [network] NETWORK[", target, "@connmod]']", NULL) #define NETWORK_devdown_parameter_command(target) yon_char_unite("ubconfig get autoinstall AUTOINSTALL['ubconfig set [network] NETWORK[", target, "@devdown]']", NULL) +#define NETWORK_parameter_command(target) yon_char_unite("ubconfig get autoinstall AUTOINSTALL['ubconfig set [network] NETWORK[", target, "@connmod]']", NULL) #define NETWORK(target) yon_char_unite("NETWORK[", target, "@connmod]", NULL) #define installer_locale_parameter "AUTOINSTALL[installer_locale]" #define installer_locale_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[installer_locale]" @@ -267,6 +270,7 @@ layout && /description:/ {\ #define get_localisation_command "ubconfig -ea --source global get [autoinstall] AUTOINSTALL[installer_locale] -- get [autoinstall] AUTOINSTALL['ubconfig set [locale] LANG'] -- get [locale] LANG" #define save_config_command(parameters) yon_char_unite("ubconfig --target system set [autoinstall] AUTOINSTALL[log]=yes ", parameters, "; nice ubinstall autoinstall --noautoconfig --noinstall_extra", NULL) +#define quick_install_command(path) yon_char_unite("nice ubinstall autoinstall --config='",path,"' --noautoconfig --noinstall_extra", NULL) #define set_user_config_command(parameters) yon_char_unite("ubconfig --target system set [autoinstall] ", parameters, ";nice ubinstall autoconfig install_extra", NULL) #define save_additional_config_command(parameters) yon_char_unite("ubconfig --target system set [autoinstall] ", parameters, NULL) @@ -459,7 +463,6 @@ typedef struct GList *slides; GList *chosen_slide; - gboolean force_scenario; char *os_name; config_str partitions; @@ -475,6 +478,8 @@ typedef struct config_str argv; int argc; + + int autoinstall; // if active, installation starts immidiately after app start } config; extern config main_config; @@ -621,6 +626,7 @@ typedef struct GtkWidget *AdditionalComponentsList; GtkWidget *AdditionalComponentsOverallSizeLabel; + GtkWidget *AdditionalComponentsUncheckAllCheck; GtkWidget *GrubInstallRadio; GtkWidget *GrubUpdateRadio; @@ -733,7 +739,7 @@ typedef struct GtkWidget *BootloadTimerSpin; GtkWidget *BootloadDefaultOSEntry; GtkWidget *BootloadDefaulOSButton; - GtkWidget *BootloadNoPasswordSwitch; + // GtkWidget *BootloadNoPasswordSwitch; GtkWidget *BootloadUserAddButton; GtkWidget *BootloadUserEditButton; GtkCellRenderer *BootloadAdminCheckCell; @@ -1572,4 +1578,5 @@ void yon_user_admin_check(GtkWidget *self, main_window *widgets); void yon_gtk_widget_set_translation(GtkWidget *target); void on_bootloader_user_edit(GtkWidget *, main_window *widgets); void on_bootloader_admin_toggled(GtkWidget *, char *path, main_window *widgets); -void on_bootloader_user_remove(GtkWidget *, main_window *widgets); \ No newline at end of file +void on_bootloader_user_remove(GtkWidget *, main_window *widgets); +void on_software_uncheck_all(GtkWidget *, main_window *widgets); \ No newline at end of file diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 0bd55e2..702fa7f 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -6,7 +6,7 @@ #define ADDITIONAL_ARGS yon_char_unite(\ " --dry-run ",_("Dry run; Installation will not start"),"\n",\ - " --file ", _("Set ini file for configuration mode"),\ + " --autoinstall ", _("Automatically run installation according to script"),\ NULL) #define KEYBOARD_TITLE_LABEL _("Keyboard layout") @@ -141,6 +141,7 @@ NULL) #define ERROR_LABEL _("Error has occured while installation process") #define LOG_VIEW_LABEL _("Log exploration") +#define UNCHECK_ALL_LABEL _("Uncheck all") #define CONFIGURATION_TITLE_LABEL _("Configuration") #define CONFIGURATION_FINISH_HEAD_LABEL _("Installer configuration has been finished") @@ -297,6 +298,7 @@ NULL) #define NOT_ENOUGH_SPACE_LABEL _("The size of the new disk partition is larger than the size of the selected partition") //Размер нового раздела диска превышает размер выбранного раздела #define MODULE_NOT_ENOUGH_SPACE_LABEL _("There is not enough space to install modules") #define PACKAGE_NOT_ENOUGH_SPACE_LABEL _("There is not enough space to install packages") +#define EDIT_USER_LABEL _("Edit user") // #define _LABEL _("Chosen size:") // #define _LABEL _("Overall size:") @@ -427,7 +429,6 @@ NULL) // #define _LABEL _("System language") // #define _LABEL _("Specify your preferred system languages") // #define _LABEL _("Setting up system users") -// #define _LABEL _("Startup") // #define _LABEL _("Configuring startup services") // #define _LABEL _("Starting the system") // #define _LABEL _("Setting up system boot") diff --git a/ubinstall-gtk-bootloader-user.glade b/ubinstall-gtk-bootloader-user.glade index 5f995f7..4fbd5ec 100644 --- a/ubinstall-gtk-bootloader-user.glade +++ b/ubinstall-gtk-bootloader-user.glade @@ -1,5 +1,5 @@ - + @@ -20,7 +20,7 @@ 450 - 250 + 163 False False True diff --git a/ubinstall-gtk-service-window.glade b/ubinstall-gtk-service-window.glade index 001e566..0f7923d 100644 --- a/ubinstall-gtk-service-window.glade +++ b/ubinstall-gtk-service-window.glade @@ -3,6 +3,7 @@ + True False @@ -15,7 +16,7 @@ 500 - 250 + 167 False True @@ -54,10 +55,10 @@ False 5 - + True False - Unit: + Service: 0 @@ -90,10 +91,10 @@ False 5 - + True False - Service: + Unit: 0 @@ -209,11 +210,4 @@ - - - - - - - diff --git a/ubinstall-gtk.glade b/ubinstall-gtk.glade index ca8bbe7..75bacc4 100644 --- a/ubinstall-gtk.glade +++ b/ubinstall-gtk.glade @@ -3300,6 +3300,19 @@ Select a different installation source. True False 5 + + + Uncheck all + True + False + True + + + False + True + 0 + + True @@ -5548,7 +5561,7 @@ Select a different installation source. True False - Startup + Autorun of services True 0 @@ -6284,12 +6297,10 @@ Select a different installation source. - True False 5 - True True @@ -6420,6 +6431,7 @@ Select a different installation source. True True True + Edit user image43