diff --git a/gresource.xml b/gresource.xml index 7c9a2e1..1cdc8f0 100644 --- a/gresource.xml +++ b/gresource.xml @@ -6,6 +6,7 @@ ubl-settings-system-domain.glade ubl-settings-system-connection.glade ubl-settings-system-domain-view.glade + ubl-settings-system-domain-options.glade ubl-settings-system.css diff --git a/locale/ubl-settings-system.pot b/locale/ubl-settings-system.pot index 87e250b..94ff138 100644 --- a/locale/ubl-settings-system.pot +++ b/locale/ubl-settings-system.pot @@ -252,8 +252,12 @@ msgstr "" msgid "Language" msgstr "" +#: source/ubl-strings.h:70 +msgid "Regional settings" +msgstr "" + #: source/ubl-strings.h:71 -msgid "Available languages ​​in the system:" +msgid "Available locales in the system:" msgstr "" #: source/ubl-strings.h:72 @@ -277,9 +281,17 @@ msgid "Languages" msgstr "" #: source/ubl-strings.h:77 -msgid "Add anguages" +msgid "Add locales" +msgstr "" + +#: source/ubl-strings.h:77 +msgid "Add locale" msgstr "" #: source/ubl-strings.h:78 msgid "Remove language" msgstr "" + +#: source/ubl-strings.h:78 +msgid "Additional authentication profile options" +msgstr "" diff --git a/locale/ubl-settings-system_ru.po b/locale/ubl-settings-system_ru.po index 82576b3..a62c96c 100644 --- a/locale/ubl-settings-system_ru.po +++ b/locale/ubl-settings-system_ru.po @@ -256,9 +256,13 @@ msgstr "" msgid "Language" msgstr "Язык" +#: source/ubl-strings.h:70 +msgid "Regional settings" +msgstr "Региональные настройки" + #: source/ubl-strings.h:71 -msgid "Available languages ​​in the system:" -msgstr "Доступные языки для системы:" +msgid "Available locales in the system:" +msgstr "Доступные языки в системе:" #: source/ubl-strings.h:72 msgid "System locale" @@ -281,7 +285,11 @@ msgid "Languages" msgstr "Языки" #: source/ubl-strings.h:77 -msgid "Add anguages" +msgid "Add locales" +msgstr "Добавление языков" + +#: source/ubl-strings.h:77 +msgid "Add locale" msgstr "Добавить язык" #: source/ubl-strings.h:78 @@ -290,3 +298,7 @@ msgstr "Удалить язык" msgid "Domain connection" msgstr "Соединение домена" + +#: source/ubl-strings.h:78 +msgid "Additional authentication profile options" +msgstr "Дополнительные опции профиля аутентификации" diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 19f115b..7413032 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -35,6 +35,7 @@ set(DEPENDFILES ../ubl-settings-system-domain.glade ../ubl-settings-system-connection.glade ../ubl-settings-system-domain-view.glade + ../ubl-settings-system-domain-options.glade ../ubl-settings-system-layouts.glade ../gresource.xml ../ubl-settings-system.css diff --git a/source/ubl-settings-system-domain.c b/source/ubl-settings-system-domain.c index e7d6006..399d614 100644 --- a/source/ubl-settings-system-domain.c +++ b/source/ubl-settings-system-domain.c @@ -41,12 +41,13 @@ void on_domain_connect(GtkWidget *, dictionary *dict){ char *kerberos = (char*)gtk_entry_get_text(GTK_ENTRY(window->KerberosServerEntry)); char *dns = (char*)gtk_entry_get_text(GTK_ENTRY(window->DNSEntry)); char *ou = (char*)gtk_entry_get_text(GTK_ENTRY(window->OuEntry)); + char *options = (char*)gtk_entry_get_text(GTK_ENTRY(window->AdditionalParametersEntry)); 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); - char *command = domain_connect_command(adress,login,password,final,ou); + char *command = domain_connect_command(adress,login,password,final,ou,options); yon_debug_output("%s\n",command); domain_info_window *dialog = yon_information_window_new(); gtk_label_set_text(GTK_LABEL(dialog->HeadLabel),DOMAIN_CONNECTING_LABEL); @@ -131,6 +132,103 @@ gboolean on_main_window_domain_status_update(connection_window *window){ return 1; } +void yon_domain_client_changed(GtkWidget*,connection_window *window){ + gtk_entry_set_text(GTK_ENTRY(window->AdditionalParametersEntry),""); + const char *id = gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->ClientCombo)); + if (gtk_switch_get_active(GTK_SWITCH(window->AdditionalParametersDefaultSwitch))&&!yon_char_is_empty(id)&&strcmp(id,"none")){ + gtk_widget_set_sensitive(window->EditButton,1); + gtk_widget_set_sensitive(window->AdditionalParametersEntry,1); + gtk_widget_set_sensitive(window->AdditionalParametersDefaultSwitch,1); + } else { + gtk_widget_set_sensitive(window->EditButton,0); + gtk_widget_set_sensitive(window->AdditionalParametersEntry,0); + gtk_widget_set_sensitive(window->AdditionalParametersDefaultSwitch,0); + } + +} + +void yon_domain_client_changed_switch(GtkWidget*,int ,connection_window *window){ + yon_domain_client_changed(NULL,window); +} + +void on_domain_options_accept(GtkWidget *,domain_options_window *dialog){ + connection_window *window = g_object_get_data(G_OBJECT(dialog->Window),"connection_window"); + const char *options = gtk_entry_get_text(GTK_ENTRY(dialog->OptionsEntry)); + gtk_entry_set_text(GTK_ENTRY(window->AdditionalParametersEntry),options?options:""); + on_subwindow_close(dialog->Window); +} + +void on_domain_options_cell_toggled(GtkCellRenderer*, gchar *path,domain_options_window *window){ + char *options = (char*)gtk_entry_get_text(GTK_ENTRY(window->OptionsEntry)); + GtkTreeModel *model = GTK_TREE_MODEL(window->List); + GtkTreeIter iter; + if (gtk_tree_model_get_iter_from_string(model,&iter,path)){ + int status; + char *target; + gtk_tree_model_get(model,&iter,0,&status,1,&target,-1); + gtk_list_store_set(window->List,&iter,0,!status,-1); + if (!status){ + char *temp = yon_char_append_element(options,target,","); + gtk_entry_set_text(GTK_ENTRY(window->OptionsEntry),temp); + if (!yon_char_is_empty(temp)) free(temp); + } else { + char *temp = yon_char_remove_element(options,target,","); + gtk_entry_set_text(GTK_ENTRY(window->OptionsEntry),temp); + if (!yon_char_is_empty(temp)) free(temp); + } + } +} + +domain_options_window *yon_domain_options_window_new(){ + domain_options_window *window = malloc(sizeof(domain_options_window)); + GtkBuilder *builder = gtk_builder_new_from_resource(glade_domain_options_path); + window->Window = yon_gtk_builder_get_widget(builder,"Window"); + window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox"); + window->TitleLabel = yon_gtk_builder_get_widget(builder,"TitleLabel"); + window->OptionsTree = yon_gtk_builder_get_widget(builder,"OptionsTree"); + window->OptionsEntry = yon_gtk_builder_get_widget(builder,"OptionsEntry"); + window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton"); + window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton"); + window->List = GTK_LIST_STORE(gtk_builder_get_object(builder,"List")); + window->ChooseCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"ChooseCell")); + + g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_domain_options_accept),window); + g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); + g_signal_connect(G_OBJECT(window->ChooseCell),"toggled",G_CALLBACK(on_domain_options_cell_toggled),window); + return window; +} + +void yon_domain_additional_options_open(GtkWidget *, connection_window *window){ + char *command = NULL; + const char *id = gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->ClientCombo)); + if (yon_char_is_empty(id)||!strcmp(id,"none")){ + } else if (!strcmp(id,"realmd_sssd")){ + command = sssd_client_parameters_command; + } else if (!strcmp(id,"realmd_winbind")){ + command = windbind_client_parameters_command; + } else if (!strcmp(id,"samba")){ + command = samba_client_parameters_command; + } + + if (yon_char_is_empty(command)){ + return; + } else { + GtkTreeIter iter; + + domain_options_window *dialog = yon_domain_options_window_new(); + yon_gtk_window_setup(GTK_WINDOW(dialog->Window),GTK_WINDOW(window->Window),ADDITIONAL_OPTIONS_LABEL,main_icon,"options_window"); + g_object_set_data(G_OBJECT(dialog->Window),"connection_window",window); + int size; + config_str options = yon_config_load(command,&size); + for (int i=0;iList,&iter); + gtk_list_store_set(dialog->List,&iter,1,options[i],-1); + } + yon_char_parsed_free(options,size); + } +} + connection_window *yon_connection_window_new(){ GtkBuilder *builder = gtk_builder_new_from_resource(glade_connection_path); connection_window *window = malloc(sizeof(connection_window)); @@ -143,18 +241,20 @@ connection_window *yon_connection_window_new(){ 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->CheckButton = yon_gtk_builder_get_widget(builder,"CheckButton"); window->OuEntry = yon_gtk_builder_get_widget(builder,"OuEntry"); - window->list = GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1")); + window->EditButton = yon_gtk_builder_get_widget(builder,"EditButton"); + window->AdditionalParametersEntry = yon_gtk_builder_get_widget(builder,"AdditionalParametersEntry"); + window->AdditionalParametersDefaultSwitch = yon_gtk_builder_get_widget(builder,"AdditionalParametersDefaultSwitch"); yon_gtk_entry_block_symbols(GTK_ENTRY(window->OuEntry),"!\"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~."); 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->CheckButton),"clicked",G_CALLBACK(yon_update_thread),window); + g_signal_connect(G_OBJECT(window->ClientCombo),"changed",G_CALLBACK(yon_domain_client_changed),window); + g_signal_connect(G_OBJECT(window->AdditionalParametersDefaultSwitch),"state-set",G_CALLBACK(yon_domain_client_changed_switch),window); + g_signal_connect(G_OBJECT(window->EditButton),"clicked",G_CALLBACK(yon_domain_additional_options_open),window); yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(window->PasswordEntry)); return window; diff --git a/source/ubl-settings-system-language.c b/source/ubl-settings-system-language.c index 116c291..528342f 100644 --- a/source/ubl-settings-system-language.c +++ b/source/ubl-settings-system-language.c @@ -36,22 +36,23 @@ void on_locale_accept(GtkWidget *self, language_window *window){ yon_interface_update(widgets); } -language_window *yon_language_window_new(){ - language_window *window = malloc(sizeof(language_window)); - GtkBuilder *builder = gtk_builder_new_from_resource(glade_locales_path); - window->Window = yon_gtk_builder_get_widget(builder,"Window"); - window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox"); - window->LanguagesTree = yon_gtk_builder_get_widget(builder,"LanguagesTree"); - window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton"); - window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton"); - window->ManualEntry = yon_gtk_builder_get_widget(builder,"ManualEntry"); - window->ToggleCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"ToggleCell")); - window->LanguagesList = GTK_LIST_STORE(gtk_builder_get_object(builder,"LanguagesList")); +gboolean yon_locale_window_set_locales(struct locales_struct *data){ + GtkTreeIter iter; + gtk_list_store_append(GTK_LIST_STORE(data->list),&iter); + gtk_list_store_set(GTK_LIST_STORE(data->list),&iter,1,data->locale,2,data->lang,3,data->territory,0,data->chosen,-1); + if(!yon_char_is_empty(data->lang)) free(data->lang); + if(!yon_char_is_empty(data->locale)) free(data->locale); + if(!yon_char_is_empty(data->territory)) free(data->territory); + if(!yon_char_is_empty(data->lang)) free(data); + return G_SOURCE_REMOVE; +} - g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); - g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_locale_accept),window); - g_signal_connect(G_OBJECT(window->ToggleCell),"toggled",G_CALLBACK(on_locale_toggle),window); +gboolean yon_locale_window_unlock(GtkWidget *spinner){ + gtk_widget_hide(spinner); + return G_SOURCE_REMOVE; +} +void *yon_locales_load_func(language_window *window){ char *config_value = config(locale_parameter); int config_parsed_size; config_str config_parsed = NULL; @@ -61,19 +62,51 @@ language_window *yon_language_window_new(){ } int size; - GtkTreeIter iter; config_str languages = yon_config_load(languages_command,&size); for (int i=0;ilist=window->LanguagesList; yon_char_remove_last_symbol(languages[i],'\n'); int parsed_size; config_str parsed = yon_char_parse(languages[i],&parsed_size,"|"); - gtk_list_store_append(window->LanguagesList,&iter); - gtk_list_store_set(window->LanguagesList,&iter,1,parsed[0],2,parsed[1],3,parsed[2],-1); - if (config_parsed_size&&yon_char_parsed_check_exist(config_parsed,config_parsed_size,parsed[2])>-1){ - gtk_list_store_set(window->LanguagesList,&iter,0,1,-1); + data_struct->locale = yon_char_new(parsed[0]); + data_struct->lang = yon_char_new(parsed[1]); + data_struct->territory = yon_char_new(parsed[2]); + + if (config_parsed_size&&yon_char_parsed_check_exist(config_parsed,config_parsed_size,parsed[0])>-1){ + data_struct->chosen=1; + } else { + data_struct->chosen=0; } + g_idle_add((GSourceFunc)yon_locale_window_set_locales,data_struct); + yon_char_parsed_free(parsed,parsed_size); } + g_idle_add((GSourceFunc)yon_locale_window_unlock,window->LoadingSpinner); yon_char_parsed_free(config_parsed,config_parsed_size); + g_thread_exit(NULL); +} + +language_window *yon_language_window_new(){ + language_window *window = malloc(sizeof(language_window)); + GtkBuilder *builder = gtk_builder_new_from_resource(glade_locales_path); + window->Window = yon_gtk_builder_get_widget(builder,"Window"); + window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox"); + window->LanguagesTree = yon_gtk_builder_get_widget(builder,"LanguagesTree"); + window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton"); + window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton"); + window->ManualEntry = yon_gtk_builder_get_widget(builder,"ManualEntry"); + window->LoadingOverlay = yon_gtk_builder_get_widget(builder,"LoadingOverlay"); + window->LoadingSpinner = yon_gtk_builder_get_widget(builder,"LoadingSpinner"); + window->ToggleCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"ToggleCell")); + window->LanguagesList = GTK_LIST_STORE(gtk_builder_get_object(builder,"LanguagesList")); + + g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); + g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_locale_accept),window); + g_signal_connect(G_OBJECT(window->ToggleCell),"toggled",G_CALLBACK(on_locale_toggle),window); + yon_gtk_tree_view_minimal_fixed_size_set_full(GTK_TREE_VIEW(window->LanguagesTree)); + + gtk_overlay_add_overlay(GTK_OVERLAY(window->LoadingOverlay),window->LoadingSpinner); + g_thread_new("locales-thread",(GThreadFunc)yon_locales_load_func,window); return window; } @@ -82,7 +115,7 @@ void on_language_open(GtkWidget *, main_window *widgets){ g_object_set_data(G_OBJECT(window->Window),"widgets",widgets); - yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),TITLE_LABEL,main_icon,"LocalesWindow"); + yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),ADD_LANGUAGE_TITLE_LABEL,main_icon,"LocalesWindow"); gtk_widget_show(window->Window); diff --git a/source/ubl-settings-system.h b/source/ubl-settings-system.h index e7e99d2..e4040f9 100644 --- a/source/ubl-settings-system.h +++ b/source/ubl-settings-system.h @@ -25,7 +25,7 @@ #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 glade_domain_options_path "/com/ublinux/ui/ubl-settings-system-domain-options.glade" #define CssPath "/com/ublinux/css/ubl-settings-system.css" #define config_path yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL) #define locale_transcriptions_path "/usr/share/ubl-settings-system/csv/locales.csv" @@ -52,12 +52,22 @@ #define check_domain_access_command(targeet) yon_char_append("adcli info --domain ",target) #define get_domain_info_command "ubdomain-client list " #define domains_seek_command "ubdomain-client discover" -#define domain_connect_command(target,user,password, addition,ou) 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,"\"",!yon_char_is_empty(ou)?" --ou \"":"",!yon_char_is_empty(ou)?ou:"",!yon_char_is_empty(ou)?"\"":"", addition,NULL) +#define domain_connect_command(target,user,password, addition,ou,options) 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,"\"",\ +!yon_char_is_empty(ou)?" --ou \"":"",!yon_char_is_empty(ou)?ou:"",!yon_char_is_empty(ou)?"\"":"",\ +!yon_char_is_empty(options)?" --authpam_opt \"":"",!yon_char_is_empty(options)?options:"",!yon_char_is_empty(options)?"\"":"",\ + addition,NULL) #define domain_disconnect_command(target,user,password) yon_char_unite("ubdomain-client leave",!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 sssd_client_parameters_command "authselect list-features sssd" +#define windbind_client_parameters_command "authselect list-features winbind" +#define samba_client_parameters_command "authselect list-features winbind" + #define domain_info(target) yon_char_unite("ubdomain-client discover --domain \"",target,"\"",NULL) #define domain_connected_icon "com.ublinux.ubl-settings-system.plug-connected-symbolic" @@ -148,6 +158,8 @@ typedef struct { GtkWidget *CancelButton; GtkWidget *AcceptButton; GtkWidget *ManualEntry; + GtkWidget *LoadingOverlay; + GtkWidget *LoadingSpinner; GtkCellRenderer *ToggleCell; GtkListStore *LanguagesList; @@ -185,10 +197,9 @@ typedef struct { GtkWidget *CheckButton; GtkWidget *KerberosServerEntry; GtkWidget *ClientCombo; - GtkWidget *AdditionalCombo; + GtkWidget *AdditionalParametersEntry; + GtkWidget *AdditionalParametersDefaultSwitch; GtkWidget *EditButton; - GtkWidget *SettingsTree; - GtkListStore *list; guint timer_id; } connection_window; @@ -202,6 +213,26 @@ typedef struct { GtkWidget *TerminalScroll; } domain_info_window; +typedef struct { + GtkWidget *Window; + GtkWidget *StatusBox; + GtkWidget *TitleLabel; + GtkWidget *OptionsTree; + GtkWidget *OptionsEntry; + GtkWidget *AcceptButton; + GtkWidget *CancelButton; + GtkListStore *List; + GtkCellRenderer *ChooseCell; +} domain_options_window; + +struct locales_struct { + char *locale; + char *lang; + char *territory; + int chosen; + GtkListStore *list; +}; + void on_save_done(main_window *widgets, config_str output, int size); void on_config_reload(GtkWidget *,main_window *widgets); void yon_config_local_load(GtkWidget *self, main_window *widgets); @@ -259,4 +290,13 @@ language_window *yon_language_window_new(); void yon_config_init(); void on_locale_toggled(GtkCellRenderer *, gchar *path, main_window *widgets); void on_language_default_toggled(GtkWidget *, int status, main_window *widgets); -void on_language_remove(GtkWidget *, main_window *widgets); \ No newline at end of file +void on_language_remove(GtkWidget *, main_window *widgets); +gboolean yon_locale_window_set_locales(struct locales_struct *data); +void *yon_locales_load_func(language_window *window); +gboolean yon_locale_window_unlock(GtkWidget *spinner); +void yon_domain_client_changed(GtkWidget*,connection_window *window); +void on_domain_options_accept(GtkWidget *,domain_options_window *dialog); +void on_domain_options_cell_toggled(GtkCellRenderer*, gchar *path,domain_options_window *window); +domain_options_window *yon_domain_options_window_new(); +void yon_domain_additional_options_open(GtkWidget *, connection_window *window); +void yon_domain_client_changed_switch(GtkWidget*,int ,connection_window *window); \ No newline at end of file diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 82dfcd4..8579eea 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -68,12 +68,15 @@ #define OU_LABEL _("OU, Organizational Unit:") #define OU_TOOLTIP_LABEL _("The name of the OU in which we want to create the computer account in the domain. If the account already exists, it will be updated. Example: \"ubhosts\" or \"OU=UBL Servers,OU=KOM,DC=ad,DC=holding,DC=com\"") #define LANGUAGE__LABEL _("Language") -#define AVALIABLE_LANGUAGES_LABEL _("Available languages ​​in the system:") +#define REGIONAL_SETTINGS_LABEL _("Regional settings") +#define AVALIABLE_LANGUAGES_LABEL _("Available locales in the system:") #define SYSTEM_LOCALE_LABEL _("System locale") #define TERRITORY_LABEL _("Territory") #define VALUE_LABEL _("Value") #define MANUAL_INPUT_LABEL _("Manual input:") #define LANGUAGES_LABEL _("Languages") -#define ADD_LANGIAGE_TOOLTIP_LABEL _("Add anguages") +#define ADD_LANGUAGE_TITLE_LABEL _("Add locales") +#define ADD_LANGUAGE_TOOLTIP_LABEL _("Add locale") #define REMOVE_LANGUAGE_LABEL _("Remove language") -#define RESTRICTED_SYMBOLS_LABEL _("OU, Organizational Unit restricted symbols: ! \" # $ % & \' ( ) * + , - . / : ; < = > ? @ [ \\ ] ^ _ ` { | } ~.") \ No newline at end of file +#define RESTRICTED_SYMBOLS_LABEL _("OU, Organizational Unit restricted symbols: ! \" # $ % & \' ( ) * + , - . / : ; < = > ? @ [ \\ ] ^ _ ` { | } ~.") +#define ADDITIONAL_OPTIONS_LABEL _("Additional authentication profile options") \ No newline at end of file diff --git a/ubl-settings-system-connection.glade b/ubl-settings-system-connection.glade index 455221e..eb421b8 100644 --- a/ubl-settings-system-connection.glade +++ b/ubl-settings-system-connection.glade @@ -1,5 +1,5 @@ - + @@ -13,13 +13,12 @@ False document-edit-symbolic - 450 400 False True - com.ublinux.ubl-settings-repomanager + com.ublinux.ubl-settings-system True @@ -387,8 +386,9 @@ + True False - 0 + 0.019999999552965164 in @@ -404,13 +404,33 @@ vertical 5 - + True False - - Default - Set - + 5 + + + True + True + + + False + True + 0 + + + + + True + False + Default + + + False + True + 1 + + False @@ -423,6 +443,18 @@ True False 5 + + + True + False + False + + + True + True + 0 + + True @@ -432,6 +464,7 @@ True + False True True image3 @@ -442,48 +475,19 @@ False True - 0 + 1 False True - 0 - - - - - True - False - 0 - in - - - True - True - liststore1 - - - - - - - - True - False - - - - - True - True 1 - True + False True 1 @@ -496,12 +500,12 @@ True False - Additional options for autentification profile + Additional authentication profile options - True + False True 4 @@ -593,4 +597,5 @@ + diff --git a/ubl-settings-system-domain-options.glade b/ubl-settings-system-domain-options.glade new file mode 100644 index 0000000..b3d46f4 --- /dev/null +++ b/ubl-settings-system-domain-options.glade @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + True + False + com.ublinux.libublsettingsui-gtk3.cancel-uncolored-symbolic + + + True + False + com.ublinux.libublsettingsui-gtk3.accept-symbolic + + + 450 + 400 + True + False + True + com.ublinux.ubl-settings-system + + + True + False + vertical + 5 + + + True + False + vertical + + + + + + False + True + 0 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + vertical + 5 + + + True + False + vertical + 5 + + + True + True + never + in + + + True + True + List + False + False + + + none + + + + + + + + 0 + + + + + + + Option + + + + 1 + + + + + + + + + True + True + 0 + + + + + False + 5 + + + True + True + + + True + True + 1 + + + + + False + True + 1 + + + + + True + True + 0 + + + + + True + True + 1 + + + + + + + True + False + + + True + False + Additional authentication profile options + + + + + + + + True + False + 32 + com.ublinux.ubl-settings-system + + + + + Cancel + True + True + True + image1 + + + 1 + + + + + Accept + True + True + True + image2 + + + end + 2 + + + + + + diff --git a/ubl-settings-system-layouts.glade b/ubl-settings-system-layouts.glade index 24890d6..0a29c06 100644 --- a/ubl-settings-system-layouts.glade +++ b/ubl-settings-system-layouts.glade @@ -14,6 +14,11 @@ + + True + False + True + True False @@ -53,75 +58,88 @@ - + True - True - 5 - 5 - never - in + False - + True True - LanguagesList - both - True - - - none - - + 5 + 5 + never + in - + + True + True + LanguagesList + 1 + both + True - - - 0 - + + + + + 0 + + + - - - - - Locale - - - 1 - + + Locale + + + word + 150 + + + 1 + + + - - - - - Language - - word - 100 + + autosize + 35 + Language + True + + + word + 100 + + + 2 + + - - 2 - - - - - - Territory - - word - 125 + + autosize + Territory + True + + + word + 125 + + + 3 + + - - 3 - + + -1 + diff --git a/ubl-settings-system.glade b/ubl-settings-system.glade index 2ce37bd..aa5c0fb 100644 --- a/ubl-settings-system.glade +++ b/ubl-settings-system.glade @@ -1,5 +1,5 @@ -