ubl-settings-bootloader remake WIP 90%

pull/83/head
parent 8dac902ceb
commit ec1586f15a

@ -11,8 +11,8 @@ CMAKE_BUILD_DIR = $(MAKEFILE_PATH)compile
DEPENDS = /bin/cmake DEPENDS = /bin/cmake
PREFIX ?= /usr/local PREFIX ?= /usr/local
PKGNAME = $(MAKEFILE_DIR) PKGNAME = $(MAKEFILE_DIR)
FILE_VER = source/${PKGNAME}.cc FILE_VER = source/${PKGNAME}.h
PKGIDENT = $(subst /,-,$(subst /usr,,${PREFIX})) PKGIDENT=$(subst /,-,${PREFIX})
default_target: all default_target: all
@ -72,6 +72,7 @@ check:
build: depend prepare build: depend prepare
@echo "Build ..."; \ @echo "Build ..."; \
$(MAKE_COMMAND) --directory=${CMAKE_BUILD_DIR}; \ $(MAKE_COMMAND) --directory=${CMAKE_BUILD_DIR}; \
sed -r "s/^(string version_application).*/\1;/" -i ${FILE_VER}; \
echo "Build: OK" echo "Build: OK"
uninstall: uninstall:
@ -93,13 +94,7 @@ uninstall:
done done
@$(RM) "${DESTDIR}${PREFIX}/bin/${PKGNAME}" @$(RM) "${DESTDIR}${PREFIX}/bin/${PKGNAME}"
@$(RM) "${DESTDIR}${PREFIX}/share/applications/${PKGNAME}.desktop" @$(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/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 \ @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}${PREFIX}/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}${PREFIX}/share/icons/hicolor/" &>/dev/null || true; \
update-desktop-database --quiet &>/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"; \ 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"; \ 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 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 @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 @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 -Dm755 -t "${DESTDIR}${PREFIX}/bin/" "${CMAKE_BUILD_DIR}/${PKGNAME}"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/applications/" "${PKGNAME}.desktop" @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}/usr/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/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/polkit-1/actions/" "${CMAKE_BUILD_DIR}/com.ublinux.${PKGNAME}${PKGIDENT}.policy"
@install -Dm644 -t "${DESTDIR}/usr/share/${PKGNAME}/" grub-terminal-input.csv @ldconfig -n /usr/local/lib
@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
@if [ -z ${DESTDIR} ]; then \ @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; \ 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 fi
@echo "Install: OK" @echo "Install: OK"
@ -147,7 +138,6 @@ clean:
@if [ -d ${CMAKE_BUILD_DIR} ]; then \ @if [ -d ${CMAKE_BUILD_DIR} ]; then \
echo "Clean: error, compile directory exist ${CMAKE_BUILD_DIR}"; \ echo "Clean: error, compile directory exist ${CMAKE_BUILD_DIR}"; \
else \ else \
sed -r "s/^(string version_application).*/\1;/" -i ${FILE_VER}; \
echo "Clean: OK"; \ echo "Clean: OK"; \
fi fi
@ -157,7 +147,7 @@ help:
echo "... init"; \ echo "... init"; \
echo "... debug"; \ echo "... debug"; \
echo "... prepare"; \ echo "... prepare"; \
echo "... build"; \ echo "... compile"; \
echo "... install"; \ echo "... install"; \
echo "... uninstall"; \ echo "... uninstall"; \
echo "... clean" echo "... clean"

@ -2,6 +2,9 @@
<gresources> <gresources>
<gresource prefix="/com/ublinux/ui"> <gresource prefix="/com/ublinux/ui">
<file>ubl-settings-bootloader.glade</file> <file>ubl-settings-bootloader.glade</file>
<file>ubl-settings-bootloader-password.glade</file>
<file>ubl-settings-bootloader-user.glade</file>
<file>ubl-settings-bootloader-ringtone.glade</file>
</gresource> </gresource>
<gresource prefix="/com/ublinux/css"> <gresource prefix="/com/ublinux/css">
<file>ubl-settings-bootloader.css</file> <file>ubl-settings-bootloader.css</file>
@ -9,4 +12,9 @@
<gresource prefix="/com/ublinux/images"> <gresource prefix="/com/ublinux/images">
<file>ubl-settings-bootloader-banner.png</file> <file>ubl-settings-bootloader-banner.png</file>
</gresource> </gresource>
<gresource prefix="/com/ublinux/csv">
<file>grub-parameters.csv</file>
<file>grub-terminal-input.csv</file>
<file>grub-terminal-output.csv</file>
</gresource>
</gresources> </gresources>

@ -1,2 +0,0 @@
Option|Tone code
ubbeep|480 900 2 1000 2 800 2 400 2 600 3
1 Option Tone code
2 ubbeep 480 900 2 1000 2 800 2 400 2 600 3

@ -3,4 +3,4 @@ console|PC BIOS & EFI console
serial|Serial terminal serial|Serial terminal
ofconsole|Open Firmware Console ofconsole|Open Firmware Console
at_keyboard|PC AT Keyboard (Coreboot) at_keyboard|PC AT Keyboard (Coreboot)
usb_keyboard|USB Keyboard (HID Boot protocol) usb_keyboard|USB Keyboard (HID Boot protocol)
1 Option Description
3 serial Serial terminal
4 ofconsole Open Firmware Console
5 at_keyboard PC AT Keyboard (Coreboot)
6 usb_keyboard USB Keyboard (HID Boot protocol)

@ -3,4 +3,4 @@ console|PC BIOS & EFI console
serial|Serial terminal serial|Serial terminal
ofconsole|Open Firmware Console ofconsole|Open Firmware Console
gfxterm|Output in graphical mode gfxterm|Output in graphical mode
vga_text|VGA text output (Coreboot) vga_text|VGA text output (Coreboot)
1 Option Description
3 serial Serial terminal
4 ofconsole Open Firmware Console
5 gfxterm Output in graphical mode
6 vga_text VGA text output (Coreboot)

@ -32,6 +32,12 @@ add_custom_target(GLADE ubl-settings-bootloader.glade)
set(DEPENDFILES set(DEPENDFILES
../ubl-settings-bootloader.glade ../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 ../gresource.xml
../ubl-settings-bootloader-banner.png ../ubl-settings-bootloader-banner.png
../ubl-settings-bootloader.css ../ubl-settings-bootloader.css
@ -72,6 +78,9 @@ endif()
set(SOURCE_FILES set(SOURCE_FILES
ubl-settings-bootloader.c ubl-settings-bootloader.c
ubl-settings-bootloader-user.c
ubl-settings-bootloader-password.c
ubl-settings-bootloader-melody.c
ubl-settings-bootloader.h ubl-settings-bootloader.h
ubl-strings.h ubl-strings.h
) )

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

@ -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;i<strlen(password);i++){
if (password[i]=='!'||password[i]=='@'||password[i]=='#'||password[i]=='%'||password[i]=='^'||password[i]=='&'||password[i]=='*'||password[i]=='\"'||password[i]=='\''){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),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)<main_config.password_min_length){
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;
}
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;
}

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

