diff --git a/Makefile b/Makefile
index be4d65b..3813ef7 100644
--- a/Makefile
+++ b/Makefile
@@ -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
@install -Dm755 -t "${DESTDIR}${PREFIX}/bin/" "${CMAKE_BUILD_DIR}/${PKGNAME}"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/applications/" "${PKGNAME}.desktop"
- @install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.checked.svg"
- @install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.warning.svg"
+ @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.checked.svg"
+ @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.warning.svg"
+ @install -Dm644 -t "${DESTDIR}/usr/share/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/${PKGNAME}/csv/" "locales.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 \
- [ -d "${DESTDIR}${PREFIX}/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}${PREFIX}/share/icons/hicolor/" &>/dev/null || true; \
+ [ -d "${DESTDIR}/usr/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}/usr/share/icons/hicolor/" &>/dev/null || true; \
update-desktop-database --quiet &>/dev/null || true; \
- [ -d "${DESTDIR}${PREFIX}/share/applications" ] && touch "${DESTDIR}${PREFIX}/share/applications" &>/dev/null || true; \
+ [ -d "${DESTDIR}/usr/share/applications" ] && touch "${DESTDIR}/usr/share/applications" &>/dev/null || true; \
fi
@echo "Install: OK"
diff --git a/auth-profile.csv b/auth-profile.csv
new file mode 100644
index 0000000..a306bf0
--- /dev/null
+++ b/auth-profile.csv
@@ -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
diff --git a/com.ublinux.ubl-settings-system.plug-connected-symbolic.svg b/com.ublinux.ubl-settings-system.plug-connected-symbolic.svg
new file mode 100644
index 0000000..37681d0
--- /dev/null
+++ b/com.ublinux.ubl-settings-system.plug-connected-symbolic.svg
@@ -0,0 +1,3313 @@
+
+
diff --git a/com.ublinux.ubl-settings-system.plug-disconnected-symbolic.svg b/com.ublinux.ubl-settings-system.plug-disconnected-symbolic.svg
new file mode 100644
index 0000000..d32cd9c
--- /dev/null
+++ b/com.ublinux.ubl-settings-system.plug-disconnected-symbolic.svg
@@ -0,0 +1,3313 @@
+
+
diff --git a/gresource.xml b/gresource.xml
index a172326..4038613 100644
--- a/gresource.xml
+++ b/gresource.xml
@@ -3,6 +3,9 @@
ubl-settings-system.glade
ubl-settings-system-layouts.glade
+ ubl-settings-system-domain.glade
+ ubl-settings-system-connection.glade
+ ubl-settings-system-domain-view.glade
ubl-settings-system.css
diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
index f969a33..ed45a17 100644
--- a/source/CMakeLists.txt
+++ b/source/CMakeLists.txt
@@ -30,6 +30,9 @@ add_custom_target(GLADE ubl-settings-system.glade)
set(DEPENDFILES
../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
../gresource.xml
../ubl-settings-system-banner.png
diff --git a/source/ubl-settings-system.c b/source/ubl-settings-system.c
index d3811a6..b4b7c6d 100644
--- a/source/ubl-settings-system.c
+++ b/source/ubl-settings-system.c
@@ -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
void config_init(){
@@ -450,6 +648,17 @@ void config_init(){
main_config.lock_load_global=0;
main_config.lock_save_global=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){
@@ -468,6 +677,9 @@ main_window *yon_main_window_complete(main_window *widgets){
widgets->LocaleButton = yon_gtk_builder_get_widget(builder,"getLocalesButton");
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->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->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->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);
@@ -536,6 +752,9 @@ main_window *yon_main_window_complete(main_window *widgets){
gtk_widget_set_sensitive(widgets->SaveMenuItem,0);
}
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;
}
diff --git a/source/ubl-settings-system.h b/source/ubl-settings-system.h
index 27e86ef..bc575be 100644
--- a/source/ubl-settings-system.h
+++ b/source/ubl-settings-system.h
@@ -1,8 +1,5 @@
#include
#include
-#include
-#include
-#include
#include
#include
#include
@@ -10,6 +7,10 @@
#include
#include
#include
+#define VTE_INCLUDE
+#include
+#include
+#include
#ifdef WEBKIT_FOUND
#include
#endif
@@ -20,6 +21,9 @@
#define _(String) gettext(String)
#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 banner_path "/com/ublinux/images/ubl-settings-system-banner.png"
#define CssPath "/com/ublinux/css/ubl-settings-system.css"
@@ -37,7 +41,7 @@
#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 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_global_only_parameters ""
@@ -57,6 +61,31 @@
#define CONSOLE_FONT_get_command "ubconfig --source global get [locale] CONSOLE_FONT"
// #define NUMLOCK_get_command "ubconfig --source global get [locale] NUMLOCK"
#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;
string version_application;
@@ -66,6 +95,7 @@ char *local;
typedef struct {
template_config_fields
GtkListStore *localeslist;
+ int domain_connected;
} config;
typedef struct {
@@ -81,6 +111,9 @@ typedef struct {
GtkWidget *LocaleButton;
GtkWidget *LocaleEntry;
+ GtkWidget *DomainEntry;
+ GtkWidget *DomainButton;
+
GtkListStore *fontlist;
GtkListStore *languagelist;
@@ -109,5 +142,47 @@ typedef struct {
GtkCellRenderer *ToggleCell;
} 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();
void on_id_changed(GtkEntry *self, main_window *widgets);
\ No newline at end of file
diff --git a/source/ubl-strings.h b/source/ubl-strings.h
index bf53924..969e702 100644
--- a/source/ubl-strings.h
+++ b/source/ubl-strings.h
@@ -26,4 +26,26 @@
#define INSERT_LABEL _("Insert data")
-#define ACCEPT_LABEL _("Accept")
\ No newline at end of file
+#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")
\ No newline at end of file
diff --git a/ubl-settings-system-connection.glade b/ubl-settings-system-connection.glade
new file mode 100644
index 0000000..98ffd07
--- /dev/null
+++ b/ubl-settings-system-connection.glade
@@ -0,0 +1,567 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ubl-settings-system-domain-view.glade b/ubl-settings-system-domain-view.glade
new file mode 100644
index 0000000..4effb5f
--- /dev/null
+++ b/ubl-settings-system-domain-view.glade
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+ 100
+ 1
+ 10
+
+
+ 800
+ 600
+ False
+ True
+ com.ublinux.ubl-settings-repomanager
+
+
+ True
+ False
+ vertical
+ 5
+
+
+ True
+ False
+ vertical
+
+
+
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ False
+
+
+ True
+ False
+ natural
+ adjustment1
+ natural
+ UTF-8
+ True
+ False
+
+
+ True
+ True
+ 0
+
+
+
+
+ True
+ False
+ vertical
+ adjustment1
+
+
+ False
+ True
+ 1
+
+
+
+
+ True
+ True
+ 1
+
+
+
+
+
+
+
+
+
diff --git a/ubl-settings-system-domain.glade b/ubl-settings-system-domain.glade
new file mode 100644
index 0000000..9afca55
--- /dev/null
+++ b/ubl-settings-system-domain.glade
@@ -0,0 +1,257 @@
+
+
+
+
+
+
+ False
+ True
+ com.ublinux.ubl-settings-repomanager
+
+
+ True
+ False
+ vertical
+ 5
+
+
+ True
+ False
+ vertical
+
+
+
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ False
+ 5
+ 5
+ 5
+ vertical
+ 5
+
+
+ True
+ False
+ vertical
+ 5
+
+
+ True
+ False
+ 5
+
+
+ True
+ False
+ Domain adress:
+ 0
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ True
+
+
+ True
+ True
+ 1
+
+
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ False
+ 5
+
+
+ True
+ False
+ Domain administrator name:
+ 0
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ True
+
+
+ True
+ True
+ 1
+
+
+
+
+ False
+ True
+ 1
+
+
+
+
+ True
+ False
+ 5
+
+
+ True
+ False
+ Domain administrator password:
+ 0
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ True
+ False
+ *
+
+
+ True
+ True
+ 1
+
+
+
+
+ False
+ True
+ 2
+
+
+
+
+ True
+ False
+ 5
+
+
+ True
+ False
+ DNS server:
+ 0
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ True
+
+
+ True
+ True
+ 1
+
+
+
+
+ False
+ True
+ 3
+
+
+
+
+ False
+ True
+ 4
+
+
+
+
+ True
+ True
+ 1
+
+
+
+
+
+
+
+
+
+
diff --git a/ubl-settings-system.glade b/ubl-settings-system.glade
index bd5680b..101de1f 100644
--- a/ubl-settings-system.glade
+++ b/ubl-settings-system.glade
@@ -49,6 +49,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
False
document-edit-symbolic
+
+ True
+ False
+ com.ublinux.libublsettingsui-gtk3.arrows-left-right-symbolic
+
@@ -120,6 +125,59 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
0
+
+
+ True
+ False
+ 5
+
+
+ True
+ False
+ Domain address:
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ True
+ com.ublinux.ubl-settings-system.plug-disconnected-symbolic
+
+
+ True
+ True
+ 1
+
+
+
+
+ True
+ True
+ True
+ Domain connection
+ image3
+
+
+
+ False
+ True
+ 2
+
+
+
+
+ False
+ True
+ 1
+
+
True
@@ -201,7 +259,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
False
True
- 1
+ 2
diff --git a/ubl-settings-system.pot b/ubl-settings-system.pot
index 1250dfa..3afbc8a 100644
--- a/ubl-settings-system.pot
+++ b/ubl-settings-system.pot
@@ -18,612 +18,169 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: 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"
msgstr ""
#: source/ubl-strings.h:2
-msgid "Usage:"
-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"
+msgid "System basic parameters configuration"
msgstr ""
-#: source/ubl-strings.h:2
-msgid "Lock global configration saving"
+#: source/ubl-strings.h:4
+msgid "Local and global configuration saving succeeded"
msgstr ""
-#: source/ubl-strings.h:2
-msgid "Lock global configration loading"
+#: source/ubl-strings.h:5
+msgid "Local configuration saving succeeded"
msgstr ""
-#: source/ubl-strings.h:5
-msgid "System basic parameters configuration"
+#: source/ubl-strings.h:6
+msgid "Global configuration saving succeeded"
msgstr ""
#: source/ubl-strings.h:7
-msgid "Operation succeeded"
+msgid "Warning! New machine ID will apply after system reboot"
msgstr ""
-#: source/ubl-strings.h:8
-msgid ""
-"Warning! Application was launched without root - root-dependent actions are "
-"locked"
+#: source/ubl-strings.h:9
+msgid "Hostname:"
msgstr ""
#: source/ubl-strings.h:10
-msgid "About"
+msgid "Work station ID:"
msgstr ""
#: source/ubl-strings.h:11
-msgid "Documentation"
+msgid "System"
+msgstr ""
+
+#: source/ubl-strings.h:12
+msgid "Random"
msgstr ""
#: source/ubl-strings.h:13
-msgid "Save to local configuration"
+msgid "Hardware"
msgstr ""
#: source/ubl-strings.h:14
-msgid "Save to global configuration"
+msgid "Manual"
msgstr ""
#: source/ubl-strings.h:15
-msgid "Save configuration"
+msgid "Console"
msgstr ""
#: source/ubl-strings.h:16
-msgid "Save"
+msgid "Console font:"
msgstr ""
-#: source/ubl-strings.h:18
-msgid "Load local configuration"
+#: source/ubl-strings.h:17
+msgid "Locale"
msgstr ""
-#: source/ubl-strings.h:19
-msgid "Load global configuration"
+#: source/ubl-strings.h:18
+msgid "Locale:"
msgstr ""
-#: source/ubl-strings.h:20
-msgid "Load"
+#: source/ubl-strings.h:19
+msgid "Language:"
msgstr ""
-#: source/ubl-strings.h:22
-msgid "Cancel"
+#: source/ubl-strings.h:21
+msgid "Default"
msgstr ""
-#: source/ubl-strings.h:24
-msgid "Would you like to read documentation in the Web?"
+#: source/ubl-strings.h:23
+msgid "Machine ID has been copied"
msgstr ""
#: source/ubl-strings.h:25
-msgid ""
-"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"
+msgid "ID field can't be empty!"
msgstr ""
#: source/ubl-strings.h:27
-msgid "Open documentation"
-msgstr ""
-
-#: source/ubl-strings.h:28
-msgid "Project Home Page"
+msgid "Insert data"
msgstr ""
#: source/ubl-strings.h:29
-msgid "Nothing were chosen"
+msgid "Accept"
msgstr ""
-#: source/ubl-strings.h:32
-msgid "Global configuration loading succeeded"
+#: source/ubl-strings.h:31
+msgid "Important field is empty"
msgstr ""
#: source/ubl-strings.h:33
-msgid "Local configuration loading succeeded"
+msgid "Connect"
msgstr ""
#: source/ubl-strings.h:34
-msgid "Config loading failed"
+msgid "Disconnect"
+msgstr ""
+
+#: source/ubl-strings.h:35
+msgid "Domain address"
msgstr ""
#: source/ubl-strings.h:36
-msgid "Local and global configuration saving succeeded"
+msgid "Domain address:"
msgstr ""
#: source/ubl-strings.h:37
-msgid "Global configuration saving succeeded"
+msgid "Domain administrator name:"
msgstr ""
#: source/ubl-strings.h:38
-msgid "Local configuration saving succeeded"
+msgid "Domain administrator password:"
msgstr ""
#: 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 ""
#: source/ubl-strings.h:41
-msgid "Hostname:"
+msgid "Kerberos/AD domain server:"
msgstr ""
#: source/ubl-strings.h:42
-msgid "Work station ID:"
+msgid "DNS server:"
msgstr ""
#: source/ubl-strings.h:43
-msgid "System"
+msgid "Domain connection client"
msgstr ""
#: source/ubl-strings.h:44
-msgid "Random"
+msgid "Sssd client"
msgstr ""
#: source/ubl-strings.h:45
-msgid "Hardware"
+msgid "Winbind client"
msgstr ""
#: source/ubl-strings.h:46
-msgid "Manual"
+msgid "Samba client"
msgstr ""
#: source/ubl-strings.h:47
-msgid "Console"
+msgid "Switch client off or autometically"
msgstr ""
#: source/ubl-strings.h:48
-msgid "Console font:"
-msgstr ""
-
-#: source/ubl-strings.h:49
-msgid "Locale"
+msgid "Domain information"
msgstr ""
#: source/ubl-strings.h:49
-msgid "Locale:"
+msgid "Domain connection"
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 ""
-
-#: 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"
+msgid "Check domain name"
msgstr ""
-msgid "Traditional Chinese, Taiwan"
+#: source/ubl-strings.h:51
+msgid "List all domains"
msgstr ""
diff --git a/ubl-settings-system_ru.po b/ubl-settings-system_ru.po
index 89c9dd4..d0c0137 100644
--- a/ubl-settings-system_ru.po
+++ b/ubl-settings-system_ru.po
@@ -18,118 +18,253 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: 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:"
msgstr "Версия:"
-#: source/ubl-strings.h:2
msgid "ubl-settings-system version:"
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:"
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 "Блокировка сохранения локальной конфигурации"
-#: source/ubl-strings.h:2
msgid "Lock global configration saving"
msgstr "Блокировка сохранения глобальной конфигурации"
-#: source/ubl-strings.h:2
msgid "Lock global configration loading"
msgstr "Блокировка загрузки глобальной конфигурации"
-#: source/ubl-strings.h:5
-msgid "System basic parameters configuration"
-msgstr "Настройка основных параметров системы"
-
-#: source/ubl-strings.h:7
msgid "Operation succeeded"
msgstr "Операция завершена"
-#: source/ubl-strings.h:8
msgid ""
-"Warning! Application was launched without root - root-dependent actions are "
-"locked"
+"Warning! Application was launched without root - root-dependent actions "
+"are locked"
msgstr ""
"Внимание! Приложение было запущено без прав суперпользователя - действия, "
"требующие их наличия заблокированы"
-#: source/ubl-strings.h:10
msgid "About"
msgstr "О программе"
-#: source/ubl-strings.h:11
msgid "Documentation"
msgstr "Справка"
-#: source/ubl-strings.h:13
msgid "Save to local configuration"
msgstr "Сохранить в локальную конфигурацию"
-#: source/ubl-strings.h:14
msgid "Save to global configuration"
msgstr "Сохранить в глобальную конфигурацию"
-#: source/ubl-strings.h:15
msgid "Save configuration"
msgstr "Сохранить конфигурацию"
-#: source/ubl-strings.h:16
msgid "Save"
msgstr "Сохранить"
-#: source/ubl-strings.h:18
msgid "Load local configuration"
msgstr "Загрузить локальную конфигурацию"
-#: source/ubl-strings.h:19
msgid "Load global configuration"
msgstr "Загрузить глобальную конфигурацию"
-#: source/ubl-strings.h:20
msgid "Load"
msgstr "Загрузить"
-#: source/ubl-strings.h:22
msgid "Cancel"
msgstr "Отмена"
-#: source/ubl-strings.h:24
msgid "Would you like to read documentation in the Web?"
msgstr "Вы хотите прочитать справку в Сети?"
-#: source/ubl-strings.h:25
msgid ""
"You will be redirected to documentation website where documentation is\n"
"translated and supported by community."
@@ -137,114 +272,27 @@ msgstr ""
"Вы будете перенаправлены на сайт с документацией, где страницы помощи\n"
"переводятся и поддерживаются сообществом."
-#: source/ubl-strings.h:26
msgid "Always redirect to online documentation"
msgstr "Всегда перенаправлять"
-#: source/ubl-strings.h:27
msgid "Open documentation"
msgstr "Прочитать справку"
-#: source/ubl-strings.h:28
msgid "Project Home Page"
msgstr "Домашняя страница проекта"
-#: source/ubl-strings.h:29
msgid "Nothing were chosen"
msgstr "Ничего не было выбрано"
-#: source/ubl-strings.h:32
msgid "Global configuration loading succeeded"
msgstr "Успешно загружена глобальная конфигурация"
-#: source/ubl-strings.h:33
msgid "Local configuration loading succeeded"
msgstr "Успешно загружена локальная конфигурация"
-#: source/ubl-strings.h:34
msgid "Config loading failed"
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"
msgstr "Африканский, Южная Африка"