Added build safety flags

pull/75/head
parent 88726b5ff1
commit 7eeb19e3b3
No known key found for this signature in database
GPG Key ID: FF1D842BF4DDE92B

@ -3,15 +3,125 @@
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN" "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd"> "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig> <policyconfig>
<vendor>UBLinux</vendor> <vendor>UBLinux</vendor>
<vendor_url>https://ublinux.ru</vendor_url> <vendor_url>https://ublinux.ru</vendor_url>
<action id="com.ublinux.ubl-settings-manager.run"> <action id="com.ublinux.ubl-settings-manager.run">
<description>Run ubl-settings-manager as root</description> <description>Run settings manager as root</description>
<description xml:lang="ru">Запуск утилиты ubl-settings-manager с правами root</description> <description xml:lang="zh_TW">以 root 身份執行設定管理器</description>
<message>Authentication is required to run ubl-settings-manager</message> <description xml:lang="zh_CN">以 root 身份运行设置管理器</description>
<message xml:lang="ru">Требуется авторизация для запуска утилиты ubl-settings-manager с правами root</message> <description xml:lang="te">రూట్‌గా సెట్టింగ్స్ మేనేజర్‌ను నడపండి</description>
<description xml:lang="uk">Запустіть диспетчер налаштувань від імені користувача root</description>
<description xml:lang="tr">Ayar yöneticisini root kullanıcısı olarak çalıştırın</description>
<description xml:lang="ta">ரூட் பயனரின் பெயரில் அமைப்புகள் மேலாளரை இயக்கவும்</description>
<description xml:lang="sv">Kör inställningshanteraren som root</description>
<description xml:lang="sr@latin">Pokrenite upravnik postavkama kao root korisnik</description>
<description xml:lang="sr">Покрените управник подешавањима као корисник root</description>
<description xml:lang="sl">Zaženite upravitelja nastavitev kot uporabnik root</description>
<description xml:lang="sk">Spustite správcu nastavení ako používateľ root</description>
<description xml:lang="ru">Запустить диспетчер настроек от имени пользователя root</description>
<description xml:lang="ro">Rulați managerul de setări ca utilizator root</description>
<description xml:lang="pt_BR">Execute o gerenciador de configurações como usuário root</description>
<description xml:lang="pt">Execute o gestor de definições como utilizador root</description>
<description xml:lang="pl">Uruchom menedżera ustawień jako użytkownik root</description>
<description xml:lang="pa">ਰੂਟ ਯੂਜ਼ਰ ਦੇ ਨਾਂ 'ਤੇ ਸੈਟਿੰਗ ਮੈਨੇਜਰ ਚਲਾਓ</description>
<description xml:lang="or">ରୁଟ୍ ବ୍ୟବହାରକାରୀ ନାମରେ ସେଟିଂସ୍ ମ୍ୟାନେଜର୍ ଚାଲାନ୍ତୁ</description>
<description xml:lang="oc">Lance lo gestor de configuracions coma utilizator root</description>
<description xml:lang="nn">Kjør innstillingssjefen som root-brukar</description>
<description xml:lang="nl">Voer instellingenbeheerder uit als root-gebruiker</description>
<description xml:lang="mr">रूट वापरकर्त्याच्या नावाने सेटिंग्ज मॅनेजर चालवा</description>
<description xml:lang="ml">root ഉപയോക്താവിന്റെ പേരിൽ സെറ്റിംഗ്സ് മാനേജർ പ്രവർത്തിപ്പിക്കുക</description>
<description xml:lang="lv">Palaidiet iestatījumu pārvaldnieku kā root lietotājs</description>
<description xml:lang="lt">Paleiskite nustatymų tvarkyklę kaip root naudotoją</description>
<description xml:lang="ko">루트 사용자로 설정 관리자 실행</description>
<description xml:lang="kn">ರೂಟ್ ಬಳಕೆದಾರರಾಗಿ ಸೆಟ್ಟಿಂಗ್ಸ್ ಮ್ಯಾನೇಜರ್ ಅನ್ನು ಚಾಲನೆ ಮಾಡಿ</description>
<description xml:lang="kk">root пайдаланушы атынан параметрлер менеджерін іске қосыңыз</description>
<description xml:lang="ka">root მომხმარებლის სახელით პარამეტრების მენეჯერის გაშვება</description>
<description xml:lang="ja">rootユーザーとして設定マネージャーを実行する</description>
<description xml:lang="it">Esegui il gestore delle impostazioni come utente root</description>
<description xml:lang="id">Jalankan pengelola pengaturan sebagai pengguna root</description>
<description xml:lang="ia">Execurre le manager de configurationes como usator root</description>
<description xml:lang="hu">Futtassa a beállításkezelőt root felhasználóként</description>
<description xml:lang="hr">Pokrenite upravitelj postavkama kao korisnik root</description>
<description xml:lang="hi">रूट उपयोगकर्ता के रूप में सेटिंग्स मैनेजर चलाएँ</description>
<description xml:lang="he">הפעל את מנהל ההגדרות בשם משתמש root</description>
<description xml:lang="gu">રૂટ યૂઝર તરીકે સેટિંગ્સ મેનેજર ચલાવો</description>
<description xml:lang="gl">Execute o xestor de configuracións como usuario root</description>
<description xml:lang="fur">Eseguì il gestòr di impostazions come utent root</description>
<description xml:lang="fr">Exécutez le gestionnaire des paramètres en tant qu'utilisateur root</description>
<description xml:lang="fi">Suorita asetusten hallinta root-käyttäjänä</description>
<description xml:lang="eu">Exekutatu ezarpen kudeatzailea root erabiltzaile gisa</description>
<description xml:lang="es">Ejecuta el administrador de configuraciones como usuario root</description>
<description xml:lang="eo">Rulu la agordojn-mastrilon kiel root-uzanto</description>
<description xml:lang="en_GB">Run settings manager as root</description>
<description xml:lang="el">Εκτελέστε τον διαχειριστή ρυθμίσεων ως χρήστης root</description>
<description xml:lang="de">Führen Sie den Einstellungsmanager als root-Benutzer aus</description>
<description xml:lang="da">Kør indstillingsadministratoren som root-bruger</description>
<description xml:lang="cs">Spusťte správce nastavení jako uživatel root</description>
<description xml:lang="ca">Executeu el gestor de configuracions com a usuari root</description>
<description xml:lang="bn_IN">রুট ব্যবহারকারী হিসেবে সেটিং ম্যানেজার চালান</description>
<description xml:lang="bg">Стартирайте мениджъра на настройките като потребител root</description>
<description xml:lang="ast">Ejecute'l xestor de configuración como usuariu root</description>
<description xml:lang="as">root ব্যৱহাৰকাৰী হিচাপে ছেটিংছ মেনেজাৰ চলাও</description>
<description xml:lang="ar">شغّل مدير الإعدادات باسم مستخدم root</description>
<description xml:lang="af">Voer instellingsbestuurder uit as root-gebruiker</description>
<message>Authentication is required to run settings manager as root</message>
<message xml:lang="zh_TW">以 root 身份執行設定管理器</message>
<message xml:lang="zh_CN">以 root 身份运行设置管理器</message>
<message xml:lang="te">రూట్‌గా సెట్టింగ్స్ మేనేజర్‌ను నడపండి</message>
<message xml:lang="uk">Запустіть диспетчер налаштувань від імені користувача root</message>
<message xml:lang="tr">Ayar yöneticisini root kullanıcısı olarak çalıştırın</message>
<message xml:lang="ta">ரூட் பயனரின் பெயரில் அமைப்புகள் மேலாளரை இயக்கவும்</message>
<message xml:lang="sv">Kör inställningshanteraren som root</message>
<message xml:lang="sr@latin">Pokrenite upravnik postavkama kao root korisnik</message>
<message xml:lang="sr">Покрените управник подешавањима као корисник root</message>
<message xml:lang="sl">Zaženite upravitelja nastavitev kot uporabnik root</message>
<message xml:lang="sk">Spustite správcu nastavení ako používateľ root</message>
<message xml:lang="ru">Запустить диспетчер настроек от имени пользователя root</message>
<message xml:lang="ro">Rulați managerul de setări ca utilizator root</message>
<message xml:lang="pt_BR">Execute o gerenciador de configurações como usuário root</message>
<message xml:lang="pt">Execute o gestor de definições como utilizador root</message>
<message xml:lang="pl">Uruchom menedżera ustawień jako użytkownik root</message>
<message xml:lang="pa">ਰੂਟ ਯੂਜ਼ਰ ਦੇ ਨਾਂ 'ਤੇ ਸੈਟਿੰਗ ਮੈਨੇਜਰ ਚਲਾਓ</message>
<message xml:lang="or">ରୁଟ୍ ବ୍ୟବହାରକାରୀ ନାମରେ ସେଟିଂସ୍ ମ୍ୟାନେଜର୍ ଚାଲାନ୍ତୁ</message>
<message xml:lang="oc">Lance lo gestor de configuracions coma utilizator root</message>
<message xml:lang="nn">Kjør innstillingssjefen som root-brukar</message>
<message xml:lang="nl">Voer instellingenbeheerder uit als root-gebruiker</message>
<message xml:lang="mr">रूट वापरकर्त्याच्या नावाने सेटिंग्ज मॅनेजर चालवा</message>
<message xml:lang="ml">root ഉപയോക്താവിന്റെ പേരിൽ സെറ്റിംഗ്സ് മാനേജർ പ്രവർത്തിപ്പിക്കുക</message>
<message xml:lang="lv">Palaidiet iestatījumu pārvaldnieku kā root lietotājs</message>
<message xml:lang="lt">Paleiskite nustatymų tvarkyklę kaip root naudotoją</message>
<message xml:lang="ko">루트 사용자로 설정 관리자 실행</message>
<message xml:lang="kn">ರೂಟ್ ಬಳಕೆದಾರರಾಗಿ ಸೆಟ್ಟಿಂಗ್ಸ್ ಮ್ಯಾನೇಜರ್ ಅನ್ನು ಚಾಲನೆ ಮಾಡಿ</message>
<message xml:lang="kk">root пайдаланушы атынан параметрлер менеджерін іске қосыңыз</message>
<message xml:lang="ka">root მომხმარებლის სახელით პარამეტრების მენეჯერის გაშვება</message>
<message xml:lang="ja">rootユーザーとして設定マネージャーを実行する</message>
<message xml:lang="it">Esegui il gestore delle impostazioni come utente root</message>
<message xml:lang="id">Jalankan pengelola pengaturan sebagai pengguna root</message>
<message xml:lang="ia">Execurre le manager de configurationes como usator root</message>
<message xml:lang="hu">Futtassa a beállításkezelőt root felhasználóként</message>
<message xml:lang="hr">Pokrenite upravitelj postavkama kao korisnik root</message>
<message xml:lang="hi">रूट उपयोगकर्ता के रूप में सेटिंग्स मैनेजर चलाएँ</message>
<message xml:lang="he">הפעל את מנהל ההגדרות בשם משתמש root</message>
<message xml:lang="gu">રૂટ યૂઝર તરીકે સેટિંગ્સ મેનેજર ચલાવો</message>
<message xml:lang="gl">Execute o xestor de configuracións como usuario root</message>
<message xml:lang="fur">Eseguì il gestòr di impostazions come utent root</message>
<message xml:lang="fr">Exécutez le gestionnaire des paramètres en tant qu'utilisateur root</message>
<message xml:lang="fi">Suorita asetusten hallinta root-käyttäjänä</message>
<message xml:lang="eu">Exekutatu ezarpen kudeatzailea root erabiltzaile gisa</message>
<message xml:lang="es">Ejecuta el administrador de configuraciones como usuario root</message>
<message xml:lang="eo">Rulu la agordojn-mastrilon kiel root-uzanto</message>
<message xml:lang="en_GB">Run settings manager as root</message>
<message xml:lang="el">Εκτελέστε τον διαχειριστή ρυθμίσεων ως χρήστης root</message>
<message xml:lang="de">Führen Sie den Einstellungsmanager als root-Benutzer aus</message>
<message xml:lang="da">Kør indstillingsadministratoren som root-bruger</message>
<message xml:lang="cs">Spusťte správce nastavení jako uživatel root</message>
<message xml:lang="ca">Executeu el gestor de configuracions com a usuari root</message>
<message xml:lang="bn_IN">রুট ব্যবহারকারী হিসেবে সেটিং ম্যানেজার চালান</message>
<message xml:lang="bg">Стартирайте мениджъра на настройките като потребител root</message>
<message xml:lang="ast">Ejecute'l xestor de configuración como usuariu root</message>
<message xml:lang="as">root ব্যৱহাৰকাৰী হিচাপে ছেটিংছ মেনেজাৰ চলাও</message>
<message xml:lang="ar">شغّل مدير الإعدادات باسم مستخدم root</message>
<message xml:lang="af">Voer instellingsbestuurder uit as root-gebruiker</message>
<defaults> <defaults>
<allow_any>auth_admin</allow_any> <allow_any>auth_admin</allow_any>
<allow_inactive>auth_admin</allow_inactive> <allow_inactive>auth_admin</allow_inactive>
@ -20,5 +130,4 @@
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/ubl-settings-manager</annotate> <annotate key="org.freedesktop.policykit.exec.path">/usr/bin/ubl-settings-manager</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate> <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
</action> </action>
</policyconfig> </policyconfig>

