Merge pull request 'master' (#32) from YanTheKaller/ubl-settings-system:master into master

Reviewed-on: #32
pull/69/head^2 v2.7
Dmitry Razumov 2 years ago
commit 9d32321742

@ -122,15 +122,18 @@ install: check uninstall
@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/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.plug-connected-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.plug-disconnected-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/polkit-1/actions/" "${CMAKE_BUILD_DIR}/com.ublinux.${PKGNAME}${PKGIDENT}.policy" @install -Dm644 -t "${DESTDIR}/usr/share/polkit-1/actions/" "${CMAKE_BUILD_DIR}/com.ublinux.${PKGNAME}${PKGIDENT}.policy"
@install -Dm644 -t "${DESTDIR}/usr/share/${PKGNAME}/csv/" "locales.csv" @install -Dm644 -t "${DESTDIR}/usr/share/${PKGNAME}/csv/" "locales.csv"
@install -Dm644 -t "${DESTDIR}/usr/share/${PKGNAME}/csv/" "fonts.csv" @install -Dm644 -t "${DESTDIR}/usr/share/${PKGNAME}/csv/" "fonts.csv"
@install -Dm644 -t "${DESTDIR}/usr/share/${PKGNAME}/csv/" "auth-profile.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}/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"

@ -0,0 +1,25 @@
AUTH_NAME
wth-altfiles
with-ecryptfs
with-faillock
with-files-access-provider
with-files-domain
with-pamaccess
with-silent-lastlog
with-sudo
with-systemd-homed
with-time
without-nullok
with-fingerprint
with-pam-u2f
with-pam-u2f-2fa
without-nullok
without-pam-u2f-nouserok
with-smartcard
with-smartcard-lock-on-removal
with-smartcard-required
with-mdns4
with-mdns6
with-mkhomedir
with-mkhomedir-simple
with-nispwquality
1 AUTH_NAME
2 wth-altfiles
3 with-ecryptfs
4 with-faillock
5 with-files-access-provider
6 with-files-domain
7 with-pamaccess
8 with-silent-lastlog
9 with-sudo
10 with-systemd-homed
11 with-time
12 without-nullok
13 with-fingerprint
14 with-pam-u2f
15 with-pam-u2f-2fa
16 without-nullok
17 without-pam-u2f-nouserok
18 with-smartcard
19 with-smartcard-lock-on-removal
20 with-smartcard-required
21 with-mdns4
22 with-mdns6
23 with-mkhomedir
24 with-mkhomedir-simple
25 with-nispwquality

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 95 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 95 KiB

@ -3,6 +3,9 @@
<gresource prefix="/com/ublinux/ui"> <gresource prefix="/com/ublinux/ui">
<file>ubl-settings-system.glade</file> <file>ubl-settings-system.glade</file>
<file>ubl-settings-system-layouts.glade</file> <file>ubl-settings-system-layouts.glade</file>
<file>ubl-settings-system-domain.glade</file>
<file>ubl-settings-system-connection.glade</file>
<file>ubl-settings-system-domain-view.glade</file>
</gresource> </gresource>
<gresource prefix="/com/ublinux/css"> <gresource prefix="/com/ublinux/css">
<file>ubl-settings-system.css</file> <file>ubl-settings-system.css</file>

@ -30,6 +30,9 @@ add_custom_target(GLADE ubl-settings-system.glade)
set(DEPENDFILES set(DEPENDFILES
../ubl-settings-system.glade ../ubl-settings-system.glade
../ubl-settings-system-domain.glade
../ubl-settings-system-connection.glade
../ubl-settings-system-domain-view.glade
../ubl-settings-system-layouts.glade ../ubl-settings-system-layouts.glade
../gresource.xml ../gresource.xml
../ubl-settings-system-banner.png ../ubl-settings-system-banner.png

@ -438,6 +438,204 @@ void on_language_changed(GtkComboBox *self, main_window *widgets){
} }
} }
domain_info_window *yon_information_window_new(){
GtkBuilder *builder = gtk_builder_new_from_resource(glade_domain_view_path);
domain_info_window *window = malloc(sizeof(domain_info_window));
window->Window = yon_gtk_builder_get_widget(builder,"MainWindow");
window->ExecuteTerminal = yon_gtk_builder_get_widget(builder,"ExecuteTerminal");
window->TerminalScroll = yon_gtk_builder_get_widget(builder,"TerminalScroll");
yon_gtk_widget_set_scroll_window_for_scroll(window->Window,GTK_SCROLLBAR(window->TerminalScroll));
GdkRGBA rgba;
vte_terminal_get_color_background_for_draw(VTE_TERMINAL(window->ExecuteTerminal),&rgba);
vte_terminal_set_color_cursor(VTE_TERMINAL(window->ExecuteTerminal),&rgba);
yon_gtk_window_setup(GTK_WINDOW(window->Window),NULL,TITLE_LABEL,"com.ublinux.ubl-settings-system","InfoWindow");
return window;
}
void on_domain_connect(GtkWidget *self, dictionary *dict){
main_window *widgets = yon_dictionary_get_data(dict->first,main_window*);
connection_window *window = yon_dictionary_get_data(dict->first->next,connection_window*);
char *adress = (char*)gtk_entry_get_text(GTK_ENTRY(window->AdressEntry));
if (yon_char_is_empty(adress)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->AdressEntry);
return;
}
g_source_remove(window->timer_id);
char *login = (char*)gtk_entry_get_text(GTK_ENTRY(window->LoginEntry));
char *password = (char*)gtk_entry_get_text(GTK_ENTRY(window->PasswordEntry));
char *kerberos = (char*)gtk_entry_get_text(GTK_ENTRY(window->KerberosServerEntry));
char *dns = (char*)gtk_entry_get_text(GTK_ENTRY(window->DNSEntry));
char *client = NULL;
if (gtk_combo_box_get_active(GTK_COMBO_BOX(window->ClientCombo))){
client = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->ClientCombo));
}
char *final = yon_char_unite(!yon_char_is_empty(kerberos)?kerberos_addition_command(kerberos):"",!yon_char_is_empty(kerberos)?" ":"",!yon_char_is_empty(dns)?dns_addition_command(dns):"",!yon_char_is_empty(dns)?" ":"",!yon_char_is_empty(client)?client_addition_command(client):"",!yon_char_is_empty(client)?" ":"",NULL);
int size;
domain_info_window *dialog = yon_information_window_new();
yon_terminal_integrated_start(dialog->ExecuteTerminal,domain_connect_command(adress,login,password,final),NULL,NULL);
gtk_entry_set_text(GTK_ENTRY(widgets->DomainEntry),adress);
gtk_widget_show(dialog->Window);
on_subwindow_close(window->Window);
}
void on_status_clicked(GtkWidget *self, connection_window *window){
domain_info_window *dialog = yon_information_window_new();
// yon_terminal_integrated_start(dialog->ExecuteTerminal,domain_connect_command(adress,login,password,final),NULL,NULL);
gtk_widget_show(dialog->Window);
}
void on_find_domains_clicked(GtkWidget *self, connection_window *window){
domain_info_window *dialog = yon_information_window_new();
yon_terminal_integrated_start(dialog->ExecuteTerminal,domains_seek_command,NULL,NULL);
gtk_widget_show(dialog->Window);
}
void on_main_window_domain_status_clicked(GtkWidget *self, GtkEntryIconPosition icon_pos,GdkEvent* event,main_window *widgets){
if (icon_pos==GTK_ENTRY_ICON_SECONDARY){
char *target = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->DomainEntry));
if (!yon_char_is_empty(target)){
domain_info_window *window = yon_information_window_new();
gtk_widget_show(window->Window);
yon_terminal_integrated_start(window->ExecuteTerminal,domain_info(target),NULL,NULL);
}
}
}
gboolean on_main_window_domain_status_update(connection_window *window){
const char *target = gtk_entry_get_text(GTK_ENTRY(window->AdressEntry));
if (!yon_char_is_empty(target)){
int status = system(domain_check_alive(target));
if (!status){
gtk_entry_set_icon_from_icon_name(GTK_ENTRY(window->AdressEntry),GTK_ENTRY_ICON_SECONDARY,domain_connected_icon);
} else {
gtk_entry_set_icon_from_icon_name(GTK_ENTRY(window->AdressEntry),GTK_ENTRY_ICON_SECONDARY,domain_disconnected_icon);
}
} else {
gtk_entry_set_icon_from_icon_name(GTK_ENTRY(window->AdressEntry),GTK_ENTRY_ICON_SECONDARY,domain_disconnected_icon);
}
return 1;
}
connection_window *yon_connection_window_new(){
GtkBuilder *builder = gtk_builder_new_from_resource(glade_connection_path);
connection_window *window = malloc(sizeof(connection_window));
window->Window = yon_gtk_builder_get_widget(builder,"MainWindow");
window->AdressEntry = yon_gtk_builder_get_widget(builder,"AdressEntry");
window->StatusEntry = yon_gtk_builder_get_widget(builder,"StatusEntry");
window->FindEntry = yon_gtk_builder_get_widget(builder,"FindEntry");
window->LoginEntry = yon_gtk_builder_get_widget(builder,"LoginEntry");
window->PasswordEntry = yon_gtk_builder_get_widget(builder,"PasswordEntry");
window->KerberosServerEntry = yon_gtk_builder_get_widget(builder,"KerberosServerEntry");
window->DNSEntry = yon_gtk_builder_get_widget(builder,"DNSEntry");
window->ClientCombo = yon_gtk_builder_get_widget(builder,"ClientCombo");
window->AdditionalCombo = yon_gtk_builder_get_widget(builder,"AdditionalCombo");
window->EditButton = yon_gtk_builder_get_widget(builder,"EditButton");
window->SettingsTree = yon_gtk_builder_get_widget(builder,"SettingsTree");
window->SaveButton = yon_gtk_builder_get_widget(builder,"SaveButton");
window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton");
window->list = GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1"));
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
g_signal_connect(G_OBJECT(window->StatusEntry),"clicked",G_CALLBACK(on_status_clicked),window);
g_signal_connect(G_OBJECT(window->FindEntry),"clicked",G_CALLBACK(on_find_domains_clicked),window);
window->timer_id = g_timeout_add(1000,(GSourceFunc)on_main_window_domain_status_update,window);
return window;
}
void on_domain_disconnect(GtkWidget *self, dictionary *dict){
main_window *widgets = yon_dictionary_get_data(dict->first,main_window*);
domain_window *window = yon_dictionary_get_data(dict->first->next,domain_window*);
char *adress = (char*)gtk_entry_get_text(GTK_ENTRY(window->AdressEntry));
char *login = (char*)gtk_entry_get_text(GTK_ENTRY(window->LoginEntry));
char *password = (char*)gtk_entry_get_text(GTK_ENTRY(window->PasswordEntry));
if (yon_char_is_empty(adress)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->AdressEntry);
return;
}
int size;
// config_str parsed = yon_config_load(domain_disconnect_command(adress,login,password),&size);
domain_info_window *dialog = yon_information_window_new();
gtk_widget_show(dialog->Window);
yon_terminal_integrated_start(dialog->ExecuteTerminal,domain_disconnect_command(adress,login,password),NULL,NULL);
gtk_entry_set_text(GTK_ENTRY(widgets->DomainEntry),adress);
on_subwindow_close(window->Window);
}
domain_window *yon_domain_window_new(){
GtkBuilder *builder = gtk_builder_new_from_resource(glade_domain_path);
domain_window *window = malloc(sizeof(domain_window));
window->Window = yon_gtk_builder_get_widget(builder,"MainWindow");
window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox");
window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton");
window->SaveButton = yon_gtk_builder_get_widget(builder,"SaveButton");
window->AdressEntry = yon_gtk_builder_get_widget(builder,"AdressEntry");
window->LoginEntry = yon_gtk_builder_get_widget(builder,"LoginEntry");
window->PasswordEntry = yon_gtk_builder_get_widget(builder,"PasswordEntry");
window->DNSEntry = yon_gtk_builder_get_widget(builder,"DNSEntry");
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
return window;
}
void on_domain_opened(GtkWidget *self, main_window *widgets){
if (main_config.domain_connected){
domain_window *window = yon_domain_window_new();
yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),TITLE_LABEL,"com.ublinux.ubl-settings-system","DomainWindow");
char *domain = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->DomainEntry));
char *password = yon_config_get_by_key(DOMAIN_ADMANGER);
char *login = yon_char_divide_search(password,":",-1);
char *dns = config(DOMAIN_DNS);
if (!yon_char_is_empty(login))
gtk_entry_set_text(GTK_ENTRY(window->LoginEntry),login);
if (!yon_char_is_empty(password))
gtk_entry_set_text(GTK_ENTRY(window->PasswordEntry),password);
if (!yon_char_is_empty(domain))
gtk_entry_set_text(GTK_ENTRY(window->AdressEntry),domain);
if (!yon_char_is_empty(dns))
gtk_entry_set_text(GTK_ENTRY(window->DNSEntry),dns);
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->SaveButton),"clicked",G_CALLBACK(on_domain_disconnect),dict);
gtk_widget_show(window->Window);
} else {
connection_window *window = yon_connection_window_new();
yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),TITLE_LABEL,"com.ublinux.ubl-settings-system","ConnectWindow");
char *domain = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->DomainEntry));
char *dns = config(DOMAIN_DNS);
char *client = yon_config_get_by_key(DOMAIN_CLIENT);
char *kerberos = yon_config_get_by_key(DOMAIN_SERVER);
char *password = yon_config_get_by_key(DOMAIN_ADMANGER);
char *login = yon_char_divide_search(password,":",-1);
if (!yon_char_is_empty(login))
gtk_entry_set_text(GTK_ENTRY(window->LoginEntry),login);
if (!yon_char_is_empty(password))
gtk_entry_set_text(GTK_ENTRY(window->PasswordEntry),password);
if (!yon_char_is_empty(domain))
gtk_entry_set_text(GTK_ENTRY(window->AdressEntry),domain);
if (!yon_char_is_empty(kerberos))
gtk_entry_set_text(GTK_ENTRY(window->KerberosServerEntry),kerberos);
if (!yon_char_is_empty(dns))
gtk_entry_set_text(GTK_ENTRY(window->DNSEntry),dns);
if (!yon_char_is_empty(client))
gtk_combo_box_set_active_id(GTK_COMBO_BOX(window->ClientCombo),client);
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->SaveButton),"clicked",G_CALLBACK(on_domain_connect),dict);
gtk_widget_show(window->Window);
}
}
// standard functions // standard functions
void config_init(){ void config_init(){
@ -450,6 +648,17 @@ void config_init(){
main_config.lock_load_global=0; main_config.lock_load_global=0;
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.domain_connected=0;
}
void on_check_domain_connected(main_window *widgets){
if (!system(domain_connect_check)){
gtk_entry_set_icon_from_icon_name(GTK_ENTRY(widgets->DomainEntry),GTK_ENTRY_ICON_SECONDARY,domain_connected_icon);
main_config.domain_connected=1;
} else {
gtk_entry_set_icon_from_icon_name(GTK_ENTRY(widgets->DomainEntry),GTK_ENTRY_ICON_SECONDARY,domain_disconnected_icon);
main_config.domain_connected=0;
}
} }
main_window *yon_main_window_complete(main_window *widgets){ main_window *yon_main_window_complete(main_window *widgets){
@ -468,6 +677,9 @@ main_window *yon_main_window_complete(main_window *widgets){
widgets->LocaleButton = yon_gtk_builder_get_widget(builder,"getLocalesButton"); widgets->LocaleButton = yon_gtk_builder_get_widget(builder,"getLocalesButton");
widgets->LocaleEntry = yon_gtk_builder_get_widget(builder,"localeEntry"); widgets->LocaleEntry = yon_gtk_builder_get_widget(builder,"localeEntry");
widgets->DomainButton = yon_gtk_builder_get_widget(builder,"DomainButton");
widgets->DomainEntry = yon_gtk_builder_get_widget(builder,"DomainEntry");
widgets->fontlist = GTK_LIST_STORE(gtk_builder_get_object(builder,"fontlist")); widgets->fontlist = GTK_LIST_STORE(gtk_builder_get_object(builder,"fontlist"));
widgets->languagelist = GTK_LIST_STORE(gtk_builder_get_object(builder,"languagelist")); widgets->languagelist = GTK_LIST_STORE(gtk_builder_get_object(builder,"languagelist"));
@ -504,6 +716,10 @@ main_window *yon_main_window_complete(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->LocaleButton),"clicked",G_CALLBACK(on_locale_open),widgets); g_signal_connect(G_OBJECT(widgets->LocaleButton),"clicked",G_CALLBACK(on_locale_open),widgets);
g_signal_connect(G_OBJECT(widgets->ConsoleFontCombo),"changed",G_CALLBACK(on_console_font_changed),widgets); g_signal_connect(G_OBJECT(widgets->ConsoleFontCombo),"changed",G_CALLBACK(on_console_font_changed),widgets);
g_signal_connect(G_OBJECT(widgets->LanguageCombo),"changed",G_CALLBACK(on_language_changed),widgets); g_signal_connect(G_OBJECT(widgets->LanguageCombo),"changed",G_CALLBACK(on_language_changed),widgets);
g_signal_connect(G_OBJECT(widgets->DomainButton),"clicked",G_CALLBACK(on_domain_opened),widgets);
g_signal_connect(G_OBJECT(widgets->DomainEntry),"icon-press",G_CALLBACK(on_main_window_domain_status_clicked),widgets);
g_timeout_add(1000,(GSourceFunc)on_check_domain_connected,widgets);
gtk_widget_set_size_request(widgets->Window,800,-1); gtk_widget_set_size_request(widgets->Window,800,-1);
@ -536,6 +752,9 @@ main_window *yon_main_window_complete(main_window *widgets){
gtk_widget_set_sensitive(widgets->SaveMenuItem,0); gtk_widget_set_sensitive(widgets->SaveMenuItem,0);
} }
yon_config_local_load(NULL,widgets); yon_config_local_load(NULL,widgets);
char *domain = yon_config_get_by_key(DOMAIN);
if (!yon_char_is_empty(domain))
gtk_entry_set_text(GTK_ENTRY(widgets->DomainEntry),domain);
return widgets; return widgets;
} }