@ -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){ void yon_load_proceed(YON_CONFIG_TYPE type){
yon_config_clean(); yon_config_clean();
if (!yon_char_is_empty(config_get_default_command)) 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;i<users_size;i++){
yon_char_remove_last_symbol(users[i],'\n');
char *password = yon_char_new(users[i]);
char *username = yon_char_divide_search(password,"=",-1);
free(yon_char_divide_search(username,"[",-1));
yon_char_remove_last_symbol(username,']');
gtk_list_store_append(widgets->BootUsersList,&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;i<size;i++){
char *cur_code = NULL;
char *name = yon_char_new(codes[(int)i]);
yon_window_config_get_parameter("melodies",name,&cur_code,YON_TYPE_STRING);
gtk_list_store_append(widgets->BootRingtoneList,&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;i<main_config.kernel_size;i++){
char *description = yon_char_new(main_config.kernel_parameters[i]);
char *cur_parameter = yon_char_divide_search(description,"|",-1);
gtk_list_store_append(widgets->KernelParametersList,&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;i<main_config.input_size;i++){
char *description = yon_char_new(main_config.input_parameters[i]);
char *cur_parameter = yon_char_divide_search(description,"|",-1);
gtk_list_store_append(widgets->InputTerminalList,&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;i<main_config.output_size;i++){
char *description = yon_char_new(main_config.output_parameters[i]);
char *cur_parameter = yon_char_divide_search(description,"|",-1);
gtk_list_store_append(widgets->OutputTerminalList,&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,&parameter,-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,&parameter,-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,&parameter,-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 // standard functions
@ -84,6 +384,23 @@ void config_init(){
main_config.lock_save_global=0; main_config.lock_save_global=0;
main_config.lock_save_local=0; main_config.lock_save_local=0;
main_config.load_mode=1; 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) /**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); gtk_box_pack_start(GTK_BOX(widgets->InterfaceBox),yon_gtk_builder_get_widget(builder,"BoxMain"),1,1,0);
// Custom widgets configuration // Custom widgets configuration
{ {
widgets->BootDisplayMode = yon_gtk_builder_get_widget(builder,"BootDisplayMode");
widgets->BootRingtoneAddButton = yon_gtk_builder_get_widget(builder,"BootRingtoneAddButton"); widgets->BootRingtoneAddButton = yon_gtk_builder_get_widget(builder,"BootRingtoneAddButton");
widgets->BootRingtoneEditButton = yon_gtk_builder_get_widget(builder,"BootRingtoneEditButton"); widgets->BootRingtoneEditButton = yon_gtk_builder_get_widget(builder,"BootRingtoneEditButton");
widgets->BootRingtoneRemoveButton = yon_gtk_builder_get_widget(builder,"BootRingtoneRemoveButton"); widgets->BootRingtoneRemoveButton = yon_gtk_builder_get_widget(builder,"BootRingtoneRemoveButton");
widgets->BootRingtoneTree = yon_gtk_builder_get_widget(builder,"BootRingtoneTree"); 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->BootUsersAddButton = yon_gtk_builder_get_widget(builder,"BootUsersAddButton");
widgets->BootUsersEditButton = yon_gtk_builder_get_widget(builder,"BootUsersEditButton"); widgets->BootUsersEditButton = yon_gtk_builder_get_widget(builder,"BootUsersEditButton");
widgets->BootUsersRemoveButton = yon_gtk_builder_get_widget(builder,"BootUsersRemoveButton"); widgets->BootUsersRemoveButton = yon_gtk_builder_get_widget(builder,"BootUsersRemoveButton");
widgets->BootUsersTree = yon_gtk_builder_get_widget(builder,"BootUsersTree"); 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->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->InputTerminalEntry = yon_gtk_builder_get_widget(builder,"InputTerminalEntry");
widgets->InputTerminalTree = yon_gtk_builder_get_widget(builder,"InputTerminalTree"); widgets->InputTerminalTree = yon_gtk_builder_get_widget(builder,"InputTerminalTree");
widgets->KernelParametersTree = yon_gtk_builder_get_widget(builder,"KernelParametersTree"); widgets->KernelParametersTree = yon_gtk_builder_get_widget(builder,"KernelParametersTree");
widgets->lblInfoDefaultDonw = yon_gtk_builder_get_widget(builder,"lblInfoDefaultDonw"); widgets->MenuButton = yon_gtk_builder_get_widget(builder,"MenuButton");
widgets->lblInfoSeconds = yon_gtk_builder_get_widget(builder,"lblInfoSeconds"); widgets->MenuOverlay = yon_gtk_builder_get_widget(builder,"MenuOverlay");
widgets->list_os = yon_gtk_builder_get_widget(builder,"list_os"); widgets->OSDefaultEntry = yon_gtk_builder_get_widget(builder,"OSDefaultEntry");
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->OutputTerminalEntry = yon_gtk_builder_get_widget(builder,"OutputTerminalEntry"); widgets->OutputTerminalEntry = yon_gtk_builder_get_widget(builder,"OutputTerminalEntry");
widgets->OutputTerminalTree = yon_gtk_builder_get_widget(builder,"OutputTerminalTree"); widgets->OutputTerminalTree = yon_gtk_builder_get_widget(builder,"OutputTerminalTree");
widgets->overMenuOS = yon_gtk_builder_get_widget(builder,"overMenuOS"); widgets->KernelChooseCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"KernelChooseCell"));
widgets->spbSecond = yon_gtk_builder_get_widget(builder,"spbSecond"); 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_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_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[]){ int main(int argc, char *argv[]){
local=setlocale(LC_ALL, ""); setlocale(LC_ALL, "");
textdomain (LocaleName); textdomain (LocaleName);
config_init(); config_init();

@ -20,85 +20,176 @@
#define _(String) gettext(String) #define _(String) gettext(String)
#define glade_path "/com/ublinux/ui/ubl-settings-bootloader.glade" #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 banner_path "/com/ublinux/images/ubl-settings-bootloader-banner.png"
#define CssPath "/com/ublinux/css/ubl-settings-bootloader.css" #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 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 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 LocaleName "ubl-settings-bootloader"
#define yon_config_get_custom_command(target) yon_char_unite("ubconfig --source ",target," get system PARAMETERS",NULL) #define check_is_password_hash(password) system(yon_char_unite("/lib/ublinux/functions is_hash_password '", password,"'",NULL))
#define config_get_local_command "ubconfig --source system get system PARAMETERS"
#define config_get_global_command "ubconfig --source global get system PARAMETERS" #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_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 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; typedef char* string;
string version_application;
char *local; __attribute__((unused)) static \
string version_application;
typedef struct { typedef struct {
template_config_fields template_config_fields
int save_config; int save_config;
config_str launch_arguments; config_str launch_arguments;
int launch_size; 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; } config;
extern config main_config;
typedef struct { typedef struct {
template_window_fields template_window_fields
GtkWidget *BootDisplayMode;
GtkWidget *BootRingtoneAddButton; GtkWidget *BootRingtoneAddButton;
GtkWidget *BootRingtoneEditButton; GtkWidget *BootRingtoneEditButton;
GtkWidget *BootRingtoneRemoveButton; GtkWidget *BootRingtoneRemoveButton;
GtkWidget *BootRingtoneTree; GtkWidget *BootRingtoneTree;
GtkWidget *BootSelectionTimerCheck;
GtkWidget *BootSelectionTimerSpin;
GtkWidget *BootUsersAddButton; GtkWidget *BootUsersAddButton;
GtkWidget *BootUsersEditButton; GtkWidget *BootUsersEditButton;
GtkWidget *BootUsersRemoveButton; GtkWidget *BootUsersRemoveButton;
GtkWidget *BootUsersTree; 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 *CommandLineParametersEntry;
GtkWidget *entrListOS;
GtkWidget *InputTerminalEntry; GtkWidget *InputTerminalEntry;
GtkWidget *InputTerminalTree; GtkWidget *InputTerminalTree;
GtkWidget *KernelParametersTree; GtkWidget *KernelParametersTree;
GtkWidget *lblInfoDefaultDonw; GtkWidget *MenuButton;
GtkWidget *lblInfoSeconds; GtkWidget *MenuOverlay;
GtkWidget *list_os; GtkWidget *OSDefaultEntry;
GtkWidget *menu;
GtkWidget *menu1;
GtkWidget *menu2;
GtkWidget *OutputTerminalEntry; GtkWidget *OutputTerminalEntry;
GtkWidget *OutputTerminalTree; GtkWidget *OutputTerminalTree;
GtkWidget *overMenuOS;
GtkWidget *spbSecond; GtkCellRenderer *KernelChooseCell;
GtkCellRenderer *OutputChosenCell;
GtkCellRenderer *InputChosenCell;
GtkListStore *BootUsersList;
GtkListStore *BootRingtoneList;
GtkListStore *KernelParametersList;
GtkListStore *InputTerminalList;
GtkListStore *OutputTerminalList;
} main_window; } 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 { typedef struct {
GtkWidget *Window; GtkWidget *Window;
GtkWidget *HeaderLabel; GtkWidget *StatusBox;
GtkWidget *TitleLabel;
GtkWidget *AlwaysOpenCheck; GtkWidget *ChooseCheck;
GtkWidget *NameEntry;
GtkWidget *CodeEntry;
GtkWidget *CloseButton; GtkWidget *CancelButton;
GtkWidget *AcceptButton; GtkWidget *AcceptButton;
} documentation_confirmation_window;
char *prev_name;
} yon_ringtone_window;
//main
void on_save_done(main_window *, config_str output, int size); 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); 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_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 config_init();
void yon_main_window_complete(main_window *widgets); 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();

@ -1,3 +1,57 @@
#define TITLE_LABEL _("ubl-settings-bootloader") #define TITLE_LABEL _("System boot")
#define TITLE_INFO_LABEL _("TEMPLATE configuration") #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)

@ -0,0 +1,290 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface domain="ubl-settings-bootloader">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-bootloader.css -->
<object class="GtkImage" id="image4">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-usergroups.cancel-symbolic</property>
</object>
<object class="GtkImage" id="image5">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-usergroups.accept-symbolic</property>
</object>
<object class="GtkWindow" id="MainWindow">
<property name="width-request">450</property>
<property name="height-request">250</property>
<property name="can-focus">False</property>
<property name="resizable">False</property>
<property name="modal">True</property>
<property name="default-width">450</property>
<property name="icon-name">com.ublinux.ubl-settings-usergroups</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-bottom">5</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkBox" id="StatusBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkBox" id="PasswordBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel" id="label3">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Password:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="PasswordEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="visibility">False</property>
<property name="invisible-char">*</property>
<property name="truncate-multiline">True</property>
<property name="secondary-icon-name">com.ublinux.ubl-settings-usergroups.view-symbolic</property>
<property name="placeholder-text" translatable="yes">********</property>
<property name="input-purpose">password</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Repeat password:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="RepeatPasswordEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="visibility">False</property>
<property name="invisible-char">*</property>
<property name="truncate-multiline">True</property>
<property name="secondary-icon-name">com.ublinux.ubl-settings-usergroups.view-symbolic</property>
<property name="placeholder-text" translatable="yes">********</property>
<property name="input-purpose">password</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox" id="HashBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkSeparator">
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="NoEncriptionCheck">
<property name="label" translatable="yes">Do not encrypt password</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="draw-indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Password hash:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="PasswordHashEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="visibility">False</property>
<property name="invisible-char">*</property>
<property name="secondary-icon-name">com.ublinux.ubl-settings-usergroups.view-symbolic</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
<child type="titlebar">
<object class="GtkHeaderBar">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child type="title">
<object class="GtkLabel" id="userTitleNameLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Password input</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
<child>
<object class="GtkButton" id="UserCancelButton">
<property name="label" translatable="yes">Cancel</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image4</property>
<style>
<class name="button"/>
<class name="marginright"/>
</style>
</object>
</child>
<child>
<object class="GtkButton" id="UserOkButton">
<property name="label" translatable="yes">Accept</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image5</property>
<style>
<class name="button"/>
<class name="marginright"/>
</style>
</object>
<packing>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
<object class="GtkSizeGroup">
<widgets>
<widget name="label3"/>
<widget name="label2"/>
</widgets>
</object>
</interface>

@ -0,0 +1,203 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface domain="ubl-settings-bootloader">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-bootloader.css -->
<object class="GtkWindow" id="MainWindow">
<property name="width-request">450</property>
<property name="height-request">250</property>
<property name="can-focus">False</property>
<property name="resizable">False</property>
<property name="modal">True</property>
<property name="default-width">450</property>
<property name="icon-name">com.ublinux.ubl-settings-usergroups</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-bottom">5</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkBox" id="StatusBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkCheckButton" id="ChooseCheck">
<property name="label" translatable="yes">Chosen</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="draw-indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Name:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="NameEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Melody code:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="CodeEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="invisible-char">*</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
<child type="titlebar">
<object class="GtkHeaderBar">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child type="title">
<object class="GtkLabel" id="TitleLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Add ringtone</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
<child>
<object class="GtkButton" id="CancelButton">
<property name="label" translatable="yes">Cancel</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image4</property>
<style>
<class name="button"/>
<class name="marginright"/>
</style>
</object>
</child>
<child>
<object class="GtkButton" id="AcceptButton">
<property name="label" translatable="yes">Accept</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image5</property>
<style>
<class name="button"/>
<class name="marginright"/>
</style>
</object>
<packing>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
<object class="GtkSizeGroup">
<widgets>
<widget name="label1"/>
<widget name="label2"/>
</widgets>
</object>
<object class="GtkImage" id="image4">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-usergroups.cancel-symbolic</property>
</object>
<object class="GtkImage" id="image5">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-usergroups.accept-symbolic</property>
</object>
</interface>

@ -0,0 +1,222 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface domain="ubl-settings-bootloader">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-bootloader.css -->
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">document-edit-symbolic</property>
</object>
<object class="GtkImage" id="image4">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-usergroups.cancel-symbolic</property>
</object>
<object class="GtkImage" id="image5">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-usergroups.accept-symbolic</property>
</object>
<object class="GtkWindow" id="MainWindow">
<property name="width-request">450</property>
<property name="height-request">250</property>
<property name="can-focus">False</property>
<property name="resizable">False</property>
<property name="modal">True</property>
<property name="default-width">450</property>
<property name="icon-name">com.ublinux.ubl-settings-usergroups</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-bottom">5</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkBox" id="StatusBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkCheckButton" id="AdminCheck">
<property name="label" translatable="yes">Administrator</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="draw-indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">User name:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="UsernameEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">User password:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="PasswordEntry">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="visibility">False</property>
<property name="invisible-char">*</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="PasswordButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image1</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
<child type="titlebar">
<object class="GtkHeaderBar">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child type="title">
<object class="GtkLabel" id="TitleLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Add user</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
<child>
<object class="GtkButton" id="CancelButton">
<property name="label" translatable="yes">Cancel</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image4</property>
<style>
<class name="button"/>
<class name="marginright"/>
</style>
</object>
</child>
<child>
<object class="GtkButton" id="AcceptButton">
<property name="label" translatable="yes">Accept</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image5</property>
<style>
<class name="button"/>
<class name="marginright"/>
</style>
</object>
<packing>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
<object class="GtkSizeGroup">
<widgets>
<widget name="label1"/>
<widget name="label2"/>
</widgets>
</object>
</interface>

@ -1,8 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.40.0 --> <!-- Generated with glade 3.38.2 -->
<interface domain="ubl-settings-bootloader"> <interface domain="ubl-settings-bootloader">
<requires lib="gtk+" version="3.24"/> <requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-bootloader.css --> <!-- interface-css-provider-path ubl-settings-bootloader.css -->
<object class="GtkListStore" id="BootRingtoneList">
<columns>
<!-- column-name Chosen -->
<column type="gboolean"/>
<!-- column-name Name -->
<column type="gchararray"/>
<!-- column-name Code -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkListStore" id="BootUsersList">
<columns>
<!-- column-name IsAdmin -->
<column type="gboolean"/>
<!-- column-name Username -->
<column type="gchararray"/>
<!-- column-name PasswordRender -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkListStore" id="InputTerminalList">
<columns>
<!-- column-name Chosen -->
<column type="gboolean"/>
<!-- column-name Option -->
<column type="gchararray"/>
<!-- column-name Description -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkListStore" id="KernelParametersList">
<columns>
<!-- column-name Active -->
<column type="gboolean"/>
<!-- column-name Parameter -->
<column type="gchararray"/>
<!-- column-name Description -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkListStore" id="OutputTerminalList">
<columns>
<!-- column-name Chosen -->
<column type="gboolean"/>
<!-- column-name Option -->
<column type="gchararray"/>
<!-- column-name Description -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkAdjustment" id="adjustment1">
<property name="upper">60</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.increase-symbolic</property>
</object>
<object class="GtkBox" id="BoxMain"> <object class="GtkBox" id="BoxMain">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
@ -25,7 +85,7 @@
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<child> <child>
<object class="GtkBox" id="boxWidgetAll"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
@ -44,7 +104,7 @@
<property name="left-padding">5</property> <property name="left-padding">5</property>
<property name="right-padding">5</property> <property name="right-padding">5</property>
<child> <child>
<object class="GtkOverlay" id="overMenuOS"> <object class="GtkOverlay" id="MenuOverlay">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<child> <child>
@ -60,7 +120,7 @@
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="spacing">5</property> <property name="spacing">5</property>
<child> <child>
<object class="GtkCheckButton" id="chbLoadVariantSelectionTimer"> <object class="GtkCheckButton" id="BootSelectionTimerCheck">
<property name="label" translatable="yes">Boot selection menu timer:</property> <property name="label" translatable="yes">Boot selection menu timer:</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
@ -77,9 +137,11 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkSpinButton" id="spbSecond"> <object class="GtkSpinButton" id="BootSelectionTimerSpin">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="adjustment">adjustment1</property>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
@ -88,10 +150,10 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkLabel" id="lblInfoSeconds"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">Seconds</property> <property name="label" translatable="yes">seconds</property>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
@ -112,7 +174,7 @@
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="spacing">5</property> <property name="spacing">5</property>
<child> <child>
<object class="GtkLabel" id="lblInfoDefaultDonw"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="halign">start</property> <property name="halign">start</property>
@ -127,7 +189,7 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkEntry" id="entrListOS"> <object class="GtkEntry" id="OSDefaultEntry">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
</object> </object>
@ -138,7 +200,7 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkButton" id="btnOpenMenuOS1"> <object class="GtkButton" id="MenuButton">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
@ -146,7 +208,7 @@
<object class="GtkImage"> <object class="GtkImage">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="icon-name">image-loading-symbolic</property> <property name="icon-name">com.ublinux.libublsettingsui-gtk3.settings-symbolic</property>
</object> </object>
</child> </child>
</object> </object>
@ -184,7 +246,7 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkComboBoxText" id="cmbDownloadMode"> <object class="GtkComboBoxText" id="BootDisplayMode">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
</object> </object>
@ -234,6 +296,43 @@
<object class="GtkTreeView" id="BootUsersTree"> <object class="GtkTreeView" id="BootUsersTree">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="model">BootUsersList</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Administrator</property>
<child>
<object class="GtkCellRendererToggle"/>
<attributes>
<attribute name="active">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">User</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="markup">1</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Password</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="markup">2</attribute>
</attributes>
</child>
</object>
</child>
</object> </object>
</child> </child>
<child type="label_item"> <child type="label_item">
@ -264,16 +363,8 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
<child> <property name="tooltip-text" translatable="yes">Add</property>
<object class="GtkImage"> <property name="image">image1</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">value-increase-symbolic</property>
<style>
<class name="thin"/>
</style>
</object>
</child>
<style> <style>
<class name="thin"/> <class name="thin"/>
</style> </style>
@ -289,6 +380,7 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Edit</property>
<child> <child>
<object class="GtkImage"> <object class="GtkImage">
<property name="visible">True</property> <property name="visible">True</property>
@ -314,6 +406,7 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Remove</property>
<child> <child>
<object class="GtkImage"> <object class="GtkImage">
<property name="visible">True</property> <property name="visible">True</property>
@ -389,6 +482,45 @@
<object class="GtkTreeView" id="BootRingtoneTree"> <object class="GtkTreeView" id="BootRingtoneTree">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="model">BootRingtoneList</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Chosen</property>
<child>
<object class="GtkCellRendererToggle">
<property name="radio">True</property>
</object>
<attributes>
<attribute name="active">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Name</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="markup">1</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Melody code</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="markup">2</attribute>
</attributes>
</child>
</object>
</child>
</object> </object>
</child> </child>
<child type="label_item"> <child type="label_item">
@ -412,13 +544,8 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
<child> <property name="tooltip-text" translatable="yes">Add</property>
<object class="GtkImage"> <property name="image">image2</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">value-increase-symbolic</property>
</object>
</child>
<style> <style>
<class name="thin"/> <class name="thin"/>
</style> </style>
@ -434,6 +561,7 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Edit</property>
<child> <child>
<object class="GtkImage"> <object class="GtkImage">
<property name="visible">True</property> <property name="visible">True</property>
@ -456,6 +584,7 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Remove</property>
<child> <child>
<object class="GtkImage"> <object class="GtkImage">
<property name="visible">True</property> <property name="visible">True</property>
@ -544,7 +673,7 @@
<property name="spacing">5</property> <property name="spacing">5</property>
<child> <child>
<object class="GtkScrolledWindow"> <object class="GtkScrolledWindow">
<property name="height-request">141</property> <property name="height-request">145</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="shadow-type">in</property> <property name="shadow-type">in</property>
@ -552,6 +681,42 @@
<object class="GtkTreeView" id="KernelParametersTree"> <object class="GtkTreeView" id="KernelParametersTree">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="model">KernelParametersList</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn">
<child>
<object class="GtkCellRendererToggle" id="KernelChooseCell"/>
<attributes>
<attribute name="active">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Option</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Description</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">2</attribute>
</attributes>
</child>
</object>
</child>
</object> </object>
</child> </child>
</object> </object>
@ -644,8 +809,45 @@
<property name="shadow-type">in</property> <property name="shadow-type">in</property>
<child> <child>
<object class="GtkTreeView" id="InputTerminalTree"> <object class="GtkTreeView" id="InputTerminalTree">
<property name="height-request">145</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="model">InputTerminalList</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn">
<child>
<object class="GtkCellRendererToggle" id="InputChosenCell"/>
<attributes>
<attribute name="active">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Option</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Description</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">2</attribute>
</attributes>
</child>
</object>
</child>
</object> </object>
</child> </child>
<child type="label_item"> <child type="label_item">
@ -742,8 +944,45 @@
<property name="shadow-type">in</property> <property name="shadow-type">in</property>
<child> <child>
<object class="GtkTreeView" id="OutputTerminalTree"> <object class="GtkTreeView" id="OutputTerminalTree">
<property name="height-request">145</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="model">OutputTerminalList</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn">
<child>
<object class="GtkCellRendererToggle" id="OutputChosenCell"/>
<attributes>
<attribute name="active">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Option</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Description</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">2</attribute>
</attributes>
</child>
</object>
</child>
</object> </object>
</child> </child>
<child type="label_item"> <child type="label_item">
@ -832,99 +1071,9 @@
</packing> </packing>
</child> </child>
</object> </object>
<object class="GtkMenu" id="list_os"> <object class="GtkImage" id="image2">
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
<object class="GtkMenu" id="menu">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="take-focus">False</property>
<property name="reserve-toggle-size">False</property>
<property name="rect-anchor-dy">4</property>
<child>
<object class="GtkMenuItem" id="btnLoadGlob">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Load global configuration</property>
<style>
<class name="menuitemtop"/>
</style>
</object>
</child>
<child>
<object class="GtkMenuItem" id="btnLoadLocal">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Load local configuration</property>
<style>
<class name="menuitembottom"/>
</style>
</object>
</child>
</object>
<object class="GtkMenu" id="menu1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="take-focus">False</property>
<property name="reserve-toggle-size">False</property>
<property name="rect-anchor-dy">4</property>
<child>
<object class="GtkMenuItem" id="btnHelp">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Help</property>
<style>
<class name="menuitemtop"/>
</style>
</object>
</child>
<child>
<object class="GtkMenuItem" id="btnAbout">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">About</property>
<style>
<class name="menuitembottom"/>
</style>
</object>
</child>
</object>
<object class="GtkMenu" id="menu2">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="take-focus">False</property> <property name="icon-name">com.ublinux.libublsettingsui-gtk3.increase-symbolic</property>
<property name="reserve-toggle-size">False</property>
<property name="rect-anchor-dy">4</property>
<child>
<object class="GtkMenuItem" id="btnSaveLocalGlob">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Save to global and local configuration</property>
<style>
<class name="menuitemtop"/>
</style>
</object>
</child>
<child>
<object class="GtkMenuItem" id="btnSaveGlob">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Save global configuration</property>
<style>
<class name="menuitemmiddle"/>
</style>
</object>
</child>
<child>
<object class="GtkMenuItem" id="btnSaveLocal">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Save local configuration</property>
<style>
<class name="menuitembottom"/>
</style>
</object>
</child>
</object> </object>
</interface> </interface>

@ -17,695 +17,190 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
msgid "Edit" #: source/ubl-strings.h:2
msgstr "" msgid "System boot"
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"
msgstr "" msgstr ""
msgid "Delete melody" #: source/ubl-strings.h:3
msgstr "Удалить мелодию" msgid "Configuring system boot parameters"
msgid "Melody added"
msgstr "" msgstr ""
msgid "User added" #: source/ubl-strings.h:5
msgid "Boot menu"
msgstr "" msgstr ""
msgid "Melody deleted" #: source/ubl-strings.h:6
msgid "Boot selection menu timer:"
msgstr "" msgstr ""
msgid "User deleted" #: source/ubl-strings.h:7
msgid "seconds"
msgstr "" 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 "" msgstr ""
msgid "Enter name and password in the \"Boot Menu Users\" field" #: source/ubl-strings.h:9
msgid "Load screen display mode:"
msgstr "" msgstr ""
#: source/ubl-strings.h:10
msgid "Boot Menu Users" msgid "Boot Menu Users"
msgstr "" msgstr ""
msgid "Title" #: source/ubl-strings.h:11
msgstr "" msgid "Startup ringtone"
msgid ""
msgstr ""
msgid "Password"
msgstr ""
msgid "Administrator"
msgstr ""
msgid "Select"
msgstr ""
msgid "Melody code"
msgstr "" msgstr ""
msgid "Ringtone at startup" #: source/ubl-strings.h:12
msgstr "" msgid "Parameters passed to the kernel"
#: 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"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:45 source/ubl-settings-bootloader.h:44 #: source/ubl-strings.h:13
#: 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:" msgid "Command line parameters:"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:42 source/ubl-settings-bootloader.h:41 #: source/ubl-strings.h:14
#: 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
msgid "Input terminal" msgid "Input terminal"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:75 source/ubl-settings-bootloader.h:74 #: source/ubl-strings.h:15
#: 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
msgid "Output terminal" msgid "Output terminal"
msgstr "" msgstr ""
msgid "PC AT Keyboard (Coreboot)" #: source/ubl-strings.h:17 source/ubl-strings.h:47
msgstr "" msgid "Administrator"
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: "
msgstr "" msgstr ""
msgid "usb_keyboard (Keyboard USB Keyboard (protocol HID Boot))" #: source/ubl-strings.h:18
msgid "Name"
msgstr "" msgstr ""
msgid "vga_text (Text output VGA (Coreboot))" #: source/ubl-strings.h:19
msgid "User"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.cc:450 #: source/ubl-strings.h:20
msgid "Нет анимации загрузки, полный журнал" msgid "Password"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:21
msgid "Last succeeded load mode" msgid "Melody code"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:22
msgid "Disable Plymouth" msgid "Option"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:23
msgid "Write debug output into /var/log/plymouth-debug.log" msgid "Description"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:25
msgid "Disable ACPI" msgid "Add"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:26
msgid "Disable APIC" msgid "Edit"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:27
msgid "Disable local APIC" msgid "Remove"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:29
msgid "Single User Mode" msgid "Accept"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:30
msgid "Disable kernel selection and loading of video drivers" msgid "Cancel"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:32
msgid "enable driver (default: auto, 0 = disabled, 1 = enabled, 2 = headless) (int)" msgid "Password input"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:33 source/ubl-strings.h:40
msgid "disable kernel/abi16 acceleration (int)" msgid "Repeat password:"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:34 source/ubl-strings.h:42
msgid "Use kernel modesetting [KMS] (0=disable, 1=on, -1=force vga console preference [default]) (int)" msgid "Password hash:"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:35 source/ubl-strings.h:41
msgid "Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (int)" msgid "Do not encrypt password"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:36
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)" msgid "Password contain special symbols"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:37
msgid "Enable PSR (0=disabled, 1=enabled) (int)" msgid "Empty important field"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:38
msgid "Disable display power wells when possible (-1=auto [default], 0=power wells always on, 1=power wells disabled when possible) (int)" msgid "Password mismatch"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:39
msgid "Enable IPS (default: true) (int)" msgid "Password:"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:43
msgid "Try to skip unnecessary mode sets at boot time (0=disabled, 1=enabled) Default: -1 (use per-chip default) (int)" msgid "Password must be at least"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:43
msgid "Disable display (default: false) (bool)" msgid "characters"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:45
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)" msgid "Add user"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:46
msgid "Enable multi-stream transport (MST) for new DisplayPort sinks. (default: true) (bool)" msgid "Edit user"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:48
msgid "Enable support for Intel GVT-g graphics virtualization host support (default:false) (bool)" msgid "User name:"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:49
msgid "Marvell SATA via AHCI (1 = enabled) (int)" msgid "User password:"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:50
msgid "Default LPM policy for mobile chipsets (default:-1) (int)" msgid "Are you sure you want to remove user"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:50
msgid "Force the DSP driver for Intel DSP (0=auto, 1=legacy, 2=SST, 3=SOF) (int)" msgid "from boot menu users"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:52
msgid "Do not use ACPI _CST for building the idle states list (default:N) (bool)" msgid "Add ringtone"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:53
msgid "Use ACPI _CST for building the idle states list (default:N) (bool)" msgid "Edit ringtone"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:54
msgid "Prevents the processor from going into a deep sleep state (default:9) (int)" msgid "Chosen"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:55
msgid "Eliminates flickering laptop display on Ultra Voltage processors (int)" msgid "Name:"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:56
msgid "Mask of disabled idle states (0=disabled, 1=enabled) Default: 0 (uint)" msgid "Melody code:"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162 #: source/ubl-strings.h:57
msgid "default autosuspend delay (-1=disabled) (int)" msgid "Are you sure you want to remove ringtone"
msgstr "" msgstr ""
#: source/ubl-settings-bootloader.h:162
msgid "Force dont`t load nouveau driver video for Nvidia"
msgstr ""

@ -8,8 +8,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: ubl-settings-bootloader 1.0\n" "Project-Id-Version: ubl-settings-bootloader 1.0\n"
"Report-Msgid-Bugs-To: info@ublinux.com\n" "Report-Msgid-Bugs-To: info@ublinux.com\n"
"POT-Creation-Date: 2023-04-25 15:27+0600\n" "POT-Creation-Date: 2023-01-01 00:00+0600\n"
"PO-Revision-Date: 2020-02-22 23:28+0600\n" "PO-Revision-Date: 2025-04-17 23:28+0600\n"
"Last-Translator: ublinux <info@ublinux.ru>\n" "Last-Translator: ublinux <info@ublinux.ru>\n"
"Language-Team: Russian - UBLinux Team <info@ublinux.ru>\n" "Language-Team: Russian - UBLinux Team <info@ublinux.ru>\n"
"Language: Russian\n" "Language: Russian\n"
@ -17,463 +17,201 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
msgid "Edit" #: source/ubl-strings.h:2
msgstr "Редактирование" msgid "System boot"
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-settings-bootloader.h:42 source/ubl-settings-bootloader.h:41 #: source/ubl-strings.h:3
#: source/ubl-settings-bootloader.cc:417 source/ubl-settings-bootloader.cc:285
msgid "Configuring system boot parameters" msgid "Configuring system boot parameters"
msgstr "Настройка параметров загрузки системы" msgstr "Настройка параметров загрузки системы"
msgid "Configuring the boot loader settings" #: source/ubl-strings.h:5
msgstr "Настройка параметров загрузчика системы" msgid "Boot menu"
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-settings-bootloader.h:48 source/ubl-settings-bootloader.h:47 #: source/ubl-strings.h:6
#: source/ubl-settings-bootloader.cc:426 source/ubl-settings-bootloader.cc:294 msgid "Boot selection menu timer:"
msgid "Download menu" msgstr "Таймер меню выбора варианта загрузки:"
msgstr "Меню загрузки"
msgid "Downloading without text messages" #: source/ubl-strings.h:7
msgstr "Загрузка без текстовых сообщений" msgid "seconds"
msgstr "секунд"
msgid "Eliminates flickering laptop display on Ultra Voltage processors" #: source/ubl-strings.h:8
msgstr "Устраняет мерцание дисплея ноутбука на процессорах Ultra Voltage" msgid "Default OS:"
msgstr "Загрузка по умлочанию:"
#: source/ubl-settings-bootloader.h:78 source/ubl-settings-bootloader.h:77 #: source/ubl-strings.h:9
#: source/ubl-settings-bootloader.cc:496 msgid "Load screen display mode:"
msgid "Enter login" msgstr "Режим отображения экрана загрузки:"
msgstr "Введите логин"
#: source/ubl-settings-bootloader.h:77 source/ubl-settings-bootloader.h:76 #: source/ubl-strings.h:10
#: source/ubl-settings-bootloader.cc:476 msgid "Boot Menu Users"
msgid "Enter your password" msgstr "Пользователи меню загрузчика"
msgstr "Введите пароль"
#: source/ubl-settings-bootloader.h:84 source/ubl-settings-bootloader.h:83 #: source/ubl-strings.h:11
#: source/ubl-settings-bootloader.cc:897 source/ubl-settings-bootloader.cc:443 msgid "Startup ringtone"
#, fuzzy msgstr "Мелодия при запуске"
msgid "Error saved local and global configuration"
msgstr "Успешно записаны локальная и глобальная конфигурация"
msgid "Forced selection of an Intel sound device driver" #: source/ubl-strings.h:12
msgstr "Принудительный выбор драйвера звукового устройства от Intel" msgid "Parameters passed to the kernel"
msgstr "Параметры, передаваемые ядру"
msgid "" #: source/ubl-strings.h:13
"GTK settings bootloader for UBLinux\n" msgid "Command line parameters:"
"\n" msgstr "Параметры командной строки:"
"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 #: source/ubl-strings.h:14
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
msgid "Input terminal" msgid "Input terminal"
msgstr "Терминал для вывода" 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 "Вывод в графическом режиме"
#: source/ubl-settings-bootloader.cc:296 #: source/ubl-strings.h:15
msgid "Output terminal" msgid "Output terminal"
msgstr "Терминал для вывода" msgstr "Терминал для вывода"
msgid "PC AT Keyboard (Coreboot)" #: source/ubl-strings.h:17 source/ubl-strings.h:47
msgstr "Клавиатура PC AT (Coreboot)" msgid "Administrator"
msgstr "Администратор"
msgid "PC BIOS & EFI console"
msgstr "PC BIOS & консоль EFI"
msgid "Parameters passed to the kernel" #: source/ubl-strings.h:18
msgstr "Параметры, передаваемые ядру" msgid "Name"
msgstr "Название"
msgid "Prevents the processor from going into a deep sleep state" #: source/ubl-strings.h:19
msgstr "Предотвращает переход процессора в состояние глубокого сна" msgid "User"
msgstr "Пользователь"
#: source/ubl-settings-bootloader.h:41 source/ubl-settings-bootloader.h:40 #: source/ubl-strings.h:20
#: source/ubl-settings-bootloader.cc:416 source/ubl-settings-bootloader.cc:420 msgid "Password"
#: source/ubl-settings-bootloader.cc:284 source/ubl-settings-bootloader.cc:288 msgstr "Пароль"
msgid "Project homepage"
msgstr "Домашняя страница проекта"
#: source/ubl-settings-bootloader.h:61 source/ubl-settings-bootloader.h:60 #: source/ubl-strings.h:21
msgid "Read online" msgid "Melody code"
msgstr "Прочитать онлайн" msgstr "Код мелодии"
#: source/ubl-settings-bootloader.h:54 source/ubl-settings-bootloader.h:53 #: source/ubl-strings.h:22
#: source/ubl-settings-bootloader.cc:437 source/ubl-settings-bootloader.cc:307 msgid "Option"
msgid "Save" msgstr "Опция"
msgstr "Сохранить"
msgid "Boot Menu Users" #: source/ubl-strings.h:23
msgstr "Пользователи меню загрузчика" msgid "Description"
msgstr "Описание"
msgid "Title" #: source/ubl-strings.h:25
msgstr "Название" msgid "Add"
msgstr "Добавить"
msgid "User" #: source/ubl-strings.h:26
msgstr "Пользователь" msgid "Edit"
msgstr "Редактировать"
msgid "Enter the name and code of the tune in the \"Ringtone at startup\" field" #: source/ubl-strings.h:27
msgstr "Введите название и код мелодии в поле \"Мелодия при загрузке\"" msgid "Remove"
msgstr "Удалить"
msgid "Enter name and password in the \"Boot Menu Users\" field" #: source/ubl-strings.h:29
msgstr "Введите имя и пароль в поле \"Пользователи меню загрузчика\"" msgid "Accept"
msgstr "Принять"
msgid "Password" #: source/ubl-strings.h:30
msgstr "Пароль" msgid "Cancel"
msgstr "Отменить"
msgid "Melody added" #: source/ubl-strings.h:32
msgstr "Мелодия добавлена" msgid "Password input"
msgstr "Ввод пароля"
msgid "User added" #: source/ubl-strings.h:33 source/ubl-strings.h:40
msgstr "Пользователь добавлен" msgid "Repeat password:"
msgstr "Подтвердите ввод пароля:"
msgid "Melody deleted" #: source/ubl-strings.h:34 source/ubl-strings.h:42
msgstr "Мелодия удалена" msgid "Password hash:"
msgstr "Хэш пароля"
msgid "User deleted" #: source/ubl-strings.h:35 source/ubl-strings.h:41
msgstr "Пользователь удалён" msgid "Do not encrypt password"
msgstr "Не шифровать пароль"
msgid "Administrator" #: source/ubl-strings.h:36
msgstr "Администратор" msgid "Password contain special symbols"
msgstr "Пароль содержит специальные символы"
msgid "Select" #: source/ubl-strings.h:37
msgstr "Выбор" msgid "Empty important field"
msgstr "Пустое важное поле"
msgid "Melody code" #: source/ubl-strings.h:38
msgstr "Код мелодии" msgid "Password mismatch"
msgstr "Пароли не совпадают"
msgid "Ringtone at startup" #: source/ubl-strings.h:39
msgstr "Мелодия при загрузке" msgid "Password:"
msgstr "Пароль:"
#: source/ubl-settings-bootloader.h:58 source/ubl-settings-bootloader.h:57 #: source/ubl-strings.h:43
#: source/ubl-settings-bootloader.cc:434 source/ubl-settings-bootloader.cc:304 msgid "Password must be at least"
msgid "Save in global configuration" msgstr "Пароль состоять из по крайней мере"
msgstr "Сохранить в глобальную конфигурацию"
#: source/ubl-settings-bootloader.h:57 source/ubl-settings-bootloader.h:56 #: source/ubl-strings.h:43
#: source/ubl-settings-bootloader.cc:433 source/ubl-settings-bootloader.cc:303 msgid "characters"
msgid "Save in local configuration" msgstr "символов"
msgstr "Сохранить в локальную конфигурацию"
#: source/ubl-settings-bootloader.h:56 source/ubl-settings-bootloader.h:55 #: source/ubl-strings.h:45
#: source/ubl-settings-bootloader.cc:432 source/ubl-settings-bootloader.cc:302 msgid "Add user"
msgid "Save configuration" msgstr "Добавить пользователя"
msgstr "Сохранить конфигурацию"
#: source/ubl-settings-bootloader.cc:293 #: source/ubl-strings.h:46
#, fuzzy msgid "Edit user"
msgid "Seconds" msgstr "Редактировать пользователя"
msgstr "секунд"
msgid "Serial terminal" #: source/ubl-strings.h:48
msgstr "Последовательный терминал" msgid "User name:"
msgstr "Имя пользователя:"
#: source/ubl-settings-bootloader.cc:287 #: source/ubl-strings.h:49
msgid "Setting bootloader" msgid "User password:"
msgstr "Настройка загрузчика" msgstr "Пароль пользователя:"
msgid "Show welcome window" #: source/ubl-strings.h:50
msgstr "Показывать окно приветствия" msgid "Are you sure you want to remove user"
msgstr "Вы уверены что хотите удалить пользователя"
#: source/ubl-settings-bootloader.h:89 source/ubl-settings-bootloader.h:88 #: source/ubl-strings.h:50
#: source/ubl-settings-bootloader.cc:920 source/ubl-settings-bootloader.cc:464 msgid "from boot menu users"
msgid "Successfully saved local and global configuration" msgstr "из пользователей меню загрузчика"
msgstr "Успешно записаны локальная и глобальная конфигурация"
#: source/ubl-settings-bootloader.h:43 source/ubl-settings-bootloader.h:42 #: source/ubl-strings.h:52
#: source/ubl-settings-bootloader.cc:419 msgid "Add ringtone"
msgid "System boot setup" msgstr "Добавить мелодию"
msgstr "Настройка загрузки системы"
#: source/ubl-settings-bootloader.h:49 source/ubl-settings-bootloader.h:48 #: source/ubl-strings.h:53
#: source/ubl-settings-bootloader.cc:427 msgid "Edit ringtone"
#, fuzzy msgstr "Изменение мелодии"
msgid "Terminal for input"
msgstr "Терминал для ввода"
#: source/ubl-settings-bootloader.h:50 source/ubl-settings-bootloader.h:49 #: source/ubl-strings.h:54
#: source/ubl-settings-bootloader.cc:428 msgid "Chosen"
#, fuzzy msgstr "Выбран"
msgid "Terminal for output"
msgstr "Терминал для вывода"
#: source/ubl-settings-bootloader.cc:299 #: source/ubl-strings.h:55
msgid "The last selection will become the default boot choice" msgid "Name:"
msgstr "Последний выбор станет выбором загрузки по умолчанию" msgstr "Название:"
#: source/ubl-settings-bootloader.h:91 source/ubl-settings-bootloader.h:90 #: source/ubl-strings.h:56
#: source/ubl-settings-bootloader.cc:107 source/ubl-settings-bootloader.cc:94 msgid "Melody code:"
msgid "The program must be run as root" msgstr "Код мелодии:"
msgstr "Программа должна быть запущена с правами суперпользователя!"
msgid "UBConfig - Loading" #: source/ubl-strings.h:57
msgstr "UBConfig - Загрузка" msgid "Are you sure you want to remove ringtone"
msgstr "Вы уверены что хотите удалить мелодию"
msgid "USB Keyboard (HID Boot protocol)" msgid "USB Keyboard (HID Boot protocol)"
msgstr "Клавиатура USB Keyboard (протокол HID Boot)" 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" msgid "User name to enter boot configuration editing mode"
msgstr "" msgstr ""
"Имя пользователя для входа в режим редактирования конфигурации загрузки" "Имя пользователя для входа в режим редактирования конфигурации загрузки"
#: source/ubl-settings-bootloader.h:72 source/ubl-settings-bootloader.h:71
msgid "User password to enter boot configuration edit mode" msgid "User password to enter boot configuration edit mode"
msgstr "" msgstr ""
"Пароль пользователя для входа в режим редактирования конфигурации загрузки" "Пароль пользователя для входа в режим редактирования конфигурации загрузки"
@ -481,11 +219,9 @@ msgstr ""
msgid "VGA text output (Coreboot)" msgid "VGA text output (Coreboot)"
msgstr "Текстовый вывод VGA (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?" msgid "Would you like to read documentation in the Web?"
msgstr "Вы хотите прочитать справку в Сети?" msgstr "Вы хотите прочитать справку в Сети?"
#: source/ubl-settings-bootloader.h:70 source/ubl-settings-bootloader.h:69
msgid "" msgid ""
"You will be redirected to documentation website where documentation is\n" "You will be redirected to documentation website where documentation is\n"
"translated and supported by community." "translated and supported by community."
@ -513,36 +249,22 @@ msgstr "Консоль (PC BIOS & console EFI)"
msgid "gfxterm (Output in graphical mode)" msgid "gfxterm (Output in graphical mode)"
msgstr "gfxterm (Вывод в графическом режиме)" 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)" msgid "i915.enable_dc=0 (Disable GPU power management)"
msgstr "i915.enable_dc=0 (Отключите управление питанием GPU)" msgstr "i915.enable_dc=0 (Отключите управление питанием GPU)"
msgid "" msgid ""
"intel_idle max_cstate=1 (Prevents the processor from going into a deep sleep " "intel_idle max_cstate=1 (Prevents the processor from going into a deep "
"state)" "sleep state)"
msgstr "" msgstr ""
"intel_idle max_cstate=1 (Предотвращает переход процессора в состояние " "intel_idle max_cstate=1 (Предотвращает переход процессора в состояние "
"глубокого сна)" "глубокого сна)"
msgid "" msgid ""
"intel_idle.max_cstate=4 (Eliminates flickering laptop display on processors " "intel_idle.max_cstate=4 (Eliminates flickering laptop display on "
"Ultra Voltage)" "processors Ultra Voltage)"
msgstr "" msgstr ""
"intel_idle.max_cstate=4 (Устраняет мерцание дисплея ноутбука на процессорах " "intel_idle.max_cstate=4 (Устраняет мерцание дисплея ноутбука на "
"Ultra Voltage)" "процессорах Ultra Voltage)"
msgid "no plymouth (Disable Plymouth)" msgid "no plymouth (Disable Plymouth)"
msgstr "no plymouth (Отключить Plymouth" msgstr "no plymouth (Отключить Plymouth"
@ -559,11 +281,6 @@ msgstr "ofconsole (Консоль Open Firmware)"
msgid "quiet (Downloading without text messages)" msgid "quiet (Downloading without text messages)"
msgstr "quiet (Загрузка без текстовых сообщений)" 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)" msgid "serial (Serial terminal)"
msgstr "serial (Последовательный терминал)" msgstr "serial (Последовательный терминал)"
@ -580,15 +297,6 @@ msgstr ""
msgid "splash (Show welcome window)" msgid "splash (Show welcome window)"
msgstr "splash (Показать окно приветствия)" 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: " msgid "ubl-settings-bootloader version: "
msgstr "ubl-settings-bootloader версия: " msgstr "ubl-settings-bootloader версия: "
@ -598,137 +306,165 @@ msgstr "usb_keyboard (Клавиатура USB Keyboard (protocol HID Boot))"
msgid "vga_text (Text output VGA (Coreboot))" msgid "vga_text (Text output VGA (Coreboot))"
msgstr "vga_text (Текстовый вывод 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" msgid "Last succeeded load mode"
msgstr "Последний удачный вариант загрузки" msgstr "Последний удачный вариант загрузки"
#: source/ubl-settings-bootloader.h:162
msgid "Disable Plymouth" msgid "Disable Plymouth"
msgstr "Отключить Плимут" msgstr "Отключить Плимут"
#: source/ubl-settings-bootloader.h:162
msgid "Write debug output into /var/log/plymouth-debug.log" msgid "Write debug output into /var/log/plymouth-debug.log"
msgstr "Записать выходные данные отладки в /var/log/plymouth-debug.log" msgstr "Записать выходные данные отладки в /var/log/plymouth-debug.log"
#: source/ubl-settings-bootloader.h:162
msgid "Disable ACPI" msgid "Disable ACPI"
msgstr "Отключить ACPI" msgstr "Отключить ACPI"
#: source/ubl-settings-bootloader.h:162
msgid "Disable APIC" msgid "Disable APIC"
msgstr "Отключить APIC" msgstr "Отключить APIC"
#: source/ubl-settings-bootloader.h:162
msgid "Disable local APIC" msgid "Disable local APIC"
msgstr "Отключить локальный APIC" msgstr "Отключить локальный APIC"
#: source/ubl-settings-bootloader.h:162
msgid "Single User Mode" msgid "Single User Mode"
msgstr "Однопользовательский режим" msgstr "Однопользовательский режим"
#: source/ubl-settings-bootloader.h:162
msgid "Disable kernel selection and loading of video drivers" msgid "Disable kernel selection and loading of video drivers"
msgstr "Отключить выбор ядра и загрузку видеодрайверов" msgstr "Отключить выбор ядра и загрузку видеодрайверов"
#: source/ubl-settings-bootloader.h:162 msgid ""
msgid "Enable driver (default: auto, 0 = disabled, 1 = enabled, 2 = headless) (целочисленное)" "Enable driver (default: auto, 0 = disabled, 1 = enabled, 2 = headless) "
msgstr "Включить драйвер (по умолчанию: авто, 0 = отключено, 1 = включено, 2 = без головы) (целочисленное)" "(целочисленное)"
msgstr ""
"Включить драйвер (по умолчанию: авто, 0 = отключено, 1 = включено, 2 = "
"без головы) (целочисленное)"
#: source/ubl-settings-bootloader.h:162
msgid "Disable kernel/abi16 acceleration (целочисленное)" msgid "Disable kernel/abi16 acceleration (целочисленное)"
msgstr "Отключить ускорение ядра/abi16 (целочисленное)" msgstr "Отключить ускорение ядра/abi16 (целочисленное)"
#: source/ubl-settings-bootloader.h:162 msgid ""
msgid "Use kernel modesetting [KMS] (0=disable, 1=on, -1=force vga console preference [default]) (целочисленное)" "Use kernel modesetting [KMS] (0=disable, 1=on, -1=force vga console "
msgstr "Использовать настройку режима ядра [KMS] (0=отключить, 1=включить, -1=принудительно настроить консоль vga [по умолчанию]) (целочисленное)" "preference [default]) (целочисленное)"
msgstr ""
"Использовать настройку режима ядра [KMS] (0=отключить, 1=включить, "
"-1=принудительно настроить консоль vga [по умолчанию]) (целочисленное)"
#: source/ubl-settings-bootloader.h:162 msgid ""
msgid "Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (целочисленное)" "Enable frame buffer compression for power savings (default: -1 (use per-"
msgstr "Включить сжатие кадрового буфера для экономии энергии (по умолчанию: -1 (используйте значение по умолчанию для каждого чипа)) (целочисленное)" "chip default)) (целочисленное)"
msgstr ""
"Включить сжатие кадрового буфера для экономии энергии (по умолчанию: -1 "
"(используйте значение по умолчанию для каждого чипа)) (целочисленное)"
#: source/ubl-settings-bootloader.h:162 msgid ""
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) (целочисленное)" "Enable power-saving display C-states. (-1=auto [default]; 0=disable; 1=up "
msgstr "Включить энергосберегающее отображение C-состояний. (-1=авто [по умолчанию]; 0=отключить; 1=до DC5; 2=до DC6; 3=до DC5 с DC3CO; 4=до DC6 с DC3CO) (целочисленное)" "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) (целочисленное)" msgid "Enable PSR (0=disabled, 1=enabled) (целочисленное)"
msgstr "Включить PSR (0=выключено, 1=включено) (целочисленное)" msgstr "Включить PSR (0=выключено, 1=включено) (целочисленное)"
#: source/ubl-settings-bootloader.h:162 msgid ""
msgid "Disable display power wells when possible (-1=auto [default], 0=power wells always on, 1=power wells disabled when possible) (целочисленное)" "Disable display power wells when possible (-1=auto [default], 0=power "
msgstr "Отключить отображение энергетических колодцев, когда это возможно (-1=авто [по умолчанию], 0=энергетические колодцы всегда включены, 1=энергетические колодцы отключены, когда это возможно) (целочисленное)" "wells always on, 1=power wells disabled when possible) (целочисленное)"
msgstr ""
"Отключить отображение энергетических колодцев, когда это возможно "
"(-1=авто [по умолчанию], 0=энергетические колодцы всегда включены, "
"1=энергетические колодцы отключены, когда это возможно) (целочисленное)"
#: source/ubl-settings-bootloader.h:162
msgid "Enable IPS (default: true) (целочисленное)" msgid "Enable IPS (default: true) (целочисленное)"
msgstr "Включить IPS (по умолчанию: true) (целочисленное)" msgstr "Включить IPS (по умолчанию: true) (целочисленное)"
#: source/ubl-settings-bootloader.h:162 msgid ""
msgid "Try to skip unnecessary mode sets at boot time (0=disabled, 1=enabled) Default: -1 (use per-chip default) (целочисленное)" "Try to skip unnecessary mode sets at boot time (0=disabled, 1=enabled) "
msgstr "Попробовать пропустить ненужные наборы режимов во время загрузки (0=отключено, 1=включено). По умолчанию: -1 (используйте настройки по умолчанию для каждого чипа) (целочисленное)" "Default: -1 (use per-chip default) (целочисленное)"
msgstr ""
"Попробовать пропустить ненужные наборы режимов во время загрузки "
"(0=отключено, 1=включено). По умолчанию: -1 (используйте настройки по "
"умолчанию для каждого чипа) (целочисленное)"
#: source/ubl-settings-bootloader.h:162
msgid "Disable display (default: false) (логическое значение)" msgid "Disable display (default: false) (логическое значение)"
msgstr "Отключить отображение (по умолчанию: false) (логическое значение)" msgstr "Отключить отображение (по умолчанию: false) (логическое значение)"
#: source/ubl-settings-bootloader.h:162 msgid ""
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) (целочисленное)" "Enable GuC load for GuC submission and/or HuC load. Required "
msgstr "Включить загрузку GuC для отправки GuC и/или загрузки HuC. Требуемую функциональность можно выбрать с помощью значений битовой маски. (-1=авто [по умолчанию], 0=отключить, 1=отправка GuC, 2=загрузка HuC) (целочисленное)" "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 ""
msgid "Enable multi-stream transport (MST) for new DisplayPort sinks. (default: true) (логическое значение)" "Enable multi-stream transport (MST) for new DisplayPort sinks. (default: "
msgstr "Включить многопотоковую передачу (MST) для новых приемников DisplayPort. (по умолчанию: true) (логическое значение)" "true) (логическое значение)"
msgstr ""
"Включить многопотоковую передачу (MST) для новых приемников DisplayPort. "
"(по умолчанию: true) (логическое значение)"
#: source/ubl-settings-bootloader.h:162 msgid ""
msgid "Enable support for Intel GVT-g graphics virtualization host support (default:false) (логическое значение)" "Enable support for Intel GVT-g graphics virtualization host support "
msgstr "Включить поддержку хоста виртуализации графики Intel GVT-g (по умолчанию: false) (логическое значение)" "(default:false) (логическое значение)"
msgstr ""
"Включить поддержку хоста виртуализации графики Intel GVT-g (по умолчанию: "
"false) (логическое значение)"
#: source/ubl-settings-bootloader.h:162
msgid "Marvell SATA via AHCI (1 = enabled) (целочисленное)" msgid "Marvell SATA via AHCI (1 = enabled) (целочисленное)"
msgstr "Marvell SATA через AHCI (1 = включено) (целочисленное)" msgstr "Marvell SATA через AHCI (1 = включено) (целочисленное)"
#: source/ubl-settings-bootloader.h:162
msgid "Default LPM policy for mobile chipsets (default:-1) (целочисленное)" msgid "Default LPM policy for mobile chipsets (default:-1) (целочисленное)"
msgstr "Политика LPM по умолчанию для мобильных чипсетов (по умолчанию:-1) (целочисленное)" msgstr ""
"Политика LPM по умолчанию для мобильных чипсетов (по умолчанию:-1) "
"(целочисленное)"
#: source/ubl-settings-bootloader.h:162 msgid ""
msgid "Force the DSP driver for Intel DSP (0=auto, 1=legacy, 2=SST, 3=SOF) (целочисленное)" "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) (целочисленное)" "(целочисленное)"
msgstr ""
"Принудительно установить драйвер DSP для Intel DSP (0=авто, 1=устаревший, "
"2=SST, 3=SOF) (целочисленное)"
#: source/ubl-settings-bootloader.h:162 msgid ""
msgid "Do not use ACPI _CST for building the idle states list (default:N) (логическое значение)" "Do not use ACPI _CST for building the idle states list (default:N) "
msgstr "Не использовать ACPI _CST для создания списка состояний простоя (по умолчанию: N) (логическое значение)" "(логическое значение)"
msgstr ""
"Не использовать ACPI _CST для создания списка состояний простоя (по "
"умолчанию: N) (логическое значение)"
#: source/ubl-settings-bootloader.h:162 msgid ""
msgid "Use ACPI _CST for building the idle states list (default:N) (логическое значение)" "Use ACPI _CST for building the idle states list (default:N) (логическое "
msgstr "Используйте ACPI _CST для создания списка состояний простоя (по умолчанию: N) (логическое значение)" "значение)"
msgstr ""
"Используйте ACPI _CST для создания списка состояний простоя (по "
"умолчанию: N) (логическое значение)"
#: source/ubl-settings-bootloader.h:162 msgid ""
msgid "Prevents the processor from going into a deep sleep state (default:9) (целочисленное)" "Prevents the processor from going into a deep sleep state (default:9) "
msgstr "Предотвращает переход процессора в состояние глубокого сна (по умолчанию: 9) (целочисленное)" "(целочисленное)"
msgstr ""
"Предотвращает переход процессора в состояние глубокого сна (по умолчанию: "
"9) (целочисленное)"
#: source/ubl-settings-bootloader.h:162 msgid ""
msgid "Eliminates flickering laptop display on Ultra Voltage processors (целочисленное)" "Eliminates flickering laptop display on Ultra Voltage processors "
msgstr "Устраняет мерцание дисплея ноутбука на процессорах сверхнапряжения (целочисленное)" "(целочисленное)"
msgstr ""
"Устраняет мерцание дисплея ноутбука на процессорах сверхнапряжения "
"(целочисленное)"
#: source/ubl-settings-bootloader.h:162 msgid ""
msgid "Mask of disabled idle states (0=disabled, 1=enabled) Default: 0 (целочисленное)" "Mask of disabled idle states (0=disabled, 1=enabled) Default: 0 "
msgstr "Маска отключенных состояний простоя (0=отключено, 1=включено) По умолчанию: 0 (целочисленное)" "(целочисленное)"
msgstr ""
"Маска отключенных состояний простоя (0=отключено, 1=включено) По "
"умолчанию: 0 (целочисленное)"
#: source/ubl-settings-bootloader.h:162
msgid "Default autosuspend delay (-1=disabled) (целочисленное)" 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" msgid "Force dont`t load nouveau driver video for Nvidia"
msgstr "Принудительно не загружать видео драйвера nouveau для Nvidia" msgstr "Принудительно не загружать видео драйвера nouveau для Nvidia"

Loading…
Cancel
Save