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