@ -1,8 +1,5 @@
#include <gtk/gtk.h> #include <gtk/gtk.h>
#include <gtk/gtkx.h> #include <gtk/gtkx.h>
#include <libublsettings.h>
#include <libublsettings-gtk3.h>
#include <libublsettingsui-gtk3.h>
#include <locale.h> #include <locale.h>
#include <stdio.h> #include <stdio.h>
#include <unistd.h> #include <unistd.h>
@ -10,6 +7,10 @@
#include <libintl.h> #include <libintl.h>
#include <getopt.h> #include <getopt.h>
#include <libintl.h> #include <libintl.h>
#define VTE_INCLUDE
#include <libublsettings.h>
#include <libublsettings-gtk3.h>
#include <libublsettingsui-gtk3.h>
#ifdef WEBKIT_FOUND #ifdef WEBKIT_FOUND
#include <webkit2/webkit2.h> #include <webkit2/webkit2.h>
#endif #endif
@ -20,6 +21,9 @@
#define _(String) gettext(String) #define _(String) gettext(String)
#define glade_path "/com/ublinux/ui/ubl-settings-system.glade" #define glade_path "/com/ublinux/ui/ubl-settings-system.glade"
#define glade_domain_path "/com/ublinux/ui/ubl-settings-system-domain.glade"
#define glade_connection_path "/com/ublinux/ui/ubl-settings-system-connection.glade"
#define glade_domain_view_path "/com/ublinux/ui/ubl-settings-system-domain-view.glade"
#define glade_locales_path "/com/ublinux/ui/ubl-settings-system-layouts.glade" #define glade_locales_path "/com/ublinux/ui/ubl-settings-system-layouts.glade"
#define banner_path "/com/ublinux/images/ubl-settings-system-banner.png" #define banner_path "/com/ublinux/images/ubl-settings-system-banner.png"
#define CssPath "/com/ublinux/css/ubl-settings-system.css" #define CssPath "/com/ublinux/css/ubl-settings-system.css"
@ -37,7 +41,7 @@
#define get_id_command "grep '' /etc/machine-id" #define get_id_command "grep '' /etc/machine-id"
// #define get_fonts_command "ls /usr/share/kbd/consolefonts/ |grep -v \"README\"|grep -oE \"^[-a-zA-Z0-9_]{3,}.psf\"|sed -e 's/\\.psf//g'" // #define get_fonts_command "ls /usr/share/kbd/consolefonts/ |grep -v \"README\"|grep -oE \"^[-a-zA-Z0-9_]{3,}.psf\"|sed -e 's/\\.psf//g'"
#define config_get_command(source) yon_char_unite("ubconfig --source ", source, " get system HOSTNAME MACHINEID",NULL), yon_char_unite("ubconfig --source ", source, " get locale CONSOLE_FONT LOCALE LANG",NULL) #define config_get_command(source) yon_char_unite("ubconfig --source ", source, " get system HOSTNAME MACHINEID",NULL), yon_char_unite("ubconfig --source ", source, " get locale CONSOLE_FONT LOCALE LANG",NULL), yon_char_unite("ubconfig --source ", source, " get [network] DOMAIN DOMAIN[admanger] DOMAIN[server] DOMAIN[dns] DOMAIN[client]",NULL)
#define config_get_default_command "" #define config_get_default_command ""
#define config_get_global_only_parameters "" #define config_get_global_only_parameters ""
@ -57,6 +61,31 @@
#define CONSOLE_FONT_get_command "ubconfig --source global get [locale] CONSOLE_FONT" #define CONSOLE_FONT_get_command "ubconfig --source global get [locale] CONSOLE_FONT"
// #define NUMLOCK_get_command "ubconfig --source global get [locale] NUMLOCK" // #define NUMLOCK_get_command "ubconfig --source global get [locale] NUMLOCK"
#define LANG_get_command "ubconfig --source global get [locale] LANG" #define LANG_get_command "ubconfig --source global get [locale] LANG"
#define DOMAIN_get_command "ubconfig --source global get [network] DOMAIN"
#define check_domain_access_command(targeet) yon_char_append("adcli info --domain ",target)
#define get_domain_info_command(target) yon_char_append("ubdomain-client list ",target)
#define domains_seek_command "ubdomain-client discover"
#define domain_connect_command(target,user,password, addition) yon_char_unite("ubdomain-client join",!yon_char_is_empty(user)?" --user \"":"",!yon_char_is_empty(user)?user:"",!yon_char_is_empty(user)?"\"":"",!yon_char_is_empty(password)?" --password \"":"",!yon_char_is_empty(password)?password:"",!yon_char_is_empty(password)?"\"":""," --domain \"",target,"\"", addition,NULL)
#define domain_disconnect_command(target,user,password) yon_char_unite("ubdomain-client join",!yon_char_is_empty(user)?" --user \"":"",!yon_char_is_empty(user)?user:"",!yon_char_is_empty(user)?"\"":"",!yon_char_is_empty(password)?" --password \"":"",!yon_char_is_empty(password)?password:"",!yon_char_is_empty(password)?"\"":""," --domain \"",target,"\"",NULL)
#define kerberos_addition_command(target) yon_char_unite("--domain_server \"",target,"\"",NULL)
#define dns_addition_command(target) yon_char_unite("--dns \"",target,"\"",NULL)
#define client_addition_command(target) yon_char_unite("--domain_client \"",target,"\"",NULL)
#define domain_info(target) yon_char_append("ubdomain-client discover --domain ",target)
#define domain_connected_icon "com.ublinux.ubl-settings-system.plug-connected-symbolic"
#define domain_disconnected_icon "com.ublinux.ubl-settings-system.plug-disconnected-symbolic"
#define domain_connect_check "ubdomain-client list|grep -q \"configured\""
#define domain_check_alive(target) yon_char_unite("dig +time=1 +tries=1 -t SRV _ldap.tcp.",target," @",target," &>/dev/null",NULL)
#define DOMAIN "DOMAIN"
#define DOMAIN_ADMANGER "DOMAIN[admanger]"
#define DOMAIN_SERVER "DOMAIN[server]"
#define DOMAIN_DNS "DOMAIN[dns]"
#define DOMAIN_CLIENT "DOMAIN[client]"
typedef char* string; typedef char* string;
string version_application; string version_application;
@ -66,6 +95,7 @@ char *local;
typedef struct { typedef struct {
template_config_fields template_config_fields
GtkListStore *localeslist; GtkListStore *localeslist;
int domain_connected;
} config; } config;
typedef struct { typedef struct {
@ -81,6 +111,9 @@ typedef struct {
GtkWidget *LocaleButton; GtkWidget *LocaleButton;
GtkWidget *LocaleEntry; GtkWidget *LocaleEntry;
GtkWidget *DomainEntry;
GtkWidget *DomainButton;
GtkListStore *fontlist; GtkListStore *fontlist;
GtkListStore *languagelist; GtkListStore *languagelist;
@ -109,5 +142,47 @@ typedef struct {
GtkCellRenderer *ToggleCell; GtkCellRenderer *ToggleCell;
} locals_window; } locals_window;
typedef struct {
GtkWidget *Window;
GtkWidget *StatusBox;
GtkWidget *CancelButton;
GtkWidget *SaveButton;
GtkWidget *AdressEntry;
GtkWidget *LoginEntry;
GtkWidget *PasswordEntry;
GtkWidget *DNSEntry;
} domain_window;
typedef struct {
GtkWidget *Window;
GtkWidget *StatusBox;
GtkWidget *CancelButton;
GtkWidget *SaveButton;
GtkWidget *AdressEntry;
GtkWidget *LoginEntry;
GtkWidget *PasswordEntry;
GtkWidget *DNSEntry;
GtkWidget *StatusEntry;
GtkWidget *FindEntry;
GtkWidget *KerberosServerEntry;
GtkWidget *ClientCombo;
GtkWidget *AdditionalCombo;
GtkWidget *EditButton;
GtkWidget *SettingsTree;
GtkListStore *list;
guint timer_id;
} connection_window;
typedef struct {
GtkWidget *Window;
GtkWidget *ExecuteTerminal;
GtkWidget *TerminalScroll;
} domain_info_window;
main_window *setup_window(); main_window *setup_window();
void on_id_changed(GtkEntry *self, main_window *widgets); void on_id_changed(GtkEntry *self, main_window *widgets);

@ -26,4 +26,26 @@
#define INSERT_LABEL _("Insert data") #define INSERT_LABEL _("Insert data")
#define ACCEPT_LABEL _("Accept") #define ACCEPT_LABEL _("Accept")
#define EMPTY_IMPORTANT_LABEL _("Important field is empty")
#define CONNECT_LABEL _("Connect")
#define DISCONNECT_LABEL _("Disconnect")
#define DOMAIN_ADRESS_LABEL _("Domain address")
#define DOMAIN_ADRESS_2_LABEL _("Domain address:")
#define ADMIN_NAME_LABEL _("Domain administrator name:")
#define ADMIN_PASSWORD_LABEL _("Domain administrator password:")
#define MAIN_TAB_LABEL _("Main")
#define ADDITIONAL_TAB_LABEL _("Additional")
#define KERBEROS_LABEL _("Kerberos/AD domain server:")
#define DNS_SERVER_LABEL _("DNS server:")
#define CLIENT_LABEL _("Domain connection client")
#define SSSD_LABEL _("Sssd client")
#define WINDBIND_LABEL _("Winbind client")
#define SAMBA_LABEL _("Samba client")
#define OFF_AUTOMATICALLY_LABEL _("Switch client off or automatically")
#define INFO_LABEL _("Domain information")
#define CONNECTION_LABEL _("Domain connection")
#define CHECK_NAME_LABEL _("Check domain name")
#define LIST_ALL_LABEL _("List all domains")

@ -0,0 +1,567 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface domain="ubl-settings-system">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-system.css -->
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.important-symbolic</property>
</object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.zoom-symbolic</property>
</object>
<object class="GtkImage" id="image3">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">document-edit-symbolic</property>
</object>
<object class="GtkListStore" id="liststore1"/>
<object class="GtkApplicationWindow" id="MainWindow">
<property name="width-request">450</property>
<property name="height-request">400</property>
<property name="can-focus">False</property>
<property name="modal">True</property>
<property name="icon-name">com.ublinux.ubl-settings-repomanager</property>
<child>
<object class="GtkBox">
<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" 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-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-bottom">5</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="orientation">vertical</property>
<child>
<object class="GtkNotebook">
<property name="visible">True</property>
<property name="can-focus">True</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</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">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Domain address:</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="AdressEntry">
<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>
<child>
<object class="GtkButton" id="StatusEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Check domain name</property>
<property name="image">image1</property>
<style>
<class name="thin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="FindEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">List all domains</property>
<property name="image">image2</property>
<style>
<class name="thin"/>
</style>
</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">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">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Domain administrator name:</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="LoginEntry">
<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">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Domain administrator password:</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>
</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>
</child>
<child type="tab">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Main</property>
</object>
<packing>
<property name="tab-fill">False</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</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">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Kerberos/AD domain server:</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="KerberosServerEntry">
<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">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">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">DNS server:</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="DNSEntry">
<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">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Domain connection client</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="ClientCombo">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="active">0</property>
<items>
<item translatable="yes">Default</item>
<item id="realmd_sssd" translatable="yes">Sssd client</item>
<item id="realmd_winbind" translatable="yes">Winbind client</item>
<item id="samba" translatable="yes">Samba client</item>
<item id="none" translatable="yes">Switch client off or autometically</item>
</items>
</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>
<child>
<object class="GtkFrame">
<property name="can-focus">False</property>
<property name="label-xalign">0</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkAlignment">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="bottom-padding">5</property>
<property name="left-padding">5</property>
<property name="right-padding">5</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkComboBoxText" id="AdditionalCombo">
<property name="visible">True</property>
<property name="can-focus">False</property>
<items>
<item translatable="yes">Default</item>
<item translatable="yes">Set</item>
</items>
</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="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkButton" id="EditButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image3</property>
<style>
<class name="thin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkFrame">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label-xalign">0</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkTreeView" id="SettingsTree">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="model">liststore1</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
</child>
</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>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Additional options for autentification profile</property>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child type="tab">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Additional</property>
</object>
<packing>
<property name="position">1</property>
<property name="tab-fill">False</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
<child type="titlebar">
<object class="GtkHeaderBar" id="SettingsBar2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child type="title">
<object class="GtkLabel" id="HeadLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">System configuration</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="pixel-size">32</property>
<property name="icon-name">com.ublinux.ubl-settings-system</property>
</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>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="SaveButton">
<property name="label" translatable="yes">Connect</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="pack-type">end</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

@ -0,0 +1,108 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface domain="ubl-settings-system">
<requires lib="gtk+" version="3.24"/>
<requires lib="vte-2.91" version="0.68"/>
<!-- interface-css-provider-path ubl-settings-system.css -->
<object class="GtkAdjustment" id="adjustment1">
<property name="upper">100</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkApplicationWindow" id="MainWindow">
<property name="width-request">800</property>
<property name="height-request">600</property>
<property name="can-focus">False</property>
<property name="modal">True</property>
<property name="icon-name">com.ublinux.ubl-settings-repomanager</property>
<child>
<object class="GtkBox">
<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" 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>
<child>
<object class="VteTerminal" id="ExecuteTerminal">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hscroll-policy">natural</property>
<property name="vadjustment">adjustment1</property>
<property name="vscroll-policy">natural</property>
<property name="encoding">UTF-8</property>
<property name="scroll-on-keystroke">True</property>
<property name="scroll-on-output">False</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkScrollbar" id="TerminalScroll">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="adjustment">adjustment1</property>
</object>
<packing>
<property name="expand">False</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>
</object>
</child>
<child type="titlebar">
<object class="GtkHeaderBar" id="SettingsBar2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="show-close-button">True</property>
<child type="title">
<object class="GtkLabel" id="HeadLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Domain information</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="pixel-size">32</property>
<property name="icon-name">com.ublinux.ubl-settings-system</property>
</object>
</child>
</object>
</child>
</object>
</interface>

@ -0,0 +1,257 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface domain="ubl-settings-system">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-system.css -->
<object class="GtkApplicationWindow" id="MainWindow">
<property name="can-focus">False</property>
<property name="modal">True</property>
<property name="icon-name">com.ublinux.ubl-settings-repomanager</property>
<child>
<object class="GtkBox">
<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" 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="margin-bottom">5</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="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">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Domain adress:</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="AdressEntry">
<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">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">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Domain administrator 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="LoginEntry">
<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">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Domain administrator 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>
</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>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">DNS server:</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="DNSEntry">
<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">3</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
<child type="titlebar">
<object class="GtkHeaderBar" id="SettingsBar2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child type="title">
<object class="GtkLabel" id="HeadLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">System configuration</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="pixel-size">32</property>
<property name="icon-name">com.ublinux.ubl-settings-system</property>
</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>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="SaveButton">
<property name="label" translatable="yes">Disconnect</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="pack-type">end</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
<object class="GtkListStore" id="liststore1"/>
</interface>

@ -49,6 +49,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="icon-name">document-edit-symbolic</property> <property name="icon-name">document-edit-symbolic</property>
</object> </object>
<object class="GtkImage" id="image3">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.arrows-left-right-symbolic</property>
</object>
<object class="GtkListStore" id="languagelist"> <object class="GtkListStore" id="languagelist">
<columns> <columns>
<!-- column-name LocaleName --> <!-- column-name LocaleName -->
@ -120,6 +125,59 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<property name="position">0</property> <property name="position">0</property>
</packing> </packing>
</child> </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">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Domain address:</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="DomainEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="secondary-icon-name">com.ublinux.ubl-settings-system.plug-disconnected-symbolic</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="DomainButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Domain connection</property>
<property name="image">image3</property>
<style>
<class name="thin"/>
</style>
</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>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
@ -201,7 +259,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">1</property> <property name="position">2</property>
</packing> </packing>
</child> </child>
</object> </object>

@ -18,612 +18,169 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: source/ubl-strings.h:1 #: source/ubl-strings.h:1
msgid "Version:"
msgstr ""
#: source/ubl-strings.h:2
msgid "ubl-settings-system version:"
msgstr ""
#: source/ubl-strings.h:2 source/ubl-strings.h:4
msgid "System configuration" msgid "System configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:2 #: source/ubl-strings.h:2
msgid "Usage:" msgid "System basic parameters configuration"
msgstr ""
#: source/ubl-strings.h:2
msgid "[OPTIONS]"
msgstr ""
#: source/ubl-strings.h:2
msgid "Options:"
msgstr ""
#: source/ubl-strings.h:2
msgid "Show this help"
msgstr ""
#: source/ubl-strings.h:2
msgid "Show package version"
msgstr ""
#: source/ubl-strings.h:2
msgid "Lock this help menu"
msgstr ""
#: source/ubl-strings.h:2
msgid "Lock configuration saving"
msgstr ""
#: source/ubl-strings.h:2
msgid "Lock local configration saving"
msgstr "" msgstr ""
#: source/ubl-strings.h:2 #: source/ubl-strings.h:4
msgid "Lock global configration saving" msgid "Local and global configuration saving succeeded"
msgstr "" msgstr ""
#: source/ubl-strings.h:2 #: source/ubl-strings.h:5
msgid "Lock global configration loading" msgid "Local configuration saving succeeded"
msgstr "" msgstr ""
#: source/ubl-strings.h:5 #: source/ubl-strings.h:6
msgid "System basic parameters configuration" msgid "Global configuration saving succeeded"
msgstr "" msgstr ""
#: source/ubl-strings.h:7 #: source/ubl-strings.h:7
msgid "Operation succeeded" msgid "Warning! New machine ID will apply after system reboot"
msgstr "" msgstr ""
#: source/ubl-strings.h:8 #: source/ubl-strings.h:9
msgid "" msgid "Hostname:"
"Warning! Application was launched without root - root-dependent actions are "
"locked"
msgstr "" msgstr ""
#: source/ubl-strings.h:10 #: source/ubl-strings.h:10
msgid "About" msgid "Work station ID:"
msgstr "" msgstr ""
#: source/ubl-strings.h:11 #: source/ubl-strings.h:11
msgid "Documentation" msgid "System"
msgstr ""
#: source/ubl-strings.h:12
msgid "Random"
msgstr "" msgstr ""
#: source/ubl-strings.h:13 #: source/ubl-strings.h:13
msgid "Save to local configuration" msgid "Hardware"
msgstr "" msgstr ""
#: source/ubl-strings.h:14 #: source/ubl-strings.h:14
msgid "Save to global configuration" msgid "Manual"
msgstr "" msgstr ""
#: source/ubl-strings.h:15 #: source/ubl-strings.h:15
msgid "Save configuration" msgid "Console"
msgstr "" msgstr ""
#: source/ubl-strings.h:16 #: source/ubl-strings.h:16
msgid "Save" msgid "Console font:"
msgstr "" msgstr ""
#: source/ubl-strings.h:18 #: source/ubl-strings.h:17
msgid "Load local configuration" msgid "Locale"
msgstr "" msgstr ""
#: source/ubl-strings.h:19 #: source/ubl-strings.h:18
msgid "Load global configuration" msgid "Locale:"
msgstr "" msgstr ""
#: source/ubl-strings.h:20 #: source/ubl-strings.h:19
msgid "Load" msgid "Language:"
msgstr "" msgstr ""
#: source/ubl-strings.h:22 #: source/ubl-strings.h:21
msgid "Cancel" msgid "Default"
msgstr "" msgstr ""
#: source/ubl-strings.h:24 #: source/ubl-strings.h:23
msgid "Would you like to read documentation in the Web?" msgid "Machine ID has been copied"
msgstr "" msgstr ""
#: source/ubl-strings.h:25 #: source/ubl-strings.h:25
msgid "" msgid "ID field can't be empty!"
"You will be redirected to documentation website where documentation is\n"
"translated and supported by community."
msgstr ""
#: source/ubl-strings.h:26
msgid "Always redirect to online documentation"
msgstr "" msgstr ""
#: source/ubl-strings.h:27 #: source/ubl-strings.h:27
msgid "Open documentation" msgid "Insert data"
msgstr ""
#: source/ubl-strings.h:28
msgid "Project Home Page"
msgstr "" msgstr ""
#: source/ubl-strings.h:29 #: source/ubl-strings.h:29
msgid "Nothing were chosen" msgid "Accept"
msgstr "" msgstr ""
#: source/ubl-strings.h:32 #: source/ubl-strings.h:31
msgid "Global configuration loading succeeded" msgid "Important field is empty"
msgstr "" msgstr ""
#: source/ubl-strings.h:33 #: source/ubl-strings.h:33
msgid "Local configuration loading succeeded" msgid "Connect"
msgstr "" msgstr ""
#: source/ubl-strings.h:34 #: source/ubl-strings.h:34
msgid "Config loading failed" msgid "Disconnect"
msgstr ""
#: source/ubl-strings.h:35
msgid "Domain address"
msgstr "" msgstr ""
#: source/ubl-strings.h:36 #: source/ubl-strings.h:36
msgid "Local and global configuration saving succeeded" msgid "Domain address:"
msgstr "" msgstr ""
#: source/ubl-strings.h:37 #: source/ubl-strings.h:37
msgid "Global configuration saving succeeded" msgid "Domain administrator name:"
msgstr "" msgstr ""
#: source/ubl-strings.h:38 #: source/ubl-strings.h:38
msgid "Local configuration saving succeeded" msgid "Domain administrator password:"
msgstr "" msgstr ""
#: source/ubl-strings.h:39 #: source/ubl-strings.h:39
msgid "Warning! New machine ID will apply after reboot" msgid "Main"
msgstr ""
#: source/ubl-strings.h:40
msgid "Additional"
msgstr "" msgstr ""
#: source/ubl-strings.h:41 #: source/ubl-strings.h:41
msgid "Hostname:" msgid "Kerberos/AD domain server:"
msgstr "" msgstr ""
#: source/ubl-strings.h:42 #: source/ubl-strings.h:42
msgid "Work station ID:" msgid "DNS server:"
msgstr "" msgstr ""
#: source/ubl-strings.h:43 #: source/ubl-strings.h:43
msgid "System" msgid "Domain connection client"
msgstr "" msgstr ""
#: source/ubl-strings.h:44 #: source/ubl-strings.h:44
msgid "Random" msgid "Sssd client"
msgstr "" msgstr ""
#: source/ubl-strings.h:45 #: source/ubl-strings.h:45
msgid "Hardware" msgid "Winbind client"
msgstr "" msgstr ""
#: source/ubl-strings.h:46 #: source/ubl-strings.h:46
msgid "Manual" msgid "Samba client"
msgstr "" msgstr ""
#: source/ubl-strings.h:47 #: source/ubl-strings.h:47
msgid "Console" msgid "Switch client off or autometically"
msgstr "" msgstr ""
#: source/ubl-strings.h:48 #: source/ubl-strings.h:48
msgid "Console font:" msgid "Domain information"
msgstr ""
#: source/ubl-strings.h:49
msgid "Locale"
msgstr "" msgstr ""
#: source/ubl-strings.h:49 #: source/ubl-strings.h:49
msgid "Locale:" msgid "Domain connection"
msgstr "" msgstr ""
#: source/ubl-strings.h:50 #: source/ubl-strings.h:50
msgid "Language:" msgid "Check domain name"
msgstr ""
#: source/ubl-strings.h:52
msgid "Default"
msgstr ""
#: source/ubl-strings.h:54
msgid "Machine ID has been copied"
msgstr ""
#: source/ubl-strings.h:56
msgid "ID string can't be empty!"
msgstr ""
#: source/ubl-strings.h:56
msgid "Insert data"
msgstr ""
#: source/ubl-strings.h:60
msgid "Accept"
msgstr ""
msgid "Afrikaans, South Africa"
msgstr ""
msgid "Arabic, United Arab Emirates"
msgstr ""
msgid "Arabic, Bahrain"
msgstr ""
msgid "Arabic, Algeria"
msgstr ""
msgid "Arabic, Egypt"
msgstr ""
msgid "Arabic, Iraq"
msgstr ""
msgid "Arabic, Jordan"
msgstr ""
msgid "Arabic, Kuwait"
msgstr ""
msgid "Arabic, Libya"
msgstr ""
msgid "Arabic, Morocco"
msgstr ""
msgid "Arabic, Oman"
msgstr ""
msgid "Arabic, Qatar"
msgstr ""
msgid "Arabic, Saudi Arabia"
msgstr ""
msgid "Arabic, Tunisia"
msgstr ""
msgid "Arabic, Yemen"
msgstr ""
msgid "Assamese, India"
msgstr ""
msgid "Azerbaijani, Azerbaijan"
msgstr ""
msgid "Belarusian, Belarus"
msgstr ""
msgid "Bulgarian, Bulgaria"
msgstr ""
msgid "Bengali, India"
msgstr ""
msgid "Bosnian, Bosnia and Herzegovina"
msgstr ""
msgid "Catalan, Spain"
msgstr ""
msgid "Czech, Czech Republic"
msgstr ""
msgid "Danish, Denmark"
msgstr ""
msgid "German, Austria"
msgstr ""
msgid "German, Belgium"
msgstr ""
msgid "German, Switzerland"
msgstr ""
msgid "German, Germany"
msgstr ""
msgid "German, Liechtenstein"
msgstr ""
msgid "German, Luxembourg"
msgstr ""
msgid "Greek, Cyprus"
msgstr ""
msgid "Greek, Greece"
msgstr ""
msgid "English, Australia"
msgstr ""
msgid "English, Botswana"
msgstr ""
msgid "English, Canada"
msgstr ""
msgid "English, United Kingdom"
msgstr ""
msgid "English, Hong Kong SAR China"
msgstr ""
msgid "English, Ireland"
msgstr ""
msgid "English, India"
msgstr ""
msgid "English, Malta"
msgstr ""
msgid "English, New Zealand"
msgstr ""
msgid "English, Philippines"
msgstr ""
msgid "English, Singapore"
msgstr ""
msgid "English, U.S.A."
msgstr ""
msgid "English, Zimbabwe"
msgstr ""
msgid "Spanish, Argentina"
msgstr ""
msgid "Spanish, Bolivia"
msgstr ""
msgid "Spanish, Chile"
msgstr ""
msgid "Spanish, Colombia"
msgstr ""
msgid "Spanish, Costa Rica"
msgstr ""
msgid "Spanish, Dominican Republic"
msgstr ""
msgid "Spanish, Ecuador"
msgstr ""
msgid "Spanish, Spain"
msgstr ""
msgid "Spanish, Guatemala"
msgstr ""
msgid "Spanish, Honduras"
msgstr ""
msgid "Spanish, Mexico"
msgstr ""
msgid "Spanish, Nicaragua"
msgstr ""
msgid "Spanish, Panama"
msgstr ""
msgid "Spanish, Peru"
msgstr ""
msgid "Spanish, Puerto Rico"
msgstr ""
msgid "Spanish, Paraguay"
msgstr ""
msgid "Spanish, El Salvador"
msgstr ""
msgid "Spanish, U.S.A."
msgstr ""
msgid "Spanish, Uruguay"
msgstr ""
msgid "Spanish, Venezuela"
msgstr ""
msgid "Estonian, Estonia"
msgstr ""
msgid "Finnish, Finland"
msgstr ""
msgid "French, Belgium"
msgstr ""
msgid "French, Canada"
msgstr ""
msgid "French, Switzerland"
msgstr ""
msgid "French, France"
msgstr ""
msgid "French, Luxembourg"
msgstr ""
msgid "Gujarati, India"
msgstr ""
msgid "Hebrew, Israel"
msgstr ""
msgid "Hindi, India"
msgstr ""
msgid "Croatian, Croatia"
msgstr ""
msgid "Hungarian, Hungary"
msgstr ""
msgid "Armenian, Armenia"
msgstr ""
msgid "Indonesian, Indonesia"
msgstr ""
msgid "Icelandic, Iceland"
msgstr ""
msgid "Italian, Switzerla"
msgstr ""
msgid "Italian, Italy"
msgstr ""
msgid "Japanese, Japan"
msgstr ""
msgid "Georgian, Georgia"
msgstr ""
msgid "Kazakh, Kazakhstan"
msgstr ""
msgid "Kannada, India"
msgstr ""
msgid "Korean, Korea"
msgstr ""
msgid "Kashmiri, India"
msgstr ""
msgid "Kurdish, Turkey"
msgstr ""
msgid "Kurdish (Sorani), Turkey"
msgstr ""
msgid "Kirghiz, Kyrgyzstan"
msgstr ""
msgid "Lithuanian, Lithuania"
msgstr ""
msgid "Latvian, Latvia"
msgstr ""
msgid "Macedonian, Macedonia"
msgstr ""
msgid "Malayalam, India"
msgstr ""
msgid "Marathi, India"
msgstr ""
msgid "Malay, Malaysia"
msgstr ""
msgid "Maltese, Malta"
msgstr ""
msgid "Bokmal, Norway"
msgstr ""
msgid "Dutch, Belgium"
msgstr ""
msgid "Dutch, Netherlands"
msgstr ""
msgid "Nynorsk, Norway"
msgstr ""
msgid "Oriya, India"
msgstr ""
msgid "Punjabi, India"
msgstr ""
msgid "Polish, Poland"
msgstr ""
msgid "Portuguese, Brazil"
msgstr ""
msgid "Portuguese, Portugal"
msgstr ""
msgid "Romanian, Romania"
msgstr ""
msgid "Russian, Russia"
msgstr ""
msgid "Russian, Ukraine"
msgstr ""
msgid "Sanskrit, India"
msgstr ""
msgid "Slovak, Slovakia"
msgstr ""
msgid "Slovenian, Slovenia"
msgstr ""
msgid "Albanian, Albania"
msgstr ""
msgid "Serbian, Montenegro"
msgstr ""
msgid "Serbian, Montenegro (Latin)"
msgstr ""
msgid "Serbian, Serbia"
msgstr ""
msgid "Serbian, Serbia (Latin)"
msgstr ""
msgid "Swedish, Sweden"
msgstr ""
msgid "Tamil, India"
msgstr ""
msgid "Telugu, India"
msgstr ""
msgid "Thai, Thailand"
msgstr ""
msgid "Turkish, Turkey"
msgstr ""
msgid "Ukrainian, Ukraine"
msgstr ""
msgid "Vietnamese, Vietnam"
msgstr ""
msgid "Simplified Chinese, China"
msgstr ""
msgid "Traditional Chinese, Hong Kong SAR China"
msgstr ""
msgid "Chinese, Singapore"
msgstr "" msgstr ""
msgid "Traditional Chinese, Taiwan" #: source/ubl-strings.h:51
msgid "List all domains"
msgstr "" msgstr ""

@ -18,118 +18,253 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: source/ubl-strings.h:1 #: source/ubl-strings.h:1
msgid "System configuration"
msgstr "Системные настройки"
#: source/ubl-strings.h:2
msgid "System basic parameters configuration"
msgstr "Настройка основных параметров системы"
#: source/ubl-strings.h:4
msgid "Local and global configuration saving succeeded"
msgstr "Успешно записаны локальная и глобальная конфигурация"
#: source/ubl-strings.h:5
msgid "Local configuration saving succeeded"
msgstr "Успешно записана локальная конфигурация"
#: source/ubl-strings.h:6
msgid "Global configuration saving succeeded"
msgstr "Успешно записана глобальная конфигурация"
#: source/ubl-strings.h:7
msgid "Warning! New machine ID will apply after system reboot"
msgstr ""
"Внимание! Новый ID рабочей станции будет применён после перезагрузки системы"
#: source/ubl-strings.h:9
msgid "Hostname:"
msgstr "Имя хоста:"
#: source/ubl-strings.h:10
msgid "Work station ID:"
msgstr "ID рабочей станции:"
#: source/ubl-strings.h:11
msgid "System"
msgstr "Система"
#: source/ubl-strings.h:12
msgid "Random"
msgstr "Случайный"
#: source/ubl-strings.h:13
msgid "Hardware"
msgstr "Системный"
#: source/ubl-strings.h:14
msgid "Manual"
msgstr "Вручную"
#: source/ubl-strings.h:15
msgid "Console"
msgstr "Консоль"
#: source/ubl-strings.h:16
msgid "Console font:"
msgstr "Шрифт в консоли:"
#: source/ubl-strings.h:17
msgid "Locale"
msgstr "Локаль"
#: source/ubl-strings.h:18
msgid "Locale:"
msgstr "Доступные языки в системе:"
#: source/ubl-strings.h:19
msgid "Language:"
msgstr "Язык:"
#: source/ubl-strings.h:21
msgid "Default"
msgstr "По умолчанию"
#: source/ubl-strings.h:23
msgid "Machine ID has been copied"
msgstr "ID рабочей станции скопирован"
#: source/ubl-strings.h:25
msgid "ID field can't be empty!"
msgstr "Поле ID не может быть пустым!"
#: source/ubl-strings.h:27
msgid "Insert data"
msgstr "Введите данные"
#: source/ubl-strings.h:29
msgid "Accept"
msgstr "Принять"
#: source/ubl-strings.h:31
msgid "Important field is empty"
msgstr "Пустое важное поле"
#: source/ubl-strings.h:33
msgid "Connect"
msgstr "Подключиться"
#: source/ubl-strings.h:34
msgid "Disconnect"
msgstr "Отключиться"
#: source/ubl-strings.h:35
msgid "Domain address"
msgstr "Адрес домена"
#: source/ubl-strings.h:36
msgid "Domain address:"
msgstr "Адрес домена:"
#: source/ubl-strings.h:37
msgid "Domain administrator name:"
msgstr "Имя администратора домена:"
#: source/ubl-strings.h:38
msgid "Domain administrator password:"
msgstr "Пароль администратора домена:"
#: source/ubl-strings.h:39
msgid "Main"
msgstr "Основные"
#: source/ubl-strings.h:40
msgid "Additional"
msgstr "Дополнительные"
#: source/ubl-strings.h:41
msgid "Kerberos/AD domain server:"
msgstr "Сервер домена Kerberos/AD"
#: source/ubl-strings.h:42
msgid "DNS server:"
msgstr "DNS сервер"
#: source/ubl-strings.h:43
msgid "Domain connection client"
msgstr "Клиент подключения к домену"
#: source/ubl-strings.h:44
msgid "Sssd client"
msgstr "Клиент sssd"
#: source/ubl-strings.h:45
msgid "Winbind client"
msgstr "Клиент windbind"
#: source/ubl-strings.h:46
msgid "Samba client"
msgstr "Клиент samba"
#: source/ubl-strings.h:47
msgid "Switch client off or autometically"
msgstr "Выключить клиент или автоматически"
#: source/ubl-strings.h:48
msgid "Domain information"
msgstr "Информация о домене"
#: source/ubl-strings.h:49
msgid "Domain connection"
msgstr "Соединение домена"
#: source/ubl-strings.h:50
msgid "Check domain name"
msgstr "Проверить домен"
#: source/ubl-strings.h:51
msgid "List all domains"
msgstr "Показать все домены"
msgid "Version:" msgid "Version:"
msgstr "Версия:" msgstr "Версия:"
#: source/ubl-strings.h:2
msgid "ubl-settings-system version:" msgid "ubl-settings-system version:"
msgstr "Версия ubl-settings-system: " msgstr "Версия ubl-settings-system: "
#: source/ubl-strings.h:2 source/ubl-strings.h:4
msgid "System configuration"
msgstr "Системные настройки"
#: source/ubl-strings.h:2
msgid "Usage:" msgid "Usage:"
msgstr "Использование:" msgstr "Использование:"
#: source/ubl-strings.h:2
msgid "[OPTIONS]" msgid "[OPTIONS]"
msgstr "[АРГУМЕНТЫ]" msgstr "[АРГУМЕНТЫ]"
#: source/ubl-strings.h:2
msgid "Options:" msgid "Options:"
msgstr "Аргументы:" msgstr "Аргументы:"
#: source/ubl-strings.h:2
msgid "Show this help" msgid "Show this help"
msgstr "Показать параметры справки" msgstr "Показать параметры справки"
#: source/ubl-strings.h:2
msgid "Show package version" msgid "Show package version"
msgstr "Показать текущую версию" msgstr "Показать текущую версию"
#: source/ubl-strings.h:2
msgid "Lock this help menu" msgid "Lock this help menu"
msgstr "Блокировка вызова справки" msgstr "Блокировка вызова справки"
#: source/ubl-strings.h:2
msgid "Lock configuration saving" msgid "Lock configuration saving"
msgstr "Блокировка сохранения локальной и глобальной конфигурации" msgstr "Блокировка сохранения локальной и глобальной конфигурации"
#: source/ubl-strings.h:2
msgid "Lock local configration saving" msgid "Lock local configration saving"
msgstr "Блокировка сохранения локальной конфигурации" msgstr "Блокировка сохранения локальной конфигурации"
#: source/ubl-strings.h:2
msgid "Lock global configration saving" msgid "Lock global configration saving"
msgstr "Блокировка сохранения глобальной конфигурации" msgstr "Блокировка сохранения глобальной конфигурации"
#: source/ubl-strings.h:2
msgid "Lock global configration loading" msgid "Lock global configration loading"
msgstr "Блокировка загрузки глобальной конфигурации" msgstr "Блокировка загрузки глобальной конфигурации"
#: source/ubl-strings.h:5
msgid "System basic parameters configuration"
msgstr "Настройка основных параметров системы"
#: source/ubl-strings.h:7
msgid "Operation succeeded" msgid "Operation succeeded"
msgstr "Операция завершена" msgstr "Операция завершена"
#: source/ubl-strings.h:8
msgid "" msgid ""
"Warning! Application was launched without root - root-dependent actions are " "Warning! Application was launched without root - root-dependent actions "
"locked" "are locked"
msgstr "" msgstr ""
"Внимание! Приложение было запущено без прав суперпользователя - действия, " "Внимание! Приложение было запущено без прав суперпользователя - действия, "
"требующие их наличия заблокированы" "требующие их наличия заблокированы"
#: source/ubl-strings.h:10
msgid "About" msgid "About"
msgstr "О программе" msgstr "О программе"
#: source/ubl-strings.h:11
msgid "Documentation" msgid "Documentation"
msgstr "Справка" msgstr "Справка"
#: source/ubl-strings.h:13
msgid "Save to local configuration" msgid "Save to local configuration"
msgstr "Сохранить в локальную конфигурацию" msgstr "Сохранить в локальную конфигурацию"
#: source/ubl-strings.h:14
msgid "Save to global configuration" msgid "Save to global configuration"
msgstr "Сохранить в глобальную конфигурацию" msgstr "Сохранить в глобальную конфигурацию"
#: source/ubl-strings.h:15
msgid "Save configuration" msgid "Save configuration"
msgstr "Сохранить конфигурацию" msgstr "Сохранить конфигурацию"
#: source/ubl-strings.h:16
msgid "Save" msgid "Save"
msgstr "Сохранить" msgstr "Сохранить"
#: source/ubl-strings.h:18
msgid "Load local configuration" msgid "Load local configuration"
msgstr "Загрузить локальную конфигурацию" msgstr "Загрузить локальную конфигурацию"
#: source/ubl-strings.h:19
msgid "Load global configuration" msgid "Load global configuration"
msgstr "Загрузить глобальную конфигурацию" msgstr "Загрузить глобальную конфигурацию"
#: source/ubl-strings.h:20
msgid "Load" msgid "Load"
msgstr "Загрузить" msgstr "Загрузить"
#: source/ubl-strings.h:22
msgid "Cancel" msgid "Cancel"
msgstr "Отмена" msgstr "Отмена"
#: source/ubl-strings.h:24
msgid "Would you like to read documentation in the Web?" msgid "Would you like to read documentation in the Web?"
msgstr "Вы хотите прочитать справку в Сети?" msgstr "Вы хотите прочитать справку в Сети?"
#: source/ubl-strings.h:25
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."
@ -137,114 +272,27 @@ msgstr ""
"Вы будете перенаправлены на сайт с документацией, где страницы помощи\n" "Вы будете перенаправлены на сайт с документацией, где страницы помощи\n"
"переводятся и поддерживаются сообществом." "переводятся и поддерживаются сообществом."
#: source/ubl-strings.h:26
msgid "Always redirect to online documentation" msgid "Always redirect to online documentation"
msgstr "Всегда перенаправлять" msgstr "Всегда перенаправлять"
#: source/ubl-strings.h:27
msgid "Open documentation" msgid "Open documentation"
msgstr "Прочитать справку" msgstr "Прочитать справку"
#: source/ubl-strings.h:28
msgid "Project Home Page" msgid "Project Home Page"
msgstr "Домашняя страница проекта" msgstr "Домашняя страница проекта"
#: source/ubl-strings.h:29
msgid "Nothing were chosen" msgid "Nothing were chosen"
msgstr "Ничего не было выбрано" msgstr "Ничего не было выбрано"
#: source/ubl-strings.h:32
msgid "Global configuration loading succeeded" msgid "Global configuration loading succeeded"
msgstr "Успешно загружена глобальная конфигурация" msgstr "Успешно загружена глобальная конфигурация"
#: source/ubl-strings.h:33
msgid "Local configuration loading succeeded" msgid "Local configuration loading succeeded"
msgstr "Успешно загружена локальная конфигурация" msgstr "Успешно загружена локальная конфигурация"
#: source/ubl-strings.h:34
msgid "Config loading failed" msgid "Config loading failed"
msgstr "Ошибка загрузки конфигурации" msgstr "Ошибка загрузки конфигурации"
#: source/ubl-strings.h:36
msgid "Local and global configuration saving succeeded"
msgstr "Успешно записаны локальная и глобальная конфигурация"
#: source/ubl-strings.h:37
msgid "Global configuration saving succeeded"
msgstr "Успешно записана глобальная конфигурация"
#: source/ubl-strings.h:38
msgid "Local configuration saving succeeded"
msgstr "Успешно записана локальная конфигурация"
#: source/ubl-strings.h:39
msgid "Warning! New machine ID will apply after system reboot"
msgstr "Внимание! Новый ID рабочей станции будет применён после перезагрузки системы"
#: source/ubl-strings.h:41
msgid "Hostname:"
msgstr "Имя хоста:"
#: source/ubl-strings.h:42
msgid "Work station ID:"
msgstr "ID рабочей станции:"
#: source/ubl-strings.h:43
msgid "System"
msgstr "Система"
#: source/ubl-strings.h:44
msgid "Random"
msgstr "Случайный"
#: source/ubl-strings.h:45
msgid "Hardware"
msgstr "Системный"
#: source/ubl-strings.h:46
msgid "Manual"
msgstr "Вручную"
#: source/ubl-strings.h:47
msgid "Console"
msgstr "Консоль"
#: source/ubl-strings.h:48
msgid "Console font:"
msgstr "Шрифт в консоли:"
#: source/ubl-strings.h:49
msgid "Locale"
msgstr "Локаль"
#: source/ubl-strings.h:49
msgid "Locale:"
msgstr "Доступные языки в системе:"
#: source/ubl-strings.h:50
msgid "Language:"
msgstr "Язык:"
#: source/ubl-strings.h:52
msgid "Default"
msgstr "По умолчанию"
#: source/ubl-strings.h:54
msgid "Machine ID has been copied"
msgstr "ID рабочей станции скопирован"
#: source/ubl-strings.h:56
msgid "ID field can't be empty!"
msgstr "Поле ID не может быть пустым!"
#: source/ubl-strings.h:56
msgid "Insert data"
msgstr "Введите данные"
#: source/ubl-strings.h:60
msgid "Accept"
msgstr "Принять"
msgid "Afrikaans, South Africa" msgid "Afrikaans, South Africa"
msgstr "Африканский, Южная Африка" msgstr "Африканский, Южная Африка"

Loading…
Cancel
Save