Merge pull request 'master' (#299) from YanTheKaller/ubinstall-gtk:master into master

Reviewed-on: #299
pull/336/head v2.1
Dmitry Razumov 2 months ago
commit d3b2e633f5

@ -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 ""

@ -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-доступ"
msgstr "Предоставить root-доступ"
#: source/libublsettingsui-gtk3.h:675
msgid "Uncheck all"
msgstr "Снять всё"

@ -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;i<size;i++){
@ -466,7 +449,6 @@ void yon_bootloader_interface_update(main_window *widgets){
gtk_list_store_append(widgets->BootloadUsersList,&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,",");

@ -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);
}
}
}

@ -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;
}

@ -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);
}

@ -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);

@ -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);
}
}

@ -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");

@ -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]);
}
}
}

@ -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;i<size;i++){
config_str apps_ret = yon_resource_open_file(apps_list_path,&size);
apps_ret = yon_char_parsed_rip(apps_ret,&size,0);
if (!size) return;
qsort(apps_ret,(size_t)size,sizeof(char *),(__compar_fn_t)yon_char_parsed_compare);
for (int i=0;i<size;i++){
int parsed_size;
config_str parsed = yon_char_parse(apps[i],&parsed_size,";");
config_str parsed = yon_char_parse(apps_ret[i],&parsed_size,";");
if (parsed_size&&!yon_char_is_empty(parsed[0])){
gtk_list_store_append(widgets->StartupAppsList,&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;i<parsed_size;i++){
gtk_list_store_append(widgets->StartupAppsList,&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);

@ -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;i<size;i++){
services = yon_char_parsed_rip(services,&size,0);
if (!size) return;
qsort(services,(size_t)size,sizeof(char *),(__compar_fn_t)yon_char_parsed_compare);
for (int i=0;i<size;i++){
int parsed_size;
config_str parsed = yon_char_parse(services[i],&parsed_size,";");
if (parsed_size&&!yon_char_is_empty(parsed[0])){

@ -48,7 +48,6 @@ int yon_users_save(main_window *widgets){
yon_char_parsed_free(parameters,size);
}
}
yon_debug_output("%s\n",yon_config_get_all_info());
return 1;
}

@ -517,6 +517,7 @@ void yon_main_window_create(main_window *widgets){
widgets->AdditionalComponentsList = 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;

@ -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);
void on_bootloader_user_remove(GtkWidget *, main_window *widgets);
void on_software_uncheck_all(GtkWidget *, main_window *widgets);

@ -6,7 +6,7 @@
#define ADDITIONAL_ARGS yon_char_unite(\
" --dry-run ",_("Dry run; Installation will not start"),"\n",\
" --file <PATH> ", _("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")

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<!-- Generated with glade 3.40.0 -->
<interface domain="ubinstall-gtk">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubinstall-gtk.css -->
@ -20,7 +20,7 @@
</object>
<object class="GtkWindow" id="MainWindow">
<property name="width-request">450</property>
<property name="height-request">250</property>
<property name="height-request">163</property>
<property name="can-focus">False</property>
<property name="resizable">False</property>
<property name="modal">True</property>

@ -3,6 +3,7 @@
<interface domain="ubinstall-gtk">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubinstall-gtk.css -->
<object class="GtkSizeGroup"/>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
@ -15,7 +16,7 @@
</object>
<object class="GtkWindow" id="MainWindow">
<property name="width-request">500</property>
<property name="height-request">250</property>
<property name="height-request">167</property>
<property name="can-focus">False</property>
<property name="modal">True</property>
<child>
@ -54,10 +55,10 @@
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel" id="AppLabel">
<object class="GtkLabel" id="GroupLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Unit:</property>
<property name="label" translatable="yes">Service:</property>
<property name="xalign">0</property>
</object>
<packing>
@ -90,10 +91,10 @@
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel" id="GroupLabel">
<object class="GtkLabel" id="AppLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Service:</property>
<property name="label" translatable="yes">Unit:</property>
<property name="xalign">0</property>
</object>
<packing>
@ -209,11 +210,4 @@
</object>
</child>
</object>
<object class="GtkSizeGroup">
<widgets>
<widget name="DescriptionLabel"/>
<widget name="GroupLabel"/>
<widget name="AppLabel"/>
</widgets>
</object>
</interface>

@ -3300,6 +3300,19 @@ Select a different installation source.</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkCheckButton" id="AdditionalComponentsUncheckAllCheck">
<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>
@ -5548,7 +5561,7 @@ Select a different installation source.</property>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Startup</property>
<property name="label" translatable="yes">Autorun of services</property>
<property name="wrap">True</property>
<property name="xalign">0</property>
<attributes>
@ -6284,12 +6297,10 @@ Select a different installation source.</property>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkSwitch" id="BootloadNoPasswordSwitch">
<property name="visible">True</property>
<property name="can-focus">True</property>
</object>
<packing>
@ -6420,6 +6431,7 @@ Select a different installation source.</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Edit user</property>
<property name="image">image43</property>
<style>
<class name="thin"/>

Loading…
Cancel
Save