diff --git a/auth-profile.csv b/auth-profile.csv deleted file mode 100644 index a306bf0..0000000 --- a/auth-profile.csv +++ /dev/null @@ -1,25 +0,0 @@ -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.policy b/com.ublinux.ubl-settings-system.policy index 388da88..0ec2eda 100644 --- a/com.ublinux.ubl-settings-system.policy +++ b/com.ublinux.ubl-settings-system.policy @@ -21,4 +21,4 @@ true - + \ No newline at end of file diff --git a/fonts.csv b/fonts.csv deleted file mode 100644 index 46e6cc0..0000000 --- a/fonts.csv +++ /dev/null @@ -1,3 +0,0 @@ -FONT -cyr-sun16 -terminus-bold-16 \ No newline at end of file diff --git a/gresource.xml b/gresource.xml index 1cdc8f0..54a41d4 100644 --- a/gresource.xml +++ b/gresource.xml @@ -11,9 +11,4 @@ ubl-settings-system.css - - auth-profile.csv - fonts.csv - locales.csv - \ No newline at end of file diff --git a/locales.csv b/locales.csv deleted file mode 100644 index 0910f87..0000000 --- a/locales.csv +++ /dev/null @@ -1,130 +0,0 @@ -CODE;NAME -af_ZA.UTF-8;Afrikaans, South Africa -ar_AE.UTF-8;Arabic, United Arab Emirates -ar_BH.UTF-8;Arabic, Bahrain -ar_DZ.UTF-8;Arabic, Algeria -ar_EG.UTF-8;Arabic, Egypt -ar_IQ.UTF-8;Arabic, Iraq -ar_JO.UTF-8;Arabic, Jordan -ar_KW.UTF-8;Arabic, Kuwait -ar_LY.UTF-8;Arabic, Libya -ar_MA.UTF-8;Arabic, Morocco -ar_OM.UTF-8;Arabic, Oman -ar_QA.UTF-8;Arabic, Qatar -ar_SA.UTF-8;Arabic, Saudi Arabia -ar_TN.UTF-8;Arabic, Tunisia -ar_YE.UTF-8;Arabic, Yemen -as_IN.UTF-8;Assamese, India -az_AZ.UTF-8;Azerbaijani, Azerbaijan -be_BY.UTF-8;Belarusian, Belarus -bg_BG.UTF-8;Bulgarian, Bulgaria -bn_IN.UTF-8;Bengali, India -bs_BA.UTF-8;Bosnian, Bosnia and Herzegovina -ca_ES.UTF-8;Catalan, Spain -cs_CZ.UTF-8;Czech, Czech Republic -da_DK.UTF-8;Danish, Denmark -de_AT.UTF-8;German, Austria -de_BE.UTF-8;German, Belgium -de_CH.UTF-8;German, Switzerland -de_DE.UTF-8;German, Germany -de_LI.UTF-8;German, Liechtenstein -de_LU.UTF-8;German, Luxembourg -el_CY.UTF-8;Greek, Cyprus -el_GR.UTF-8;Greek, Greece -en_AU.UTF-8;English, Australia -en_BW.UTF-8;English, Botswana -en_CA.UTF-8;English, Canada -en_GB.UTF-8;English, United Kingdom -en_HK.UTF-8;English, Hong Kong SAR China -en_IE.UTF-8;English, Ireland -en_IN.UTF-8;English, India -en_MT.UTF-8;English, Malta -en_NZ.UTF-8;English, New Zealand -en_PH.UTF-8;English, Philippines -en_SG.UTF-8;English, Singapore -en_US.UTF-8;English, U.S.A. -en_ZW.UTF-8;English, Zimbabwe -es_AR.UTF-8;Spanish, Argentina -es_BO.UTF-8;Spanish, Bolivia -es_CL.UTF-8;Spanish, Chile -es_CO.UTF-8;Spanish, Colombia -es_CR.UTF-8;Spanish, Costa Rica -es_DO.UTF-8;Spanish, Dominican Republic -es_EC.UTF-8;Spanish, Ecuador -es_ES.UTF-8;Spanish, Spain -es_GT.UTF-8;Spanish, Guatemala -es_HN.UTF-8;Spanish, Honduras -es_MX.UTF-8;Spanish, Mexico -es_NI.UTF-8;Spanish, Nicaragua -es_PA.UTF-8;Spanish, Panama -es_PE.UTF-8;Spanish, Peru -es_PR.UTF-8;Spanish, Puerto Rico -es_PY.UTF-8;Spanish, Paraguay -es_SV.UTF-8;Spanish, El Salvador -es_US.UTF-8;Spanish, U.S.A. -es_UY.UTF-8;Spanish, Uruguay -es_VE.UTF-8;Spanish, Venezuela -et_EE.UTF-8;Estonian, Estonia -fi_FI.UTF-8;Finnish, Finland -fr_BE.UTF-8;French, Belgium -fr_CA.UTF-8;French, Canada -fr_CH.UTF-8;French, Switzerland -fr_FR.UTF-8;French, France -fr_LU.UTF-8;French, Luxembourg -gu_IN.UTF-8;Gujarati, India -he_IL.UTF-8;Hebrew, Israel -hi_IN.UTF-8;Hindi, India -hr_HR.UTF-8;Croatian, Croatia -hu_HU.UTF-8;Hungarian, Hungary -hy_AM.UTF-8;Armenian, Armenia -id_ID.UTF-8;Indonesian, Indonesia -is_IS.UTF-8;Icelandic, Iceland -it_CH.UTF-8;Italian, Switzerla;nd -it_IT.UTF-8;Italian, Italy -ja_JP.UTF-8;Japanese, Japan -ka_GE.UTF-8;Georgian, Georgia -kk_KZ.UTF-8;Kazakh, Kazakhstan -kn_IN.UTF-8;Kannada, India -ko_KR.UTF-8;Korean, Korea -ks_IN.UTF-8;Kashmiri, India -ku_TR.UTF-8;Kurdish, Turkey -ku_TR.UTF-8@sorani;Kurdish (Sorani), Turkey -ky_KG.UTF-8;Kirghiz, Kyrgyzstan -lt_LT.UTF-8;Lithuanian, Lithuania -lv_LV.UTF-8;Latvian, Latvia -mk_MK.UTF-8;Macedonian, Macedonia -ml_IN.UTF-8;Malayalam, India -mr_IN.UTF-8;Marathi, India -ms_MY.UTF-8;Malay, Malaysia -mt_MT.UTF-8;Maltese, Malta -nb_NO.UTF-8;Bokmal, Norway -nl_BE.UTF-8;Dutch, Belgium -nl_NL.UTF-8;Dutch, Netherlands -nn_NO.UTF-8;Nynorsk, Norway -or_IN.UTF-8;Oriya, India -pa_IN.UTF-8;Punjabi, India -pl_PL.UTF-8;Polish, Poland -pt_BR.UTF-8;Portuguese, Brazil -pt_PT.UTF-8;Portuguese, Portugal -ro_RO.UTF-8;Romanian, Romania -ru_RU.UTF-8;Russian, Russia -ru_UA.UTF-8;Russian, Ukraine -sa_IN.UTF-8;Sanskrit, India -sk_SK.UTF-8;Slovak, Slovakia -sl_SI.UTF-8;Slovenian, Slovenia -sq_AL.UTF-8;Albanian, Albania -sr_ME.UTF-8;Serbian, Montenegro -sr_ME.UTF-8@latin;Serbian, Montenegro (Latin) -sr_RS.UTF-8;Serbian, Serbia -sr_RS.UTF-8@latin;Serbian, Serbia (Latin) -sv_SE.UTF-8;Swedish, Sweden -ta_IN.UTF-8;Tamil, India -te_IN.UTF-8;Telugu, India -th_TH.UTF-8;Thai, Thailand -tr_TR.UTF-8;Turkish, Turkey -uk_UA.UTF-8;Ukrainian, Ukraine -vi_VN.UTF-8;Vietnamese, Vietnam -zh_CN.UTF-8;Simplified Chinese, China -zh_HK.UTF-8;Traditional Chinese, Hong Kong SAR China -zh_SG.UTF-8;Chinese, Singapore -zh_TW.UTF-8;Traditional Chinese, Taiwan \ No newline at end of file diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 7413032..0804175 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -39,9 +39,6 @@ set(DEPENDFILES ../ubl-settings-system-layouts.glade ../gresource.xml ../ubl-settings-system.css - ../fonts.csv - ../locales.csv - ../auth-profile.csv ) file(COPY ${DEPENDFILES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) diff --git a/source/ubl-settings-system-domain.c b/source/ubl-settings-system-domain.c index 399d614..220368d 100644 --- a/source/ubl-settings-system-domain.c +++ b/source/ubl-settings-system-domain.c @@ -135,10 +135,14 @@ gboolean on_main_window_domain_status_update(connection_window *window){ 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")){ + 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 if(!yon_char_is_empty(id)&&strcmp(id,"none")){ + gtk_widget_set_sensitive(window->AdditionalParametersDefaultSwitch,1); + gtk_widget_set_sensitive(window->EditButton,0); + gtk_widget_set_sensitive(window->AdditionalParametersEntry,0); } else { gtk_widget_set_sensitive(window->EditButton,0); gtk_widget_set_sensitive(window->AdditionalParametersEntry,0); diff --git a/source/ubl-settings-system.c b/source/ubl-settings-system.c index 86925c3..aceb8f7 100644 --- a/source/ubl-settings-system.c +++ b/source/ubl-settings-system.c @@ -176,7 +176,15 @@ void on_terminal_command_ended(VteTerminal *, gint status, domain_info_window *w void on_language_default_toggled(GtkWidget *, int status, main_window *widgets){ gtk_widget_set_sensitive(widgets->LocaleTree,!status); gtk_widget_set_sensitive(widgets->LocaleAddButton,!status); - gtk_widget_set_sensitive(widgets->LocaleRemoveButton,!status); + GtkTreeModel *model; + GtkTreeIter iter; + if (!status&>k_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->LocaleTree)),&model,&iter)){ + gtk_widget_set_sensitive(widgets->LocaleRemoveButton,1); + gtk_widget_set_sensitive(GTK_WIDGET(widgets->locale_menu->buttons->first->next->data),1); + } else { + gtk_widget_set_sensitive(widgets->LocaleRemoveButton,0); + gtk_widget_set_sensitive(GTK_WIDGET(widgets->locale_menu->buttons->first->next->data),0); + } if (!status){ GtkTreeModel *model = GTK_TREE_MODEL(widgets->LanguageList); GtkTreeIter iter; @@ -199,6 +207,18 @@ void on_language_default_toggled(GtkWidget *, int status, main_window *widgets){ } } +void on_locale_selection_changed(GtkWidget *,main_window *widgets){ + GtkTreeModel *model; + GtkTreeIter iter; + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->LocaleTree)),&model,&iter)){ + gtk_widget_set_sensitive(widgets->LocaleRemoveButton,1); + gtk_widget_set_sensitive(GTK_WIDGET(widgets->locale_menu->buttons->first->next->data),1); + } else { + gtk_widget_set_sensitive(widgets->LocaleRemoveButton,0); + gtk_widget_set_sensitive(GTK_WIDGET(widgets->locale_menu->buttons->first->next->data),0); + } +} + main_window *yon_main_window_complete(main_window *widgets){ /* Widgets getting | Получение виджетов */ widgets = yon_remalloc(widgets,sizeof(main_window)); @@ -229,6 +249,11 @@ main_window *yon_main_window_complete(main_window *widgets){ /* Signal connection | Присоединение сигналов */ + widgets->locale_menu = yon_rmb_menu_setup(widgets->LocaleTree,NULL,NULL, + ADD_LANGUAGE_TOOLTIP_LABEL,add_icon_path,G_CALLBACK(on_language_open),widgets, + REMOVE_LANGUAGE_LABEL,remove_icon_path,G_CALLBACK(on_language_remove),widgets, + NULL); + g_signal_connect(G_OBJECT(widgets->LoadGlobalMenuItem),"activate",G_CALLBACK(yon_config_global_load),widgets); g_signal_connect(G_OBJECT(widgets->LoadLocalMenuItem),"activate",G_CALLBACK(yon_config_local_load),widgets); g_signal_connect(G_OBJECT(widgets->LoadCustomMenuItem),"activate",G_CALLBACK(yon_config_custom_load),widgets); @@ -238,6 +263,8 @@ main_window *yon_main_window_complete(main_window *widgets){ g_signal_connect(G_OBJECT(widgets->SaveLocalMenuItem),"activate",G_CALLBACK(yon_config_local_save),widgets); g_signal_connect(G_OBJECT(widgets->SaveCustomMenuItem),"activate",G_CALLBACK(yon_config_custom_save),widgets); + g_signal_connect(G_OBJECT(widgets->LocaleTree),"cursor-changed",G_CALLBACK(on_locale_selection_changed),widgets); + g_signal_connect(G_OBJECT(widgets->HostnameEntry),"changed",G_CALLBACK(on_hostname_changed),widgets); g_signal_connect(G_OBJECT(widgets->IDCombo),"changed",G_CALLBACK(on_id_combo_toggled),widgets); g_signal_connect(G_OBJECT(widgets->IDEntry),"changed",G_CALLBACK(on_id_changed),widgets); @@ -255,6 +282,7 @@ main_window *yon_main_window_complete(main_window *widgets){ g_signal_connect(G_OBJECT(widgets->FindButton),"clicked",G_CALLBACK(on_find_domains_clicked),widgets); + on_locale_selection_changed(NULL,widgets); on_check_domain_connected(NULL, widgets); diff --git a/source/ubl-settings-system.h b/source/ubl-settings-system.h index ce1ce78..2266a6f 100644 --- a/source/ubl-settings-system.h +++ b/source/ubl-settings-system.h @@ -28,7 +28,6 @@ #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" #define LocalePath "/usr/share/locale" #define LocaleName "ubl-settings-system" @@ -36,8 +35,6 @@ #define config_global_load_command "ubconfig --source global get " #define config_local_load_command "ubconfig --source system get " -#define get_locales_command "resource:///com/ublinux/csv/locales.csv" -#define get_fonts_command "resource:///com/ublinux/csv/fonts.csv" #define get_id_command "/etc/machine-id" #define config_get_command(source) yon_char_unite("ubconfig --source ", source, " -ea get [system] HOSTNAME MACHINEID -- get [locale] CONSOLE_FONT LOCALE LANG -- get [network] DOMAIN DOMAIN[admanger] DOMAIN[server] DOMAIN[dns] DOMAIN[client]",NULL) @@ -72,6 +69,8 @@ #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 add_icon_path "com.ublinux.libublsettingsui-gtk3.increase-symbolic" +#define remove_icon_path "com.ublinux.libublsettingsui-gtk3.trash-symbolic" #define domain_connect_check "ubdomain-client list|grep -q 'configured'" @@ -135,6 +134,8 @@ typedef struct { GtkListStore *LanguageList; + rmb_menu_window *locale_menu; + } main_window; @@ -299,4 +300,5 @@ 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 +void yon_domain_client_changed_switch(GtkWidget*,int ,connection_window *window); +void on_locale_selection_changed(GtkWidget *,main_window *widgets); \ No newline at end of file diff --git a/ubl-settings-system-connection.glade b/ubl-settings-system-connection.glade index eb421b8..bc924f5 100644 --- a/ubl-settings-system-connection.glade +++ b/ubl-settings-system-connection.glade @@ -1,5 +1,5 @@ - + @@ -411,7 +411,9 @@ True + False True + True False diff --git a/ubl-settings-system.glade b/ubl-settings-system.glade index aa5c0fb..577182b 100644 --- a/ubl-settings-system.glade +++ b/ubl-settings-system.glade @@ -1,5 +1,5 @@ -