diff --git a/Makefile b/Makefile index 4ecba6c..371bb65 100644 --- a/Makefile +++ b/Makefile @@ -11,8 +11,8 @@ CMAKE_BUILD_DIR = $(MAKEFILE_PATH)compile DEPENDS = /bin/cmake PREFIX ?= /usr/local PKGNAME = $(MAKEFILE_DIR) -FILE_VER = source/${PKGNAME}.cc -PKGIDENT = $(subst /,-,$(subst /usr,,${PREFIX})) +FILE_VER = source/${PKGNAME}.h +PKGIDENT=$(subst /,-,${PREFIX}) default_target: all @@ -72,6 +72,7 @@ check: build: depend prepare @echo "Build ..."; \ $(MAKE_COMMAND) --directory=${CMAKE_BUILD_DIR}; \ + sed -r "s/^(string version_application).*/\1;/" -i ${FILE_VER}; \ echo "Build: OK" uninstall: @@ -93,13 +94,7 @@ uninstall: done @$(RM) "${DESTDIR}${PREFIX}/bin/${PKGNAME}" @$(RM) "${DESTDIR}${PREFIX}/share/applications/${PKGNAME}.desktop" - @$(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps/com.ublinux.${PKGNAME}.svg" @$(RM) "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}${PKGIDENT}.policy" - - @$(RM) "${DESTDIR}/usr/share/${PKGNAME}/grub-cmdline-linux.csv" - @$(RM) "${DESTDIR}/usr/share/${PKGNAME}/grub-terminal-input.csv" - @$(RM) "${DESTDIR}/usr/share/${PKGNAME}/grub-terminal-output.csv" - @$(RM) "${DESTDIR}/usr/share/${PKGNAME}/grub-play.csv" @if [ -z ${DESTDIR} ]; then \ [ -d "${DESTDIR}${PREFIX}/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}${PREFIX}/share/icons/hicolor/" &>/dev/null || true; \ update-desktop-database --quiet &>/dev/null || true; \ @@ -121,23 +116,19 @@ install: check uninstall install -dm755 "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps"; \ rsvg-convert -w $${SIZE} -h $${SIZE} -f svg --keep-image-data "com.ublinux.${PKGNAME}.svg" -o "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps/com.ublinux.${PKGNAME}.svg"; \ done - @install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps/" "com.ublinux.${PKGNAME}.svg" + @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/apps/" "com.ublinux.${PKGNAME}.svg" @cp ./com.ublinux.${PKGNAME}.policy ./compile/com.ublinux.${PKGNAME}${PKGIDENT}.policy @sed -e 's+/usr/bin+${PREFIX}/bin+' -e 's+.run+${PKGIDENT}.run+g' ./compile/com.ublinux.${PKGNAME}${PKGIDENT}.policy -i @install -Dm755 -t "${DESTDIR}${PREFIX}/bin/" "${CMAKE_BUILD_DIR}/${PKGNAME}" @install -Dm644 -t "${DESTDIR}${PREFIX}/share/applications/" "${PKGNAME}.desktop" - @install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.checked.svg" - @install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.warning.svg" - @install -Dm644 -t "${DESTDIR}/usr/share/${PKGNAME}/" grub-cmdline-linux.csv - @install -Dm644 -t "${DESTDIR}/usr/share/${PKGNAME}/" grub-terminal-input.csv - @install -Dm644 -t "${DESTDIR}/usr/share/${PKGNAME}/" grub-terminal-output.csv - @install -Dm644 -t "${DESTDIR}/usr/share/${PKGNAME}/" grub-play.csv - @install -Dm644 "com.ublinux.${PKGNAME}.policy" "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}${PKGIDENT}.policy" - @sed -e '\|annotate key=|s|/usr/bin|${PREFIX}/bin|' -e '/action id=/s/\.run/${PKGIDENT}\.run/' -i ${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}${PKGIDENT}.policy + @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.checked.svg" + @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.warning.svg" + @install -Dm644 -t "${DESTDIR}/usr/share/polkit-1/actions/" "${CMAKE_BUILD_DIR}/com.ublinux.${PKGNAME}${PKGIDENT}.policy" + @ldconfig -n /usr/local/lib @if [ -z ${DESTDIR} ]; then \ - [ -d "${DESTDIR}${PREFIX}/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}${PREFIX}/share/icons/hicolor/" &>/dev/null || true; \ + [ -d "${DESTDIR}/usr/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}/usr/share/icons/hicolor/" &>/dev/null || true; \ update-desktop-database --quiet &>/dev/null || true; \ - [ -d "${DESTDIR}${PREFIX}/share/applications" ] && touch "${DESTDIR}${PREFIX}/share/applications" &>/dev/null || true; \ + [ -d "${DESTDIR}/usr/share/applications" ] && touch "${DESTDIR}/usr/share/applications" &>/dev/null || true; \ fi @echo "Install: OK" @@ -147,7 +138,6 @@ clean: @if [ -d ${CMAKE_BUILD_DIR} ]; then \ echo "Clean: error, compile directory exist ${CMAKE_BUILD_DIR}"; \ else \ - sed -r "s/^(string version_application).*/\1;/" -i ${FILE_VER}; \ echo "Clean: OK"; \ fi @@ -157,7 +147,7 @@ help: echo "... init"; \ echo "... debug"; \ echo "... prepare"; \ - echo "... build"; \ + echo "... compile"; \ echo "... install"; \ echo "... uninstall"; \ echo "... clean" \ No newline at end of file diff --git a/gresource.xml b/gresource.xml index a3a837c..8c2f42b 100644 --- a/gresource.xml +++ b/gresource.xml @@ -2,6 +2,9 @@ ubl-settings-bootloader.glade + ubl-settings-bootloader-password.glade + ubl-settings-bootloader-user.glade + ubl-settings-bootloader-ringtone.glade ubl-settings-bootloader.css @@ -9,4 +12,9 @@ ubl-settings-bootloader-banner.png + + grub-parameters.csv + grub-terminal-input.csv + grub-terminal-output.csv + \ No newline at end of file diff --git a/grub-cmdline-linux.csv b/grub-parameters.csv similarity index 100% rename from grub-cmdline-linux.csv rename to grub-parameters.csv diff --git a/grub-play.csv b/grub-play.csv deleted file mode 100644 index 070f201..0000000 --- a/grub-play.csv +++ /dev/null @@ -1,2 +0,0 @@ -Option|Tone code -ubbeep|480 900 2 1000 2 800 2 400 2 600 3 \ No newline at end of file diff --git a/grub-terminal-input.csv b/grub-terminal-input.csv index b2b265b..46fac01 100644 --- a/grub-terminal-input.csv +++ b/grub-terminal-input.csv @@ -3,4 +3,4 @@ console|PC BIOS & EFI console serial|Serial terminal ofconsole|Open Firmware Console at_keyboard|PC AT Keyboard (Coreboot) -usb_keyboard|USB Keyboard (HID Boot protocol) +usb_keyboard|USB Keyboard (HID Boot protocol) \ No newline at end of file diff --git a/grub-terminal-output.csv b/grub-terminal-output.csv index 6ffc336..0f5eabd 100644 --- a/grub-terminal-output.csv +++ b/grub-terminal-output.csv @@ -3,4 +3,4 @@ console|PC BIOS & EFI console serial|Serial terminal ofconsole|Open Firmware Console gfxterm|Output in graphical mode -vga_text|VGA text output (Coreboot) +vga_text|VGA text output (Coreboot) \ No newline at end of file diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 6974d60..69fae4c 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -32,6 +32,12 @@ add_custom_target(GLADE ubl-settings-bootloader.glade) set(DEPENDFILES ../ubl-settings-bootloader.glade + ../ubl-settings-bootloader-password.glade + ../ubl-settings-bootloader-user.glade + ../ubl-settings-bootloader-ringtone.glade + ../grub-parameters.csv + ../grub-terminal-input.csv + ../grub-terminal-output.csv ../gresource.xml ../ubl-settings-bootloader-banner.png ../ubl-settings-bootloader.css @@ -72,6 +78,9 @@ endif() set(SOURCE_FILES ubl-settings-bootloader.c + ubl-settings-bootloader-user.c + ubl-settings-bootloader-password.c + ubl-settings-bootloader-melody.c ubl-settings-bootloader.h ubl-strings.h ) diff --git a/source/ubl-settings-bootloader-melody.c b/source/ubl-settings-bootloader-melody.c new file mode 100644 index 0000000..04ce4ce --- /dev/null +++ b/source/ubl-settings-bootloader-melody.c @@ -0,0 +1,115 @@ +#include "ubl-settings-bootloader.h" + +void on_ringtone_accept(GtkWidget *,dictionary *dict){ + main_window *widgets = yon_dictionary_get_data(dict->first,main_window*); + yon_ringtone_window *window = yon_dictionary_get_data(dict->first->next,yon_ringtone_window*); + const char *username = gtk_entry_get_text(GTK_ENTRY(window->NameEntry)); + const char *password = gtk_entry_get_text(GTK_ENTRY(window->CodeEntry)); + // if (yon_char_is_empty(username)){ + // yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + // yon_ubl_status_highlight_incorrect(window->NameEntry); + // return; + // } + if (yon_char_is_empty(password)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(window->CodeEntry); + return; + } + if (!yon_char_is_empty(window->prev_name)&&strcmp(username,window->prev_name)){ + yon_window_config_erase_instant_parameter(window->prev_name,"melodies"); + char *config_melody = config(GRUB_PLAY_parameter); + if (!yon_char_is_empty(config_melody)&&!strcmp(config_melody,password)){ + yon_config_remove_by_key(GRUB_PLAY_parameter); + } + } + yon_window_config_add_instant_parameter((char*)username,"melodies",(char*)password,YON_TYPE_STRING); + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->ChooseCheck))){ + yon_config_register(GRUB_PLAY_parameter,GRUB_PLAY_command,(char*)password); + } else { + char *config_melody = config(GRUB_PLAY_parameter); + if (!yon_char_is_empty(config_melody)&&!strcmp(config_melody,password)){ + yon_config_remove_by_key(GRUB_PLAY_parameter); + } + } + gtk_widget_destroy(window->Window); + yon_interface_update(widgets); +} + +void on_ringtone_add_clicked(GtkWidget *,main_window *widgets){ + yon_ringtone_window *window = yon_ringtone_window_new(); + + dictionary *dict = NULL; + yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets); + yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); + + g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_ringtone_accept),dict); + gtk_widget_show(window->Window); + +} + +void on_ringtone_edit_clicked(GtkWidget *,main_window *widgets){ + yon_ringtone_window *window = yon_ringtone_window_new(); + + GtkTreeIter iter; + GtkTreeModel *model = GTK_TREE_MODEL(widgets->BootRingtoneList); + + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->BootRingtoneTree)),&model,&iter)){ + int is_chosen; + char *name, *code; + gtk_tree_model_get(model,&iter,0,&is_chosen,1,&name,2,&code,-1); + window->prev_name = yon_char_new(name); + + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->ChooseCheck),is_chosen); + gtk_entry_set_text(GTK_ENTRY(window->NameEntry),name); + gtk_entry_set_text(GTK_ENTRY(window->CodeEntry),code); + } + + dictionary *dict = NULL; + yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets); + yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); + + g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_ringtone_accept),dict); + gtk_widget_show(window->Window); + +} + +void on_ringtone_remove_clicked(GtkWidget *,main_window *widgets){ + GtkTreeIter iter; + GtkTreeModel *model; + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->BootRingtoneTree)),&model,&iter)){ + char *name, *code; + gtk_tree_model_get(model,&iter,1,&name,2,&code,-1); + dialog_confirmation_data *data = new(dialog_confirmation_data); + data->data=NULL; + data->function=NULL; + data->action_text = RINGTONE_REMOVE_CONFIRM_LABEL(name); + if (yon_confirmation_dialog_call(widgets->Window,data)==GTK_RESPONSE_ACCEPT){ + char *config_code = config(GRUB_PLAY_parameter); + yon_window_config_erase_instant_parameter(name,"melodies"); + if (!yon_char_is_empty(config_code)&&strcmp(code,config_code)){ + yon_config_remove_by_key(GRUB_PLAY_parameter); + } + + yon_interface_update(widgets); + } + } +} + +yon_ringtone_window *yon_ringtone_window_new(){ + yon_ringtone_window *window = new(yon_ringtone_window); + GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_ringtone); + window->Window = yon_gtk_builder_get_widget(builder,"MainWindow"); + window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox"); + window->TitleLabel = yon_gtk_builder_get_widget(builder,"TitleLabel"); + window->ChooseCheck = yon_gtk_builder_get_widget(builder,"ChooseCheck"); + window->NameEntry = yon_gtk_builder_get_widget(builder,"NameEntry"); + window->CodeEntry = yon_gtk_builder_get_widget(builder,"CodeEntry"); + window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton"); + window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton"); + window->prev_name = NULL; + + yon_on_entry_set_allowed_symbols(GTK_ENTRY(window->CodeEntry),"01234567890 "); + yon_gtk_entry_block_restricted_symbols(GTK_ENTRY(window->NameEntry)); + g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); + return window; +} \ No newline at end of file diff --git a/source/ubl-settings-bootloader-password.c b/source/ubl-settings-bootloader-password.c new file mode 100644 index 0000000..dfb6803 --- /dev/null +++ b/source/ubl-settings-bootloader-password.c @@ -0,0 +1,123 @@ +#include "ubl-settings-bootloader.h" + +void yon_password_change(GtkWidget *, GtkEntry *entry){ + GtkEntry *output_target = entry; + yon_password_window *window = yon_ubl_settings_usergroups_password_new(); + dictionary *dict = NULL; + char *password = (char*)gtk_entry_get_text(output_target); + if (!yon_char_is_empty(password)){ + if (main_config.load_mode==0){ + password = yon_char_new(password); + if (!check_is_password_hash(password)){ + gtk_entry_set_text(GTK_ENTRY(window->PasswordHashEntry),password); + } else { + if (password[0]=='%'&&password[1]=='%'){ + free(yon_char_divide(password,1)); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->NoEncriptionCheck),1); + } + gtk_entry_set_text(GTK_ENTRY(window->PasswordEntry),password); + } + } + } + yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); + yon_dictionary_add_or_create_if_exists_with_data(dict,"target",output_target); + g_signal_connect(G_OBJECT(window->UserOkButton),"clicked",G_CALLBACK(on_password_accept),dict); + g_signal_connect(G_OBJECT(window->UserCancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); + gtk_window_set_transient_for(GTK_WINDOW(window->Window),GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(output_target)))); + gtk_widget_show(window->Window); + +} + +void on_password_accept(GtkWidget *self, dictionary *dict){ + yon_password_window *window = yon_dictionary_get_data(dict->first,yon_password_window*); + GtkEntry *entry = yon_dictionary_get_data(dict->first->next,GtkEntry*); + char *password = (char*)gtk_entry_get_text(GTK_ENTRY(window->PasswordEntry)); + char *password_check = (char*)gtk_entry_get_text(GTK_ENTRY(window->RepeatPasswordEntry)); + if (yon_char_is_empty(password)){ + char *pasted_hash = (char*)gtk_entry_get_text(GTK_ENTRY(window->PasswordHashEntry)); + if (!yon_char_is_empty(pasted_hash)){ + gtk_entry_set_text(entry,pasted_hash); + } else { + yon_ubl_status_highlight_incorrect(window->PasswordEntry); + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),PASSWORD_SHORT_LABEL(yon_char_from_int(main_config.password_min_length)),5,BACKGROUND_IMAGE_FAIL_TYPE); + return; + } + } else { + for (size_t i=0;iStatusBox),RESTRICTED_SYMBOLS_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + return; + } + } + if (yon_char_is_empty(password)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + return; + } else if (password[0]=='%'&&password[1]=='%'){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + return; + } + if ((glong)strlen(password)StatusBox),PASSWORD_SHORT_LABEL(yon_char_from_int(main_config.password_min_length)),5,BACKGROUND_IMAGE_FAIL_TYPE); + return; + } + if (!strcmp(password,password_check)){ + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->NoEncriptionCheck))){ + char *pasw=yon_char_append("%%",password); + password=pasw; + } + gtk_entry_set_text(GTK_ENTRY(entry),password); + } else { + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),PASSWORD_MISMATCH_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + return; + } + } + on_subwindow_close(self); +} + +yon_password_window *yon_ubl_settings_usergroups_password_new(){ + yon_password_window *window = malloc(sizeof(yon_password_window)); + GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_password); + window->Window=yon_gtk_builder_get_widget(builder,"MainWindow"); + window->StatusBox=yon_gtk_builder_get_widget(builder,"StatusBox"); + window->TitleLabel=yon_gtk_builder_get_widget(builder,"userTitleNameLabel"); + window->PasswordEntry=yon_gtk_builder_get_widget(builder,"PasswordEntry"); + window->RepeatPasswordEntry=yon_gtk_builder_get_widget(builder,"RepeatPasswordEntry"); + window->PasswordHashEntry=yon_gtk_builder_get_widget(builder,"PasswordHashEntry"); + window->HashBox=yon_gtk_builder_get_widget(builder,"HashBox"); + window->PasswordBox=yon_gtk_builder_get_widget(builder,"PasswordBox"); + window->NoEncriptionCheck=yon_gtk_builder_get_widget(builder,"NoEncriptionCheck"); + + window->UserCancelButton=yon_gtk_builder_get_widget(builder,"UserCancelButton"); + window->UserOkButton=yon_gtk_builder_get_widget(builder,"UserOkButton"); + + yon_window_config_custom_window_setup(GTK_WINDOW(window->Window),"PasswordWindow"); + + g_signal_connect(G_OBJECT(window->UserCancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); + yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(window->PasswordEntry)); + yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(window->RepeatPasswordEntry)); + yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(window->PasswordHashEntry)); + gtk_window_set_title(GTK_WINDOW(window->Window),PASSWORD_TITLE_LABEL); + +return window; +} + + +int yon_check_password_blocked(char *password){ + if (!yon_char_is_empty(password)){ + if (!strcmp(password,"!*")){ + memset(password,0,strlen(password)); + return 1; + } else if (password[0]=='!'&&password[1]=='*'){ + char *copy = yon_char_new(password); + memcpy(copy,password+2,strlen(password+2)); + memset(password,0,strlen(password)); + memcpy(password,copy,strlen(copy)); + free(copy); + return 1; + } else if (password[0]=='!'||password[0]=='*'){ + free(yon_char_divide(password,0)); + return 1; + } + } + return 0; +} \ No newline at end of file diff --git a/source/ubl-settings-bootloader-user.c b/source/ubl-settings-bootloader-user.c new file mode 100644 index 0000000..00d9387 --- /dev/null +++ b/source/ubl-settings-bootloader-user.c @@ -0,0 +1,126 @@ +#include "ubl-settings-bootloader.h" + +void on_user_accept(GtkWidget *,dictionary *dict){ + main_window *widgets = yon_dictionary_get_data(dict->first,main_window*); + yon_user_window *window = yon_dictionary_get_data(dict->first->next,yon_user_window*); + const char *username = gtk_entry_get_text(GTK_ENTRY(window->UsernameEntry)); + const char *password = gtk_entry_get_text(GTK_ENTRY(window->PasswordEntry)); + if (yon_char_is_empty(username)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(window->UsernameEntry); + return; + } + if (yon_char_is_empty(password)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(window->PasswordEntry); + return; + } + if (!yon_char_is_empty(window->prev_name)&&strcmp(username,window->prev_name)){ + yon_config_remove_by_key(GRUB_PASSWORD(window->prev_name)); + int size; + char *superusers = config(GRUB_SUPERUSERS_parameter); + config_str parsed = yon_char_parse(superusers,&size,","); + int pos = yon_char_parsed_check_exist(parsed,size,(char*)username); + if (pos>-1){ + parsed = yon_char_parsed_rip(parsed,&size,pos); + char *superusers = yon_char_parsed_to_string(parsed,size,","); + if (!yon_char_is_empty(superusers)){ + yon_config_register(GRUB_SUPERUSERS_parameter,GRUB_SUPERUSERS_command,superusers); + } else { + yon_config_remove_by_key(GRUB_SUPERUSERS_parameter); + } + } + } + yon_config_register(GRUB_PASSWORD(username),GRUB_PASSWORD_command,(char*)password); + + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->AdminCheck))){ + int size; + char *superusers = config(GRUB_SUPERUSERS_parameter); + config_str parsed = yon_char_parse(superusers,&size,","); + if (yon_char_parsed_check_exist(parsed,size,(char*)username)==-1){ + yon_char_parsed_add_or_create_if_exists(parsed,&size,(char*)username); + char *superusers = yon_char_parsed_to_string(parsed,size,","); + yon_config_register(GRUB_SUPERUSERS_parameter,GRUB_SUPERUSERS_command,superusers); + } + } + gtk_widget_destroy(window->Window); + yon_interface_update(widgets); +} + +void on_user_add_clicked(GtkWidget *,main_window *widgets){ + yon_user_window *window = yon_user_window_new(); + + dictionary *dict = NULL; + yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets); + yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); + + g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_user_accept),dict); + gtk_widget_show(window->Window); + +} + +void on_user_edit_clicked(GtkWidget *,main_window *widgets){ + yon_user_window *window = yon_user_window_new(); + + GtkTreeIter iter; + GtkTreeModel *model = GTK_TREE_MODEL(widgets->BootUsersList); + + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->BootUsersTree)),&model,&iter)){ + int is_admin; + char *name; + gtk_tree_model_get(model,&iter,0,&is_admin,1,&name,-1); + window->prev_name = yon_char_new(name); + char *password = config(GRUB_PASSWORD(name)); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->AdminCheck),is_admin); + gtk_entry_set_text(GTK_ENTRY(window->UsernameEntry),name); + if (password){ + gtk_entry_set_text(GTK_ENTRY(window->PasswordEntry),password); + } + } + + dictionary *dict = NULL; + yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets); + yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); + + g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_user_accept),dict); + gtk_widget_show(window->Window); + +} + +void on_user_remove_clicked(GtkWidget *,main_window *widgets){ + GtkTreeIter iter; + GtkTreeModel *model; + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->BootUsersTree)),&model,&iter)){ + char *name; + gtk_tree_model_get(model,&iter,1,&name,-1); + dialog_confirmation_data *data = new(dialog_confirmation_data); + data->data=NULL; + data->function=NULL; + data->action_text = USER_REMOVE_CONFIRM_LABEL(name); + if (yon_confirmation_dialog_call(widgets->Window,data)==GTK_RESPONSE_ACCEPT){ + yon_config_remove_by_key(GRUB_PASSWORD(name)); + yon_interface_update(widgets); + } + } +} + +yon_user_window *yon_user_window_new(){ + yon_user_window *window = new(yon_user_window); + GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_user); + window->Window = yon_gtk_builder_get_widget(builder,"MainWindow"); + window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox"); + window->TitleLabel = yon_gtk_builder_get_widget(builder,"TitleLabel"); + window->AdminCheck = yon_gtk_builder_get_widget(builder,"AdminCheck"); + window->UsernameEntry = yon_gtk_builder_get_widget(builder,"UsernameEntry"); + window->PasswordEntry = yon_gtk_builder_get_widget(builder,"PasswordEntry"); + window->PasswordButton = yon_gtk_builder_get_widget(builder,"PasswordButton"); + window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton"); + window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton"); + window->prev_name = NULL; + + 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->PasswordEntry); + yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(window->PasswordEntry)); + yon_gtk_entry_block_restricted_symbols(GTK_ENTRY(window->UsernameEntry)); + return window; +} \ No newline at end of file diff --git a/source/ubl-settings-bootloader.c b/source/ubl-settings-bootloader.c index fdfefcc..ea63b0f 100644 --- a/source/ubl-settings-bootloader.c +++ b/source/ubl-settings-bootloader.c @@ -27,6 +27,51 @@ void on_save_done(main_window *, config_str output, int size){ } +void on_config_global_local_save(GtkWidget *, main_window *){ + main_config.save_config=3; + yon_save_proceed(NULL,YON_CONFIG_BOTH,config_get_global_command,NULL); +} + +void on_config_local_save(GtkWidget *, main_window *){ + main_config.save_config=1; + yon_save_proceed("system",YON_CONFIG_LOCAL,config_get_local_command,NULL); + +} + +void on_config_global_save(GtkWidget *, main_window *){ + main_config.save_config=0; + yon_save_proceed("global",YON_CONFIG_GLOBAL,config_get_global_command,NULL); + +} + +void on_config_custom_save(GtkWidget *, main_window *){ + main_config.save_config=1; + template_saving_window *window = yon_save_proceed(NULL,YON_CONFIG_CUSTOM,yon_config_get_custom_command("system"),NULL); + if (window){}; +} + +void on_config_local_load(GtkWidget *,main_window *widgets){ + yon_load_proceed(YON_CONFIG_LOCAL); + yon_interface_update(widgets); + main_config.load_mode=1; +} + +void on_config_global_load(GtkWidget *,main_window *widgets){ + yon_load_proceed(YON_CONFIG_GLOBAL); + yon_interface_update(widgets); + main_config.load_mode=0; + +} + +void on_config_custom_load(GtkWidget *,main_window *widgets){ + yon_load_proceed(YON_CONFIG_CUSTOM); + textdomain(template_ui_LocaleName); + yon_ubl_status_box_render(GLOBAL_LOAD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); + textdomain(LocaleName); + main_config.load_mode=3; + yon_interface_update(widgets); +} + void yon_load_proceed(YON_CONFIG_TYPE type){ yon_config_clean(); if (!yon_char_is_empty(config_get_default_command)) @@ -62,7 +107,262 @@ void yon_load_proceed(YON_CONFIG_TYPE type){ } } -void yon_interface_update(main_window *){ +void yon_interface_update(main_window *widgets){ + gtk_list_store_clear(widgets->BootUsersList); + gtk_list_store_clear(widgets->BootRingtoneList); + gtk_list_store_clear(widgets->KernelParametersList); + gtk_list_store_clear(widgets->InputTerminalList); + gtk_list_store_clear(widgets->OutputTerminalList); + gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->BootUsersTree),NULL); + gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->BootRingtoneTree),NULL); + gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->KernelParametersTree),NULL); + gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->InputTerminalTree),NULL); + gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->OutputTerminalTree),NULL); + + char *timeout = config(GRUB_TIMEOUT_parameter); + if (!yon_char_is_empty(timeout)){ + gtk_spin_button_set_value(GTK_SPIN_BUTTON(widgets->BootSelectionTimerSpin),atof(timeout)); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->BootSelectionTimerCheck),1); + } else { + gtk_spin_button_set_value(GTK_SPIN_BUTTON(widgets->BootSelectionTimerSpin),0); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->BootSelectionTimerCheck),0); + } + { + GtkTreeIter iter; + int users_size; + int admins_size; + char *admins = config(GRUB_SUPERUSERS_parameter); + config_str users = yon_config_get_all_by_key(GRUB_PASSWORD_search,&users_size); + config_str admins_parsed = yon_char_parse(admins,&admins_size,","); + for (int i=0;iBootUsersList,&iter); + gtk_list_store_set(widgets->BootUsersList,&iter,0,yon_char_parsed_check_exist(admins_parsed,admins_size,username),1,username,2,"******",-1); + + } + } + { + char *ringtone = config(GRUB_PLAY_parameter); + gsize size; + config_str codes = yon_window_config_get_section("melodies",&size); + GtkTreeIter iter; + + for (gsize i=0;iBootRingtoneList,&iter); + gtk_list_store_set(widgets->BootRingtoneList,&iter,0,!yon_char_is_empty(ringtone)&&!strcmp(ringtone,cur_code),1,name,2,cur_code,-1); + free(cur_code); + free(name); + } + if (size) yon_char_parsed_free(codes,size); + } + { + int size; + GtkTreeIter iter; + + char *parameter = config(GRUB_CMDLINE_LINUX_parameter); + config_str parameters = yon_char_parse(parameter,&size," "); + for (int i=1;iKernelParametersList,&iter); + gtk_list_store_set(widgets->KernelParametersList,&iter,0,yon_char_parsed_check_exist(parameters,size,cur_parameter)>-1,1,cur_parameter,2,_(description),-1); + } + if (yon_char_is_empty(parameter)) parameter=""; + gtk_entry_set_text(GTK_ENTRY(widgets->CommandLineParametersEntry),parameter); + } + { + int size; + GtkTreeIter iter; + + char *parameter = config(GRUB_TERMINAL_INPUT_parameter); + config_str parameters = yon_char_parse(parameter,&size," "); + for (int i=1;iInputTerminalList,&iter); + gtk_list_store_set(widgets->InputTerminalList,&iter,0,yon_char_parsed_check_exist(parameters,size,cur_parameter)>-1,1,cur_parameter,2,_(description),-1); + } + if (yon_char_is_empty(parameter)) parameter=""; + gtk_entry_set_text(GTK_ENTRY(widgets->InputTerminalEntry),parameter); + } + { + int size; + GtkTreeIter iter; + + char *parameter = config(GRUB_TERMINAL_OUTPUT_parameter); + config_str parameters = yon_char_parse(parameter,&size," "); + for (int i=1;iOutputTerminalList,&iter); + gtk_list_store_set(widgets->OutputTerminalList,&iter,0,yon_char_parsed_check_exist(parameters,size,cur_parameter)>-1,1,cur_parameter,2,_(description),-1); + } + if (yon_char_is_empty(parameter)) parameter=""; + gtk_entry_set_text(GTK_ENTRY(widgets->OutputTerminalEntry),parameter); + } + gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->BootUsersTree),GTK_TREE_MODEL(widgets->BootUsersList)); + gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->BootRingtoneTree),GTK_TREE_MODEL(widgets->BootRingtoneList)); + gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->KernelParametersTree),GTK_TREE_MODEL(widgets->KernelParametersList)); + gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->InputTerminalTree),GTK_TREE_MODEL(widgets->InputTerminalList)); + gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->OutputTerminalTree),GTK_TREE_MODEL(widgets->OutputTerminalList)); +} + +void on_kernel_parameter_switch(GtkCellRenderer *, char *path, main_window *widgets){ + GtkTreeIter iter; + GtkTreeModel *model = GTK_TREE_MODEL(widgets->KernelParametersList); + + if (gtk_tree_model_get_iter_from_string(model,&iter,path)){ + int status; + char *parameter; + + gtk_tree_model_get(model,&iter,0,&status,1,¶meter,-1); + gtk_list_store_set(widgets->KernelParametersList,&iter,0,!status,-1); + char *config_param = config(GRUB_CMDLINE_LINUX_parameter); + if (!yon_char_is_empty(config_param)){ + int size; + config_str parsed = yon_char_parse(config_param,&size," "); + switch (status){ + case 0:{ + int pos = yon_char_parsed_check_exist(parsed,size,parameter); + if (pos == -1){ + yon_char_parsed_add_or_create_if_exists(parsed,&size,parameter); + char *final = yon_char_parsed_to_string(parsed,size," "); + yon_config_register(GRUB_CMDLINE_LINUX_parameter,GRUB_CMDLINE_LINUX_command,final); + gtk_entry_set_text(GTK_ENTRY(widgets->CommandLineParametersEntry),final); + free(final); + } + }break; + case 1:{ + int pos = yon_char_parsed_check_exist(parsed,size,parameter); + if (pos>-1){ + if (size>1){ + parsed = yon_char_parsed_rip(parsed,&size,pos); + char *final = yon_char_parsed_to_string(parsed,size," "); + yon_config_register(GRUB_CMDLINE_LINUX_parameter,GRUB_CMDLINE_LINUX_command,final); + gtk_entry_set_text(GTK_ENTRY(widgets->CommandLineParametersEntry),final); + free(final); + } else { + gtk_entry_set_text(GTK_ENTRY(widgets->CommandLineParametersEntry),""); + yon_config_remove_by_key(GRUB_CMDLINE_LINUX_parameter); + } + } + } break; + } + + } else if (status==0) { + yon_config_register(GRUB_CMDLINE_LINUX_parameter,GRUB_CMDLINE_LINUX_command,parameter); + gtk_entry_set_text(GTK_ENTRY(widgets->CommandLineParametersEntry),parameter); + } + } + +} + +void on_input_option_switch(GtkCellRenderer *,char *path, main_window *widgets){ + GtkTreeIter iter; + GtkTreeModel *model = GTK_TREE_MODEL(widgets->InputTerminalList); + + if (gtk_tree_model_get_iter_from_string(model,&iter,path)){ + int status; + char *parameter; + + gtk_tree_model_get(model,&iter,0,&status,1,¶meter,-1); + gtk_list_store_set(widgets->InputTerminalList,&iter,0,!status,-1); + + char *config_param = config(GRUB_TERMINAL_INPUT_parameter); + if (!yon_char_is_empty(config_param)){ + int size; + config_str parsed = yon_char_parse(config_param,&size," "); + switch (status){ + case 0:{ + int pos = yon_char_parsed_check_exist(parsed,size,parameter); + if (pos == -1){ + yon_char_parsed_add_or_create_if_exists(parsed,&size,parameter); + char *final = yon_char_parsed_to_string(parsed,size," "); + yon_config_register(GRUB_TERMINAL_INPUT_parameter,GRUB_TERMINAL_INPUT_command,final); + gtk_entry_set_text(GTK_ENTRY(widgets->InputTerminalEntry),final); + free(final); + } + }break; + case 1:{ + int pos = yon_char_parsed_check_exist(parsed,size,parameter); + if (pos>-1){ + if (size>1){ + parsed = yon_char_parsed_rip(parsed,&size,pos); + char *final = yon_char_parsed_to_string(parsed,size," "); + yon_config_register(GRUB_TERMINAL_INPUT_parameter,GRUB_TERMINAL_INPUT_command,final); + gtk_entry_set_text(GTK_ENTRY(widgets->InputTerminalEntry),final); + free(final); + } else { + gtk_entry_set_text(GTK_ENTRY(widgets->InputTerminalEntry),""); + yon_config_remove_by_key(GRUB_TERMINAL_INPUT_parameter); + } + } + } break; + } + + } else if (status==0) { + yon_config_register(GRUB_TERMINAL_INPUT_parameter,GRUB_TERMINAL_INPUT_command,parameter); + gtk_entry_set_text(GTK_ENTRY(widgets->InputTerminalEntry),parameter); + } + } + +} + +void on_output_option_switch(GtkCellRenderer *,char *path, main_window *widgets){ + GtkTreeIter iter; + GtkTreeModel *model = GTK_TREE_MODEL(widgets->OutputTerminalList); + + if (gtk_tree_model_get_iter_from_string(model,&iter,path)){ + int status; + char *parameter; + + gtk_tree_model_get(model,&iter,0,&status,1,¶meter,-1); + gtk_list_store_set(widgets->OutputTerminalList,&iter,0,!status,-1); + + char *config_param = config(GRUB_TERMINAL_OUTPUT_parameter); + if (!yon_char_is_empty(config_param)){ + int size; + config_str parsed = yon_char_parse(config_param,&size," "); + switch (status){ + case 0:{ + int pos = yon_char_parsed_check_exist(parsed,size,parameter); + if (pos == -1){ + yon_char_parsed_add_or_create_if_exists(parsed,&size,parameter); + char *final = yon_char_parsed_to_string(parsed,size," "); + yon_config_register(GRUB_TERMINAL_OUTPUT_parameter,GRUB_TERMINAL_OUTPUT_command,final); + gtk_entry_set_text(GTK_ENTRY(widgets->OutputTerminalEntry),final); + free(final); + } + }break; + case 1:{ + int pos = yon_char_parsed_check_exist(parsed,size,parameter); + if (pos>-1){ + if (size>1){ + parsed = yon_char_parsed_rip(parsed,&size,pos); + char *final = yon_char_parsed_to_string(parsed,size," "); + yon_config_register(GRUB_TERMINAL_OUTPUT_parameter,GRUB_TERMINAL_OUTPUT_command,final); + gtk_entry_set_text(GTK_ENTRY(widgets->OutputTerminalEntry),final); + free(final); + } else { + gtk_entry_set_text(GTK_ENTRY(widgets->OutputTerminalEntry),""); + yon_config_remove_by_key(GRUB_TERMINAL_OUTPUT_parameter); + } + } + } break; + } + + } else if (status==0) { + yon_config_register(GRUB_TERMINAL_OUTPUT_parameter,GRUB_TERMINAL_OUTPUT_command,parameter); + gtk_entry_set_text(GTK_ENTRY(widgets->OutputTerminalEntry),parameter); + } + } } // standard functions @@ -84,6 +384,23 @@ void config_init(){ main_config.lock_save_global=0; main_config.lock_save_local=0; main_config.load_mode=1; + main_config.password_min_length=yon_password_get_min_len(); + main_config.kernel_parameters = yon_resource_open_file(kernel_options_path,&main_config.kernel_size); + main_config.input_parameters = yon_resource_open_file(terminal_input_path,&main_config.input_size); + main_config.output_parameters = yon_resource_open_file(terminal_output_path,&main_config.output_size); +} + +void on_parameter_changed(GtkWidget *self,main_window *widgets){ + if (self == widgets->BootSelectionTimerSpin){ + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->BootSelectionTimerCheck))){ + glong val = gtk_spin_button_get_value(GTK_SPIN_BUTTON(widgets->BootSelectionTimerSpin)); + if (val){ + yon_config_register(GRUB_TIMEOUT_parameter,GRUB_TIMEOUT_command,yon_char_from_long(val)); + return; + } + } + yon_config_remove_by_key(GRUB_TIMEOUT_parameter); + } //else } /**yon_main_window_complete(main_window *widgets) @@ -98,49 +415,72 @@ void yon_main_window_complete(main_window *widgets){ gtk_box_pack_start(GTK_BOX(widgets->InterfaceBox),yon_gtk_builder_get_widget(builder,"BoxMain"),1,1,0); // Custom widgets configuration { + widgets->BootDisplayMode = yon_gtk_builder_get_widget(builder,"BootDisplayMode"); widgets->BootRingtoneAddButton = yon_gtk_builder_get_widget(builder,"BootRingtoneAddButton"); widgets->BootRingtoneEditButton = yon_gtk_builder_get_widget(builder,"BootRingtoneEditButton"); widgets->BootRingtoneRemoveButton = yon_gtk_builder_get_widget(builder,"BootRingtoneRemoveButton"); widgets->BootRingtoneTree = yon_gtk_builder_get_widget(builder,"BootRingtoneTree"); + widgets->BootSelectionTimerCheck = yon_gtk_builder_get_widget(builder,"BootSelectionTimerCheck"); + widgets->BootSelectionTimerSpin = yon_gtk_builder_get_widget(builder,"BootSelectionTimerSpin"); widgets->BootUsersAddButton = yon_gtk_builder_get_widget(builder,"BootUsersAddButton"); widgets->BootUsersEditButton = yon_gtk_builder_get_widget(builder,"BootUsersEditButton"); widgets->BootUsersRemoveButton = yon_gtk_builder_get_widget(builder,"BootUsersRemoveButton"); widgets->BootUsersTree = yon_gtk_builder_get_widget(builder,"BootUsersTree"); - widgets->BoxMain = yon_gtk_builder_get_widget(builder,"BoxMain"); - widgets->boxWidgetAll = yon_gtk_builder_get_widget(builder,"boxWidgetAll"); - widgets->btnAbout = yon_gtk_builder_get_widget(builder,"btnAbout"); - widgets->btnHelp = yon_gtk_builder_get_widget(builder,"btnHelp"); - widgets->btnLoadGlob = yon_gtk_builder_get_widget(builder,"btnLoadGlob"); - widgets->btnLoadLocal = yon_gtk_builder_get_widget(builder,"btnLoadLocal"); - widgets->btnOpenMenuOS1 = yon_gtk_builder_get_widget(builder,"btnOpenMenuOS1"); - widgets->btnSaveGlob = yon_gtk_builder_get_widget(builder,"btnSaveGlob"); - widgets->btnSaveLocal = yon_gtk_builder_get_widget(builder,"btnSaveLocal"); - widgets->btnSaveLocalGlob = yon_gtk_builder_get_widget(builder,"btnSaveLocalGlob"); - widgets->chbLoadVariantSelectionTimer = yon_gtk_builder_get_widget(builder,"chbLoadVariantSelectionTimer"); - widgets->cmbDownloadMode = yon_gtk_builder_get_widget(builder,"cmbDownloadMode"); widgets->CommandLineParametersEntry = yon_gtk_builder_get_widget(builder,"CommandLineParametersEntry"); - widgets->entrListOS = yon_gtk_builder_get_widget(builder,"entrListOS"); widgets->InputTerminalEntry = yon_gtk_builder_get_widget(builder,"InputTerminalEntry"); widgets->InputTerminalTree = yon_gtk_builder_get_widget(builder,"InputTerminalTree"); widgets->KernelParametersTree = yon_gtk_builder_get_widget(builder,"KernelParametersTree"); - widgets->lblInfoDefaultDonw = yon_gtk_builder_get_widget(builder,"lblInfoDefaultDonw"); - widgets->lblInfoSeconds = yon_gtk_builder_get_widget(builder,"lblInfoSeconds"); - widgets->list_os = yon_gtk_builder_get_widget(builder,"list_os"); - widgets->menu = yon_gtk_builder_get_widget(builder,"menu"); - widgets->menu1 = yon_gtk_builder_get_widget(builder,"menu1"); - widgets->menu2 = yon_gtk_builder_get_widget(builder,"menu2"); + widgets->MenuButton = yon_gtk_builder_get_widget(builder,"MenuButton"); + widgets->MenuOverlay = yon_gtk_builder_get_widget(builder,"MenuOverlay"); + widgets->OSDefaultEntry = yon_gtk_builder_get_widget(builder,"OSDefaultEntry"); widgets->OutputTerminalEntry = yon_gtk_builder_get_widget(builder,"OutputTerminalEntry"); widgets->OutputTerminalTree = yon_gtk_builder_get_widget(builder,"OutputTerminalTree"); - widgets->overMenuOS = yon_gtk_builder_get_widget(builder,"overMenuOS"); - widgets->spbSecond = yon_gtk_builder_get_widget(builder,"spbSecond"); + widgets->KernelChooseCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"KernelChooseCell")); + widgets->InputChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"InputChosenCell")); + widgets->OutputChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"OutputChosenCell")); + widgets->BootUsersList = GTK_LIST_STORE(gtk_builder_get_object(builder,"BootUsersList")); + widgets->BootRingtoneList = GTK_LIST_STORE(gtk_builder_get_object(builder,"BootRingtoneList")); + widgets->KernelParametersList = GTK_LIST_STORE(gtk_builder_get_object(builder,"KernelParametersList")); + widgets->InputTerminalList = GTK_LIST_STORE(gtk_builder_get_object(builder,"InputTerminalList")); + widgets->OutputTerminalList = GTK_LIST_STORE(gtk_builder_get_object(builder,"OutputTerminalList")); } + + g_signal_connect(G_OBJECT(widgets->BootUsersAddButton),"clicked",G_CALLBACK(on_user_add_clicked),widgets); + g_signal_connect(G_OBJECT(widgets->BootUsersEditButton),"clicked",G_CALLBACK(on_user_edit_clicked),widgets); + g_signal_connect(G_OBJECT(widgets->BootUsersRemoveButton),"clicked",G_CALLBACK(on_user_remove_clicked),widgets); + g_signal_connect(G_OBJECT(widgets->BootRingtoneAddButton),"clicked",G_CALLBACK(on_ringtone_add_clicked),widgets); + g_signal_connect(G_OBJECT(widgets->BootRingtoneEditButton),"clicked",G_CALLBACK(on_ringtone_edit_clicked),widgets); + g_signal_connect(G_OBJECT(widgets->BootRingtoneRemoveButton),"clicked",G_CALLBACK(on_ringtone_remove_clicked),widgets); + + g_signal_connect(G_OBJECT(widgets->KernelChooseCell),"toggled",G_CALLBACK(on_kernel_parameter_switch),widgets); + g_signal_connect(G_OBJECT(widgets->InputChosenCell),"toggled",G_CALLBACK(on_input_option_switch),widgets); + g_signal_connect(G_OBJECT(widgets->OutputChosenCell),"toggled",G_CALLBACK(on_output_option_switch),widgets); + + g_signal_connect(G_OBJECT(widgets->BootSelectionTimerCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->BootSelectionTimerSpin); + g_signal_connect(G_OBJECT(widgets->BootSelectionTimerSpin),"changed",G_CALLBACK(on_parameter_changed),widgets); + g_signal_connect(G_OBJECT(widgets->BootDisplayMode),"changed",G_CALLBACK(on_parameter_changed),widgets); + g_signal_connect(G_OBJECT(widgets->CommandLineParametersEntry),"changed",G_CALLBACK(on_parameter_changed),widgets); + g_signal_connect(G_OBJECT(widgets->InputTerminalEntry),"changed",G_CALLBACK(on_parameter_changed),widgets); + g_signal_connect(G_OBJECT(widgets->OutputTerminalEntry),"changed",G_CALLBACK(on_parameter_changed),widgets); + + g_signal_connect(G_OBJECT(widgets->LoadLocalMenuItem),"activate",G_CALLBACK(on_config_local_load),widgets); + g_signal_connect(G_OBJECT(widgets->LoadGlobalMenuItem),"activate",G_CALLBACK(on_config_global_load),widgets); + g_signal_connect(G_OBJECT(widgets->LoadCustomMenuItem),"activate",G_CALLBACK(on_config_custom_load),widgets); + + g_signal_connect(G_OBJECT(widgets->SaveMenuItem),"activate",G_CALLBACK(on_config_global_local_save),NULL); + g_signal_connect(G_OBJECT(widgets->SaveLocalMenuItem),"activate",G_CALLBACK(on_config_local_save),NULL); + g_signal_connect(G_OBJECT(widgets->SaveGlobalMenuItem),"activate",G_CALLBACK(on_config_global_save),NULL); + g_signal_connect(G_OBJECT(widgets->SaveCustomMenuItem),"activate",G_CALLBACK(on_config_custom_save),NULL); + yon_root_button_setup((template_main_window*)widgets,main_config.launch_arguments,main_config.launch_size); yon_save_window_set_postsave_function(on_save_done,widgets); + yon_load_proceed(YON_CONFIG_LOCAL); + yon_interface_update(widgets); } int main(int argc, char *argv[]){ - local=setlocale(LC_ALL, ""); + setlocale(LC_ALL, ""); textdomain (LocaleName); config_init(); diff --git a/source/ubl-settings-bootloader.h b/source/ubl-settings-bootloader.h index 15f3b4e..876b436 100644 --- a/source/ubl-settings-bootloader.h +++ b/source/ubl-settings-bootloader.h @@ -20,85 +20,176 @@ #define _(String) gettext(String) #define glade_path "/com/ublinux/ui/ubl-settings-bootloader.glade" +#define glade_path_password "/com/ublinux/ui/ubl-settings-bootloader-password.glade" +#define glade_path_user "/com/ublinux/ui/ubl-settings-bootloader-user.glade" +#define glade_path_ringtone "/com/ublinux/ui/ubl-settings-bootloader-ringtone.glade" #define banner_path "/com/ublinux/images/ubl-settings-bootloader-banner.png" #define CssPath "/com/ublinux/css/ubl-settings-bootloader.css" #define config_path yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL) #define icon_path "com.ublinux.ubl-settings-bootloader" +#define kernel_options_path "resource:///com/ublinux/csv/grub-parameters.csv" +#define terminal_input_path "resource:///com/ublinux/csv/grub-terminal-input.csv" +#define terminal_output_path "resource:///com/ublinux/csv/grub-terminal-output.csv" #define LocaleName "ubl-settings-bootloader" -#define yon_config_get_custom_command(target) yon_char_unite("ubconfig --source ",target," get system PARAMETERS",NULL) -#define config_get_local_command "ubconfig --source system get system PARAMETERS" -#define config_get_global_command "ubconfig --source global get system PARAMETERS" +#define check_is_password_hash(password) system(yon_char_unite("/lib/ublinux/functions is_hash_password '", password,"'",NULL)) + +#define yon_config_get_custom_command(target) yon_char_unite("ubconfig --source ",target," get boot GRUB_SUPERUSERS GRUB_TIMEOUT GRUB_DEFAULT GRUB_BOOT_SILENT GRUB_PASSWORD[*] GRUB_CMDLINE_LINUX GRUB_TERMINAL_INPUT GRUB_TERMINAL_OUTPUT GRUB_PLAY",NULL) +#define config_get_local_command "ubconfig --source system get boot GRUB_SUPERUSERS GRUB_TIMEOUT GRUB_DEFAULT GRUB_BOOT_SILENT GRUB_PASSWORD[*] GRUB_CMDLINE_LINUX GRUB_TERMINAL_INPUT GRUB_TERMINAL_OUTPUT GRUB_PLAY" +#define config_get_global_command "ubconfig --source global get boot GRUB_SUPERUSERS GRUB_TIMEOUT GRUB_DEFAULT GRUB_BOOT_SILENT GRUB_PASSWORD[*] GRUB_CMDLINE_LINUX GRUB_TERMINAL_INPUT GRUB_TERMINAL_OUTPUT GRUB_PLAY" #define config_get_default_command "" -#define config_get_global_only_parameters "" +#define config_get_global_only_parameters "ubconfig --source global get boot GRUB_USER" #define config_get_local_only_parameters "" +#define GRUB_TIMEOUT_parameter "GRUB_TIMEOUT" +#define GRUB_TIMEOUT_command "ubconfig --source system get boot GRUB_TIMEOUT" + +#define GRUB_DEFAULT_parameter "GRUB_DEFAULT" +#define GRUB_DEFAULT_command "ubconfig --source system get boot GRUB_DEFAULT" + +#define GRUB_BOOT_SILENT_parameter "GRUB_BOOT_SILENT" +#define GRUB_BOOT_SILENT_command "ubconfig --source system get boot GRUB_BOOT_SILENT" + +#define GRUB_PASSWORD_parameter "GRUB_PASSWORD" +#define GRUB_PASSWORD_search "GRUB_PASSWORD[" +#define GRUB_PASSWORD(target) yon_char_unite("GRUB_PASSWORD[",target,"]",NULL) +#define GRUB_PASSWORD_command "ubconfig --source system get boot GRUB_PASSWORD[*]" + +#define GRUB_CMDLINE_LINUX_parameter "GRUB_CMDLINE_LINUX" +#define GRUB_CMDLINE_LINUX_command "ubconfig --source system get boot GRUB_CMDLINE_LINUX" + +#define GRUB_TERMINAL_INPUT_parameter "GRUB_TERMINAL_INPUT" +#define GRUB_TERMINAL_INPUT_command "ubconfig --source system get boot GRUB_TERMINAL_INPUT" + +#define GRUB_TERMINAL_OUTPUT_parameter "GRUB_TERMINAL_OUTPUT" +#define GRUB_TERMINAL_OUTPUT_command "ubconfig --source system get boot GRUB_TERMINAL_OUTPUT" + +#define GRUB_USER_parameter "GRUB_USER" +#define GRUB_USER_command "ubconfig --source system get boot GRUB_USER" + +#define GRUB_SUPERUSERS_parameter "GRUB_SUPERUSERS" +#define GRUB_SUPERUSERS_command "ubconfig --source system get boot GRUB_SUPERUSERS" + +#define GRUB_PLAY_parameter "GRUB_PLAY" +#define GRUB_PLAY_command "ubconfig --source system get boot GRUB_PLAY" + typedef char* string; -string version_application; -char *local; +__attribute__((unused)) static \ +string version_application; typedef struct { template_config_fields int save_config; config_str launch_arguments; int launch_size; + int password_min_length; + + int kernel_size; + config_str kernel_parameters; + + int input_size; + config_str input_parameters; + + int output_size; + config_str output_parameters; + } config; +extern config main_config; typedef struct { template_window_fields + GtkWidget *BootDisplayMode; GtkWidget *BootRingtoneAddButton; GtkWidget *BootRingtoneEditButton; GtkWidget *BootRingtoneRemoveButton; GtkWidget *BootRingtoneTree; + GtkWidget *BootSelectionTimerCheck; + GtkWidget *BootSelectionTimerSpin; GtkWidget *BootUsersAddButton; GtkWidget *BootUsersEditButton; GtkWidget *BootUsersRemoveButton; GtkWidget *BootUsersTree; - GtkWidget *BoxMain; - GtkWidget *boxWidgetAll; - GtkWidget *btnAbout; - GtkWidget *btnHelp; - GtkWidget *btnLoadGlob; - GtkWidget *btnLoadLocal; - GtkWidget *btnOpenMenuOS1; - GtkWidget *btnSaveGlob; - GtkWidget *btnSaveLocal; - GtkWidget *btnSaveLocalGlob; - GtkWidget *chbLoadVariantSelectionTimer; - GtkWidget *cmbDownloadMode; GtkWidget *CommandLineParametersEntry; - GtkWidget *entrListOS; GtkWidget *InputTerminalEntry; GtkWidget *InputTerminalTree; GtkWidget *KernelParametersTree; - GtkWidget *lblInfoDefaultDonw; - GtkWidget *lblInfoSeconds; - GtkWidget *list_os; - GtkWidget *menu; - GtkWidget *menu1; - GtkWidget *menu2; + GtkWidget *MenuButton; + GtkWidget *MenuOverlay; + GtkWidget *OSDefaultEntry; GtkWidget *OutputTerminalEntry; GtkWidget *OutputTerminalTree; - GtkWidget *overMenuOS; - GtkWidget *spbSecond; + + GtkCellRenderer *KernelChooseCell; + GtkCellRenderer *OutputChosenCell; + GtkCellRenderer *InputChosenCell; + + GtkListStore *BootUsersList; + GtkListStore *BootRingtoneList; + GtkListStore *KernelParametersList; + GtkListStore *InputTerminalList; + GtkListStore *OutputTerminalList; } main_window; +typedef struct { + GtkWidget *Window; + GtkWidget *StatusBox; + GtkWidget *TitleLabel; + + GtkWidget *UserCancelButton; + GtkWidget *UserOkButton; + GtkWidget *PasswordEntry; + GtkWidget *RepeatPasswordEntry; + GtkWidget *PasswordHashEntry; + GtkWidget *HashBox; + GtkWidget *PasswordBox; + GtkWidget *NoEncriptionCheck; +} yon_password_window; + +typedef struct { + GtkWidget *Window; + GtkWidget *StatusBox; + GtkWidget *TitleLabel; + + GtkWidget *AdminCheck; + GtkWidget *UsernameEntry; + GtkWidget *PasswordEntry; + GtkWidget *PasswordButton; + + GtkWidget *CancelButton; + GtkWidget *AcceptButton; + + char *prev_name; +} yon_user_window; typedef struct { - GtkWidget *Window; - GtkWidget *HeaderLabel; + GtkWidget *Window; + GtkWidget *StatusBox; + GtkWidget *TitleLabel; - GtkWidget *AlwaysOpenCheck; + GtkWidget *ChooseCheck; + GtkWidget *NameEntry; + GtkWidget *CodeEntry; - GtkWidget *CloseButton; - GtkWidget *AcceptButton; -} documentation_confirmation_window; + GtkWidget *CancelButton; + GtkWidget *AcceptButton; + char *prev_name; +} yon_ringtone_window; + + +//main void on_save_done(main_window *, config_str output, int size); +void on_config_global_local_save(GtkWidget *, main_window *); +void on_config_local_save(GtkWidget *, main_window *); +void on_config_global_save(GtkWidget *, main_window *); +void on_config_custom_save(GtkWidget *, main_window *); +void on_config_local_load(GtkWidget *,main_window *); +void on_config_global_load(GtkWidget *,main_window *); +void on_config_custom_load(GtkWidget *,main_window *); void yon_load_proceed(YON_CONFIG_TYPE type); @@ -106,6 +197,32 @@ void yon_interface_update(main_window *); void on_save_done(main_window *widgets, config_str output, int size); +void on_kernel_parameter_switch(GtkCellRenderer *, char *path, main_window *widgets); +void on_input_option_switch(GtkCellRenderer *,char *path, main_window *widgets); +void on_output_option_switch(GtkCellRenderer *,char *path, main_window *widgets); + void config_init(); -void yon_main_window_complete(main_window *widgets); \ No newline at end of file +void on_parameter_changed(GtkWidget *self,main_window *widgets); + +void yon_main_window_complete(main_window *widgets); + +//password +void yon_password_change(GtkWidget *, GtkEntry *entry); +void on_password_accept(GtkWidget *self, dictionary *dict); +yon_password_window *yon_ubl_settings_usergroups_password_new(); +int yon_check_password_blocked(char *password); + +//user +void on_user_accept(GtkWidget *,dictionary *dict); +void on_user_add_clicked(GtkWidget *,main_window *widgets); +void on_user_edit_clicked(GtkWidget *,main_window *widgets); +void on_user_remove_clicked(GtkWidget *,main_window *widgets); +yon_user_window *yon_user_window_new(); + +//ringtone +void on_ringtone_accept(GtkWidget *,dictionary *dict); +void on_ringtone_add_clicked(GtkWidget *,main_window *widgets); +void on_ringtone_edit_clicked(GtkWidget *,main_window *widgets); +void on_ringtone_remove_clicked(GtkWidget *,main_window *widgets); +yon_ringtone_window *yon_ringtone_window_new(); \ No newline at end of file diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 7a70169..1a39bcd 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -1,3 +1,57 @@ -#define TITLE_LABEL _("ubl-settings-bootloader") -#define TITLE_INFO_LABEL _("TEMPLATE configuration") +#define TITLE_LABEL _("System boot") +#define TITLE_INFO_LABEL _("Configuring system boot parameters") + +#define BOOT_MENU_LABEL _("Boot menu") +#define BOOT_SELECTION_LABEL _("Boot selection menu timer:") +#define SECONDS_LABEL _("seconds") +#define DEFAULT_OS_LABEL _("Default OS:") +#define LOAD_DISPLAY_MODE_LABEL _("Load screen display mode:") +#define BOOT_USERS_LABEL _("Boot Menu Users") +#define STARTUP_RINGTONE_LABEL _("Startup ringtone") +#define KERNEL_PARAMETERS_LABEL _("Parameters passed to the kernel") +#define CMD_PARAMETERS_LABEL _("Command line parameters:") +#define INPUT_TERMINAL_LABEL _("Input terminal") +#define OUTPUT_TERMINAL_LABEL _("Output terminal") + +#define ADMINISTRRATOR_LABEL _("Administrator") +#define NAME_LABEL _("Name") +#define USER_LABEL _("User") +#define PASSWORD_LABEL _("Password") +#define MELODY_CODE_LABEL _("Melody code") +#define OPTION_LABEL _("Option") +#define DESCRIPTION_LABEL _("Description") + +#define ADD_LABEL _("Add") +#define EDIT_LABEL _("Edit") +#define REMOVE_LABEL _("Remove") + +#define ACCEPT_LABEL _("Accept") +#define CANCE_LABEL _("Cancel") + +#define PASSWORD_TITLE_LABEL _("Password input") + #define PASSWORD_REPEAT_LABEL _("Repeat password:") + #define PASSWORD_HASH_LABEL _("Password hash:") + #define PASSWORD_NO_ENCRYPT_LABEL _("Do not encrypt password") + #define RESTRICTED_SYMBOLS_LABEL _("Password contain special symbols") + #define EMPTY_IMPORTANT_LABEL _("Empty important field") + #define PASSWORD_MISMATCH_LABEL _("Password mismatch") + #define PASSWORD_TEXT_LABEL _("Password:") + #define PASSWORD_REPEAT_LABEL _("Repeat password:") + #define PASSWORD_DO_NOT_ENCRYPT_LABEL _("Do not encrypt password") + #define PASSWORD_HASH_LABEL _("Password hash:") + #define PASSWORD_SHORT_LABEL(min_size_char) yon_char_unite(_("Password must be at least")," ", min_size_char," ",_("characters")) + +#define USER_ADD_TITLE_LABEL _("Add user") +#define USER_EDIT_TITLE_LABEL(target) yon_char_unite(_("Edit user")," - ", target,NULL) + #define ADMINISTRATOR_LABEL _("Administrator") + #define USER_NAME_LABEL _("User name:") + #define USER_PASSWORD_LABEL _("User password:") + #define USER_REMOVE_CONFIRM_LABEL(target) yon_char_unite(_("Are you sure you want to remove user")," ",target," ",_("from boot menu users"),"?",NULL) + +#define RINGTONE_ADD_TITLE_LABEL _("Add ringtone") +#define RINGTONE_EDIT_TITLE_LABEL(target) yon_char_unite(_("Edit ringtone")," - ", target,NULL) + #define CHOSEN_LABEL _("Chosen") + #define NAME_TEXT_LABEL _("Name:") + #define MELODY_CODE_TEXT_LABEL _("Melody code:") + #define RINGTONE_REMOVE_CONFIRM_LABEL(target) yon_char_unite(_("Are you sure you want to remove ringtone")," ",target,"?",NULL) \ No newline at end of file diff --git a/ubl-settings-bootloader-password.glade b/ubl-settings-bootloader-password.glade new file mode 100644 index 0000000..41fe015 --- /dev/null +++ b/ubl-settings-bootloader-password.glade @@ -0,0 +1,290 @@ + + + + + + + True + False + com.ublinux.ubl-settings-usergroups.cancel-symbolic + + + True + False + com.ublinux.ubl-settings-usergroups.accept-symbolic + + + 450 + 250 + False + False + True + 450 + com.ublinux.ubl-settings-usergroups + + + True + False + 5 + vertical + 5 + + + True + False + vertical + + + + + + False + True + 0 + + + + + True + False + 5 + 5 + vertical + 5 + + + True + False + vertical + 5 + + + True + False + 5 + + + True + False + Password: + 0 + + + False + True + 0 + + + + + True + True + False + * + True + com.ublinux.ubl-settings-usergroups.view-symbolic + ******** + password + + + True + True + 1 + + + + + True + True + 1 + + + + + True + False + 5 + + + True + False + Repeat password: + 0 + + + False + True + 0 + + + + + True + True + False + * + True + com.ublinux.ubl-settings-usergroups.view-symbolic + ******** + password + + + True + True + 1 + + + + + True + True + 2 + + + + + False + True + 1 + + + + + True + False + vertical + 5 + + + True + False + + + False + True + 0 + + + + + Do not encrypt password + True + True + False + True + + + False + True + 1 + + + + + True + False + 5 + + + True + False + Password hash: + 0 + + + False + True + 0 + + + + + True + True + False + * + com.ublinux.ubl-settings-usergroups.view-symbolic + + + True + True + 1 + + + + + True + True + 2 + + + + + False + True + 3 + + + + + False + True + 2 + + + + + + + True + False + + + True + False + Password input + + + + + + + + Cancel + True + True + True + image4 + + + + + + Accept + True + True + True + image5 + + + + end + 1 + + + + + + + + + + + + diff --git a/ubl-settings-bootloader-ringtone.glade b/ubl-settings-bootloader-ringtone.glade new file mode 100644 index 0000000..49d1026 --- /dev/null +++ b/ubl-settings-bootloader-ringtone.glade @@ -0,0 +1,203 @@ + + + + + + + 450 + 250 + False + False + True + 450 + com.ublinux.ubl-settings-usergroups + + + True + False + 5 + vertical + 5 + + + True + False + vertical + + + + + + False + True + 0 + + + + + True + False + 5 + 5 + vertical + 5 + + + Chosen + True + True + False + True + + + False + True + 0 + + + + + True + False + 5 + + + True + False + Name: + 0 + + + False + True + 0 + + + + + True + True + + + True + True + 1 + + + + + False + True + 1 + + + + + True + False + 5 + + + True + False + Melody code: + 0 + + + False + True + 0 + + + + + True + True + * + + + True + True + 1 + + + + + False + True + 2 + + + + + False + True + 1 + + + + + + + True + False + + + True + False + Add ringtone + + + + + + + + Cancel + True + True + True + image4 + + + + + + Accept + True + True + True + image5 + + + + end + 1 + + + + + + + + + + + + + True + False + com.ublinux.ubl-settings-usergroups.cancel-symbolic + + + True + False + com.ublinux.ubl-settings-usergroups.accept-symbolic + + diff --git a/ubl-settings-bootloader-user.glade b/ubl-settings-bootloader-user.glade new file mode 100644 index 0000000..f2f8dd7 --- /dev/null +++ b/ubl-settings-bootloader-user.glade @@ -0,0 +1,222 @@ + + + + + + + True + False + document-edit-symbolic + + + True + False + com.ublinux.ubl-settings-usergroups.cancel-symbolic + + + True + False + com.ublinux.ubl-settings-usergroups.accept-symbolic + + + 450 + 250 + False + False + True + 450 + com.ublinux.ubl-settings-usergroups + + + True + False + 5 + vertical + 5 + + + True + False + vertical + + + + + + False + True + 0 + + + + + True + False + 5 + 5 + vertical + 5 + + + Administrator + True + True + False + True + + + False + True + 0 + + + + + True + False + 5 + + + True + False + User name: + 0 + + + False + True + 0 + + + + + True + True + + + True + True + 1 + + + + + False + True + 1 + + + + + True + False + 5 + + + True + False + User password: + 0 + + + False + True + 0 + + + + + True + False + False + * + + + True + True + 1 + + + + + True + True + True + image1 + + + False + True + 2 + + + + + False + True + 2 + + + + + False + True + 1 + + + + + + + True + False + + + True + False + Add user + + + + + + + + Cancel + True + True + True + image4 + + + + + + Accept + True + True + True + image5 + + + + end + 1 + + + + + + + + + + + + diff --git a/ubl-settings-bootloader.glade b/ubl-settings-bootloader.glade index 4be8712..618cbcd 100644 --- a/ubl-settings-bootloader.glade +++ b/ubl-settings-bootloader.glade @@ -1,8 +1,68 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 60 + 1 + 10 + + + True + False + com.ublinux.libublsettingsui-gtk3.increase-symbolic + True False @@ -25,7 +85,7 @@ False vertical - + True False vertical @@ -44,7 +104,7 @@ 5 5 - + True False @@ -60,7 +120,7 @@ False 5 - + Boot selection menu timer: True True @@ -77,9 +137,11 @@ - + True + False True + adjustment1 False @@ -88,10 +150,10 @@ - + True False - Seconds + seconds False @@ -112,7 +174,7 @@ False 5 - + True False start @@ -127,7 +189,7 @@ - + True True @@ -138,7 +200,7 @@ - + True True True @@ -146,7 +208,7 @@ True False - image-loading-symbolic + com.ublinux.libublsettingsui-gtk3.settings-symbolic @@ -184,7 +246,7 @@ - + True False @@ -234,6 +296,43 @@ True True + BootUsersList + + + + + + Administrator + + + + 0 + + + + + + + User + + + + 1 + + + + + + + Password + + + + 2 + + + + @@ -264,16 +363,8 @@ True True True - - - True - False - value-increase-symbolic - - - + Add + image1 @@ -289,6 +380,7 @@ True True True + Edit True @@ -314,6 +406,7 @@ True True True + Remove True @@ -389,6 +482,45 @@ True True + BootRingtoneList + + + + + + Chosen + + + True + + + 0 + + + + + + + Name + + + + 1 + + + + + + + Melody code + + + + 2 + + + + @@ -412,13 +544,8 @@ True True True - - - True - False - value-increase-symbolic - - + Add + image2 @@ -434,6 +561,7 @@ True True True + Edit True @@ -456,6 +584,7 @@ True True True + Remove True @@ -544,7 +673,7 @@ 5 - 141 + 145 True True in @@ -552,6 +681,42 @@ True True + KernelParametersList + + + + + + + + + 0 + + + + + + + Option + + + + 1 + + + + + + + Description + + + + 2 + + + + @@ -644,8 +809,45 @@ in + 145 True True + InputTerminalList + + + + + + + + + 0 + + + + + + + Option + + + + 1 + + + + + + + Description + + + + 2 + + + + @@ -742,8 +944,45 @@ in + 145 True True + OutputTerminalList + + + + + + + + + 0 + + + + + + + Option + + + + 1 + + + + + + + Description + + + + 2 + + + + @@ -832,99 +1071,9 @@ - - True - False - - - True - False - False - False - 4 - - - True - False - Load global configuration - - - - - - True - False - Load local configuration - - - - - - True - False - False - False - 4 - - - True - False - Help - - - - - - True - False - About - - - - - + True False - False - False - 4 - - - True - False - Save to global and local configuration - - - - - - True - False - Save global configuration - - - - - - True - False - Save local configuration - - - + com.ublinux.libublsettingsui-gtk3.increase-symbolic diff --git a/ubl-settings-bootloader.pot b/ubl-settings-bootloader.pot index e46f96d..01adb02 100644 --- a/ubl-settings-bootloader.pot +++ b/ubl-settings-bootloader.pot @@ -17,695 +17,190 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -msgid "Edit" -msgstr "" - -msgid "Adding" -msgstr "" - -msgid "Selecting the loading mode option" -msgstr "" - -msgid "Add user" -msgstr "" - -msgid "Delete user" -msgstr "" - -msgid "Add melody" -msgstr "" - -msgid "No loading animation, full log" -msgstr "" - -msgid "Lack of loading animation with the output of the abbreviated log" +#: source/ubl-strings.h:2 +msgid "System boot" msgstr "" -msgid "Delete melody" -msgstr "Удалить мелодию" - -msgid "Melody added" +#: source/ubl-strings.h:3 +msgid "Configuring system boot parameters" msgstr "" -msgid "User added" +#: source/ubl-strings.h:5 +msgid "Boot menu" msgstr "" -msgid "Melody deleted" +#: source/ubl-strings.h:6 +msgid "Boot selection menu timer:" msgstr "" -msgid "User deleted" +#: source/ubl-strings.h:7 +msgid "seconds" msgstr "" -msgid "Enter the name and code of the tune in the \"Ringtone at startup\" field" +#: source/ubl-strings.h:8 +msgid "Default OS:" msgstr "" -msgid "Enter name and password in the \"Boot Menu Users\" field" +#: source/ubl-strings.h:9 +msgid "Load screen display mode:" msgstr "" +#: source/ubl-strings.h:10 msgid "Boot Menu Users" msgstr "" -msgid "Title" -msgstr "" - -msgid "" -msgstr "" - -msgid "Password" -msgstr "" - -msgid "Administrator" -msgstr "" - -msgid "Select" -msgstr "" - -msgid "Melody code" +#: source/ubl-strings.h:11 +msgid "Startup ringtone" msgstr "" -msgid "Ringtone at startup" -msgstr "" - -#: source/ubl-settings-bootloader.h:53 source/ubl-settings-bootloader.h:52 -#: source/ubl-settings-bootloader.cc:431 source/ubl-settings-bootloader.cc:301 -msgid "About" -msgstr "" - -#: source/ubl-settings-bootloader.h:44 source/ubl-settings-bootloader.h:43 -msgid "About System boot" -msgstr "" - -#: source/ubl-settings-bootloader.h:92 source/ubl-settings-bootloader.h:91 -#: source/ubl-settings-bootloader.cc:337 source/ubl-settings-bootloader.cc:199 -msgid "Active" -msgstr "" - -#: source/ubl-settings-bootloader.h:63 source/ubl-settings-bootloader.h:62 -msgid "Always redirect" -msgstr "" - -#: source/ubl-settings-bootloader.h:96 source/ubl-settings-bootloader.h:95 -msgid "Argument not recognized\n" -msgstr "" - -#: source/ubl-settings-bootloader.h:66 source/ubl-settings-bootloader.h:65 -msgid "Boot menu user name:" -msgstr "" - -#: source/ubl-settings-bootloader.h:67 source/ubl-settings-bootloader.h:66 -msgid "Boot menu user password:" -msgstr "" - -#: source/ubl-settings-bootloader.h:64 source/ubl-settings-bootloader.h:63 -msgid "Boot screen display mode:" -msgstr "" - -#: source/ubl-settings-bootloader.h:51 source/ubl-settings-bootloader.h:50 -msgid "Boot selection menu timer:" -msgstr "" - -#: source/ubl-settings-bootloader.h:62 source/ubl-settings-bootloader.h:61 -msgid "Cancel" +#: source/ubl-strings.h:12 +msgid "Parameters passed to the kernel" msgstr "" -#: source/ubl-settings-bootloader.h:45 source/ubl-settings-bootloader.h:44 -#: source/ubl-settings-bootloader.cc:421 source/ubl-settings-bootloader.cc:422 -#: source/ubl-settings-bootloader.cc:423 source/ubl-settings-bootloader.cc:289 -#: source/ubl-settings-bootloader.cc:290 source/ubl-settings-bootloader.cc:291 +#: source/ubl-strings.h:13 msgid "Command line parameters:" msgstr "" -#: source/ubl-settings-bootloader.h:42 source/ubl-settings-bootloader.h:41 -#: source/ubl-settings-bootloader.cc:417 source/ubl-settings-bootloader.cc:285 -msgid "Configuring system boot parameters" -msgstr "" - -msgid "Configuring the boot loader settings" -msgstr "" - -#: source/ubl-settings-bootloader.h:38 source/ubl-settings-bootloader.h:37 -#: source/ubl-settings-bootloader.cc:411 source/ubl-settings-bootloader.cc:279 -msgid "Copyright © UBSoft LLC, 2022 - " -msgstr "" - -#: source/ubl-settings-bootloader.cc:292 -msgid "Default download" -msgstr "" - -#: source/ubl-settings-bootloader.h:94 source/ubl-settings-bootloader.h:93 -#: source/ubl-settings-bootloader.cc:339 source/ubl-settings-bootloader.cc:201 -msgid "Description" -msgstr "" - -msgid "Disable ACPI" -msgstr "" - -msgid "Disable APIC" -msgstr "" - -msgid "Disable GPU power management" -msgstr "" - -msgid "Disable Plymouth" -msgstr "" - -msgid "Disable kernel selection and loading of video drivers" -msgstr "" - -msgid "Disable local APIC" -msgstr "" - -#: source/ubl-settings-bootloader.h:48 source/ubl-settings-bootloader.h:47 -#: source/ubl-settings-bootloader.cc:426 source/ubl-settings-bootloader.cc:294 -msgid "Download menu" -msgstr "" - -msgid "Downloading without text messages" -msgstr "" - -msgid "Eliminates flickering laptop display on Ultra Voltage processors" -msgstr "" - -#: source/ubl-settings-bootloader.h:78 source/ubl-settings-bootloader.h:77 -#: source/ubl-settings-bootloader.cc:496 -msgid "Enter login" -msgstr "" - -#: source/ubl-settings-bootloader.h:77 source/ubl-settings-bootloader.h:76 -#: source/ubl-settings-bootloader.cc:476 -msgid "Enter your password" -msgstr "" - -#: source/ubl-settings-bootloader.h:84 source/ubl-settings-bootloader.h:83 -#: source/ubl-settings-bootloader.cc:897 source/ubl-settings-bootloader.cc:443 -msgid "Error saved local and global configuration" -msgstr "" - -msgid "Forced selection of an Intel sound device driver" -msgstr "" - -msgid "" -"GTK settings bootloader for UBLinux\n" -"\n" -"Usage: ubl-settings-bootloader [OPTIONS...]\n" -"Options:\n" -" -h, --help\t Show this help\n" -" -V, --version\t Show package version\n" -msgstr "" - -#: source/ubl-settings-bootloader.h:95 source/ubl-settings-bootloader.h:94 -msgid "" -"GTK settings bootloader for UBLinux\n" -"\n" -"Usage: ubl-settings-bootloader [OPTIONS...]\n" -"Options:\n" -" -h, --help\t Show this help\n" -" -V, --version\t Show package version\n" -" --lock-help Lock utility help\n" -" --lock-save Lock saving local and global configuration\n" -" --lock-save-local Lock save global configuration\n" -" --lock-save-global Lock load global configuration\n" -" --lock-load-global Lock load global configuration\n" -msgstr "" - -#: source/ubl-settings-bootloader.h:86 source/ubl-settings-bootloader.h:85 -#: source/ubl-settings-bootloader.cc:911 source/ubl-settings-bootloader.cc:455 -msgid "Global configuration downloaded successfully" -msgstr "" - -#: source/ubl-settings-bootloader.h:81 source/ubl-settings-bootloader.h:80 -#: source/ubl-settings-bootloader.cc:885 source/ubl-settings-bootloader.cc:431 -msgid "Global configuration read error" -msgstr "" - -#: source/ubl-settings-bootloader.h:88 source/ubl-settings-bootloader.h:87 -#: source/ubl-settings-bootloader.cc:917 source/ubl-settings-bootloader.cc:461 -msgid "Global configuration successfully written" -msgstr "" - -#: source/ubl-settings-bootloader.h:83 source/ubl-settings-bootloader.h:82 -#: source/ubl-settings-bootloader.cc:893 source/ubl-settings-bootloader.cc:439 -msgid "Global configuration write error" -msgstr "" - -#: source/ubl-settings-bootloader.h:52 source/ubl-settings-bootloader.h:51 -#: source/ubl-settings-bootloader.cc:430 source/ubl-settings-bootloader.cc:300 -msgid "Help" -msgstr "" - -#: source/ubl-settings-bootloader.cc:295 +#: source/ubl-strings.h:14 msgid "Input terminal" msgstr "" -#: source/ubl-settings-bootloader.h:75 source/ubl-settings-bootloader.h:74 -#: source/ubl-settings-bootloader.cc:451 -msgid "Lack of loading animation with the output of the abbreviated log" -msgstr "" - -msgid "Last Successful Download" -msgstr "" - -#: source/ubl-settings-bootloader.h:68 source/ubl-settings-bootloader.h:67 -#: source/ubl-settings-bootloader.cc:452 -msgid "Last successful upload" -msgstr "" - -#: source/ubl-settings-bootloader.h:55 source/ubl-settings-bootloader.h:54 -#: source/ubl-settings-bootloader.cc:438 source/ubl-settings-bootloader.cc:308 -msgid "Load" -msgstr "" - -#: source/ubl-settings-bootloader.h:46 source/ubl-settings-bootloader.h:45 -#: source/ubl-settings-bootloader.cc:424 -msgid "Load default:" -msgstr "" - -#: source/ubl-settings-bootloader.h:59 source/ubl-settings-bootloader.h:58 -#: source/ubl-settings-bootloader.cc:435 source/ubl-settings-bootloader.cc:305 -msgid "Load global configuration" -msgstr "" - -#: source/ubl-settings-bootloader.h:60 source/ubl-settings-bootloader.h:59 -#: source/ubl-settings-bootloader.cc:436 source/ubl-settings-bootloader.cc:306 -msgid "Load local configuration" -msgstr "" - -#: source/ubl-settings-bootloader.cc:442 -msgid "Load menu user name:" -msgstr "" - -#: source/ubl-settings-bootloader.cc:443 -msgid "Load menu user password:" -msgstr "" - -#: source/ubl-settings-bootloader.cc:429 source/ubl-settings-bootloader.cc:298 -msgid "Load option timer" -msgstr "" - -#: source/ubl-settings-bootloader.cc:441 -msgid "Load screen display mode:" -msgstr "" - -#: source/ubl-settings-bootloader.h:73 source/ubl-settings-bootloader.h:72 -#: source/ubl-settings-bootloader.cc:448 -msgid "Loading animation with log" -msgstr "" - -#: source/ubl-settings-bootloader.h:74 source/ubl-settings-bootloader.h:73 -#: source/ubl-settings-bootloader.cc:449 -msgid "Loading animation without log" -msgstr "" - -#: source/ubl-settings-bootloader.h:85 source/ubl-settings-bootloader.h:84 -#: source/ubl-settings-bootloader.cc:908 source/ubl-settings-bootloader.cc:452 -msgid "Local configuration downloaded successfully" -msgstr "" - -#: source/ubl-settings-bootloader.h:80 source/ubl-settings-bootloader.h:79 -#: source/ubl-settings-bootloader.cc:881 source/ubl-settings-bootloader.cc:427 -msgid "Local configuration reading error" -msgstr "" - -#: source/ubl-settings-bootloader.h:87 source/ubl-settings-bootloader.h:86 -#: source/ubl-settings-bootloader.cc:914 source/ubl-settings-bootloader.cc:458 -msgid "Local configuration successfully written" -msgstr "" - -#: source/ubl-settings-bootloader.h:82 source/ubl-settings-bootloader.h:81 -#: source/ubl-settings-bootloader.cc:889 source/ubl-settings-bootloader.cc:435 -msgid "Local configuration write error" -msgstr "" - -#: source/ubl-settings-bootloader.cc:445 source/ubl-settings-bootloader.cc:447 -msgid "Manually" -msgstr "" - -msgid "Maximum performance, power management" -msgstr "" - -#: source/ubl-settings-bootloader.h:65 source/ubl-settings-bootloader.h:64 -msgid "No loading animation, full log" -msgstr "" - -#: source/ubl-settings-bootloader.cc:444 source/ubl-settings-bootloader.cc:446 -msgid "Not available" -msgstr "" - -#: source/ubl-settings-bootloader.h:90 source/ubl-settings-bootloader.h:89 -#: source/ubl-settings-bootloader.cc:923 source/ubl-settings-bootloader.cc:341 -#: source/ubl-settings-bootloader.cc:354 source/ubl-settings-bootloader.cc:367 -msgid "Nothing to save!" -msgstr "" - -msgid "Open Firmware Console" -msgstr "" - -#: source/ubl-settings-bootloader.h:93 source/ubl-settings-bootloader.h:92 -#: source/ubl-settings-bootloader.cc:338 source/ubl-settings-bootloader.cc:200 -msgid "Option" -msgstr "" - -msgid "Output in graphical mode" -msgstr "" - -#: source/ubl-settings-bootloader.cc:296 +#: source/ubl-strings.h:15 msgid "Output terminal" msgstr "" -msgid "PC AT Keyboard (Coreboot)" -msgstr "" - -msgid "PC BIOS & EFI console" -msgstr "" - -msgid "Parameters passed to the kernel" -msgstr "" - -msgid "Prevents the processor from going into a deep sleep state" -msgstr "" - -#: source/ubl-settings-bootloader.h:41 source/ubl-settings-bootloader.h:40 -#: source/ubl-settings-bootloader.cc:416 source/ubl-settings-bootloader.cc:420 -#: source/ubl-settings-bootloader.cc:284 source/ubl-settings-bootloader.cc:288 -msgid "Project homepage" -msgstr "" - -#: source/ubl-settings-bootloader.h:61 source/ubl-settings-bootloader.h:60 -msgid "Read online" -msgstr "" - -#: source/ubl-settings-bootloader.h:54 source/ubl-settings-bootloader.h:53 -#: source/ubl-settings-bootloader.cc:437 source/ubl-settings-bootloader.cc:307 -msgid "Save" -msgstr "" - -#: source/ubl-settings-bootloader.h:58 source/ubl-settings-bootloader.h:57 -#: source/ubl-settings-bootloader.cc:434 source/ubl-settings-bootloader.cc:304 -msgid "Save in global configuration" -msgstr "" - -#: source/ubl-settings-bootloader.h:57 source/ubl-settings-bootloader.h:56 -#: source/ubl-settings-bootloader.cc:433 source/ubl-settings-bootloader.cc:303 -msgid "Save in local configuration" -msgstr "" - -#: source/ubl-settings-bootloader.h:56 source/ubl-settings-bootloader.h:55 -#: source/ubl-settings-bootloader.cc:432 source/ubl-settings-bootloader.cc:302 -msgid "Save configuration" -msgstr "" - -#: source/ubl-settings-bootloader.cc:293 -msgid "Seconds" -msgstr "" - -msgid "Serial terminal" -msgstr "" - -#: source/ubl-settings-bootloader.cc:287 -msgid "Setting bootloader" -msgstr "" - -msgid "Show welcome window" -msgstr "" - -msgid "Single User Mode" -msgstr "" - -#: source/ubl-settings-bootloader.h:89 source/ubl-settings-bootloader.h:88 -#: source/ubl-settings-bootloader.cc:920 source/ubl-settings-bootloader.cc:464 -msgid "Successfully saved local and global configuration" -msgstr "" - -#: source/ubl-settings-bootloader.h:43 source/ubl-settings-bootloader.h:42 -#: source/ubl-settings-bootloader.cc:419 -msgid "System boot setup" -msgstr "" - -#: source/ubl-settings-bootloader.h:49 source/ubl-settings-bootloader.h:48 -#: source/ubl-settings-bootloader.cc:427 -msgid "Terminal for input" -msgstr "" - -#: source/ubl-settings-bootloader.h:50 source/ubl-settings-bootloader.h:49 -#: source/ubl-settings-bootloader.cc:428 -msgid "Terminal for output" -msgstr "" - -#: source/ubl-settings-bootloader.cc:299 -msgid "The last selection will become the default boot choice" -msgstr "" - -#: source/ubl-settings-bootloader.h:91 source/ubl-settings-bootloader.h:90 -#: source/ubl-settings-bootloader.cc:107 source/ubl-settings-bootloader.cc:94 -msgid "The program must be run as root" -msgstr "" - -msgid "UBConfig - Loading" -msgstr "" - -msgid "USB Keyboard (HID Boot protocol)" -msgstr "" - -#: source/ubl-settings-bootloader.h:71 source/ubl-settings-bootloader.h:70 -#: source/ubl-settings-bootloader.cc:440 -msgid "User name to enter boot configuration editing mode" -msgstr "" - -#: source/ubl-settings-bootloader.h:72 source/ubl-settings-bootloader.h:71 -msgid "User password to enter boot configuration edit mode" -msgstr "" - -msgid "VGA text output (Coreboot)" -msgstr "" - -#: source/ubl-settings-bootloader.h:69 source/ubl-settings-bootloader.h:68 -msgid "Would you like to read documentation in the Web?" -msgstr "" - -#: source/ubl-settings-bootloader.h:70 source/ubl-settings-bootloader.h:69 -msgid "" -"You will be redirected to documentation website where documentation is\n" -"translated and supported by community." -msgstr "" - -msgid "acpi=off (Disable ACPI)" -msgstr "" - -msgid "ahci.mobile_jpm_policy=1 (Maximum performance, power management)" -msgstr "" - -msgid "apic (Disable APIC)" -msgstr "" - -msgid "at_keyboard (Keyboard PC AT (Coreboot))" -msgstr "" - -msgid "console (PC BIOS & console EFI)" -msgstr "" - -msgid "gfxterm (Output in graphical mode)" -msgstr "" - -#: source/ubl-settings-bootloader.h:40 source/ubl-settings-bootloader.h:76 -#: source/ubl-settings-bootloader.h:39 source/ubl-settings-bootloader.h:75 -#: source/ubl-settings-bootloader.cc:414 source/ubl-settings-bootloader.cc:282 -msgid "https://wiki.ublinux.com" -msgstr "" - -#: source/ubl-settings-bootloader.cc:860 source/ubl-settings-bootloader.cc:400 -msgid "" -"https://wiki.ublinux.com/ru/Программное_обеспечение/Программы_и_утилиты/Все/" -msgstr "" - -msgid "i915.enable_dc=0 (Disable GPU power management)" -msgstr "" - -msgid "" -"intel_idle max_cstate=1 (Prevents the processor from going into a deep sleep " -"state)" -msgstr "" - -msgid "" -"intel_idle.max_cstate=4 (Eliminates flickering laptop display on processors " -"Ultra Voltage)" -msgstr "" - -msgid "no plymouth (Disable Plymouth)" -msgstr "" - -msgid "nolapic (Disable local APIC)" -msgstr "" - -msgid "nomodeset (Disable kernel selection and loading of video drivers)" -msgstr "" - -msgid "ofconsole (Console Open Firmware)" -msgstr "" - -msgid "quiet (Downloading without text messages)" -msgstr "" - -#: source/ubl-settings-bootloader.h:47 source/ubl-settings-bootloader.h:46 -#: source/ubl-settings-bootloader.cc:425 -msgid "seconds" -msgstr "" - -msgid "serial (Serial terminal)" -msgstr "" - -msgid "single (Single User Mode)" -msgstr "" - -msgid "" -"snd-intel-dspcfg.dsp_driver=1 (Forced selection of a sound device driver " -"from Intel)" -msgstr "" - -msgid "splash (Show welcome window)" -msgstr "" - -#: source/ubl-settings-bootloader.h:39 source/ubl-settings-bootloader.h:38 -#: source/ubl-settings-bootloader.cc:413 source/ubl-settings-bootloader.cc:418 -#: source/ubl-settings-bootloader.cc:439 source/ubl-settings-bootloader.cc:281 -#: source/ubl-settings-bootloader.cc:286 source/ubl-settings-bootloader.cc:309 -msgid "System boot" -msgstr "" - -#: source/ubl-settings-bootloader.h:79 source/ubl-settings-bootloader.h:78 -#: source/ubl-settings-bootloader.cc:947 source/ubl-settings-bootloader.cc:547 -msgid "ubl-settings-bootloader version: " +#: source/ubl-strings.h:17 source/ubl-strings.h:47 +msgid "Administrator" msgstr "" -msgid "usb_keyboard (Keyboard USB Keyboard (protocol HID Boot))" +#: source/ubl-strings.h:18 +msgid "Name" msgstr "" -msgid "vga_text (Text output VGA (Coreboot))" +#: source/ubl-strings.h:19 +msgid "User" msgstr "" -#: source/ubl-settings-bootloader.cc:450 -msgid "Нет анимации загрузки, полный журнал" +#: source/ubl-strings.h:20 +msgid "Password" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Last succeeded load mode" +#: source/ubl-strings.h:21 +msgid "Melody code" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Disable Plymouth" +#: source/ubl-strings.h:22 +msgid "Option" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Write debug output into /var/log/plymouth-debug.log" +#: source/ubl-strings.h:23 +msgid "Description" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Disable ACPI" +#: source/ubl-strings.h:25 +msgid "Add" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Disable APIC" +#: source/ubl-strings.h:26 +msgid "Edit" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Disable local APIC" +#: source/ubl-strings.h:27 +msgid "Remove" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Single User Mode" +#: source/ubl-strings.h:29 +msgid "Accept" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Disable kernel selection and loading of video drivers" +#: source/ubl-strings.h:30 +msgid "Cancel" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "enable driver (default: auto, 0 = disabled, 1 = enabled, 2 = headless) (int)" +#: source/ubl-strings.h:32 +msgid "Password input" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "disable kernel/abi16 acceleration (int)" +#: source/ubl-strings.h:33 source/ubl-strings.h:40 +msgid "Repeat password:" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Use kernel modesetting [KMS] (0=disable, 1=on, -1=force vga console preference [default]) (int)" +#: source/ubl-strings.h:34 source/ubl-strings.h:42 +msgid "Password hash:" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (int)" +#: source/ubl-strings.h:35 source/ubl-strings.h:41 +msgid "Do not encrypt password" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Enable power-saving display C-states. (-1=auto [default]; 0=disable; 1=up to DC5; 2=up to DC6; 3=up to DC5 with DC3CO; 4=up to DC6 with DC3CO) (int)" +#: source/ubl-strings.h:36 +msgid "Password contain special symbols" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Enable PSR (0=disabled, 1=enabled) (int)" +#: source/ubl-strings.h:37 +msgid "Empty important field" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Disable display power wells when possible (-1=auto [default], 0=power wells always on, 1=power wells disabled when possible) (int)" +#: source/ubl-strings.h:38 +msgid "Password mismatch" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Enable IPS (default: true) (int)" +#: source/ubl-strings.h:39 +msgid "Password:" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Try to skip unnecessary mode sets at boot time (0=disabled, 1=enabled) Default: -1 (use per-chip default) (int)" +#: source/ubl-strings.h:43 +msgid "Password must be at least" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Disable display (default: false) (bool)" +#: source/ubl-strings.h:43 +msgid "characters" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Enable GuC load for GuC submission and/or HuC load. Required functionality can be selected using bitmask values. (-1=auto [default], 0=disable, 1=GuC submission, 2=HuC load) (int)" +#: source/ubl-strings.h:45 +msgid "Add user" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Enable multi-stream transport (MST) for new DisplayPort sinks. (default: true) (bool)" +#: source/ubl-strings.h:46 +msgid "Edit user" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Enable support for Intel GVT-g graphics virtualization host support (default:false) (bool)" +#: source/ubl-strings.h:48 +msgid "User name:" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Marvell SATA via AHCI (1 = enabled) (int)" +#: source/ubl-strings.h:49 +msgid "User password:" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Default LPM policy for mobile chipsets (default:-1) (int)" +#: source/ubl-strings.h:50 +msgid "Are you sure you want to remove user" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Force the DSP driver for Intel DSP (0=auto, 1=legacy, 2=SST, 3=SOF) (int)" +#: source/ubl-strings.h:50 +msgid "from boot menu users" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Do not use ACPI _CST for building the idle states list (default:N) (bool)" +#: source/ubl-strings.h:52 +msgid "Add ringtone" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Use ACPI _CST for building the idle states list (default:N) (bool)" +#: source/ubl-strings.h:53 +msgid "Edit ringtone" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Prevents the processor from going into a deep sleep state (default:9) (int)" +#: source/ubl-strings.h:54 +msgid "Chosen" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Eliminates flickering laptop display on Ultra Voltage processors (int)" +#: source/ubl-strings.h:55 +msgid "Name:" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "Mask of disabled idle states (0=disabled, 1=enabled) Default: 0 (uint)" +#: source/ubl-strings.h:56 +msgid "Melody code:" msgstr "" -#: source/ubl-settings-bootloader.h:162 -msgid "default autosuspend delay (-1=disabled) (int)" +#: source/ubl-strings.h:57 +msgid "Are you sure you want to remove ringtone" msgstr "" - -#: source/ubl-settings-bootloader.h:162 -msgid "Force dont`t load nouveau driver video for Nvidia" -msgstr "" \ No newline at end of file diff --git a/ubl-settings-bootloader_ru.po b/ubl-settings-bootloader_ru.po index ea25bf0..fb330e4 100644 --- a/ubl-settings-bootloader_ru.po +++ b/ubl-settings-bootloader_ru.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ubl-settings-bootloader 1.0\n" "Report-Msgid-Bugs-To: info@ublinux.com\n" -"POT-Creation-Date: 2023-04-25 15:27+0600\n" -"PO-Revision-Date: 2020-02-22 23:28+0600\n" +"POT-Creation-Date: 2023-01-01 00:00+0600\n" +"PO-Revision-Date: 2025-04-17 23:28+0600\n" "Last-Translator: ublinux \n" "Language-Team: Russian - UBLinux Team \n" "Language: Russian\n" @@ -17,463 +17,201 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -msgid "Edit" -msgstr "Редактирование" - -msgid "Adding" -msgstr "Добавление" - -msgid "Selecting the loading mode option" -msgstr "Выбор варианта режима загрузки" - -msgid "Add user" -msgstr "Добавить пользователя" - -msgid "Delete user" -msgstr "Удалить пользователя" - -msgid "Add melody" -msgstr "Добавить мелодию" - -msgid "Delete melody" -msgstr "Удалить мелодию" - -#: source/ubl-settings-bootloader.h:53 source/ubl-settings-bootloader.h:52 -#: source/ubl-settings-bootloader.cc:431 source/ubl-settings-bootloader.cc:301 -msgid "About" -msgstr "О программе" - -#: source/ubl-settings-bootloader.h:44 source/ubl-settings-bootloader.h:43 -msgid "About System boot" -msgstr "О программе Загрузка системы" - -#: source/ubl-settings-bootloader.h:92 source/ubl-settings-bootloader.h:91 -#: source/ubl-settings-bootloader.cc:337 source/ubl-settings-bootloader.cc:199 -msgid "Active" -msgstr "Активно" - -#: source/ubl-settings-bootloader.h:63 source/ubl-settings-bootloader.h:62 -msgid "Always redirect" -msgstr "Всегда перенаправлять" - -#: source/ubl-settings-bootloader.h:96 source/ubl-settings-bootloader.h:95 -msgid "Argument not recognized\n" -msgstr "Аргумент не распознан\n" - -#: source/ubl-settings-bootloader.h:66 source/ubl-settings-bootloader.h:65 -msgid "Boot menu user name:" -msgstr "Имя пользователя меню загрузки:" - -#: source/ubl-settings-bootloader.h:67 source/ubl-settings-bootloader.h:66 -msgid "Boot menu user password:" -msgstr "Пароль пользователя меню загрузки:" - -#: source/ubl-settings-bootloader.h:64 source/ubl-settings-bootloader.h:63 -msgid "Boot screen display mode:" -msgstr "Режим отображения экрана загрузки:" - -#: source/ubl-settings-bootloader.h:51 source/ubl-settings-bootloader.h:50 -msgid "Boot selection menu timer:" -msgstr "Таймер меню выбора варианта загрузки:" - -#: source/ubl-settings-bootloader.h:62 source/ubl-settings-bootloader.h:61 -msgid "Cancel" -msgstr "Отменить" - -#: source/ubl-settings-bootloader.h:45 source/ubl-settings-bootloader.h:44 -#: source/ubl-settings-bootloader.cc:421 source/ubl-settings-bootloader.cc:422 -#: source/ubl-settings-bootloader.cc:423 source/ubl-settings-bootloader.cc:289 -#: source/ubl-settings-bootloader.cc:290 source/ubl-settings-bootloader.cc:291 -msgid "Command line parameters:" -msgstr "Параметры командной строки:" +#: source/ubl-strings.h:2 +msgid "System boot" +msgstr "Загрузка системы" -#: source/ubl-settings-bootloader.h:42 source/ubl-settings-bootloader.h:41 -#: source/ubl-settings-bootloader.cc:417 source/ubl-settings-bootloader.cc:285 +#: source/ubl-strings.h:3 msgid "Configuring system boot parameters" msgstr "Настройка параметров загрузки системы" -msgid "Configuring the boot loader settings" -msgstr "Настройка параметров загрузчика системы" - -#: source/ubl-settings-bootloader.h:38 source/ubl-settings-bootloader.h:37 -#: source/ubl-settings-bootloader.cc:411 source/ubl-settings-bootloader.cc:279 -msgid "Copyright © UBSoft LLC, 2022 - " -msgstr "" - -#: source/ubl-settings-bootloader.cc:292 -#, fuzzy -msgid "Default download" -msgstr "По умолчанию" - -#: source/ubl-settings-bootloader.h:94 source/ubl-settings-bootloader.h:93 -#: source/ubl-settings-bootloader.cc:339 source/ubl-settings-bootloader.cc:201 -msgid "Description" -msgstr "Описание" +#: source/ubl-strings.h:5 +msgid "Boot menu" +msgstr "Менб загрузки" -#: source/ubl-settings-bootloader.h:48 source/ubl-settings-bootloader.h:47 -#: source/ubl-settings-bootloader.cc:426 source/ubl-settings-bootloader.cc:294 -msgid "Download menu" -msgstr "Меню загрузки" +#: source/ubl-strings.h:6 +msgid "Boot selection menu timer:" +msgstr "Таймер меню выбора варианта загрузки:" -msgid "Downloading without text messages" -msgstr "Загрузка без текстовых сообщений" +#: source/ubl-strings.h:7 +msgid "seconds" +msgstr "секунд" -msgid "Eliminates flickering laptop display on Ultra Voltage processors" -msgstr "Устраняет мерцание дисплея ноутбука на процессорах Ultra Voltage" +#: source/ubl-strings.h:8 +msgid "Default OS:" +msgstr "Загрузка по умлочанию:" -#: source/ubl-settings-bootloader.h:78 source/ubl-settings-bootloader.h:77 -#: source/ubl-settings-bootloader.cc:496 -msgid "Enter login" -msgstr "Введите логин" +#: source/ubl-strings.h:9 +msgid "Load screen display mode:" +msgstr "Режим отображения экрана загрузки:" -#: source/ubl-settings-bootloader.h:77 source/ubl-settings-bootloader.h:76 -#: source/ubl-settings-bootloader.cc:476 -msgid "Enter your password" -msgstr "Введите пароль" +#: source/ubl-strings.h:10 +msgid "Boot Menu Users" +msgstr "Пользователи меню загрузчика" -#: source/ubl-settings-bootloader.h:84 source/ubl-settings-bootloader.h:83 -#: source/ubl-settings-bootloader.cc:897 source/ubl-settings-bootloader.cc:443 -#, fuzzy -msgid "Error saved local and global configuration" -msgstr "Успешно записаны локальная и глобальная конфигурация" +#: source/ubl-strings.h:11 +msgid "Startup ringtone" +msgstr "Мелодия при запуске" -msgid "Forced selection of an Intel sound device driver" -msgstr "Принудительный выбор драйвера звукового устройства от Intel" +#: source/ubl-strings.h:12 +msgid "Parameters passed to the kernel" +msgstr "Параметры, передаваемые ядру" -msgid "" -"GTK settings bootloader for UBLinux\n" -"\n" -"Usage: ubl-settings-bootloader [OPTIONS...]\n" -"Options:\n" -" -h, --help\t Show this help\n" -" -V, --version\t Show package version\n" -msgstr "" +#: source/ubl-strings.h:13 +msgid "Command line parameters:" +msgstr "Параметры командной строки:" -#: source/ubl-settings-bootloader.h:95 source/ubl-settings-bootloader.h:94 -msgid "" -"GTK settings bootloader for UBLinux\n" -"\n" -"Usage: ubl-settings-bootloader [OPTIONS...]\n" -"Options:\n" -" -h, --help\t Show this help\n" -" -V, --version\t Show package version\n" -" --lock-help Lock utility help\n" -" --lock-save Lock saving local and global configuration\n" -" --lock-save-local Lock save global configuration\n" -" --lock-save-global Lock load global configuration\n" -" --lock-load-global Lock load global configuration\n" -msgstr "" -"GTK-утилита настройки загрузчика для UBLinux\n" -"\n" -"Использование: ubl-settings-bootloader [Параметры приложения...]\n" -"Параметры приложения:\n" -" -h, --help\t Показать параметры справки\n" -" -V, --version\t Показать версию пакета\n" -" --lock-help Блокировка вызова справки\n" -" --lock-save Блокировка сохранения локальной и глобальной " -"конфигурации\n" -" --lock-save-local Блокировка сохранения локальной конфигурации\n" -" --lock-save-global Блокировка сохранения глобальной конфигурации\n" -" --lock-load-global Блокировка загрузки глобальной конфигурации\n" - -#: source/ubl-settings-bootloader.h:86 source/ubl-settings-bootloader.h:85 -#: source/ubl-settings-bootloader.cc:911 source/ubl-settings-bootloader.cc:455 -msgid "Global configuration downloaded successfully" -msgstr "Успешно загружена глобальная конфигурация" - -#: source/ubl-settings-bootloader.h:81 source/ubl-settings-bootloader.h:80 -#: source/ubl-settings-bootloader.cc:885 source/ubl-settings-bootloader.cc:431 -msgid "Global configuration read error" -msgstr "Ошибка чтения глобальной конфигурации" - -#: source/ubl-settings-bootloader.h:88 source/ubl-settings-bootloader.h:87 -#: source/ubl-settings-bootloader.cc:917 source/ubl-settings-bootloader.cc:461 -msgid "Global configuration successfully written" -msgstr "Успешно записана глобальная конфигурация" - -#: source/ubl-settings-bootloader.h:83 source/ubl-settings-bootloader.h:82 -#: source/ubl-settings-bootloader.cc:893 source/ubl-settings-bootloader.cc:439 -msgid "Global configuration write error" -msgstr "Ошибка записи глобальной конфигурации" - -#: source/ubl-settings-bootloader.h:52 source/ubl-settings-bootloader.h:51 -#: source/ubl-settings-bootloader.cc:430 source/ubl-settings-bootloader.cc:300 -msgid "Help" -msgstr "Справка" - -#: source/ubl-settings-bootloader.cc:295 -#, fuzzy +#: source/ubl-strings.h:14 msgid "Input terminal" -msgstr "Терминал для вывода" - -#: source/ubl-settings-bootloader.h:75 source/ubl-settings-bootloader.h:74 -#: source/ubl-settings-bootloader.cc:451 -msgid "Lack of loading animation with the\noutput of the abbreviated log" -msgstr "Отсутствие анимации загрузки с\nвыводом сокращенного журнала" - -msgid "Lack of loading animation with the output of the abbreviated log" -msgstr "Отсутствие анимации загрузки с выводом сокращенного журнала" - -#, fuzzy -msgid "Last Successful Download" -msgstr "Последняя удачная загрузка" - -#: source/ubl-settings-bootloader.h:68 source/ubl-settings-bootloader.h:67 -#: source/ubl-settings-bootloader.cc:452 -msgid "Last successful upload" -msgstr "Последняя удачная загрузка" - -#: source/ubl-settings-bootloader.h:55 source/ubl-settings-bootloader.h:54 -#: source/ubl-settings-bootloader.cc:438 source/ubl-settings-bootloader.cc:308 -msgid "Load" -msgstr "Загрузить" - -#: source/ubl-settings-bootloader.h:46 source/ubl-settings-bootloader.h:45 -#: source/ubl-settings-bootloader.cc:424 -msgid "Load default:" -msgstr "Загрузка по умолчанию:" - -#: source/ubl-settings-bootloader.h:59 source/ubl-settings-bootloader.h:58 -#: source/ubl-settings-bootloader.cc:435 source/ubl-settings-bootloader.cc:305 -msgid "Load global configuration" -msgstr "Загрузить глобальную конфигурацию" - -#: source/ubl-settings-bootloader.h:60 source/ubl-settings-bootloader.h:59 -#: source/ubl-settings-bootloader.cc:436 source/ubl-settings-bootloader.cc:306 -msgid "Load local configuration" -msgstr "Загрузить локальную конфигурацию" - -#: source/ubl-settings-bootloader.cc:442 -#, fuzzy -msgid "Load menu user name:" -msgstr "Имя пользователя меню загрузки:" - -#: source/ubl-settings-bootloader.cc:443 -#, fuzzy -msgid "Load menu user password:" -msgstr "Пароль пользователя меню загрузки:" - -#: source/ubl-settings-bootloader.cc:429 source/ubl-settings-bootloader.cc:298 -msgid "Load option timer" -msgstr "" - -#: source/ubl-settings-bootloader.cc:441 -#, fuzzy -msgid "Load screen display mode:" -msgstr "Режим отображения экрана загрузки:" - -#: source/ubl-settings-bootloader.h:73 source/ubl-settings-bootloader.h:72 -#: source/ubl-settings-bootloader.cc:448 -msgid "Loading animation with log" -msgstr "Анимация загрузки с журналом" - -#: source/ubl-settings-bootloader.h:74 source/ubl-settings-bootloader.h:73 -#: source/ubl-settings-bootloader.cc:449 -msgid "Loading animation without log" -msgstr "Анимация загрузки без журнала" - -#: source/ubl-settings-bootloader.h:85 source/ubl-settings-bootloader.h:84 -#: source/ubl-settings-bootloader.cc:908 source/ubl-settings-bootloader.cc:452 -msgid "Local configuration downloaded successfully" -msgstr "Успешно загружена локальная конфигурация" - -#: source/ubl-settings-bootloader.h:80 source/ubl-settings-bootloader.h:79 -#: source/ubl-settings-bootloader.cc:881 source/ubl-settings-bootloader.cc:427 -msgid "Local configuration reading error" -msgstr "Ошибка чтения локальной конфигурации" - -#: source/ubl-settings-bootloader.h:87 source/ubl-settings-bootloader.h:86 -#: source/ubl-settings-bootloader.cc:914 source/ubl-settings-bootloader.cc:458 -msgid "Local configuration successfully written" -msgstr "Успешно записана локальная конфигурация" - -#: source/ubl-settings-bootloader.h:82 source/ubl-settings-bootloader.h:81 -#: source/ubl-settings-bootloader.cc:889 source/ubl-settings-bootloader.cc:435 -msgid "Local configuration write error" -msgstr "Ошибка записи локальной конфигурации" - -#: source/ubl-settings-bootloader.cc:445 source/ubl-settings-bootloader.cc:447 -msgid "Manually" -msgstr "Вручную" - -msgid "Maximum performance, power management" -msgstr "Максимальная производительность, управление питанием" - -#: source/ubl-settings-bootloader.h:65 source/ubl-settings-bootloader.h:64 -msgid "No loading animation,\nfull log" -msgstr "Отсутствие анимации загрузки\nс выводом журнала" - -msgid "No loading animation, full log" -msgstr "Отсутствие анимации загрузки с выводом журнала" - -#: source/ubl-settings-bootloader.cc:444 source/ubl-settings-bootloader.cc:446 -msgid "Not available" -msgstr "Отсутствует" - -#: source/ubl-settings-bootloader.h:90 source/ubl-settings-bootloader.h:89 -#: source/ubl-settings-bootloader.cc:923 source/ubl-settings-bootloader.cc:341 -#: source/ubl-settings-bootloader.cc:354 source/ubl-settings-bootloader.cc:367 -msgid "Nothing to save!" -msgstr "Нечего сохранять!" - -msgid "Open Firmware Console" -msgstr "Консоль Open Firmware" - -#: source/ubl-settings-bootloader.h:93 source/ubl-settings-bootloader.h:92 -#: source/ubl-settings-bootloader.cc:338 source/ubl-settings-bootloader.cc:200 -msgid "Option" -msgstr "Опция" - -msgid "Output in graphical mode" -msgstr "Вывод в графическом режиме" +msgstr "Терминал для ввода" -#: source/ubl-settings-bootloader.cc:296 +#: source/ubl-strings.h:15 msgid "Output terminal" msgstr "Терминал для вывода" -msgid "PC AT Keyboard (Coreboot)" -msgstr "Клавиатура PC AT (Coreboot)" - -msgid "PC BIOS & EFI console" -msgstr "PC BIOS & консоль EFI" +#: source/ubl-strings.h:17 source/ubl-strings.h:47 +msgid "Administrator" +msgstr "Администратор" -msgid "Parameters passed to the kernel" -msgstr "Параметры, передаваемые ядру" +#: source/ubl-strings.h:18 +msgid "Name" +msgstr "Название" -msgid "Prevents the processor from going into a deep sleep state" -msgstr "Предотвращает переход процессора в состояние глубокого сна" +#: source/ubl-strings.h:19 +msgid "User" +msgstr "Пользователь" -#: source/ubl-settings-bootloader.h:41 source/ubl-settings-bootloader.h:40 -#: source/ubl-settings-bootloader.cc:416 source/ubl-settings-bootloader.cc:420 -#: source/ubl-settings-bootloader.cc:284 source/ubl-settings-bootloader.cc:288 -msgid "Project homepage" -msgstr "Домашняя страница проекта" +#: source/ubl-strings.h:20 +msgid "Password" +msgstr "Пароль" -#: source/ubl-settings-bootloader.h:61 source/ubl-settings-bootloader.h:60 -msgid "Read online" -msgstr "Прочитать онлайн" +#: source/ubl-strings.h:21 +msgid "Melody code" +msgstr "Код мелодии" -#: source/ubl-settings-bootloader.h:54 source/ubl-settings-bootloader.h:53 -#: source/ubl-settings-bootloader.cc:437 source/ubl-settings-bootloader.cc:307 -msgid "Save" -msgstr "Сохранить" +#: source/ubl-strings.h:22 +msgid "Option" +msgstr "Опция" -msgid "Boot Menu Users" -msgstr "Пользователи меню загрузчика" +#: source/ubl-strings.h:23 +msgid "Description" +msgstr "Описание" -msgid "Title" -msgstr "Название" +#: source/ubl-strings.h:25 +msgid "Add" +msgstr "Добавить" -msgid "User" -msgstr "Пользователь" +#: source/ubl-strings.h:26 +msgid "Edit" +msgstr "Редактировать" -msgid "Enter the name and code of the tune in the \"Ringtone at startup\" field" -msgstr "Введите название и код мелодии в поле \"Мелодия при загрузке\"" +#: source/ubl-strings.h:27 +msgid "Remove" +msgstr "Удалить" -msgid "Enter name and password in the \"Boot Menu Users\" field" -msgstr "Введите имя и пароль в поле \"Пользователи меню загрузчика\"" +#: source/ubl-strings.h:29 +msgid "Accept" +msgstr "Принять" -msgid "Password" -msgstr "Пароль" +#: source/ubl-strings.h:30 +msgid "Cancel" +msgstr "Отменить" -msgid "Melody added" -msgstr "Мелодия добавлена" +#: source/ubl-strings.h:32 +msgid "Password input" +msgstr "Ввод пароля" -msgid "User added" -msgstr "Пользователь добавлен" +#: source/ubl-strings.h:33 source/ubl-strings.h:40 +msgid "Repeat password:" +msgstr "Подтвердите ввод пароля:" -msgid "Melody deleted" -msgstr "Мелодия удалена" +#: source/ubl-strings.h:34 source/ubl-strings.h:42 +msgid "Password hash:" +msgstr "Хэш пароля" -msgid "User deleted" -msgstr "Пользователь удалён" +#: source/ubl-strings.h:35 source/ubl-strings.h:41 +msgid "Do not encrypt password" +msgstr "Не шифровать пароль" -msgid "Administrator" -msgstr "Администратор" +#: source/ubl-strings.h:36 +msgid "Password contain special symbols" +msgstr "Пароль содержит специальные символы" -msgid "Select" -msgstr "Выбор" +#: source/ubl-strings.h:37 +msgid "Empty important field" +msgstr "Пустое важное поле" -msgid "Melody code" -msgstr "Код мелодии" +#: source/ubl-strings.h:38 +msgid "Password mismatch" +msgstr "Пароли не совпадают" -msgid "Ringtone at startup" -msgstr "Мелодия при загрузке" +#: source/ubl-strings.h:39 +msgid "Password:" +msgstr "Пароль:" -#: source/ubl-settings-bootloader.h:58 source/ubl-settings-bootloader.h:57 -#: source/ubl-settings-bootloader.cc:434 source/ubl-settings-bootloader.cc:304 -msgid "Save in global configuration" -msgstr "Сохранить в глобальную конфигурацию" +#: source/ubl-strings.h:43 +msgid "Password must be at least" +msgstr "Пароль состоять из по крайней мере" -#: source/ubl-settings-bootloader.h:57 source/ubl-settings-bootloader.h:56 -#: source/ubl-settings-bootloader.cc:433 source/ubl-settings-bootloader.cc:303 -msgid "Save in local configuration" -msgstr "Сохранить в локальную конфигурацию" +#: source/ubl-strings.h:43 +msgid "characters" +msgstr "символов" -#: source/ubl-settings-bootloader.h:56 source/ubl-settings-bootloader.h:55 -#: source/ubl-settings-bootloader.cc:432 source/ubl-settings-bootloader.cc:302 -msgid "Save configuration" -msgstr "Сохранить конфигурацию" +#: source/ubl-strings.h:45 +msgid "Add user" +msgstr "Добавить пользователя" -#: source/ubl-settings-bootloader.cc:293 -#, fuzzy -msgid "Seconds" -msgstr "секунд" +#: source/ubl-strings.h:46 +msgid "Edit user" +msgstr "Редактировать пользователя" -msgid "Serial terminal" -msgstr "Последовательный терминал" +#: source/ubl-strings.h:48 +msgid "User name:" +msgstr "Имя пользователя:" -#: source/ubl-settings-bootloader.cc:287 -msgid "Setting bootloader" -msgstr "Настройка загрузчика" +#: source/ubl-strings.h:49 +msgid "User password:" +msgstr "Пароль пользователя:" -msgid "Show welcome window" -msgstr "Показывать окно приветствия" +#: source/ubl-strings.h:50 +msgid "Are you sure you want to remove user" +msgstr "Вы уверены что хотите удалить пользователя" -#: source/ubl-settings-bootloader.h:89 source/ubl-settings-bootloader.h:88 -#: source/ubl-settings-bootloader.cc:920 source/ubl-settings-bootloader.cc:464 -msgid "Successfully saved local and global configuration" -msgstr "Успешно записаны локальная и глобальная конфигурация" +#: source/ubl-strings.h:50 +msgid "from boot menu users" +msgstr "из пользователей меню загрузчика" -#: source/ubl-settings-bootloader.h:43 source/ubl-settings-bootloader.h:42 -#: source/ubl-settings-bootloader.cc:419 -msgid "System boot setup" -msgstr "Настройка загрузки системы" +#: source/ubl-strings.h:52 +msgid "Add ringtone" +msgstr "Добавить мелодию" -#: source/ubl-settings-bootloader.h:49 source/ubl-settings-bootloader.h:48 -#: source/ubl-settings-bootloader.cc:427 -#, fuzzy -msgid "Terminal for input" -msgstr "Терминал для ввода" +#: source/ubl-strings.h:53 +msgid "Edit ringtone" +msgstr "Изменение мелодии" -#: source/ubl-settings-bootloader.h:50 source/ubl-settings-bootloader.h:49 -#: source/ubl-settings-bootloader.cc:428 -#, fuzzy -msgid "Terminal for output" -msgstr "Терминал для вывода" +#: source/ubl-strings.h:54 +msgid "Chosen" +msgstr "Выбран" -#: source/ubl-settings-bootloader.cc:299 -msgid "The last selection will become the default boot choice" -msgstr "Последний выбор станет выбором загрузки по умолчанию" +#: source/ubl-strings.h:55 +msgid "Name:" +msgstr "Название:" -#: source/ubl-settings-bootloader.h:91 source/ubl-settings-bootloader.h:90 -#: source/ubl-settings-bootloader.cc:107 source/ubl-settings-bootloader.cc:94 -msgid "The program must be run as root" -msgstr "Программа должна быть запущена с правами суперпользователя!" +#: source/ubl-strings.h:56 +msgid "Melody code:" +msgstr "Код мелодии:" -msgid "UBConfig - Loading" -msgstr "UBConfig - Загрузка" +#: source/ubl-strings.h:57 +msgid "Are you sure you want to remove ringtone" +msgstr "Вы уверены что хотите удалить мелодию" msgid "USB Keyboard (HID Boot protocol)" msgstr "Клавиатура USB Keyboard (протокол HID Boot)" -#: source/ubl-settings-bootloader.h:71 source/ubl-settings-bootloader.h:70 -#: source/ubl-settings-bootloader.cc:440 msgid "User name to enter boot configuration editing mode" msgstr "" "Имя пользователя для входа в режим редактирования конфигурации загрузки" -#: source/ubl-settings-bootloader.h:72 source/ubl-settings-bootloader.h:71 msgid "User password to enter boot configuration edit mode" msgstr "" "Пароль пользователя для входа в режим редактирования конфигурации загрузки" @@ -481,11 +219,9 @@ msgstr "" msgid "VGA text output (Coreboot)" msgstr "Текстовый вывод VGA (Coreboot)" -#: source/ubl-settings-bootloader.h:69 source/ubl-settings-bootloader.h:68 msgid "Would you like to read documentation in the Web?" msgstr "Вы хотите прочитать справку в Сети?" -#: source/ubl-settings-bootloader.h:70 source/ubl-settings-bootloader.h:69 msgid "" "You will be redirected to documentation website where documentation is\n" "translated and supported by community." @@ -513,36 +249,22 @@ msgstr "Консоль (PC BIOS & console EFI)" msgid "gfxterm (Output in graphical mode)" msgstr "gfxterm (Вывод в графическом режиме)" -#: source/ubl-settings-bootloader.h:40 source/ubl-settings-bootloader.h:76 -#: source/ubl-settings-bootloader.h:39 source/ubl-settings-bootloader.h:75 -#: source/ubl-settings-bootloader.cc:414 source/ubl-settings-bootloader.cc:282 -msgid "https://wiki.ublinux.com" -msgstr "" - -#: source/ubl-settings-bootloader.cc:860 source/ubl-settings-bootloader.cc:400 -#, fuzzy -msgid "" -"https://wiki.ublinux.com/ru/Программное_обеспечение/Программы_и_утилиты/Все/" -msgstr "" -"https://wiki.ublinux.ru/ru/Программное_обеспечение/Программы_и_утилиты/Все/" -"ubl-settings-bootloader" - msgid "i915.enable_dc=0 (Disable GPU power management)" msgstr "i915.enable_dc=0 (Отключите управление питанием GPU)" msgid "" -"intel_idle max_cstate=1 (Prevents the processor from going into a deep sleep " -"state)" +"intel_idle max_cstate=1 (Prevents the processor from going into a deep " +"sleep state)" msgstr "" "intel_idle max_cstate=1 (Предотвращает переход процессора в состояние " "глубокого сна)" msgid "" -"intel_idle.max_cstate=4 (Eliminates flickering laptop display on processors " -"Ultra Voltage)" +"intel_idle.max_cstate=4 (Eliminates flickering laptop display on " +"processors Ultra Voltage)" msgstr "" -"intel_idle.max_cstate=4 (Устраняет мерцание дисплея ноутбука на процессорах " -"Ultra Voltage)" +"intel_idle.max_cstate=4 (Устраняет мерцание дисплея ноутбука на " +"процессорах Ultra Voltage)" msgid "no plymouth (Disable Plymouth)" msgstr "no plymouth (Отключить Plymouth" @@ -559,11 +281,6 @@ msgstr "ofconsole (Консоль Open Firmware)" msgid "quiet (Downloading without text messages)" msgstr "quiet (Загрузка без текстовых сообщений)" -#: source/ubl-settings-bootloader.h:47 source/ubl-settings-bootloader.h:46 -#: source/ubl-settings-bootloader.cc:425 -msgid "seconds" -msgstr "секунд" - msgid "serial (Serial terminal)" msgstr "serial (Последовательный терминал)" @@ -580,15 +297,6 @@ msgstr "" msgid "splash (Show welcome window)" msgstr "splash (Показать окно приветствия)" -#: source/ubl-settings-bootloader.h:39 source/ubl-settings-bootloader.h:38 -#: source/ubl-settings-bootloader.cc:413 source/ubl-settings-bootloader.cc:418 -#: source/ubl-settings-bootloader.cc:439 source/ubl-settings-bootloader.cc:281 -#: source/ubl-settings-bootloader.cc:286 source/ubl-settings-bootloader.cc:309 -msgid "System boot" -msgstr "Загрузка системы" - -#: source/ubl-settings-bootloader.h:79 source/ubl-settings-bootloader.h:78 -#: source/ubl-settings-bootloader.cc:947 source/ubl-settings-bootloader.cc:547 msgid "ubl-settings-bootloader version: " msgstr "ubl-settings-bootloader версия: " @@ -598,137 +306,165 @@ msgstr "usb_keyboard (Клавиатура USB Keyboard (protocol HID Boot))" msgid "vga_text (Text output VGA (Coreboot))" msgstr "vga_text (Текстовый вывод VGA (Coreboot))" -#: source/ubl-settings-bootloader.cc:450 -msgid "Нет анимации загрузки, полный журнал" -msgstr "" - -#~ msgid "Mine" -#~ msgstr "Свой" - -#~ msgid "Disabled" -#~ msgstr "Отключён" - -#: source/ubl-settings-bootloader.h:162 msgid "Last succeeded load mode" msgstr "Последний удачный вариант загрузки" - -#: source/ubl-settings-bootloader.h:162 msgid "Disable Plymouth" msgstr "Отключить Плимут" -#: source/ubl-settings-bootloader.h:162 msgid "Write debug output into /var/log/plymouth-debug.log" msgstr "Записать выходные данные отладки в /var/log/plymouth-debug.log" -#: source/ubl-settings-bootloader.h:162 msgid "Disable ACPI" msgstr "Отключить ACPI" -#: source/ubl-settings-bootloader.h:162 msgid "Disable APIC" msgstr "Отключить APIC" -#: source/ubl-settings-bootloader.h:162 msgid "Disable local APIC" msgstr "Отключить локальный APIC" -#: source/ubl-settings-bootloader.h:162 msgid "Single User Mode" msgstr "Однопользовательский режим" -#: source/ubl-settings-bootloader.h:162 msgid "Disable kernel selection and loading of video drivers" msgstr "Отключить выбор ядра и загрузку видеодрайверов" -#: source/ubl-settings-bootloader.h:162 -msgid "Enable driver (default: auto, 0 = disabled, 1 = enabled, 2 = headless) (целочисленное)" -msgstr "Включить драйвер (по умолчанию: авто, 0 = отключено, 1 = включено, 2 = без головы) (целочисленное)" +msgid "" +"Enable driver (default: auto, 0 = disabled, 1 = enabled, 2 = headless) " +"(целочисленное)" +msgstr "" +"Включить драйвер (по умолчанию: авто, 0 = отключено, 1 = включено, 2 = " +"без головы) (целочисленное)" -#: source/ubl-settings-bootloader.h:162 msgid "Disable kernel/abi16 acceleration (целочисленное)" msgstr "Отключить ускорение ядра/abi16 (целочисленное)" -#: source/ubl-settings-bootloader.h:162 -msgid "Use kernel modesetting [KMS] (0=disable, 1=on, -1=force vga console preference [default]) (целочисленное)" -msgstr "Использовать настройку режима ядра [KMS] (0=отключить, 1=включить, -1=принудительно настроить консоль vga [по умолчанию]) (целочисленное)" +msgid "" +"Use kernel modesetting [KMS] (0=disable, 1=on, -1=force vga console " +"preference [default]) (целочисленное)" +msgstr "" +"Использовать настройку режима ядра [KMS] (0=отключить, 1=включить, " +"-1=принудительно настроить консоль vga [по умолчанию]) (целочисленное)" -#: source/ubl-settings-bootloader.h:162 -msgid "Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (целочисленное)" -msgstr "Включить сжатие кадрового буфера для экономии энергии (по умолчанию: -1 (используйте значение по умолчанию для каждого чипа)) (целочисленное)" +msgid "" +"Enable frame buffer compression for power savings (default: -1 (use per-" +"chip default)) (целочисленное)" +msgstr "" +"Включить сжатие кадрового буфера для экономии энергии (по умолчанию: -1 " +"(используйте значение по умолчанию для каждого чипа)) (целочисленное)" -#: source/ubl-settings-bootloader.h:162 -msgid "Enable power-saving display C-states. (-1=auto [default]; 0=disable; 1=up to DC5; 2=up to DC6; 3=up to DC5 with DC3CO; 4=up to DC6 with DC3CO) (целочисленное)" -msgstr "Включить энергосберегающее отображение C-состояний. (-1=авто [по умолчанию]; 0=отключить; 1=до DC5; 2=до DC6; 3=до DC5 с DC3CO; 4=до DC6 с DC3CO) (целочисленное)" +msgid "" +"Enable power-saving display C-states. (-1=auto [default]; 0=disable; 1=up " +"to DC5; 2=up to DC6; 3=up to DC5 with DC3CO; 4=up to DC6 with DC3CO) " +"(целочисленное)" +msgstr "" +"Включить энергосберегающее отображение C-состояний. (-1=авто [по " +"умолчанию]; 0=отключить; 1=до DC5; 2=до DC6; 3=до DC5 с DC3CO; 4=до DC6 с " +"DC3CO) (целочисленное)" -#: source/ubl-settings-bootloader.h:162 msgid "Enable PSR (0=disabled, 1=enabled) (целочисленное)" msgstr "Включить PSR (0=выключено, 1=включено) (целочисленное)" -#: source/ubl-settings-bootloader.h:162 -msgid "Disable display power wells when possible (-1=auto [default], 0=power wells always on, 1=power wells disabled when possible) (целочисленное)" -msgstr "Отключить отображение энергетических колодцев, когда это возможно (-1=авто [по умолчанию], 0=энергетические колодцы всегда включены, 1=энергетические колодцы отключены, когда это возможно) (целочисленное)" +msgid "" +"Disable display power wells when possible (-1=auto [default], 0=power " +"wells always on, 1=power wells disabled when possible) (целочисленное)" +msgstr "" +"Отключить отображение энергетических колодцев, когда это возможно " +"(-1=авто [по умолчанию], 0=энергетические колодцы всегда включены, " +"1=энергетические колодцы отключены, когда это возможно) (целочисленное)" -#: source/ubl-settings-bootloader.h:162 msgid "Enable IPS (default: true) (целочисленное)" msgstr "Включить IPS (по умолчанию: true) (целочисленное)" -#: source/ubl-settings-bootloader.h:162 -msgid "Try to skip unnecessary mode sets at boot time (0=disabled, 1=enabled) Default: -1 (use per-chip default) (целочисленное)" -msgstr "Попробовать пропустить ненужные наборы режимов во время загрузки (0=отключено, 1=включено). По умолчанию: -1 (используйте настройки по умолчанию для каждого чипа) (целочисленное)" +msgid "" +"Try to skip unnecessary mode sets at boot time (0=disabled, 1=enabled) " +"Default: -1 (use per-chip default) (целочисленное)" +msgstr "" +"Попробовать пропустить ненужные наборы режимов во время загрузки " +"(0=отключено, 1=включено). По умолчанию: -1 (используйте настройки по " +"умолчанию для каждого чипа) (целочисленное)" -#: source/ubl-settings-bootloader.h:162 msgid "Disable display (default: false) (логическое значение)" msgstr "Отключить отображение (по умолчанию: false) (логическое значение)" -#: source/ubl-settings-bootloader.h:162 -msgid "Enable GuC load for GuC submission and/or HuC load. Required functionality can be selected using bitmask values. (-1=auto [default], 0=disable, 1=GuC submission, 2=HuC load) (целочисленное)" -msgstr "Включить загрузку GuC для отправки GuC и/или загрузки HuC. Требуемую функциональность можно выбрать с помощью значений битовой маски. (-1=авто [по умолчанию], 0=отключить, 1=отправка GuC, 2=загрузка HuC) (целочисленное)" +msgid "" +"Enable GuC load for GuC submission and/or HuC load. Required " +"functionality can be selected using bitmask values. (-1=auto [default], " +"0=disable, 1=GuC submission, 2=HuC load) (целочисленное)" +msgstr "" +"Включить загрузку GuC для отправки GuC и/или загрузки HuC. Требуемую " +"функциональность можно выбрать с помощью значений битовой маски. (-1=авто " +"[по умолчанию], 0=отключить, 1=отправка GuC, 2=загрузка HuC) " +"(целочисленное)" -#: source/ubl-settings-bootloader.h:162 -msgid "Enable multi-stream transport (MST) for new DisplayPort sinks. (default: true) (логическое значение)" -msgstr "Включить многопотоковую передачу (MST) для новых приемников DisplayPort. (по умолчанию: true) (логическое значение)" +msgid "" +"Enable multi-stream transport (MST) for new DisplayPort sinks. (default: " +"true) (логическое значение)" +msgstr "" +"Включить многопотоковую передачу (MST) для новых приемников DisplayPort. " +"(по умолчанию: true) (логическое значение)" -#: source/ubl-settings-bootloader.h:162 -msgid "Enable support for Intel GVT-g graphics virtualization host support (default:false) (логическое значение)" -msgstr "Включить поддержку хоста виртуализации графики Intel GVT-g (по умолчанию: false) (логическое значение)" +msgid "" +"Enable support for Intel GVT-g graphics virtualization host support " +"(default:false) (логическое значение)" +msgstr "" +"Включить поддержку хоста виртуализации графики Intel GVT-g (по умолчанию: " +"false) (логическое значение)" -#: source/ubl-settings-bootloader.h:162 msgid "Marvell SATA via AHCI (1 = enabled) (целочисленное)" msgstr "Marvell SATA через AHCI (1 = включено) (целочисленное)" -#: source/ubl-settings-bootloader.h:162 msgid "Default LPM policy for mobile chipsets (default:-1) (целочисленное)" -msgstr "Политика LPM по умолчанию для мобильных чипсетов (по умолчанию:-1) (целочисленное)" +msgstr "" +"Политика LPM по умолчанию для мобильных чипсетов (по умолчанию:-1) " +"(целочисленное)" -#: source/ubl-settings-bootloader.h:162 -msgid "Force the DSP driver for Intel DSP (0=auto, 1=legacy, 2=SST, 3=SOF) (целочисленное)" -msgstr "Принудительно установить драйвер DSP для Intel DSP (0=авто, 1=устаревший, 2=SST, 3=SOF) (целочисленное)" +msgid "" +"Force the DSP driver for Intel DSP (0=auto, 1=legacy, 2=SST, 3=SOF) " +"(целочисленное)" +msgstr "" +"Принудительно установить драйвер DSP для Intel DSP (0=авто, 1=устаревший, " +"2=SST, 3=SOF) (целочисленное)" -#: source/ubl-settings-bootloader.h:162 -msgid "Do not use ACPI _CST for building the idle states list (default:N) (логическое значение)" -msgstr "Не использовать ACPI _CST для создания списка состояний простоя (по умолчанию: N) (логическое значение)" +msgid "" +"Do not use ACPI _CST for building the idle states list (default:N) " +"(логическое значение)" +msgstr "" +"Не использовать ACPI _CST для создания списка состояний простоя (по " +"умолчанию: N) (логическое значение)" -#: source/ubl-settings-bootloader.h:162 -msgid "Use ACPI _CST for building the idle states list (default:N) (логическое значение)" -msgstr "Используйте ACPI _CST для создания списка состояний простоя (по умолчанию: N) (логическое значение)" +msgid "" +"Use ACPI _CST for building the idle states list (default:N) (логическое " +"значение)" +msgstr "" +"Используйте ACPI _CST для создания списка состояний простоя (по " +"умолчанию: N) (логическое значение)" -#: source/ubl-settings-bootloader.h:162 -msgid "Prevents the processor from going into a deep sleep state (default:9) (целочисленное)" -msgstr "Предотвращает переход процессора в состояние глубокого сна (по умолчанию: 9) (целочисленное)" +msgid "" +"Prevents the processor from going into a deep sleep state (default:9) " +"(целочисленное)" +msgstr "" +"Предотвращает переход процессора в состояние глубокого сна (по умолчанию: " +"9) (целочисленное)" -#: source/ubl-settings-bootloader.h:162 -msgid "Eliminates flickering laptop display on Ultra Voltage processors (целочисленное)" -msgstr "Устраняет мерцание дисплея ноутбука на процессорах сверхнапряжения (целочисленное)" +msgid "" +"Eliminates flickering laptop display on Ultra Voltage processors " +"(целочисленное)" +msgstr "" +"Устраняет мерцание дисплея ноутбука на процессорах сверхнапряжения " +"(целочисленное)" -#: source/ubl-settings-bootloader.h:162 -msgid "Mask of disabled idle states (0=disabled, 1=enabled) Default: 0 (целочисленное)" -msgstr "Маска отключенных состояний простоя (0=отключено, 1=включено) По умолчанию: 0 (целочисленное)" +msgid "" +"Mask of disabled idle states (0=disabled, 1=enabled) Default: 0 " +"(целочисленное)" +msgstr "" +"Маска отключенных состояний простоя (0=отключено, 1=включено) По " +"умолчанию: 0 (целочисленное)" -#: source/ubl-settings-bootloader.h:162 msgid "Default autosuspend delay (-1=disabled) (целочисленное)" -msgstr "Задержка автоприостановки по умолчанию (-1=отключено) (целочисленное)" +msgstr "" +"Задержка автоприостановки по умолчанию (-1=отключено) (целочисленное)" -#: source/ubl-settings-bootloader.h:162 msgid "Force dont`t load nouveau driver video for Nvidia" -msgstr "Принудительно не загружать видео драйвера nouveau для Nvidia" \ No newline at end of file +msgstr "Принудительно не загружать видео драйвера nouveau для Nvidia"