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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + class="success" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + class="success" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + True + False + com.ublinux.libublsettingsui-gtk3.important-symbolic + + + True + False + com.ublinux.libublsettingsui-gtk3.zoom-symbolic + + + True + False + document-edit-symbolic + + + + 450 + 400 + False + True + com.ublinux.ubl-settings-repomanager + + + True + False + vertical + 5 + + + True + False + vertical + + + + + + False + True + 0 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + vertical + 5 + + + True + False + vertical + + + True + True + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + vertical + 5 + + + True + False + 5 + + + True + False + Domain address: + + + False + True + 0 + + + + + True + True + + + True + True + 1 + + + + + True + True + True + Check domain name + image1 + + + + False + True + 2 + + + + + True + True + True + List all domains + image2 + + + + False + True + 3 + + + + + False + True + 0 + + + + + True + False + 5 + + + True + False + Domain administrator name: + + + False + True + 0 + + + + + True + True + + + True + True + 1 + + + + + False + True + 1 + + + + + True + False + 5 + + + True + False + Domain administrator password: + + + False + True + 0 + + + + + True + True + False + * + + + True + True + 1 + + + + + False + True + 2 + + + + + + + True + False + Main + + + False + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + vertical + 5 + + + True + False + 5 + + + True + False + Kerberos/AD domain server: + + + False + True + 0 + + + + + True + True + + + True + True + 1 + + + + + False + True + 0 + + + + + True + False + 5 + + + True + False + DNS server: + + + False + True + 0 + + + + + True + True + + + True + True + 1 + + + + + False + True + 1 + + + + + True + False + 5 + + + True + False + Domain connection client + + + False + True + 0 + + + + + True + False + 0 + + Default + Sssd client + Winbind client + Samba client + Switch client off or autometically + + + + True + True + 1 + + + + + False + True + 2 + + + + + False + 0 + in + + + True + False + 5 + 5 + 5 + + + True + False + vertical + 5 + + + True + False + + Default + Set + + + + False + True + 0 + + + + + True + False + 5 + + + True + False + vertical + 5 + + + True + True + True + image3 + + + + False + True + 0 + + + + + False + True + 0 + + + + + True + False + 0 + in + + + True + True + liststore1 + + + + + + + + True + False + + + + + True + True + 1 + + + + + True + True + 1 + + + + + + + + + True + False + Additional options for autentification profile + + + + + True + True + 4 + + + + + 1 + + + + + True + False + Additional + + + 1 + False + + + + + True + True + 0 + + + + + True + True + 0 + + + + + True + True + 1 + + + + + + + True + False + + + True + False + System configuration + + + + + + + + True + False + 32 + com.ublinux.ubl-settings-system + + + + + Cancel + True + True + True + + + 1 + + + + + Connect + True + True + True + + + end + 2 + + + + + + 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 + + + + + + + True + False + True + + + True + False + Domain information + + + + + + + + True + False + 32 + com.ublinux.ubl-settings-system + + + + + + 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 + + + + + + + True + False + + + True + False + System configuration + + + + + + + + True + False + 32 + com.ublinux.ubl-settings-system + + + + + Cancel + True + True + True + + + 1 + + + + + Disconnect + True + True + True + + + end + 2 + + + + + + + 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 "Африканский, Южная Африка"