@ -15,7 +15,9 @@ add_definitions(${VTE291_CFLAGS_OTHER})
find_library(WEBKIT_LIBRARIES_FOUND webkit2gtk-4.0 webkit2gtk-web-extension-4.0) find_library(WEBKIT_LIBRARIES_FOUND webkit2gtk-4.0 webkit2gtk-web-extension-4.0)
option(WEBKIT_FOUND "No" OFF)
if(WEBKIT_LIBRARIES_FOUND) if(WEBKIT_LIBRARIES_FOUND)
option(WEBKIT_FOUND "Yes" ON)
PKG_CHECK_MODULES(WEBKIT REQUIRED webkit2gtk-4.0 webkit2gtk-web-extension-4.0) PKG_CHECK_MODULES(WEBKIT REQUIRED webkit2gtk-4.0 webkit2gtk-web-extension-4.0)
include_directories(${WEBKIT_INCLUDE_DIRS}) include_directories(${WEBKIT_INCLUDE_DIRS})
link_directories(${WEBKIT_LIBRARY_DIRS}) link_directories(${WEBKIT_LIBRARY_DIRS})
@ -49,26 +51,29 @@ add_custom_command(
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMAND ${GLIB_COMPILE_RESOURCES} COMMAND ${GLIB_COMPILE_RESOURCES}
ARGS ARGS
--generate-source --generate-source
--target=${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C} --target=${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C}
${GRESOURCE_XML} ${GRESOURCE_XML}
VERBATIM VERBATIM
MAIN_DEPENDENCY ${GRESOURCE_XML} MAIN_DEPENDENCY ${GRESOURCE_XML}
DEPENDS DEPENDS
${GLADE} ${GLADE}
) )
add_custom_target( add_custom_target(
dummy-resource dummy-resource
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C} DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C}
) )
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -std=c++2a") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always \
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -lm")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always \
-O2 -pipe -fno-plt -fexceptions \ -O2 -pipe -fno-plt -fexceptions \
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \ -Wformat -Werror=format-security \
-fstack-clash-protection -fcf-protection") -fstack-clash-protection -fcf-protection")
string(FIND "${CMAKE_CXX_FLAGS}" "-D_FORTIFY_SOURCE" FORTIFY_FOUND)
if(FORTIFY_FOUND EQUAL -1)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wp,-D_FORTIFY_SOURCE=2")
endif()
set(SOURCE_FILES set(SOURCE_FILES
ubl-settings-manager.c ubl-settings-manager.c

@ -1,7 +1,7 @@
#include "ubl-settings-manager.h" #include "ubl-settings-manager.h"
void yon_open_browser(GtkWidget *self, char *link){ void yon_open_browser(GtkWidget *, char *link){
GtkWidget *window = yon_ubl_browser_window_open(link,template_app_information.app_title); GtkWidget *window = yon_ubl_browser_window_open(link,template_app_information.app_title);
if (window) if (window)
gtk_window_set_icon_name(GTK_WINDOW(window),yon_char_append("com.ublinux.",template_app_information.app_tech_name)); gtk_window_set_icon_name(GTK_WINDOW(window),yon_char_append("com.ublinux.",template_app_information.app_tech_name));
@ -43,12 +43,12 @@ void on_open_documentation_confirmation(GtkWidget *self, char *link){
* [uri] - ссылка, по которой совершается переход; * [uri] - ссылка, по которой совершается переход;
* [user_data] - указатель на любые другие данные, не используется в стандартном обработчике; * [user_data] - указатель на любые другие данные, не используется в стандартном обработчике;
*/ */
void on_link(GtkWidget *self, char* uri, gpointer user_data){ void on_link(GtkWidget *self, char* uri, gpointer){
gtk_widget_destroy(self); gtk_widget_destroy(self);
on_open_documentation_confirmation(self,uri); on_open_documentation_confirmation(self,uri);
} }
void on_about(GtkWidget *self, char *version_application){ void on_about(GtkWidget *, char *version_application){
GtkBuilder *builder=gtk_builder_new_from_resource(ui_glade_path_about); GtkBuilder *builder=gtk_builder_new_from_resource(ui_glade_path_about);
GtkWidget *window=yon_gtk_builder_get_widget(builder,"AboutWindow"); GtkWidget *window=yon_gtk_builder_get_widget(builder,"AboutWindow");
GtkWidget *title=yon_gtk_builder_get_widget(builder,"headerAboutTopic"); GtkWidget *title=yon_gtk_builder_get_widget(builder,"headerAboutTopic");

@ -22,6 +22,7 @@ typedef struct {
// GtkWidget *AcceptButton; // GtkWidget *AcceptButton;
} section_struct; } section_struct;
void yon_section_window_add_default(settings_section_window *window);
void on_section_remove(GtkWidget *,section_struct *section); void on_section_remove(GtkWidget *,section_struct *section);
void on_section_add(GtkWidget *,settings_section_window *window); void on_section_add(GtkWidget *,settings_section_window *window);
void on_section_clear(GtkWidget *,settings_section_window *window); void on_section_clear(GtkWidget *,settings_section_window *window);

@ -31,7 +31,7 @@ void on_settings_accept(GtkWidget *, settings_window *window){
settings_window *yon_settings_window_new(){ settings_window *yon_settings_window_new(){
settings_window *window = malloc(sizeof(settings_window)); settings_window *window = malloc(sizeof(settings_window));
memset(window,0,sizeof(window)); memset(window,0,sizeof(settings_window));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_settings); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_settings);
window->Window = yon_gtk_builder_get_widget(builder,"Window"); window->Window = yon_gtk_builder_get_widget(builder,"Window");
window->SizeSlider = yon_gtk_builder_get_widget(builder,"SizeSlider"); window->SizeSlider = yon_gtk_builder_get_widget(builder,"SizeSlider");
@ -48,7 +48,7 @@ settings_window *yon_settings_window_new(){
g_signal_connect(G_OBJECT(window->SizeSlider),"change-value",G_CALLBACK(on_settings_size_changed),window); g_signal_connect(G_OBJECT(window->SizeSlider),"change-value",G_CALLBACK(on_settings_size_changed),window);
int size; int size;
config_str themes = (config_str)g_hash_table_get_keys_as_array(main_config.themes,&size); config_str themes = (config_str)g_hash_table_get_keys_as_array(main_config.themes,(guint*)&size);
qsort(themes,size,sizeof(char*),yon_char_parsed_compare); qsort(themes,size,sizeof(char*),yon_char_parsed_compare);
for (int i=0;i<size;i++){ for (int i=0;i<size;i++){
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(window->ThemeCombo),themes[i],themes[i]); gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(window->ThemeCombo),themes[i],themes[i]);
@ -59,7 +59,6 @@ settings_window *yon_settings_window_new(){
} else { } else {
gtk_combo_box_set_active_id(GTK_COMBO_BOX(window->ThemeCombo),GNOME_THEME_LABEL); gtk_combo_box_set_active_id(GTK_COMBO_BOX(window->ThemeCombo),GNOME_THEME_LABEL);
} }
window->icon_size;
if (!yon_window_config_get_parameter(settings_section,icon_size_parameter,&window->icon_size,YON_TYPE_INT)){ if (!yon_window_config_get_parameter(settings_section,icon_size_parameter,&window->icon_size,YON_TYPE_INT)){
window->icon_size=32; window->icon_size=32;
} }

@ -6,6 +6,10 @@ typedef struct {
app_section *section; app_section *section;
} gnome_section; } gnome_section;
gnome_section *yon_gnome_section_new();
void yon_gnome_section_setup_apps(gnome_section *cur_section, const char *target);
void yon_gnome_section_search_show(gnome_section *section, const char *string);
void on_gnome_plug_connected(GtkWidget *,gnome_theme_struct *theme){ void on_gnome_plug_connected(GtkWidget *,gnome_theme_struct *theme){
gtk_widget_show(theme->SocketBox); gtk_widget_show(theme->SocketBox);
gtk_widget_hide(theme->HideBox); gtk_widget_hide(theme->HideBox);
@ -39,8 +43,8 @@ void on_gnome_activate(GtkWidget *,GtkListBoxRow *self, gnome_theme_struct *them
} }
void on_gnome_selected(GtkWidget *self_list,GtkListBoxRow *self, gnome_theme_struct *theme); void on_gnome_selected(GtkWidget *self_list,GtkListBoxRow *, gnome_theme_struct *theme);
void on_gnome_selected(GtkWidget *self_list,GtkListBoxRow *self, gnome_theme_struct *theme){ void on_gnome_selected(GtkWidget *self_list,GtkListBoxRow *, gnome_theme_struct *theme){
GList *list = gtk_container_get_children(GTK_CONTAINER(theme->AppsTree)); GList *list = gtk_container_get_children(GTK_CONTAINER(theme->AppsTree));
GList *iter; GList *iter;
for (iter=list;iter;iter=iter->next){ for (iter=list;iter;iter=iter->next){
@ -53,13 +57,10 @@ void on_gnome_selected(GtkWidget *self_list,GtkListBoxRow *self, gnome_theme_str
} }
} }
void on_gnome_socket_add(){
}
gnome_section *yon_gnome_section_new(){ gnome_section *yon_gnome_section_new(){
gnome_section *cur_section = malloc(sizeof(gnome_section)); gnome_section *cur_section = malloc(sizeof(gnome_section));
memset(cur_section,0,sizeof(cur_section)); memset(cur_section,0,sizeof(gnome_section));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_gnome_section); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_gnome_section);
cur_section->expander = yon_gtk_builder_get_widget(builder,"MainExpander"); cur_section->expander = yon_gtk_builder_get_widget(builder,"MainExpander");
cur_section->AppsList = yon_gtk_builder_get_widget(builder,"AppsList"); cur_section->AppsList = yon_gtk_builder_get_widget(builder,"AppsList");
@ -176,7 +177,6 @@ gnome_theme_struct *yon_gnome_theme_new(){
gtk_widget_show(theme->Socket); gtk_widget_show(theme->Socket);
g_signal_connect(G_OBJECT(theme->SearchEntry),"changed",G_CALLBACK(on_gnome_search),theme); g_signal_connect(G_OBJECT(theme->SearchEntry),"changed",G_CALLBACK(on_gnome_search),theme);
g_signal_connect(G_OBJECT(theme->SocketBox),"add",G_CALLBACK(on_gnome_socket_add),theme);
// gtk_cell_renderer_set_fixed_size(theme->IconCell,main_config.apps_icon_size,main_config.apps_icon_size); // gtk_cell_renderer_set_fixed_size(theme->IconCell,main_config.apps_icon_size,main_config.apps_icon_size);
return theme; return theme;
} }

@ -7,6 +7,9 @@ typedef struct {
app_section *section; app_section *section;
} main_section; } main_section;
void yon_main_section_setup_apps(main_section *cur_section, const char *target);
main_section *yon_main_section_new();
void yon_main_section_get_max_size(main_section *section, int *ret_width, int *ret_height);
void on_main_plug_connected(GtkWidget *,main_theme_struct *theme){ void on_main_plug_connected(GtkWidget *,main_theme_struct *theme){
gtk_widget_show(theme->SocketBox); gtk_widget_show(theme->SocketBox);
@ -37,7 +40,7 @@ void on_main_selected(GtkWidget* self, main_theme_struct *theme){
} }
} }
void on_main_activate(GtkFlowBox* self, GtkFlowBoxChild* child, main_theme_struct *theme){ void on_main_activate(GtkFlowBox* , GtkFlowBoxChild* child, main_theme_struct *theme){
theme->Socket = GTK_WIDGET(yon_sockets_init(GTK_BOX(theme->SocketBox))); theme->Socket = GTK_WIDGET(yon_sockets_init(GTK_BOX(theme->SocketBox)));
g_signal_connect(G_OBJECT(theme->Socket),"plug_added",G_CALLBACK(on_main_plug_connected),theme); g_signal_connect(G_OBJECT(theme->Socket),"plug_added",G_CALLBACK(on_main_plug_connected),theme);
g_signal_connect(G_OBJECT(theme->Socket),"destroy",G_CALLBACK(on_main_plug_disconnected),theme); g_signal_connect(G_OBJECT(theme->Socket),"destroy",G_CALLBACK(on_main_plug_disconnected),theme);
@ -57,9 +60,9 @@ void on_main_activate(GtkFlowBox* self, GtkFlowBoxChild* child, main_theme_struc
yon_launch_app_with_arguments(command,command_args); yon_launch_app_with_arguments(command,command_args);
} }
void on_main_socket_add(){ // void on_main_socket_add(){
} // }
void yon_main_section_setup_apps(main_section *cur_section, const char *target){ void yon_main_section_setup_apps(main_section *cur_section, const char *target){
if (yon_char_is_empty(target)) return; if (yon_char_is_empty(target)) return;
@ -104,7 +107,7 @@ void yon_main_section_setup_apps(main_section *cur_section, const char *target){
main_section *yon_main_section_new(){ main_section *yon_main_section_new(){
main_section *cur_section = malloc(sizeof(main_section)); main_section *cur_section = malloc(sizeof(main_section));
memset(cur_section,0,sizeof(cur_section)); memset(cur_section,0,sizeof(main_section));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_main_section); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_main_section);
cur_section->expander = yon_gtk_builder_get_widget(builder,"MainExpander"); cur_section->expander = yon_gtk_builder_get_widget(builder,"MainExpander");
cur_section->MainLabel = yon_gtk_builder_get_widget(builder,"MainLabel"); cur_section->MainLabel = yon_gtk_builder_get_widget(builder,"MainLabel");
@ -167,10 +170,10 @@ void yon_main_theme_resize(main_theme_struct *theme){
} }
} }
void yon_main_update(main_theme_struct *theme){ int yon_main_update(main_theme_struct *theme){
GList *list = gtk_container_get_children(GTK_CONTAINER(theme->AppsTree)); GList *list = gtk_container_get_children(GTK_CONTAINER(theme->AppsTree));
GList *iter; GList *iter;
for (iter=list;iter;iter->next){ for (iter=list;iter;iter=iter->next){
gtk_widget_destroy(GTK_WIDGET(iter->data)); gtk_widget_destroy(GTK_WIDGET(iter->data));
} }
@ -181,6 +184,7 @@ void yon_main_update(main_theme_struct *theme){
} }
yon_main_theme_resize(theme); yon_main_theme_resize(theme);
return 1;
} }
main_theme_struct *yon_main_theme_new(){ main_theme_struct *yon_main_theme_new(){
@ -195,6 +199,5 @@ main_theme_struct *yon_main_theme_new(){
theme->Socket = NULL; theme->Socket = NULL;
theme->list_update_func = (int(*)(struct main_theme_struct*))yon_main_update; theme->list_update_func = (int(*)(struct main_theme_struct*))yon_main_update;
g_signal_connect(G_OBJECT(theme->SocketBox),"add",G_CALLBACK(on_main_socket_add),theme);
return theme; return theme;
} }

@ -518,9 +518,9 @@ char *yon_get_load_socket(){
return NULL; return NULL;
} }
void confugure_setings_window(main_window *widgets){ // void confugure_setings_window(main_window *widgets){
} // }
void yon_interface_update(main_window *widgets){ void yon_interface_update(main_window *widgets){
if (main_config.sections) { if (main_config.sections) {
@ -645,7 +645,7 @@ int main(int argc, char *argv[]){
} }
} }
gtk_init(&argc, &argv); gtk_init(&argc, &argv);
main_window *widgets = yon_main_window_setup(); yon_main_window_setup();
GtkCssProvider *css=gtk_css_provider_new(); GtkCssProvider *css=gtk_css_provider_new();
gtk_css_provider_load_from_resource(css,CssPath); gtk_css_provider_load_from_resource(css,CssPath);

@ -234,5 +234,24 @@ void yon_interface_update(main_window *widgets);
void on_settings_open(GtkWidget *, main_window *widgets); void on_settings_open(GtkWidget *, main_window *widgets);
void yon_section_window_open(GtkWidget *, settings_window *settings); void yon_section_window_open(GtkWidget *, settings_window *settings);
void on_reveal_banner(GtkWidget *, main_window *widgets);
void config_init();
void yon_config_update();
void on_back_clicked(GtkWidget *, GtkWidget *socket);
void on_plug_connected(GtkSocket *self, main_window *widgets);
main_window *yon_main_window_setup();
gboolean on_settings_size_changed(GtkRange* , GtkScrollType* , gdouble value, settings_window *window);
settings_window *yon_settings_window_new();
void on_gnome_plug_connected(GtkWidget *,gnome_theme_struct *theme);
void on_gnome_plug_disconnected(GtkWidget *,gnome_theme_struct *theme);
void yon_gnome_section_setup(gnome_theme_struct *theme,app_section *section);
int yon_gnome_update(gnome_theme_struct *theme);
void on_gnome_search(GtkWidget *, gnome_theme_struct *theme);
void on_main_plug_connected(GtkWidget *,main_theme_struct *theme);
void on_main_plug_disconnected(GtkWidget *,main_theme_struct *theme);
void on_main_activate(GtkFlowBox* , GtkFlowBoxChild* child, main_theme_struct *theme);
void yon_main_section_setup(main_theme_struct *theme, app_section *section);
void yon_main_theme_resize(main_theme_struct *theme);
int yon_main_update(main_theme_struct *theme);
#endif #endif

@ -1,14 +1,243 @@
[Desktop Entry] [Desktop Entry]
Version=1.0
Encoding=UTF-8 Encoding=UTF-8
Name=ubl-settings-manager Name=Settings manager for the system
Name[ru]=Диспетчер настроек UBLinux Name[zh_TW]=系統設定管理器
GenericName=ubl-settings-manager Name[zh_CN]=系统设置管理器
GenericName[ru]=Диспетчер настроек UBLinux Name[te]=సిస్టమ్ సెట్టింగ్స్ మేనేజర్
Comment=ubl-settings-manager Name[uk]=Менеджер налаштувань системи
Comment[ru]=Графический диспетчер настроек UBLinux Name[tr]=Sistem için ayar yöneticisi
Name[ta]=கணினி அமைப்புகளுக்கான மேலாளர்
Name[sv]=Inställningshanterare för systemet
Name[sr@latin]=Upravnik podešavanja sistema
Name[sr]=Управник поставки система
Name[sl]=Upravljalnik nastavitev sistema
Name[sk]=Správca nastavení systému
Name[ru]=Диспетчер настроек
Name[ro]=Manager de setări pentru sistem
Name[pt_BR]=Gerenciador de configurações do sistema
Name[pt]=Gestor de definições do sistema
Name[pl]=Menadżer ustawień systemu
Name[pa]=ਸਿਸਟਮ ਲਈ ਸੈਟਿੰਗ ਮੈਨੇਜਰ
Name[or]=ସିଷ୍ଟମ ପାଇଁ ସେଟିଂସ୍ ମ୍ୟାନେଜର୍
Name[oc]=Gestionari de configuracions pel sistèma
Name[nn]=Innstillingsbehandlar for systemet
Name[nl]=Instellingenbeheerder voor het systeem
Name[mr]=सिस्टमसाठी सेटिंग्ज व्यवस्थापक
Name[ml]=സിസ്റ്റം സെറ്റിങ്ങുകൾ മാനേജർ
Name[lv]=Sistēmas iestatījumu pārvaldnieks
Name[lt]=Sistemos nustatymų tvarkyklė
Name[ko]=시스템 설정 관리자
Name[kn]=ಸಿಸ್ಟಮ್ ಸೆಟ್ಟಿಂಗ್ಸ್ ಮ್ಯಾನೇಜರ್
Name[kk]=Жүйенің баптаулар басқарушысы
Name[ka]=სისტემის პარართების მენეჯერი
Name[ja]=システムの設定マネージャー
Name[it]=Gestore delle impostazioni del sistema
Name[id]=Pengelola pengaturan sistem
Name[ia]=Manager de configurationes pro le systema
Name[hu]=Rendszer beállításkezelő
Name[hr]=Upravitelj postavki sustava
Name[hi]=सिस्टम के लिए सेटिंग्स मैनेजर
Name[he]=מנהל ההגדרות של המערכת
Name[gu]=સિસ્ટમ માટે સેટિંગ મેનેજર
Name[gl]=Xestor de configuracións do sistema
Name[fur]=Gestôr des impostazions dal sistem
Name[fr]=Gestionnaire des paramètres du système
Name[fi]=Järjestelmän asetusten hallintaohjelma
Name[eu]=Sistemaren ezarpen kudeatzailea
Name[es]=Administrador de configuración del sistema
Name[eo]=Agordilo mastrumilo por la sistemo
Name[en_GB]=Settings manager for the system
Name[el]=Διαχειριστής ρυθμίσεων για το σύστημα
Name[de]=Einstellungsmanager für das System
Name[da]=Indstillingsadministrator for systemet
Name[cs]=Správce nastavení systému
Name[ca]=Gestor de configuracions del sistema
Name[bn_IN]=সিস্টেমের জন্য সেটিংস ম্যানেজার
Name[bg]=Мениджър на настройките за системата
Name[ast]=Xestor de configuración del sistema
Name[as]=চিষ্টেমৰ বাবে ছেটিঙছ মেনেজাৰ
Name[ar]=مدير إعدادات النظام
Name[af]=Instellingsbestuurder vir die stelsel
GenericName=Settings manager for the system
GenericName[zh_TW]=系統設定管理器
GenericName[zh_CN]=系统设置管理器
GenericName[te]=సిస్టమ్ సెట్టింగ్స్ మేనేజర్
GenericName[uk]=Менеджер налаштувань системи
GenericName[tr]=Sistem için ayar yöneticisi
GenericName[ta]=கணினி அமைப்புகளுக்கான மேலாளர்
GenericName[sv]=Inställningshanterare för systemet
GenericName[sr@latin]=Upravnik podešavanja sistema
GenericName[sr]=Управник поставки система
GenericName[sl]=Upravljalnik nastavitev sistema
GenericName[sk]=Správca nastavení systému
GenericName[ru]=Диспетчер настроек
GenericName[ro]=Manager de setări pentru sistem
GenericName[pt_BR]=Gerenciador de configurações do sistema
GenericName[pt]=Gestor de definições do sistema
GenericName[pl]=Menadżer ustawień systemu
GenericName[pa]=ਸਿਸਟਮ ਲਈ ਸੈਟਿੰਗ ਮੈਨੇਜਰ
GenericName[or]=ସିଷ୍ଟମ ପାଇଁ ସେଟିଂସ୍ ମ୍ୟାନେଜର୍
GenericName[oc]=Gestionari de configuracions pel sistèma
GenericName[nn]=Innstillingsbehandlar for systemet
GenericName[nl]=Instellingenbeheerder voor het systeem
GenericName[mr]=सिस्टमसाठी सेटिंग्ज व्यवस्थापक
GenericName[ml]=സിസ്റ്റം സെറ്റിങ്ങുകൾ മാനേജർ
GenericName[lv]=Sistēmas iestatījumu pārvaldnieks
GenericName[lt]=Sistemos nustatymų tvarkyklė
GenericName[ko]=시스템 설정 관리자
GenericName[kn]=ಸಿಸ್ಟಮ್ ಸೆಟ್ಟಿಂಗ್ಸ್ ಮ್ಯಾನೇಜರ್
GenericName[kk]=Жүйенің баптаулар басқарушысы
GenericName[ka]=სისტემის პარართების მენეჯერი
GenericName[ja]=システムの設定マネージャー
GenericName[it]=Gestore delle impostazioni del sistema
GenericName[id]=Pengelola pengaturan sistem
GenericName[ia]=Manager de configurationes pro le systema
GenericName[hu]=Rendszer beállításkezelő
GenericName[hr]=Upravitelj postavki sustava
GenericName[hi]=सिस्टम के लिए सेटिंग्स मैनेजर
GenericName[he]=מנהל ההגדרות של המערכת
GenericName[gu]=સિસ્ટમ માટે સેટિંગ મેનેજર
GenericName[gl]=Xestor de configuracións do sistema
GenericName[fur]=Gestôr des impostazions dal sistem
GenericName[fr]=Gestionnaire des paramètres du système
GenericName[fi]=Järjestelmän asetusten hallintaohjelma
GenericName[eu]=Sistemaren ezarpen kudeatzailea
GenericName[es]=Administrador de configuración del sistema
GenericName[eo]=Agordilo mastrumilo por la sistemo
GenericName[en_GB]=Settings manager for the system
GenericName[el]=Διαχειριστής ρυθμίσεων για το σύστημα
GenericName[de]=Einstellungsmanager für das System
GenericName[da]=Indstillingsadministrator for systemet
GenericName[cs]=Správce nastavení systému
GenericName[ca]=Gestor de configuracions del sistema
GenericName[bn_IN]=সিস্টেমের জন্য সেটিংস ম্যানেজার
GenericName[bg]=Мениджър на настройките за системата
GenericName[ast]=Xestor de configuración del sistema
GenericName[as]=চিষ্টেমৰ বাবে ছেটিঙছ মেনেজাৰ
GenericName[ar]=مدير إعدادات النظام
GenericName[af]=Instellingsbestuurder vir die stelsel
Comment=Graphical settings manager for the system
Comment[zh_TW]=系統的圖形設置管理器
Comment[zh_CN]=系统的图形设置管理器
Comment[te]=సిస్టమ్ కోసం గ్రాఫికల్ సెట్టింగ్స్ మేనేజర్
Comment[uk]=Графічний менеджер налаштувань для системи
Comment[tr]=Sistem için grafiksel ayarlar yöneticisi
Comment[ta]=அமைப்பிற்கான வரைபட அமைப்பமைவு மேலாளர்
Comment[sv]=Grafik inställningshanterare för systemet
Comment[sr@latin]=Grafički upravnik podešavanja za sistem
Comment[sr]=Графички управник подешавања за систем
Comment[sl]=Grafični upravitelj nastavitev za sistem
Comment[sk]=Grafický správca nastavení pre systém
Comment[ru]=Графический диспетчер настроек для системы
Comment[ro]=Manager grafic pentru setările sistemului
Comment[pt_BR]=Gerenciador gráfico de configurações para o sistema
Comment[pt]=Gerenciador gráfico de configurações para o sistema
Comment[pl]=Graficzny menedżer ustawień systemu
Comment[pa]=ਸਿਸਟਮ ਲਈ ਗ੍ਰਾਫਿਕ ਅਨੁਕੂਲਤਾ ਮੇਨੇਜਰ
Comment[or]=ସିଷ୍ଟମ ପାଇଁ ଗ୍ରାଫିକ୍ ସେଟିଂ ମ୍ୟାନେଜର୍
Comment[oc]=Gestor grafic de configuracions per al sistèma
Comment[nn]=Grafisk innstillingar-vert for systemet
Comment[nl]=Grafische instellingenbeheerder voor het systeem
Comment[mr]=सिस्टिमसाठी ग्राफिकल सेटिंग मॅनेजर
Comment[ml]=സിസ്റ്റത്തിനുള്ള ഗ്രാഫിക്കൽ സജ്ജീകരണ മാനേജർ
Comment[lv]=Grafiskais iestatījumu pārvaldnieks sistēmai
Comment[lt]=Grafinis sistemos nustatymų valdiklis
Comment[ko]=시스템용 그래픽 설정 관리자
Comment[kn]=ವ್ಯವಸ್ಥೆಗೆ ಗ್ರಾಫಿಕಲ್ ಸೆಟ್ಟಿಂಗ್ಸ್ ಮ್ಯಾನೇಜರ್
Comment[kk]=Жүйеге арналған графикалық баптау менеджері
Comment[ka]=სისტემისთვის გრაფიკული პარამეტრების მენეჯერ
Comment[ja]=システムのグラフィカル設定マネージャー
Comment[it]=Gestore grafico delle impostazioni per il sistema
Comment[id]=Pengelola pengaturan grafis untuk sistem
Comment[ia]=Manager graphic del configurationes pro le systema
Comment[hu]=Grafikus beállításkezelő a rendszerhez
Comment[hr]=Grafički upravitelj postavki za sustav
Comment[hi]=सिस्टम के लिए ग्राफिकल सेटिंग्स मैनेजर
Comment[he]=מנהל הגדרות גרפיות למערכת
Comment[gu]=સિસ્ટમ માટે ગ્રાફિકલ સેટિંગ મેનેજર
Comment[gl]=Xestor gráfico de configuracións para o sistema
Comment[fur]=Gestôr grafic des impostazions par il sistem
Comment[fr]=Gestionnaire graphique des paramètres du système
Comment[fi]=Grafiikkasetusten hallintajärjestelmä
Comment[eu]=Sistemaren konfigurazio kudeatzaile grafikoa
Comment[es]=Administrador gráfico de configuraciones para el sistema
Comment[eo]=Grafika agordilo por la sistemo
Comment[en_GB]=Graphical settings manager for the system
Comment[el]=Γραφικός διαχειριστής ρυθμίσεων για το σύστημα
Comment[de]=Grafischer Einstellungsmanager für das System
Comment[da]=Grafisk indstillingsadministrator for systemet
Comment[cs]=Grafický správce nastavení pro systém
Comment[ca]=Gestor gràfic de configuracions per al sistema
Comment[bn_IN]=সিস্টেমের জন্য গ্রাফিকাল সেটিংস ম্যানেজার
Comment[bg]=Графичен мениджър на настройките за системата
Comment[ast]=Xestor gráfico daxustes pal sistema
Comment[as]=প্ৰণালীটোৰ বাবে গ্ৰাফিকেল ছেটিংছ মেনেজাৰ
Comment[ar]=مدير إعدادات الرسوميات للنظام
Comment[af]=Grafiese instellingsbestuurder vir die stelsel
Keywords=settings;manager;system;
Comment[zh_TW]=設定;管理員;系統;
Comment[zh_CN]=设置;管理器;系统;
Comment[te]=సెట్టింగ్స్;మెనీేజర్;సిస్టమ్;
Comment[uk]=налаштування;диспетчер;система;
Comment[tr]=ayarlar;yönetici;sistem;
Comment[ta]=அமைப்புகள்;மேலாளர்;கணினி;
Comment[sv]=inställningar;hanterare;system;
Comment[sr@latin]=podešavanja;menadžer;sistem;
Comment[sr]=подешавања;менаџер;систем;
Comment[sl]=nastavitve;upravitelj;sistem;
Comment[sk]=nastavenia;správca;systém;
Comment[ru]=настройки;диспетчер;система;
Comment[ro]=setări;manager;sistem;
Comment[pt_BR]=configurações;gerenciador;sistema;
Comment[pt]=configurações;gestor;sistema;
Comment[pl]=ustawienia;menedżer;system;
Comment[pa]=ਸੈਟਿੰਗਾਂ;ਮੈਨੇਜਰ;ਤੰਤਰ;
Comment[or]=ବିନ୍ୟାସ;ବ୍ୟବସ୍ଥାପକ;ପ୍ରଣାଳୀ;
Comment[oc]=configuracions;gerent;sistèma;
Comment[nn]=innstillingar;sjef;system;
Comment[nl]=instellingen;beheerder;systeem;
Comment[mr]=सेटिंग्ज;मॅनेजर;सिस्टीम;
Comment[ml]=ക്രമീകരണങ്ങൾ;മെനേജർ;സിസ്റ്റം;
Comment[lv]=iestatījumi;pārvaldnieks;sistēma;
Comment[lt]=nustatymai;valdytojas;sistema;
Comment[ko]=설정;관리자;시스템;
Comment[kn]=ಸೆಟ್ಟಿಂಗ್ಸ್;ಮ್ಯಾನೇಜರ್;ಸಿಸ್ಟಂ;
Comment[kk]=баптаулар;басқарушы;жүйе;
Comment[ka]=პარამეტრები;მენეჯერი;სისტემა;
Comment[ja]=設定;マネージャー;システム;
Comment[it]=impostazioni;gestore;sistema;
Comment[id]=pengaturan;manajer;sistem;
Comment[ia]=configurationes;manager;systema;
Comment[hu]=beállítások;kezelő;rendszer;
Comment[hr]=postavke;upravitelj;sustav;
Comment[hi]=सेटिंग्स;प्रबंधक;सिस्टम;
Comment[he]=הגדרות;מנהל;מערכת;
Comment[gu]=સેટિંગ્સ;મૅનેજર;સિસ્ટમ;
Comment[gl]=configuracións;xestor;sistema;
Comment[fur]=impostazions;gestôr;sisteme;
Comment[fr]=paramètres;gestionnaire;système;
Comment[fi]=asetukset;hallinta;järjestelmä;
Comment[eu]=ezarpenak;kudeatzailea;sistema;
Comment[es]=configuraciones;gestor;sistema;
Comment[eo]=agordoj;mastrumanto;sistemo;
Comment[en_GB]=settings;manager;system;
Comment[el]=ρυθμίσεις;διαχειριστής;σύστημα;
Comment[de]=einstellungen;manager;system;
Comment[da]=indstillinger;administrator;system;
Comment[cs]=nastavení;správce;systém;
Comment[ca]=configuracions;gestor; sistema;
Comment[bn_IN]=সেটিংস;ম্যানেজার;সিস্টেম;
Comment[bg]=настройки;мениджър;система;
Comment[ast]=configuración;xerente;sistema;
Comment[as]=ছেটিংচ;ম্যানেজাৰ;চিষ্টেম;
Comment[ar]=الإعدادات;المدير;النظام;
Comment[af]=instellings;bestuurder;stelsel;
Type=Application Type=Application
Exec=ubl-settings-manager Exec=ubl-settings-manager
Icon=com.ublinux.ubl-settings-manager Icon=com.ublinux.ubl-settings-manager
Terminal=false Terminal=false
StartupNotify=true
StartupWMClass=ubl-settings-manager
X-XfcePluggable=false X-XfcePluggable=false
Categories=XFCE;GTK;Settings;DesktopSettings;X-XFCE-SettingsDialog; Categories=XFCE;GTK;Settings;DesktopSettings;X-XFCE-SettingsDialog;
Loading…
Cancel
Save