diff --git a/.config/ubconfig-main/ubconfig-main.conf b/.config/ubconfig-main/ubconfig-main.conf deleted file mode 100644 index c9c03db..0000000 --- a/.config/ubconfig-main/ubconfig-main.conf +++ /dev/null @@ -1,15 +0,0 @@ -[window] -WindowPosX=0 -WindowPosY=0 -WindowWidth=1920 -WindowHeight=1004 -WindowTheme=1 -IconSize=2 -IconSegmentSize=152 - -[sections] -Personal=XFCE; -Hardware=X-UBL-SettingsManager;X-UBL-HardwareSettings; -System=X-UBL-SettingsManager;X-UBL-SystemSettings; -Misc=X-UBL-SettingsManager;X-UBL-PersonalSettings; -Xfce Настройки=X-XFCE-SettingsDialog; diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 2d7cb9c..0000000 --- a/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -.vscode/ -config.conf -ubconfig-main-back.conf -gtk-dark.css -msgformat.py -calendarApp.glade -calendarApp.glade~ -ubl-settings-manager.glade~ -ubl-settings-manager-bin \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 7a5f510..0000000 --- a/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# ubl-settings-manager - diff --git a/css/gtk-widgets.css b/css/gtk-widgets.css deleted file mode 100644 index db09f48..0000000 --- a/css/gtk-widgets.css +++ /dev/null @@ -1,57 +0,0 @@ - -.bg { - -} - -.label { - font-size: 13px; -} -.noborder{ - border:none; - border-width:0px; - border-radius:0px; - box-shadow: none; -} -.darkborder{ - border-width:1px; - border-radius:1px; -} -.bannerbackground { -background-color: #404040; -} -.elseps { - border-style:solid; - border-bottom-width: 1px; - border-image: linear-gradient(90deg, #aaaaaa 0%, #dcddde 100%); - border-image-slice: 1; - -} -.fgnb { -} - - -#Icon { - background-color: transparent; - color: transparent; -} - -iconview#GnomeIcon{ - border-style:solid; - border-bottom-width: 1px; - border-image: linear-gradient(90deg, #aaaaaa 0%, #dcddde 100%); - border-image-slice: 1; - - background-color: transparent; -} -#noborders{ - border-style:solid; - border: 0px; -} - -label#iconlabel { - font-size:14px; - font-weight: bold; -} -#combo{ - text-align:center; -} diff --git a/images/side_img_ubc_v_dark_grad_down.png b/images/side_img_ubc_v_dark_grad_down.png deleted file mode 100644 index b7f6b74..0000000 Binary files a/images/side_img_ubc_v_dark_grad_down.png and /dev/null differ diff --git a/images/ublinux-dark-glow-sc.svg b/images/ublinux-dark-glow-sc.svg deleted file mode 100644 index d44113c..0000000 --- a/images/ublinux-dark-glow-sc.svg +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/locale/base.pot b/locale/base.pot deleted file mode 100644 index 625dc25..0000000 --- a/locale/base.pot +++ /dev/null @@ -1,96 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-01-17 04:52+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: test.c:724 -msgid "Back to settings" -msgstr "" - -#: test.c:841 -msgid "UBLinux Settings Manager" -msgstr "" - -#: test.c:842 -msgid "Personal" -msgstr "" - -#: test.c:843 -msgid "Hardware" -msgstr "" - -#: test.c:844 -msgid "System" -msgstr "" - -#: test.c:845 -msgid "Icon size" -msgstr "" - -#: test.c:846 -msgid "Window theme" -msgstr "" - -#: test.c:847 -msgid "Misc" -msgstr "" - -#: test.c:848 -msgid "Would you like to read documentation in the Web?" -msgstr "" - -#: test.c:849 -msgid "" -"You will be redirected to documentation site, where user help pages are " -"translated and supported by community." -msgstr "" - -#: test.c:850 -msgid "Read online" -msgstr "" - -#: test.c:851 -msgid "Cancel" -msgstr "" - -#: test.c:852 -msgid "Close without saving" -msgstr "" - -#: test.c:853 -msgid "Save and reload" -msgstr "" - -#: test.c:854 -msgid "Always redirect" -msgstr "" - -#: test.c:855 -msgid "Settings" -msgstr "" - -#: test.c:856 -msgid "About..." -msgstr "" - -#: test.c:899 -msgid "Standard theme" -msgstr "" - -#: test.c:900 -msgid "GNOME theme" -msgstr "" diff --git a/locale/en/LC_MESSAGES/base.mo b/locale/en/LC_MESSAGES/base.mo deleted file mode 100644 index e3e36d6..0000000 Binary files a/locale/en/LC_MESSAGES/base.mo and /dev/null differ diff --git a/locale/en/LC_MESSAGES/base.po b/locale/en/LC_MESSAGES/base.po deleted file mode 100644 index e88f35b..0000000 --- a/locale/en/LC_MESSAGES/base.po +++ /dev/null @@ -1,96 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-01-17 04:52+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: test.c:724 -msgid "Back to settings" -msgstr "" - -#: test.c:841 -msgid "UBLinux Settings Manager" -msgstr "" - -#: test.c:842 -msgid "Personal" -msgstr "" - -#: test.c:843 -msgid "Hardware" -msgstr "" - -#: test.c:844 -msgid "System" -msgstr "" - -#: test.c:845 -msgid "Icon size" -msgstr "" - -#: test.c:846 -msgid "Window theme" -msgstr "" - -#: test.c:847 -msgid "Misc" -msgstr "" - -#: test.c:848 -msgid "Would you like to read documentation in the Web?" -msgstr "" - -#: test.c:849 -msgid "" -"You will be redirected to documentation site, where user help pages are " -"translated and supported by community." -msgstr "" - -#: test.c:850 -msgid "Read online" -msgstr "" - -#: test.c:851 -msgid "Cancel" -msgstr "" - -#: test.c:852 -msgid "Close without saving" -msgstr "" - -#: test.c:853 -msgid "Save and reload" -msgstr "Save and apply" - -#: test.c:854 -msgid "Always redirect" -msgstr "" - -#: test.c:855 -msgid "Settings" -msgstr "" - -#: test.c:856 -msgid "About..." -msgstr "" - -#: test.c:899 -msgid "Standard theme" -msgstr "" - -#: test.c:900 -msgid "GNOME theme" -msgstr "" diff --git a/locale/ru/LC_MESSAGES/base.mo b/locale/ru/LC_MESSAGES/base.mo deleted file mode 100644 index 64cce7d..0000000 Binary files a/locale/ru/LC_MESSAGES/base.mo and /dev/null differ diff --git a/locale/ru/LC_MESSAGES/base.po b/locale/ru/LC_MESSAGES/base.po deleted file mode 100644 index 2a9a7a4..0000000 --- a/locale/ru/LC_MESSAGES/base.po +++ /dev/null @@ -1,96 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-01-17 04:52+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: test.c:724 -msgid "Back to settings" -msgstr "Назад" - -#: test.c:841 -msgid "UBLinux Settings Manager" -msgstr "Менеджер настроек UBLinux" - -#: test.c:842 -msgid "Personal" -msgstr "Личные" - -#: test.c:843 -msgid "Hardware" -msgstr "Оборудование" - -#: test.c:844 -msgid "System" -msgstr "Система" - -#: test.c:845 -msgid "Icon size" -msgstr "Размер иконок" - -#: test.c:846 -msgid "Window theme" -msgstr "Выбор темы" - -#: test.c:847 -msgid "Misc" -msgstr "Прочее" - -#: test.c:848 -msgid "Would you like to read documentation in the Web?" -msgstr "Вы хотите прочитать руководство в сети?" - -#: test.c:849 -msgid "" -"You will be redirected to documentation site, where user help pages are " -"translated and supported by community." -msgstr "Вы будете перенаправлены на сайт с документацией, где страницы помощи переводятся и поддерживаются сообществом" - -#: test.c:850 -msgid "Read online" -msgstr "Прочитать онлайн" - -#: test.c:851 -msgid "Cancel" -msgstr "Отмена" - -#: test.c:852 -msgid "Close without saving" -msgstr "Закрыть без сохранения" - -#: test.c:853 -msgid "Save and reload" -msgstr "Сохранить и применить" - -#: test.c:854 -msgid "Always redirect" -msgstr "Всегда перенаправлять на документацию" - -#: test.c:855 -msgid "Settings" -msgstr "Настройки" - -#: test.c:856 -msgid "About..." -msgstr "О программе" - -#: test.c:899 -msgid "Standard theme" -msgstr "Стандартная тема" - -#: test.c:900 -msgid "GNOME theme" -msgstr "GNOME тема" diff --git a/ubl-settings-manager.c b/ubl-settings-manager.c deleted file mode 100644 index 6112760..0000000 --- a/ubl-settings-manager.c +++ /dev/null @@ -1,1537 +0,0 @@ -#ifndef UBL_SETTINGS_MANAGER_MAIN -#define UBL_SETTINGS_MANAGER_MAIN -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "ubl-settings-manager.h" - -#define _(String) gettext(String) - -char **sectionremoval=NULL; -int removalsize=0; -char *local; -config main_config; - -char *cats[2]={"XFCE","GTK"}; -char *ubcatsPersonal[2]={"X-UBL-SettingsManager","X-UBL-PersonalSettings"}; -char *ubcatsSystem[2]={"X-UBL-SettingsManager","X-UBL-SystemSettings"}; -char *ubcatsHardware[2]={"X-UBL-SettingsManager","X-UBL-HardwareSettings"}; -char *ubcatsMisc[1]={NULL}; -int gnld=0; -int stld=0; -int cmld=0; - - -void on_plug_added(GtkSocket* self, actionWidgets *builder){ - //printf("Plug has been added!\n"); - gtk_widget_set_vexpand(builder->HideWhileLaunch,0); - gtk_widget_hide(builder->HideWhileLaunch); - gtk_widget_set_vexpand(GTK_WIDGET(builder->socketplace),1); - gtk_widget_set_vexpand(GTK_WIDGET(self),1); - gtk_widget_show(builder->socketplace); - - if (builder->ButtonBackToMain!=NULL) gtk_widget_set_sensitive(builder->ButtonBackToMain,1); - gtk_widget_show(GTK_WIDGET(self)); -} - -void on_plug_removed(GtkSocket* self, actionWidgets *widgets){ - gtk_widget_show(widgets->HideWhileLaunch); - gtk_widget_set_vexpand(widgets->socketplace,0); - gtk_widget_set_vexpand(widgets->HideWhileLaunch,1); - //printf("Plug has been removed!\n\n\n"); - -} - -void on_Item_activated(GtkIconView* self, GtkTreePath* path, actionWidgets *applist){ - //printf("\n\n\nActivated\n\n\n"); - GtkTreeIter iter; - char *name; - gtk_tree_model_get_iter(gtk_icon_view_get_model(self),&iter,path); - gtk_tree_model_get(gtk_icon_view_get_model(self),&iter,1,&name,-1); - - apps *tempapp=get_app_by_name(applist->applist,name,applist->appssize); - if (!tempapp){}else{ - char arg[100]; - memset(arg,0,100); - sprintf(arg,"--socket-id=%d",gtk_socket_get_id(GTK_SOCKET(applist->socket))); - - if (tempapp[0].Type==2) - if (tempapp->Pluggable==1) - py_launch_app(tempapp[0].Exec,arg); - else py_launch_app(tempapp[0].Exec,""); - else if (tempapp[0].Type==1){ - if (tempapp->Pluggable==1) - launch_app_with_arguments(tempapp[0].Exec,arg); - else launch_app(tempapp[0].Exec); - } - } -}; - -void on_gnome_Item_activated(GtkIconView* self, GtkTreePath* path, actionWidgets *applist){ - GtkTreeIter iter; - char *name; - if (!applist->socket){}else{ - gtk_widget_destroy(applist->socket); - } - applist->socket=create_socket(applist); - gtk_tree_model_get_iter(gtk_icon_view_get_model(self),&iter,path); - gtk_tree_model_get(gtk_icon_view_get_model(self),&iter,1,&name,-1); - - apps *tempapp=get_app_by_name(applist->applist,name,applist->appssize); - char arg[100]; - memset(arg,0,100); - sprintf(arg,"--socket-id=%d",gtk_socket_get_id(GTK_SOCKET(applist->socket))); - - if (tempapp[0].Type==2) - if (tempapp->Pluggable==1) - py_launch_app(tempapp[0].Exec,arg); - else py_launch_app(tempapp[0].Exec,""); - else if (tempapp[0].Type==1){ - if (tempapp->Pluggable==1) - launch_app_with_arguments(tempapp[0].Exec,arg); - else launch_app(tempapp[0].Exec); - } -} - -void on_item_selection_changed(GtkIconView *IV, actionWidgets *widgets){ - if (gtk_icon_view_get_selected_items(IV)>0){ - dictionary *next=widgets->ICSys->first; - for (dictionary *dct=next;dct!=NULL;dct=dct->next){ - IVGraphicals *IVG=(IVGraphicals*)dct->data; - if (IVG->IV!=IV) - if (gtk_icon_view_get_selected_items(GTK_ICON_VIEW(IVG->IV))>0) - gtk_icon_view_unselect_all(GTK_ICON_VIEW(IVG->IV)); - } - } -}; - -void on_ButtonOpenHelp_activated(GtkWidget *button, GtkBuilder *builder){ - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,"AlwaysOpenHelpCheckbox")))) - { - system("xdg-open http://ublinux.com"); - } else - { - GtkWidget *window = GTK_WIDGET(gtk_builder_get_object(builder,"HelpSureWindow")); - gtk_widget_show(window); - }; -}; - -void on_backToSettingsButton_clicked(GtkWidget *button,actionWidgets *sctb){ - GtkWidget *window=GTK_WIDGET(gtk_builder_get_object(sctb->builder,"HideWhileLaunch")); - GtkWidget *socketplace=GTK_WIDGET(gtk_builder_get_object(sctb->builder,"socketplace")); - gtk_widget_destroy(sctb->socket); - sctb->socket=GTK_WIDGET(create_socket(sctb)); - GtkWidget *backbutton=sctb->ButtonBackToMain; - gtk_widget_set_sensitive(backbutton,0); -}; - -void on_CancelHelpButton_activated(GtkWidget *button,GtkBuilder *builder){ - GtkWidget *window = GTK_WIDGET(gtk_builder_get_object(builder,"HelpSureWindow")); - gtk_widget_hide(window); -}; - -void on_ReadHelpButton_activated(GtkWidget *button, GtkBuilder *builder){ - system("xdg-open http://ublinux.com"); - GtkWidget *window = GTK_WIDGET(gtk_builder_get_object(builder,"HelpSureWindow")); - gtk_widget_hide(window); -}; - -int on_settings_accept(GtkWidget *button, dictionary **widgetsDs){ - dictionary *widgetsD=*widgetsDs; - printf("Saving config...\n"); - - actionWidgets *widgets=(actionWidgets*)widgetsD->data; - - int theme=gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->settingsThemeChooser)); - - if (theme==0) - main_config.curThemeName="Main"; - else if (theme==1) - main_config.curThemeName="Gnome"; - - if (main_config.WindowTheme!=theme){ - main_config.WindowTheme=theme; - GtkWidget *loaderWindow=GTK_WIDGET(gtk_builder_get_object(widgets->builder,"LoaderWindow")); - gtk_window_resize(GTK_WINDOW(loaderWindow),main_config.windowWidth,main_config.windowHeight); - gtk_window_move(GTK_WINDOW(loaderWindow),main_config.windowPosX,main_config.windowPosY); - - gtk_widget_show(loaderWindow); - gtk_window_present(GTK_WINDOW(widgets->SettingsWindow)); - // gtk_widget_hide(widgets->window); - yon_switch_theme(widgetsDs,yon_dictionary_find(&widgetsD,main_config.curThemeName)); - if (widgets!=(actionWidgets*)widgetsD->data) widgets=(actionWidgets*)widgetsD->data; - // gtk_widget_show(widgets->window); - gtk_widget_hide(loaderWindow); - // main_config.WindowTheme=theme; - } - GKeyFile *gfile=g_key_file_new(); - int sz; - if (main_config.iconsize==64) sz=4; - if (main_config.iconsize==48) sz=3; - if (main_config.iconsize==32) sz=2; - if (main_config.iconsize==24) sz=1; - char *fromint=malloc(5); - memset(fromint,0,5); - g_key_file_load_from_file(gfile,ConfigPath,G_KEY_FILE_NONE,NULL); - sprintf(fromint,"%d",main_config.windowPosX); - g_key_file_set_string(gfile,"window","WindowPosX",fromint); - sprintf(fromint,"%d",main_config.windowPosY); - g_key_file_set_string(gfile,"window","WindowPosY",fromint); - sprintf(fromint,"%d",main_config.windowWidth); - g_key_file_set_string(gfile,"window","WindowWidth",fromint); - sprintf(fromint,"%d",main_config.windowHeight); - g_key_file_set_string(gfile,"window","WindowHeight",fromint); - sprintf(fromint,"%d",main_config.WindowTheme); - g_key_file_set_string(gfile,"window","WindowTheme",fromint); - sprintf(fromint,"%d",sz); - g_key_file_set_string(gfile,"window","IconSize",fromint); - sprintf(fromint,"%d",main_config.iconSegmentSize); - g_key_file_set_string(gfile,"window","IconSegmentSize",fromint); - for (dictionary *dict=widgets->ICSys->first;dict!=NULL;dict=dict->next){ - IVGraphicals *IV=(IVGraphicals*)dict->data; - g_key_file_set_string(gfile,"sections",IV->sectionName,IV->categories); - load_apps_with_clear(IV,widgets->applist,widgets->appssize); - } - g_key_file_save_to_file(gfile,ConfigPath,NULL); - gtk_window_present(GTK_WINDOW(widgets->SettingsWindow)); -}; - -void on_paned_move(GtkPaned* self, GtkScrollType* scroll_type, actionWidgets *widgets){ /* TODO */ - int position=gtk_paned_get_position(GTK_PANED(widgets->GnomePaned)); - if (position <115) position=115; - double pos=((double)position-(1/(double)position*4)*500)/1.8; - if (pos<110) pos=110; - //printf("Paned moved to %f\n",pos); - for (dictionary *dict=widgets->ICSys;dict!=NULL;dict=dict->next){ - IVGraphicals *IV=(IVGraphicals*)dict->data; - gtk_icon_view_set_item_width(GTK_ICON_VIEW(IV->IV),pos); - } - - -} - -int on_settingsOpen(GtkWidget *button, actionWidgets *widgets){ - gtk_window_set_title(GTK_WINDOW(widgets->SettingsWindow),"UBLinux Settings Manager"); - gtk_widget_set_size_request(widgets->SettingsWindow,400,250); - gtk_window_set_icon_from_file(GTK_WINDOW(widgets->SettingsWindow),AppIconPath,NULL); - gtk_widget_show_all(widgets->SettingsWindow); - gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->settingsThemeChooser),main_config.WindowTheme); - int sz=1; - if (main_config.iconsize==64) sz=4; - if (main_config.iconsize==48) sz=3; - if (main_config.iconsize==32) sz=2; - if (main_config.iconsize==24) sz=1; - gtk_range_set_value(GTK_RANGE(widgets->settingsSizeSlider),sz); - char *tmp=malloc(6); - sprintf(tmp,"%dx%d\0",main_config.iconsize,main_config.iconsize); - gtk_label_set_text(GTK_LABEL(widgets->settingsSizeInfoLabel),tmp); - gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gdk_pixbuf_new_from_file_at_scale("/usr/share/icons/hicolor/32x32/apps/ublinux-ubconfig.svg",main_config.iconsize,main_config.iconsize,1,NULL)); - - gtk_window_present(GTK_WINDOW(widgets->SettingsWindow)); -}; - -int on_settings_icon_size_changed(GtkWidget* self, actionWidgets *widgets){ - int val=(int)gtk_range_get_value(GTK_RANGE(self)); - if ((int)val==1||(int)val==0){ - gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gdk_pixbuf_new_from_file_at_scale("/usr/share/icons/hicolor/32x32/apps/ublinux-ubconfig.svg",24,24,1,NULL)); - gtk_label_set_text(GTK_LABEL(widgets->settingsSizeInfoLabel),"24x24"); - main_config.iconsize=24; - } - if ((int)val==2){ - gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gdk_pixbuf_new_from_file_at_scale("/usr/share/icons/hicolor/32x32/apps/ublinux-ubconfig.svg",32,32,1,NULL)); - gtk_label_set_text(GTK_LABEL(widgets->settingsSizeInfoLabel),"32x32"); - main_config.iconsize=32; - } - if ((int)val==3){ - gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gdk_pixbuf_new_from_file_at_scale("/usr/share/icons/hicolor/32x32/apps/ublinux-ubconfig.svg",48,48,1,NULL)); - gtk_label_set_text(GTK_LABEL(widgets->settingsSizeInfoLabel),"48x48"); - main_config.iconsize=48; - } - if ((int)val==4){ - gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gdk_pixbuf_new_from_file_at_scale("/usr/share/icons/hicolor/32x32/apps/ublinux-ubconfig.svg",64,64,1,NULL)); - gtk_label_set_text(GTK_LABEL(widgets->settingsSizeInfoLabel),"64x64"); - main_config.iconsize=64; - } -}; - -int on_settings_cancel(GtkWidget *button, actionWidgets *widgets){ - gtk_widget_hide(widgets->SettingsWindow); - setup_config(); -}; - -void on_section_settings_open(GtkButton* self,dictionary *cWidgets){ - actionWidgets *widgets=(actionWidgets*)cWidgets->data; - if (widgets->SettingsSections==NULL){ - dictionary *dict=yon_dictionary_create_empty(); - widgets->SettingsSections=dict; - for (dictionary *pointer=widgets->ICSys->first;pointer!=NULL;pointer=pointer->next){ - IVGraphicals *IV=(IVGraphicals*)pointer->data; - SectionSettingSegment *Sgm=yon_create_section_setting(IV->sectionName,IV->categories); - yon_segment_show(widgets,Sgm); - dict->data=Sgm; - dict->key=gtk_label_get_text(GTK_LABEL(Sgm->NameLabel)); - dict->next=malloc(sizeof(dictionary)); - dict->next->prev=dict; - dict->next->first=dict->first; - dict=dict->next; - } - dict=dict->prev; - dict->next=NULL; - } - gtk_widget_show(widgets->SectionSettingsWindow); -} - -void on_sections_edit(GtkWidget *button, actionWidgets *widgets){ - for (dictionary *dct=widgets->SettingsSections->first;dct!=NULL;dct=dct->next){ - SectionSettingSegment *segment=(SectionSettingSegment*)dct->data; - if (segment!=NULL){ - if (button==segment->ButtonEdit){ - gtk_widget_hide(segment->NameLabel); - gtk_widget_hide(segment->CategoriesLabel); - gtk_widget_show(segment->NameEntry); - gtk_widget_show(segment->CategoriesEntry); - gtk_widget_show(segment->EditButtonBox); - gtk_widget_hide(segment->DeleditBox); - gtk_widget_set_sensitive(segment->DragButtonBox,0); - - } else { - gtk_widget_set_sensitive(segment->OptionBox,0); - gtk_widget_set_sensitive(segment->DragButtonBox,0); - } - - } - } -}; - -void on_sections_accept(GtkWidget *button, actionWidgets *widgets){ - for (dictionary *dct=widgets->SettingsSections->first;dct!=NULL;dct=dct->next){ - SectionSettingSegment *segment=(SectionSettingSegment*)dct->data; - if (segment!=NULL){ - if (button==segment->EditButtonAccept){ - gtk_label_set_text(GTK_LABEL(segment->NameLabel),gtk_entry_get_text(GTK_ENTRY(segment->NameEntry))); - gtk_label_set_text(GTK_LABEL(segment->CategoriesLabel),gtk_entry_get_text(GTK_ENTRY(segment->CategoriesEntry))); - gtk_widget_show(segment->NameLabel); - gtk_widget_show(segment->CategoriesLabel); - gtk_widget_hide(segment->NameEntry); - gtk_widget_hide(segment->CategoriesEntry); - gtk_widget_hide(segment->EditButtonBox); - gtk_widget_show(segment->DeleditBox); - gtk_widget_set_sensitive(segment->DragButtonBox,1); - - }else { - gtk_widget_set_sensitive(segment->OptionBox,1); - gtk_widget_set_sensitive(segment->DragButtonBox,1); - } - } - - } -}; -void on_sections_cancel(GtkWidget *button, actionWidgets *widgets){ - for (dictionary *dct=widgets->SettingsSections->first;dct!=NULL;dct=dct->next){ - SectionSettingSegment *segment=(SectionSettingSegment*)dct->data; - if (segment!=NULL){ - if (button==segment->EditButtonCancel){ - gtk_entry_set_text(GTK_ENTRY(segment->NameEntry),gtk_label_get_text(GTK_LABEL(segment->NameLabel))); - gtk_entry_set_text(GTK_ENTRY(segment->CategoriesEntry),gtk_label_get_text(GTK_LABEL(segment->CategoriesLabel))); - gtk_widget_show(segment->NameLabel); - gtk_widget_show(segment->CategoriesLabel); - gtk_widget_hide(segment->NameEntry); - gtk_widget_hide(segment->CategoriesEntry); - gtk_widget_hide(segment->EditButtonBox); - gtk_widget_show(segment->ButtonEdit); - gtk_widget_set_sensitive(segment->DragButtonBox,1); - - }else { - gtk_widget_set_sensitive(segment->OptionBox,1); - gtk_widget_set_sensitive(segment->DragButtonBox,1); - } - } - - } -}; -void on_sections_move_up(GtkWidget *button, actionWidgets *widgets){ - for (dictionary *dct=widgets->SettingsSections->first;dct!=NULL;dct=dct->next){ - SectionSettingSegment *segment=(SectionSettingSegment*)dct->data; - if (segment!=NULL){ - if (button==segment->DragUpButton){ - if (dct->prev!=NULL){ - if (dct->prev==dct->first){ - yon_dictionary_make_first(dct); - dct->next->prev=dct->prev; - dct->prev->next=dct->next; - dct->next=dct->prev; - dct->prev=NULL; - dct->next->prev=dct; - } else if (dct->next==NULL){ - dct->next=dct->prev; - dct->next->next=NULL; - dct->next->prev->next=dct; - dct->prev=dct->prev->prev; - dct->next->prev=dct; - } else{ - dct->next->prev=dct->prev; - dct->prev->next=dct->next; - dct->next=dct->prev; - dct->prev=dct->prev->prev; - dct->prev->next=dct; - dct->next->prev=dct; - } - - - yon_segments_hide(widgets); - yon_segments_show(widgets); - } - } - } else return; - } -}; - -void on_sections_move_down(GtkWidget *button, actionWidgets *widgets){ - for (dictionary *dct=widgets->SettingsSections->first;dct!=NULL;dct=dct->next){ - SectionSettingSegment *segment=(SectionSettingSegment*)dct->data; - if (segment!=NULL){ - if (button==segment->DragDownButton){ - if (dct->next!=NULL){ - if (dct->next->next==NULL){ - dct->next->prev=dct->prev; - dct->prev->next=dct->next; - dct->prev=dct->next; - dct->next=NULL; - //dct->next->prev=dct; - dct->prev->next=dct; - } else if (dct->prev==NULL){ - yon_dictionary_make_first(dct->next); - dct->prev=dct->next; - dct->next=dct->next->next; - dct->prev->prev=NULL; - dct->next->prev=dct; - dct->prev->next=dct; - - } else{ - dct->next->prev=dct->prev; - dct->prev->next=dct->next; - dct->prev=dct->next; - dct->next=dct->next->next; - dct->next->prev=dct; - dct->prev->next=dct; - } - - - yon_segments_hide(widgets); - yon_segments_show(widgets); - } - } - } else return; - } -}; - -void on_sections_delete(GtkWidget *button, actionWidgets *widgets){ - for (dictionary *dct=widgets->SettingsSections->first;dct!=NULL;dct=dct->next){ - SectionSettingSegment *segment=(SectionSettingSegment*)dct->data; - if (segment!=NULL){ - if (button==segment->DragDownButton){ - dct->prev->next=dct->next; - dct->next->prev=dct->prev; - - gtk_container_remove(GTK_CONTAINER(widgets->SectionSettingsPack),segment->MainFrame); - } - } - } -}; -void on_sections_add(GtkWidget *button, actionWidgets *widgets){ - dictionary *dict=yon_dictionary_create_empty(); - dictionary *dct=NULL; - SectionSettingSegment *segment=yon_create_section_setting((char*)gtk_entry_get_text(GTK_ENTRY(widgets->SectionSettingAddNameEntry)),(char*)gtk_entry_get_text(GTK_ENTRY(widgets->SectionSettingAddCategoriesEntry))); - for (dct=widgets->SettingsSections->first;dct->next!=NULL;dct=dct->next){} - dict->data=segment; - dict->key=(char*)gtk_label_get_text(GTK_LABEL(segment->NameLabel)); - dct->next=dict; - dict->prev=dct; - dict->first=dct->first; - yon_segments_hide(widgets); - yon_segments_show(widgets); - gtk_entry_set_text(GTK_ENTRY(widgets->SectionSettingAddNameEntry),""); - gtk_entry_set_text(GTK_ENTRY(widgets->SectionSettingAddCategoriesEntry),""); -} - -void on_sections_new_clear(GtkWidget *button, actionWidgets *widgets){ - printf("w54y3563sthts\n"); - gtk_entry_set_text(GTK_ENTRY(widgets->SectionSettingAddNameEntry),""); - gtk_entry_set_text(GTK_ENTRY(widgets->SectionSettingAddCategoriesEntry),""); -} - -void on_sections_close(GtkWidget *button, actionWidgets *widgets){ - printf("snnnnnnthtsgyuilgg\n"); - gtk_widget_hide(widgets->SectionSettingsWindow); -} - -void on_sections_save(GtkWidget *button, actionWidgets *widgets){ - GKeyFile *gfile=g_key_file_new(); - g_key_file_load_from_file(gfile,ConfigPath,G_KEY_FILE_NONE,NULL); - main_config.sections=yon_dictionary_create_empty(); - for (dictionary *dict=widgets->SettingsSections;dict!=NULL;dict=dict->next){ - SectionSettingSegment *segment=(SectionSettingSegment*)dict->data; - char *nm=(char*)gtk_label_get_text(GTK_LABEL(segment->NameLabel)); - char *ct=(char*)gtk_label_get_text(GTK_LABEL(segment->CategoriesLabel)); - main_config.sections=yon_section_new(main_config.sections,nm,ct); - g_key_file_set_string(gfile,"sections",nm,ct); - for( int i=0;inext=NULL; - g_key_file_save_to_file(gfile,ConfigPath,NULL); - for (dictionary *cur=widgets->ICSys->first; cur!=NULL;cur=cur->next){ - IVGraphicals *IV=cur->data; - gtk_container_remove(GTK_CONTAINER(widgets->icvpack),IV->Box); - } - - widgets->ICSys=yon_create_icon_section_list(main_config.sections); - for (dictionary *cur=widgets->ICSys->first; cur!=NULL;cur=cur->next){ - load_apps((IVGraphicals*)cur->data,widgets->applist,widgets->appssize); - } - yon_show_icon_views(widgets->ICSys,widgets); - -} - -void on_section_delete(GtkWidget *button, actionWidgets *widgets){ - for (dictionary *dct=widgets->SettingsSections->first;dct!=NULL;dct=dct->next){ - SectionSettingSegment *segment=(SectionSettingSegment*)dct->data; - if (segment!=NULL){ - if (button==segment->ButtonDelete){ - if (dct->prev==NULL&&dct->next==NULL){ - }else if (dct->next==NULL){ - dct->prev->next=NULL; - }else if (dct->prev==NULL){ - dct->next->prev=NULL; - } else if (dct->prev==NULL){ - dct->next->prev=NULL; - }else { - dct->prev->next=dct->next; - dct->next->prev=dct->prev; - } - if (sectionremoval==NULL){ - removalsize++; - sectionremoval=malloc(removalsize*sizeof(char**)); - char *nm=(char*)gtk_label_get_text(GTK_LABEL(segment->NameLabel)); - sectionremoval[0]=malloc(strlen(nm)); - memset(sectionremoval[0],0,strlen(nm)); - sprintf(sectionremoval[0],"%s",nm); - } else { - removalsize++; - sectionremoval=realloc(sectionremoval,removalsize*sizeof(char**)); - char *nm=(char*)gtk_label_get_text(GTK_LABEL(segment->NameLabel)); - sectionremoval[removalsize-1]=malloc(strlen(nm)); - memset(sectionremoval[removalsize-1],0,strlen(nm)); - sprintf(sectionremoval[removalsize-1],"%s",nm); - } - gtk_container_remove(GTK_CONTAINER(widgets->SectionSettingsPack),segment->MainFrame); - - } - } - } -} -void on_resized (GtkWidget *window, GdkEventConfigure *event, dictionary *widgetsD){ - actionWidgets *widgets=(actionWidgets*)widgetsD->data; - - gtk_window_get_size() - gtk_window_get_size(GTK_WINDOW(widgets->window),&main_config.windowWidth,&main_config.windowHeight); -} -void launch_app_with_arguments(char *name, char *args){ - char *path=malloc(strlen(name)+strlen(args)+4); - memset(path,0,strlen(name)+strlen(args)+4); - memcpy(path,name,strlen(name)); - memcpy(path+strlen(name)," ",1); - strcat(args," &"); - strcat(path,args); - system(("/usr/bin/%s",path)); -}; - -void launch_app(char *name){ - strcat(name," &"); - system(name); -}; - -void py_launch_app(char *name,char *args){ - char *path=malloc(strlen("python ./")+strlen(name)+6+strlen(args)); - sprintf(path,"python ./%s.py %s &",name,args); - system(path); -}; - - -apps *get_app_by_name(apps *applist,char *name, int size){ - for (int i=0;iIV),GTK_TREE_MODEL(section->LV)); - gtk_icon_view_set_pixbuf_column(GTK_ICON_VIEW(section->IV),0); - gtk_icon_view_set_text_column(GTK_ICON_VIEW(section->IV),1); -} - -int load_apps(IVGraphicals *section, apps *applist, int size){ - int catstofind=sizeof(section->categories)/sizeof(char*); - int i=0; - for (int i=0;icategories)==1){ - GError *err=NULL; - char *path=malloc(strlen(IconPicturesPath)+strlen(applist[i].Icon)+7); - memset(path,0,strlen(IconPicturesPath)+strlen(applist[i].Icon)+7); - memcpy(path,IconPicturesPath,strlen(IconPicturesPath)); - path=yon_char_get_augumented(path,applist[i].Icon); - path=yon_char_get_augumented(path,PictureFormatMain); - GdkPixbuf *pixbuf; - pixbuf=gdk_pixbuf_new_from_file_at_size(path,main_config.iconsize,main_config.iconsize,NULL); - if (!pixbuf) { - pixbuf=gdk_pixbuf_new_from_file_at_size(ErrIconPicturePath,main_config.iconsize,main_config.iconsize,NULL); - }; - GtkTreeIter iter; - gtk_list_store_append(section->LV,&iter); - char *ChosenName; - ChosenName=applist[i].Name; - gtk_list_store_set(section->LV,&iter,0,pixbuf,1,ChosenName,-1); - } - } - gtk_icon_view_set_model(GTK_ICON_VIEW(section->IV),GTK_TREE_MODEL(section->LV)); - gtk_icon_view_set_pixbuf_column(GTK_ICON_VIEW(section->IV),0); - gtk_icon_view_set_text_column(GTK_ICON_VIEW(section->IV),1); -}; - -int load_apps_with_clear(IVGraphicals *section, apps *applist, int size){ - gtk_list_store_clear(section->LV); - load_apps(section,applist,size); -}; - -int hide_if_unfound(IVGraphicals *section){ - GtkTreeIter iter; - if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(section->LV),&iter)==0){ - gtk_widget_hide(section->IV); - gtk_widget_hide(section->label); - gtk_widget_hide(GTK_WIDGET(section->sep)); - } -} - -GtkWidget *create_socket(actionWidgets *builder){ - GtkWidget *socket; - socket = gtk_socket_new(); - g_signal_connect(G_OBJECT(socket),"plug-added",G_CALLBACK(on_plug_added),builder); - g_signal_connect(G_OBJECT(socket),"plug-removed",G_CALLBACK(on_plug_removed),builder); - g_signal_connect(G_OBJECT(socket),"destroy",G_CALLBACK(on_plug_removed),builder); - gtk_box_pack_start(GTK_BOX(builder->socketplace),socket,true,true,0); - return socket; -}; - -void sort_apps(apps *applist,int size){ - apps tmp; - if (size>2) - { - for (int i=1;id_name); - file=fopen(path,"r"); - //printf("%s\n",path); - if (strlen(de->d_name)>9) - { - char *extension=strstr(path,"."); - if (extension!=NULL) - { - if (strcmp(extension,".desktop")==0) - { - apps tempapp; - GKeyFile *gfile=g_key_file_new(); - g_key_file_load_from_file(gfile,path,G_KEY_FILE_KEEP_TRANSLATIONS,NULL); - char *Type=g_key_file_get_string(gfile,"Desktop Entry", "Type",NULL); - if (strcmp(Type,"Application")==0) tempapp.Type=1; else if (strcmp(Type,"pyApplication")==0) tempapp.Type=2; else continue; - tempapp.Name=g_key_file_get_locale_string(gfile,"Desktop Entry","Name",setlocale(LC_ALL,NULL),NULL); - if (tempapp.Name==NULL) continue; - tempapp.Categories=g_key_file_get_string(gfile,"Desktop Entry", "Categories",NULL); - if (tempapp.Categories==NULL) continue; - tempapp.Exec=g_key_file_get_string(gfile,"Desktop Entry", "Exec",NULL); - if (tempapp.Exec==NULL) continue; - tempapp.Icon=g_key_file_get_string(gfile,"Desktop Entry", "Icon",NULL); - if (tempapp.Icon==NULL) continue; - tempapp.Pluggable=g_key_file_get_boolean(gfile,"Desktop Entry", "Pluggable",NULL); - if (tempapp.Pluggable==NULL) tempapp.Pluggable=g_key_file_get_boolean(gfile,"Desktop Entry", "X-XfcePluggable",NULL); - if (size==0){ - applist=(apps*)malloc(size+1*sizeof(apps)); - applist[0].Name=malloc(strlen(tempapp.Name)+1); - applist[0].Categories=malloc(strlen(tempapp.Categories)+1); - applist[0].Exec=malloc(strlen(tempapp.Exec)+1); - applist[0].Icon=malloc(strlen(tempapp.Icon)+1); - strncpy(applist[0].Name,tempapp.Name,strlen(tempapp.Name)); - applist[0].Name[strlen(tempapp.Name)]='\0'; - strncpy(applist[0].Categories,tempapp.Categories,strlen(tempapp.Categories)); - applist[0].Categories[strlen(tempapp.Categories)]='\0'; - strncpy(applist[0].Exec,tempapp.Exec,strlen(tempapp.Exec)); - applist[0].Exec[strlen(tempapp.Exec)]='\0'; - strncpy(applist[0].Icon,tempapp.Icon,strlen(tempapp.Icon)); - applist[0].Icon[strlen(tempapp.Icon)]='\0'; - applist[0].Type=tempapp.Type; - applist[0].Pluggable=tempapp.Pluggable; - size++; - } else { - applist=(apps*)realloc(applist,(size+1)*sizeof(apps)); - applist[size].Name=malloc(strlen(tempapp.Name)+1); - applist[size].Categories=malloc(strlen(tempapp.Categories)+1); - applist[size].Exec=malloc(strlen(tempapp.Exec)+1); - applist[size].Icon=malloc(strlen(tempapp.Icon)+1); - strncpy(applist[size].Name,tempapp.Name,strlen(tempapp.Name)); - applist[size].Name[strlen(tempapp.Name)]='\0'; - printf("%s\n",applist[size].Name); - strncpy(applist[size].Categories,tempapp.Categories,strlen(tempapp.Categories)); - applist[size].Categories[strlen(tempapp.Categories)]='\0'; - strncpy(applist[size].Exec,tempapp.Exec,strlen(tempapp.Exec)); - applist[size].Exec[strlen(tempapp.Exec)]='\0'; - strncpy(applist[size].Icon,tempapp.Icon,strlen(tempapp.Icon)); - applist[size].Icon[strlen(tempapp.Icon)]='\0'; - applist[size].Pluggable=tempapp.Pluggable; - applist[size].Type=tempapp.Type; - size++; - } - } - } - } - } - } - //printf("Closing apps configuration...\n"); - *sizef=size; - return applist; -}; - -int check_categories(apps app, char *catstocheck){ - if (!catstocheck){ // TODO - char *found=strstr(app.Categories,"X-UBL-SettingsManager"); - char *perfound=strstr(app.Categories,"X-UBL-PersonalSettings"); - char *harfound=strstr(app.Categories,"X-UBL-HardwareSettings"); - char *sysfound=strstr(app.Categories,"X-UBL-SystemSettings"); - if (found==NULL||perfound!=NULL||harfound!=NULL||sysfound!=NULL) return 0; - return 1; - } else - { - char *left_cats=catstocheck; - char *cat=strstr(left_cats,";"); - if (!cat) return 0; - char *find_it=yon_cut(left_cats,(strlen(left_cats)-strlen(cat)),0); - char *found=strstr(app.Categories,find_it); - int to_find=0, n_found=0; - to_find++; - if (!found) return 0; - n_found++; - while (cat){ - char *fcat=strstr(app.Categories,";"); - cat=strstr(cat+1,";"); - if (!cat) break; - find_it=yon_cut(left_cats,(strlen(left_cats)-strlen(cat)),0); - char *found=strstr(app.Categories,find_it); - to_find++; - if (!found) break; - n_found++; - left_cats=cat+1; - if (strlen(left_cats)==0 ||strcmp(left_cats,'\0')==0) break; - } - if (to_find==n_found) return 1; else return 0; - } -}; - -int setup_config(){ - main_config.sections=malloc(sizeof(dictionary)); - main_config.sections->data=NULL; - main_config.sections->next=NULL; - main_config.sections->prev=NULL; - main_config.sections->first=NULL; - FILE *file; - char *foroutput=NULL; - char path[100]=ConfigPath; - file=fopen(path,"r"); - char *line=NULL; - if (!file) { - file=fopen(path,"w"); - fclose(file); - } - file=fopen(path,"r"); - fseek(file,0L,SEEK_END); - int lsize=(int)ftell(file); - if (lsize==0){ - main_config.windowPosX=0; - main_config.windowPosY=0; - main_config.windowWidth=800; - main_config.windowHeight=600; - main_config.WindowTheme=0; - main_config.iconsize=32; - main_config.iconSegmentSize=150; - return 2; - } - line=malloc(lsize+1); - line[lsize]=-1; - fseek(file,0L,SEEK_SET); - fread(line,1,lsize,file); - line[lsize]='\0'; - char *nmline; - char *minus; - int leng; - nmline=strstr(line,"WindowPosX=")+11; - if (nmline==0xb){main_config.windowPosX=0;}else{ - minus=strstr(nmline,"\n"); - if (!minus) minus=""; - leng=strlen(nmline)-strlen(minus); - foroutput=malloc(leng+2); - strncpy(foroutput,nmline,leng); - foroutput[leng]='\0'; - main_config.windowPosX=atoi(foroutput); - free(foroutput); - fseek(file,0L,SEEK_SET); - } - nmline=strstr(line,"WindowPosY=")+11; - if (nmline==0xb){main_config.windowPosY=0;}else{ - minus=strstr(nmline,"\n"); - if (!minus) minus=""; - leng=strlen(nmline)-strlen(minus); - foroutput=malloc(leng+2); - strncpy(foroutput,nmline,leng); - foroutput[leng]='\0'; - main_config.windowPosY=atoi(foroutput); - free(foroutput); - fseek(file,0L,SEEK_SET); - } - nmline=strstr(line,"WindowHeight=")+13; - if (nmline==0xd){main_config.windowHeight=600;}else{ - minus=strstr(nmline,"\n"); - if (!minus) minus=""; - leng=strlen(nmline)-strlen(minus); - foroutput=malloc(leng+2); - strncpy(foroutput,nmline,leng); - foroutput[leng]='\0'; - main_config.windowHeight=atoi(foroutput); - free(foroutput); - fseek(file,0L,SEEK_SET); - } - nmline=strstr(line,"WindowWidth=")+12; - if (nmline==0xd){main_config.windowWidth=800;}else{ - minus=strstr(nmline,"\n"); - if (!minus) minus=""; - leng=strlen(nmline)-strlen(minus); - foroutput=malloc(leng+2); - strncpy(foroutput,nmline,leng); - foroutput[leng]='\0'; - main_config.windowWidth=atoi(foroutput); - free(foroutput); - fseek(file,0L,SEEK_SET); - } - nmline=strstr(line,"WindowTheme=")+12; - if (nmline==0xc){main_config.WindowTheme=1;}else{ - minus=strstr(nmline,"\n"); - if (!minus) minus=""; - foroutput=malloc(leng+2); - strncpy(foroutput,nmline,leng); - foroutput[leng]='\0'; - main_config.WindowTheme=atoi(foroutput); - free(foroutput); - fseek(file,0L,SEEK_SET); - } - nmline=strstr(line,"IconSize=")+9; - if (nmline==0x9){main_config.iconsize=1;}else{ - minus=strstr(nmline,"\n"); - if (!minus) minus=""; - leng=strlen(nmline)-strlen(minus); - foroutput=malloc(leng+2); - strncpy(foroutput,nmline,leng); - foroutput[leng]='\0'; - main_config.iconsize=atoi(foroutput); - if (main_config.iconsize==1)main_config.iconsize=24; - else if (main_config.iconsize==2)main_config.iconsize=32; - else if (main_config.iconsize==3)main_config.iconsize=48; - else if (main_config.iconsize==4)main_config.iconsize=64; - free(foroutput); - fseek(file,0L,SEEK_SET); - } - nmline=strstr(line,"IconSegmentSize=")+16; - if (nmline==0x9){main_config.iconsize=1;}else{ - minus=strstr(nmline,"\n"); - if (!minus) minus=""; - leng=strlen(nmline)-strlen(minus); - foroutput=malloc(leng+2); - strncpy(foroutput,nmline,leng); - foroutput[leng]='\0'; - main_config.iconSegmentSize=atoi(foroutput); - free(foroutput); - fseek(file,0L,SEEK_SET); - } - nmline=strstr(line,"[sections]\n"); - if (!nmline){yon_set_default_sections(main_config.sections);} else { - nmline+=11; - minus=strstr(nmline,"["); - if (!minus) minus=""; - leng=strlen(nmline)-strlen(minus); - char *sectionsline=yon_cut(nmline,leng,0); - while (strcmp(sectionsline,"")!=0){ - nmline=yon_char_divide_search(sectionsline,"\n",1); - char *name=yon_char_divide_search(nmline, "=",1); - if (strcmp(name,"")!=0 || strcmp(nmline,"")!=0) - main_config.sections=yon_section_new(main_config.sections,name, nmline); - } - main_config.sections->next=NULL; - } - - if (main_config.windowWidth<1024&&main_config.windowHeight<720){ - main_config.WindowTheme=0; - } - -}; - -int yon_theme_copy_undependent(actionWidgets *source, actionWidgets *dest){ - dest->DialogOpenDocumentation=source->DialogOpenDocumentation; - dest->CancelHelpButton=source->CancelHelpButton; - dest->ReadHelpButton=source->ReadHelpButton; - dest->AlwaysOpenDocumentation=source->AlwaysOpenDocumentation; - dest->helpHeader=source->helpHeader; - dest->helpText=source->helpText; - dest->appSettings=source->appSettings; - dest->SettingsWindow=source->SettingsWindow; - dest->settingsSizeSlider=source->settingsSizeSlider; - dest->settingsThemeChooser=source->settingsThemeChooser; - dest->settingsCancel=source->settingsCancel; - dest->settingsAccept=source->settingsAccept; - dest->MenuItemSettings=source->MenuItemSettings; - dest->MenuItemDocumentation=source->MenuItemDocumentation; - dest->LabelTitle=source->LabelTitle; - dest->settingsSubmenuLabelSize=source->settingsSubmenuLabelSize; - dest->settingsSubmenuLabelTheme=source->settingsSubmenuLabelTheme; -}; - -char *yon_cut(char *source, int size, int startpos){ - char *cut=NULL; - cut=malloc(size+1); - memset(cut,0,size+1); - memcpy(cut,source+startpos,size); - return cut; -} - -char *yon_char_divide(char *source, int dividepos){ - char *cut=malloc(dividepos+1); - memset(cut,0,dividepos+1); - memcpy(cut,source,dividepos); - char *left=malloc(strlen(source)-strlen(cut)); - memset(left,0,strlen(source)-strlen(cut)); - memcpy(left,source+dividepos+1,(strlen(source)-dividepos)); - memset(source,0,strlen(source)); - memcpy(source,left,strlen(left)); - return cut; -} - -char *yon_char_divide_search(char *source, char* dividepos, int delete_divider){ - char *cut=strstr(source,dividepos); - int leng=strlen(source)-strlen(cut); - cut=yon_char_divide(source,leng); - return cut; -} - -void yon_set_default_sections(dictionary *section){ - section=malloc(sizeof(dictionary)); - IconSection *sec=malloc(sizeof(IconSection)); - sec->section="Personal"; - sec->categories="X-UBL-SettingsManager;X-UBL-PersonalSettings;"; - section->data=sec; - section->first=section; - section->next=malloc(sizeof(dictionary)); - section->next->prev=section; - section->next->first=section->first; - section=section->next; - sec=malloc(sizeof(IconSection)); - sec->section="Hardware"; - sec->categories="X-UBL-SettingsManager;X-UBL-HardwareSettings;"; - section->data=sec; - section->next=malloc(sizeof(dictionary)); - section->next->prev=section; - section->next->first=section->first; - section=section->next; - sec=malloc(sizeof(IconSection)); - sec->section="System"; - sec->categories="X-UBL-SettingsManager;X-UBL-SystemSettings;"; - section->data=sec; - section->next=malloc(sizeof(dictionary)); - section->next->prev=section; - section->next->first=section->first; - section=section->next; - sec=malloc(sizeof(IconSection)); - sec->section="Misc"; - sec->categories="X-UBL-SettingsManager;"; - section->data=sec; - section=section->first; -} - -IVGraphicals *yon_create_single_section_IV(char *name,char *cats){ - IVGraphicals *IVG=malloc(sizeof(IVGraphicals)); - GtkWidget *box=gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); - GtkWidget *iv=gtk_icon_view_new(); - GtkWidget *label=gtk_label_new(_(name)); - gtk_widget_set_name(label,"iconlabel"); - if (main_config.WindowTheme==1) { - gtk_icon_view_set_columns(GTK_ICON_VIEW(iv),1); - gtk_widget_set_name(iv,"GnomeIcon"); - gtk_icon_view_set_activate_on_single_click(GTK_ICON_VIEW(iv),1); - gtk_icon_view_set_item_orientation(GTK_ICON_VIEW(iv),GTK_ORIENTATION_HORIZONTAL); - } - - GtkWidget *sep=gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); - GtkListStore *lv=gtk_list_store_new(2, GDK_TYPE_PIXBUF,G_TYPE_STRING); - gtk_widget_set_halign(box,0); - gtk_widget_set_valign(box,1); - gtk_icon_view_set_pixbuf_column(GTK_ICON_VIEW(iv),0); - gtk_icon_view_set_text_column(GTK_ICON_VIEW(iv),1); - gtk_icon_view_set_item_width(GTK_ICON_VIEW(iv),75); - gtk_icon_view_set_model(GTK_ICON_VIEW(iv),GTK_TREE_MODEL(lv)); - gtk_label_set_xalign(GTK_LABEL(label),0); - gtk_box_pack_start(GTK_BOX(box),label,FALSE,FALSE,0); - gtk_box_pack_start(GTK_BOX(box),sep,FALSE,FALSE,0); - gtk_box_pack_start(GTK_BOX(box),iv,FALSE,FALSE,0); - IVG->sectionName=name; - IVG->categories=cats; - IVG->LV=lv; - IVG->Box=box; - IVG->IV=iv; - IVG->label=label; - IVG->sep=sep; - return IVG; -} - -dictionary *yon_create_icon_section_list(dictionary *sections){ - IVGraphicals *IVSections; - dictionary *IVDict=NULL; - sections=sections->first; - while (sections!=NULL){ - IconSection *name=(IconSection*)sections->data; - IVSections=yon_create_single_section_IV(name->section,name->categories); - // loadapps(IVSections,// applist,size //); - if (!IVDict) { - IVDict=yon_dictionary_create_empty(); - IVDict->key=name->section; - IVDict->data=IVSections; - IVDict->first=IVDict; - } else { - IVDict->next=malloc(sizeof(dictionary)); - IVDict->next->prev=IVDict; - IVDict->next->first=IVDict->first; - IVDict=IVDict->next; - IVDict->key=name->section; - IVDict->data=IVSections; - } - sections=sections->next; - } - IVDict->next=NULL; - return IVDict->first; -} - -dictionary *yon_section_new(dictionary *section, char *section_name, char *categories){ - section->next=NULL; - IconSection *sct=malloc(sizeof(IconSection)); - dictionary *dict=malloc(sizeof(dictionary)); - sct->section=section_name; - sct->categories=categories; - dict->data=sct; - if (!section->data){ - section->data=dict->data; - section->first=section; - section->key=section_name; - } else { - dict->first=section->first; - section->next=dict; - dict->prev=section; - dict->key=section_name; - section=section->next; - } - - return section; -} - -void yon_icv_resize_item(dictionary *icdict, GtkWidget *paned){ - for (dictionary *dict=icdict->first;dict!=NULL;dict=dict->next){ - IVGraphicals *icv=(IVGraphicals*)dict->data; - gtk_icon_view_set_item_width(GTK_ICON_VIEW(icv->IV),gtk_paned_get_position(GTK_PANED(paned))); - } -} - -char *yon_char_get_augumented(char *source, char *append){ - int size=strlen(source)+strlen(append)+1; - char *final=malloc(size); - memset(final,0,size); - sprintf(final,"%s%s",source,append); - return final; -} - -int yon_show_icon_views(dictionary *IVS,actionWidgets *widgets){ - for (dictionary *dct=IVS->first;dct!=NULL;dct=dct->next){ - IVGraphicals *iv=dct->data; - gtk_widget_show_all(iv->Box); - gtk_box_pack_start(GTK_BOX(widgets->icvpack),iv->Box,FALSE,FALSE,0); - if (main_config.WindowTheme==0) - g_signal_connect(G_OBJECT(iv->IV),"item-activated",G_CALLBACK(on_Item_activated),widgets); - else if (main_config.WindowTheme==1) - g_signal_connect(G_OBJECT(iv->IV),"item-activated",G_CALLBACK(on_gnome_Item_activated),widgets); - g_signal_connect(G_OBJECT(iv->IV),"selection-changed",G_CALLBACK(on_item_selection_changed),widgets); - - } -} - -dictionary *yon_dictionary_find(dictionary **dict, char *key){ - dictionary *dct=*dict; - for (dictionary *pointer=dct->first;pointer!=NULL;pointer=pointer->next){ - if (strcmp(pointer->key,key)==0){ - *dict=pointer; - return pointer; - } - } - return NULL; -} -void yon_switch_theme(dictionary **dict, dictionary *newone){ - dictionary *dct=*dict; - actionWidgets *widgets=(actionWidgets*)dct->data; - gtk_widget_hide(widgets->window); - gtk_window_get_position(GTK_WINDOW(widgets->window),&main_config.windowPosX,&main_config.windowPosY); - gtk_window_get_size(GTK_WINDOW(widgets->window),&main_config.windowWidth,&main_config.windowHeight); - *dict=newone; - dct=*dict; - widgets=(actionWidgets*)dct->data; - gtk_window_resize(GTK_WINDOW(widgets->window),main_config.windowWidth,main_config.windowHeight); - gtk_window_move(GTK_WINDOW(widgets->window),main_config.windowPosX,main_config.windowPosY); - gtk_window_maximize(GTK_WINDOW(widgets->window)); - gtk_widget_show(widgets->window); - if (strcmp(dct->key,"Gnome")==0){ - int x,y; - GdkRectangle workarea; - gdk_monitor_get_workarea(gdk_display_get_monitor(gdk_screen_get_display(gtk_window_get_screen(GTK_WINDOW(widgets->window))),0),&workarea); - gtk_window_get_size(GTK_WINDOW(widgets->window),&x, &y); - if (workarea.width<1024&&workarea.height<720||x<1024&&y<720){ - dictionary *founddict=yon_dictionary_find(dict,"Main"); - dct=yon_dictionary_find(dict,"Gnome"); - yon_switch_theme(&dct,founddict); - main_config.WindowTheme=0; - main_config.curThemeName="Main"; - gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->settingsThemeChooser),0); - } else{ - main_config.WindowTheme=1; - main_config.curThemeName="Gnome"; - } - } else { - main_config.WindowTheme=0; - main_config.curThemeName="Main"; - } - - -} - -SectionSettingSegment *yon_create_section_setting(char *name, char *categories){ - SectionSettingSegment *segment=malloc(sizeof(SectionSettingSegment)); - segment->MainFrame=gtk_frame_new(NULL); - gtk_frame_set_shadow_type(GTK_FRAME(segment->MainFrame),GTK_SHADOW_IN); - segment->MainBox=gtk_box_new(GTK_ORIENTATION_HORIZONTAL,0); - segment->ElemBox=gtk_box_new(GTK_ORIENTATION_HORIZONTAL,0); - gtk_widget_set_size_request(segment->ElemBox,0,20); - segment->DragButtonBox=gtk_box_new(GTK_ORIENTATION_HORIZONTAL,0); - gtk_widget_set_name(segment->DragButtonBox,"noborders"); - segment->DragUpButton=gtk_button_new_from_icon_name("gtk-goto-top",GTK_ICON_SIZE_BUTTON); - segment->DragDownButton=gtk_button_new_from_icon_name("gtk-goto-bottom",GTK_ICON_SIZE_BUTTON); - segment->NameBox=gtk_box_new(GTK_ORIENTATION_HORIZONTAL,0); - segment->CategoriesBox=gtk_box_new(GTK_ORIENTATION_HORIZONTAL,0); - segment->OptionBox=gtk_box_new(GTK_ORIENTATION_HORIZONTAL,0); - segment->NameEntry=gtk_entry_new(); - gtk_entry_set_text(GTK_ENTRY(segment->NameEntry),name); - segment->NameLabel=gtk_label_new(name); - segment->CategoriesEntry=gtk_entry_new(); - if (categories[strlen(categories)-1]!=';'){ - char *tmp=malloc(strlen(categories)+1); - sprintf(tmp,"%s;",categories); - printf("\n\n"); - categories=realloc(tmp,strlen(tmp)); - } - gtk_entry_set_text(GTK_ENTRY(segment->CategoriesEntry),categories); - segment->CategoriesLabel=gtk_label_new(categories); - segment->EditButtonBox=gtk_box_new(GTK_ORIENTATION_HORIZONTAL,0); - segment->EditButtonAccept=gtk_button_new_from_icon_name("dialog-ok",GTK_ICON_SIZE_BUTTON); - segment->EditButtonCancel=gtk_button_new_from_icon_name("dialog-no",GTK_ICON_SIZE_BUTTON); - segment->ButtonEdit=gtk_button_new_from_icon_name("gtk-edit",GTK_ICON_SIZE_BUTTON); - segment->DeleditBox=gtk_box_new(GTK_ORIENTATION_HORIZONTAL,0); - segment->ButtonDelete=gtk_button_new_from_icon_name("edit-delete",GTK_ICON_SIZE_BUTTON); - - gtk_widget_set_name(segment->NameLabel,"SegName"); - gtk_widget_set_name(segment->CategoriesLabel,"SegCat"); - - gtk_container_add(GTK_CONTAINER(segment->MainFrame),segment->MainBox); - - gtk_box_pack_start(GTK_BOX(segment->MainBox),segment->DragButtonBox,FALSE,FALSE,0); - gtk_box_pack_start(GTK_BOX(segment->MainBox),segment->ElemBox,TRUE,TRUE,0); - - gtk_box_pack_start(GTK_BOX(segment->DragButtonBox),segment->DragUpButton,FALSE,FALSE,0); - gtk_box_pack_start(GTK_BOX(segment->DragButtonBox),segment->DragDownButton,FALSE,FALSE,0); - - gtk_box_pack_start(GTK_BOX(segment->ElemBox),segment->NameBox,FALSE,FALSE,0); - gtk_box_pack_end(GTK_BOX(segment->ElemBox),segment->CategoriesBox,FALSE,FALSE,0); - - gtk_box_pack_start(GTK_BOX(segment->MainBox),segment->OptionBox,FALSE,FALSE,0); - - gtk_box_pack_start(GTK_BOX(segment->NameBox),segment->NameEntry,FALSE,FALSE,5); - gtk_box_pack_start(GTK_BOX(segment->NameBox),segment->NameLabel,FALSE,FALSE,5); - - gtk_box_pack_start(GTK_BOX(segment->CategoriesBox),segment->CategoriesEntry,FALSE,FALSE,5); - gtk_box_pack_start(GTK_BOX(segment->CategoriesBox),segment->CategoriesLabel,FALSE,FALSE,5); - - gtk_box_pack_start(GTK_BOX(segment->EditButtonBox),segment->EditButtonAccept,FALSE,FALSE,5); - gtk_box_pack_start(GTK_BOX(segment->EditButtonBox),segment->EditButtonCancel,FALSE,FALSE,5); - - gtk_box_pack_start(GTK_BOX(segment->DeleditBox),segment->ButtonEdit,FALSE,FALSE,5); - gtk_box_pack_start(GTK_BOX(segment->DeleditBox),segment->ButtonDelete,FALSE,FALSE,5); - - gtk_box_pack_start(GTK_BOX(segment->OptionBox),segment->DeleditBox,FALSE,FALSE,0); - gtk_box_pack_start(GTK_BOX(segment->OptionBox),segment->EditButtonBox,FALSE,FALSE,0); - - gtk_widget_set_size_request(segment->NameLabel,60,10); - - gtk_widget_set_margin_start(segment->DragButtonBox,5); - gtk_widget_set_margin_end(segment->OptionBox,5); - gtk_widget_set_margin_bottom(segment->MainFrame,3); - gtk_widget_set_margin_bottom(segment->DragButtonBox,3); - gtk_widget_set_margin_top(segment->DragButtonBox,3); - gtk_widget_set_margin_end(segment->DragUpButton,3); - - gtk_widget_set_halign(segment->NameEntry,GTK_ALIGN_START); - gtk_widget_set_halign(segment->NameLabel,GTK_ALIGN_END); - - gtk_widget_set_valign(segment->OptionBox,GTK_ALIGN_CENTER); - gtk_label_set_xalign(GTK_LABEL(segment->NameLabel),0); - gtk_label_set_xalign(GTK_LABEL(segment->CategoriesLabel),0); - - gtk_widget_set_vexpand(segment->ElemBox,0); - gtk_widget_set_vexpand(segment->NameBox,0); - gtk_widget_set_vexpand(segment->CategoriesBox,0); - gtk_widget_set_vexpand(segment->NameEntry,0); - gtk_widget_set_vexpand(segment->NameLabel,0); - gtk_widget_set_vexpand(segment->CategoriesEntry,0); - gtk_widget_set_vexpand(segment->CategoriesLabel,0); - gtk_widget_show_all(segment->MainFrame); - gtk_widget_hide(segment->NameEntry); - gtk_widget_hide(segment->CategoriesEntry); - gtk_widget_hide(segment->EditButtonBox); - return segment; -} - -dictionary *yon_dictionary_create_empty(){ - dictionary *dict=malloc(sizeof(dictionary)); - dict->data=NULL; - dict->key=NULL; - dict->next=NULL; - dict->prev=NULL; - dict->first=dict; - return dict; -} - -void yon_segment_show(actionWidgets *widgets, SectionSettingSegment *sgm){ - gtk_box_pack_start(GTK_BOX(widgets->SectionSettingsPack),sgm->MainFrame,FALSE,FALSE,5); - g_signal_connect(G_OBJECT(sgm->ButtonEdit),"clicked",G_CALLBACK(on_sections_edit), widgets); - g_signal_connect(G_OBJECT(sgm->EditButtonAccept),"clicked",G_CALLBACK(on_sections_accept), widgets); - g_signal_connect(G_OBJECT(sgm->EditButtonCancel),"clicked",G_CALLBACK(on_sections_cancel), widgets); - g_signal_connect(G_OBJECT(sgm->DragUpButton),"clicked",G_CALLBACK(on_sections_move_up), widgets); - g_signal_connect(G_OBJECT(sgm->DragDownButton),"clicked",G_CALLBACK(on_sections_move_down), widgets); - g_signal_connect(G_OBJECT(sgm->ButtonDelete),"clicked",G_CALLBACK(on_section_delete), widgets); - -} - -void yon_segments_show(actionWidgets *widgets){ - for (dictionary *dict=widgets->SettingsSections->first;dict!=NULL;dict=dict->next){ - SectionSettingSegment *sgm=(SectionSettingSegment*)dict->data; - if (sgm!=NULL) - - gtk_box_pack_start(GTK_BOX(widgets->SectionSettingsPack),sgm->MainFrame,FALSE,FALSE,5); - else return; - } -}; - -void yon_segments_hide(actionWidgets *widgets){ - for (dictionary *dict=widgets->SettingsSections->first;dict!=NULL;dict=dict->next){ - SectionSettingSegment *sgm=(SectionSettingSegment*)dict->data; - if (sgm!=NULL){ - g_object_ref(G_OBJECT(sgm->MainFrame)); - gtk_container_remove(GTK_CONTAINER(widgets->SectionSettingsPack),sgm->MainFrame); - } else return; - } -} -void yon_dictionary_make_first(dictionary *dict){ - for (dictionary *dct=dict->first;dct!=NULL;dct=dct->next){ - dct->first=dict; - } -} - -void yon_small_window_theme_change(actionWidgets *widgets){ - -} - -dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *theme_id, apps *applist, int appsize){ - - dictionary *widgets=*widgetss; - actionWidgets *curWidgets=(actionWidgets*)widgets->data; - if (curWidgets==NULL) { - curWidgets=malloc(sizeof(actionWidgets)); - widgets->data=curWidgets; - } - widgets->key=theme_id; - curWidgets->builder=builder; - curWidgets->window=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"Window"))); - curWidgets->DesktopBasic=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"HideWhileLaunch"))); - curWidgets->DesktopSocket=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"socketplace"))); - curWidgets->ButtonBackToMain=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"backToSettingsButton"))); - curWidgets->appSettings=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"appSettings"))); - curWidgets->socketplace=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"socketplace"))); - curWidgets->HideWhileLaunch=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"HideWhileLaunch"))); - curWidgets->workingwindow=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"workingwindow"))); - curWidgets->icvpack=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"icvpack"))); - curWidgets->GnomePaned=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"Paned"))); - curWidgets->GnomeInfoLabel=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"InfoLabel"))); - curWidgets->GnomeInfoDetailsLabel=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"InfoDetailsLabel"))); - curWidgets->SettingsSections=NULL; - gtk_style_context_add_class(gtk_widget_get_style_context(curWidgets->icvpack),"iconview"); - - - gtk_window_maximize(GTK_WINDOW(curWidgets->window)); - if (curWidgets->GnomeInfoLabel!=NULL&&curWidgets->GnomeInfoDetailsLabel!=NULL){ - FILE *fp; - char path[1035]; - char *loc=setlocale(LC_ALL,NULL); - if (strcmp(loc,"ru_RU.UTF-8")==0) - fp = popen("screenfetch -N -n | sed 's/OS:/Система:/' | sed 's/Kernel:/Ядро:/g' | sed 's/Uptime:/Время работы:/g' | \ - sed 's/Packages:/Установлено пакетов:/g' | sed 's/Shell:/Оболочка:/g' | sed 's/Resolution:/Разрешение:/g' | sed 's/DE:/Среда рабочего стола:/g' | \ - sed 's/WM:/Оконный менеджер:/g' | sed 's/WM Theme:/Тема оконного менеджера:/g' | sed 's/GTK Theme:/Тема GTK:/g' | sed 's/Icon Theme:/Тема значков:/g' | sed 's/Font:/Шрифт:/g' | \ - sed 's/Disk:/Диск:/g' | sed 's/RAM:/Оперативная память:/g'", "r"); - else fp = popen("screenfetch -n -w -N", "r"); - if (fp == NULL) { - printf("Failed to run command\n" ); - exit(1); - } - char *line=NULL; - line=""; - char *prevline=""; - char *pth; - char *preph=""; - line=""; - while (fgets(path, sizeof(path),fp)!=NULL){ - - line=strstr(path,": "); - if (line!=NULL){ - int size=strlen(path)-strlen(line); - pth=yon_cut(path,size,0); - pth=yon_char_get_augumented("",pth); - pth=yon_char_get_augumented(pth,""); - line=yon_char_get_augumented(pth,line); - } else { - line=path; - pth="\n"; - line=yon_char_get_augumented(pth,line); - } - prevline=yon_char_get_augumented(prevline,line); - - }; - prevline=yon_char_get_augumented(prevline,"");; - gtk_label_set_text(GTK_LABEL(curWidgets->GnomeInfoDetailsLabel),prevline); - // gtk_label_set_text(GTK_LABEL(curWidgets->GnomeInfoLabel),pth); - gtk_label_set_markup (GTK_LABEL(curWidgets->GnomeInfoDetailsLabel),prevline);; - // gtk_label_set_markup (GTK_LABEL(curWidgets->GnomeInfoLabel), pth);; - - } - if (curWidgets->ButtonBackToMain!=NULL) - gtk_button_set_label(GTK_BUTTON(curWidgets->ButtonBackToMain),_("Back to settings")); - gtk_window_set_title(GTK_WINDOW(curWidgets->window),"UBLinux Settings Manager"); - g_signal_connect(G_OBJECT(curWidgets->window), "destroy", G_CALLBACK(gtk_main_quit), NULL); - g_signal_connect(G_OBJECT(curWidgets->window), "configure-event", G_CALLBACK(on_resized), widgets); - if (curWidgets->ButtonBackToMain!=NULL) - g_signal_connect(G_OBJECT(curWidgets->ButtonBackToMain), "clicked", G_CALLBACK(on_backToSettingsButton_clicked), curWidgets); - curWidgets->LabelTitle=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"LabelTitle")); - gtk_window_set_title(GTK_WINDOW(curWidgets->window),"UBLinux Settings Manager GNOME"); - if (curWidgets->GnomePaned!=NULL){ - g_signal_connect(G_OBJECT(curWidgets->GnomePaned), "notify::position", G_CALLBACK(on_paned_move), curWidgets); - - } - // Standard for all themes - - curWidgets->settingsThemeChooser=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"settingsThemeChooser")); - curWidgets->SettingsWindow=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"SettingsWindow")); - curWidgets->MenuItemSettings=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"MenuItemSettings")); - curWidgets->MenuItemDocumentation=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"MenuItemDocumentation")); - curWidgets->DialogOpenDocumentation=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"HelpSureWindow")); - curWidgets->CancelHelpButton=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"CancelHelpButton")); - curWidgets->ReadHelpButton=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"ReadHelpButton")); - curWidgets->AlwaysOpenDocumentation=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"AlwaysOpenHelpCheckbox")); - curWidgets->helpHeader=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"helpHeader")); - curWidgets->helpText=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"helpText")); - curWidgets->settingsSizeInfoLabel=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"settingsSizeInfoLabel")); - curWidgets->settingsIcon=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"settingsIcon")); - curWidgets->settingsSectionsSettingsButton=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"settingsSectionsSettingsButton")); - curWidgets->SectionSettingsWindow=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"SectionSettingsWindow")); - curWidgets->SectionSettingsPack=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"SectionSettingsPack")); - curWidgets->settingsSizeSlider=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"settingsSizeSlider")); - curWidgets->settingsAccept=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"settingsAccept")); - curWidgets->settingsCancel=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"settingsCancel")); - curWidgets->settingsSubmenuLabelSize=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"settingsSubmenuLabelSize")); - curWidgets->settingsSubmenuLabelTheme=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"settingsSubmenuLabelTheme")); - curWidgets->SectionSettingAddButton=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"SectionSettingsAddButton")); - curWidgets->SectionSettingAddNameEntry=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"SectionSettingsAddNameEntry")); - curWidgets->SectionSettingAddCategoriesEntry=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"SectionSettingsAddCategoriesEntry")); - curWidgets->SectionSettingsClearEntryButton=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"SectionSettingsClearEntryButton")); - curWidgets->SectionSettingsSaveButton=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"SectionSettingsSaveButton")); - curWidgets->SectionSettingsCloseButton=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"SectionSettingsCloseButton")); - curWidgets->applist=applist; - curWidgets->appssize=appsize; - curWidgets->socket=GTK_WIDGET(create_socket(curWidgets)); - gtk_widget_set_size_request(curWidgets->window,800,600); - gtk_window_resize(GTK_WINDOW(curWidgets->window),main_config.windowWidth,main_config.windowHeight); - gtk_window_set_icon_from_file(GTK_WINDOW(curWidgets->window),AppIconPath,NULL); - gtk_window_set_icon_from_file(GTK_WINDOW(curWidgets->SectionSettingsWindow),AppIconPath,NULL); - - // hide_if_unfound(GTK_TREE_MODEL(curWidgets); - if (gnld==0){ - gnld=1; - g_signal_connect(G_OBJECT(curWidgets->MenuItemDocumentation), "activate", G_CALLBACK(on_ButtonOpenHelp_activated), curWidgets->builder); - g_signal_connect(G_OBJECT(curWidgets->CancelHelpButton), "clicked", G_CALLBACK(on_CancelHelpButton_activated), curWidgets->builder); - g_signal_connect(G_OBJECT(curWidgets->ReadHelpButton), "clicked", G_CALLBACK(on_ReadHelpButton_activated), curWidgets->builder); - g_signal_connect(G_OBJECT(curWidgets->MenuItemSettings), "activate", G_CALLBACK(on_settingsOpen), curWidgets); - g_signal_connect(G_OBJECT(curWidgets->settingsSizeSlider), "value-changed", G_CALLBACK(on_settings_icon_size_changed), curWidgets); - g_signal_connect(G_OBJECT(curWidgets->settingsCancel), "clicked", G_CALLBACK(on_settings_cancel), curWidgets); - g_signal_connect(G_OBJECT(curWidgets->settingsAccept), "clicked", G_CALLBACK(on_settings_accept), widgetss); - g_signal_connect(G_OBJECT(curWidgets->settingsSectionsSettingsButton), "clicked", G_CALLBACK(on_section_settings_open), widgets); - g_signal_connect(G_OBJECT(curWidgets->SectionSettingAddButton), "clicked", G_CALLBACK(on_sections_add), curWidgets); - g_signal_connect(G_OBJECT(curWidgets->SectionSettingsClearEntryButton), "clicked", G_CALLBACK(on_sections_new_clear), curWidgets); - g_signal_connect(G_OBJECT(curWidgets->SectionSettingsCloseButton), "clicked", G_CALLBACK(on_sections_close), curWidgets); - g_signal_connect(G_OBJECT(curWidgets->SectionSettingsSaveButton), "clicked", G_CALLBACK(on_sections_save), curWidgets); - }// сделать функцию для сигналов окна секций, секции для настроек в словарь - gtk_label_set_text(GTK_LABEL(curWidgets->LabelTitle),_("UBLinux Settings Manager")); - gtk_label_set_text(GTK_LABEL(curWidgets->settingsSubmenuLabelSize),_("Icon size")); - gtk_label_set_text(GTK_LABEL(curWidgets->settingsSubmenuLabelTheme),_("Window theme")); - gtk_label_set_text(GTK_LABEL(curWidgets->helpHeader),_("Would you like to read documentation in the Web?")); - gtk_label_set_text(GTK_LABEL(curWidgets->helpText),_("You will be redirected to documentation site, where user help pages are translated and supported by community.")); - gtk_button_set_label(GTK_BUTTON(curWidgets->ReadHelpButton),_("Read online")); - gtk_button_set_label(GTK_BUTTON(curWidgets->CancelHelpButton),_("Cancel")); - gtk_button_set_label(GTK_BUTTON(curWidgets->settingsCancel),_("Close without saving")); - gtk_button_set_label(GTK_BUTTON(curWidgets->settingsAccept),_("Save and reload")); - gtk_button_set_label(GTK_BUTTON(curWidgets->AlwaysOpenDocumentation),_("Always redirect")); - gtk_menu_item_set_label(GTK_MENU_ITEM(curWidgets->MenuItemSettings),_("Settings")); - gtk_menu_item_set_label(GTK_MENU_ITEM(curWidgets->MenuItemDocumentation),_("About...")); - return widgets; -} - -int main(int argc, char *argv[]){ - gtk_init(&argc, &argv); - setup_config(); - local=setlocale(LC_ALL, ""); - bindtextdomain (LocaleName, LocalePath); - textdomain (LocaleName); - actionWidgets *widget=malloc(sizeof(actionWidgets)); - dictionary *widgets=yon_dictionary_create_empty(); - widgets->data=widget; - int *size=malloc(sizeof(int)); - apps *applist=find_apps(size); - sort_apps(applist,*size); - GtkBuilder *builder=gtk_builder_new_from_file(GladePath); - actionWidgets *widg=(actionWidgets*)widgets->first->data; - char *theme; - if (main_config.WindowTheme==1){ theme="Gnome"; - yon_theme_new(&widgets->first, builder,theme,applist,*size); - widg->applist=applist; - widg->appssize=*size; - widg->ICSys=yon_create_icon_section_list(main_config.sections); - for (dictionary *cur=widg->ICSys->first; cur!=NULL;cur=cur->next){ - load_apps((IVGraphicals*)cur->data,widg->applist,widg->appssize); - } - yon_show_icon_views(widg->ICSys,widg); - theme="Main"; - main_config.WindowTheme=0; - widgets->next=yon_dictionary_create_empty(); - widgets->next->first=widgets; - widgets->next->prev=widgets; - yon_theme_new(&widgets->next, builder,theme,applist,*size); - widg=(actionWidgets*)widgets->next->data; - widg->applist=applist; - widg->appssize=*size; - widg->ICSys=yon_create_icon_section_list(main_config.sections); - for (dictionary *cur=widg->ICSys->first; cur!=NULL;cur=cur->next){ - load_apps((IVGraphicals*)cur->data,widg->applist,widg->appssize); - } - yon_show_icon_views(widg->ICSys,widg); - main_config.WindowTheme=1; - - } - else {theme="Main"; - yon_theme_new(&widgets->first, builder,theme,applist,*size); - widg->applist=applist; - widg->appssize=*size; - widg->ICSys=yon_create_icon_section_list(main_config.sections); - for (dictionary *cur=widg->ICSys->first; cur!=NULL;cur=cur->next){ - load_apps((IVGraphicals*)cur->data,widg->applist,widg->appssize); - } - yon_show_icon_views(widg->ICSys,widg); - theme="Gnome"; - main_config.WindowTheme=1; - widgets->next=yon_dictionary_create_empty(); - widgets->next->first=widgets; - widgets->next->prev=widgets; - yon_theme_new(&widgets->next, builder,theme,applist,*size); - widg=(actionWidgets*)widgets->next->data; - widg->applist=applist; - widg->appssize=*size; - widg->ICSys=yon_create_icon_section_list(main_config.sections); - for (dictionary *cur=widg->ICSys->first; cur!=NULL;cur=cur->next){ - load_apps((IVGraphicals*)cur->data,widg->applist,widg->appssize); - } - yon_show_icon_views(widg->ICSys,widg); - main_config.WindowTheme=0; - } - - - gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widg->settingsThemeChooser),NULL,_("Standard theme")); - gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widg->settingsThemeChooser),NULL,_("GNOME theme")); - widg=(actionWidgets*)widgets->data; - gtk_widget_show_all(widg->window); - - GtkCssProvider *css=gtk_css_provider_new(); - gtk_css_provider_load_from_path(css,CssPath,NULL); - gtk_style_context_add_provider_for_screen(gdk_screen_get_default(), - GTK_STYLE_PROVIDER(css), - 0); - gtk_main(); - -} -#endif \ No newline at end of file diff --git a/ubl-settings-manager.h b/ubl-settings-manager.h deleted file mode 100644 index ce98718..0000000 --- a/ubl-settings-manager.h +++ /dev/null @@ -1,190 +0,0 @@ -#ifndef UBL_SETTINGS_MANAGER -#define UBL_SETTINGS_MANAGER - -#include - -#define GladePath "ui/ubl-settings-manager.glade" -#define CssPath "./css/gtk-widgets.css" -#define ConfigPath ".config/ubconfig-main/ubconfig-main.conf" -#define AppIconPath "/usr/share/icons/hicolor/32x32/apps/ublinux-ubconfig.svg" -#define DesktopPath "/usr/share/applications/" -#define IconPicturesPath "/usr/share/icons/hicolor/32x32/apps/" -#define ErrIconPicturePath "/usr/share/icons/Faenza/emblems/32/emblem-important.png" -#define PictureFormatMain ".png" -#define PictureFormatExtra ".svg" -#define LocalePath "locale/" -#define LocaleName "base" - - -typedef struct apps{ - char *Name; - int Type; - char *Categories; - char *Exec; - char *Icon; - int Pluggable; - - } apps; - -typedef struct dictionary { - char *key; - void *data; - struct dictionary *next; - struct dictionary *prev; - struct dictionary *first; -} dictionary; - -typedef struct IVGrapgicals{ - char *sectionName; - char *categories; - GtkListStore *LV; - GtkWidget *Box; - GtkWidget *IV; - GtkWidget *label; - GtkWidget *sep; -} IVGraphicals; - -typedef struct IconSection{ - char *section; - char *categories; -} IconSection; - -typedef struct { - int windowWidth; - int windowHeight; - int windowPosX; - int windowPosY; - int WindowTheme; - char *curThemeName; - int iconsize; - int iconSegmentSize; - dictionary *sections; - -} config; - -typedef struct { - GtkWidget *MainFrame; - GtkWidget *MainBox; - GtkWidget *ElemBox; - GtkWidget *DragButtonBox; - GtkWidget *DragUpButton; - GtkWidget *DragDownButton; - GtkWidget *NameBox; - GtkWidget *CategoriesBox; - GtkWidget *OptionBox; - GtkWidget *NameEntry; - GtkWidget *NameLabel; - GtkWidget *CategoriesEntry; - GtkWidget *CategoriesLabel; - GtkWidget *EditButtonBox; - GtkWidget *EditButtonAccept; - GtkWidget *EditButtonCancel; - GtkWidget *ButtonEdit; - GtkWidget *ButtonDelete; - GtkWidget *DeleditBox; -} SectionSettingSegment; - -typedef struct { - GtkBuilder *builder; - GtkWidget *window; - dictionary *ICSys; - GtkWidget *DesktopBasic; - GtkWidget *DesktopSocket; - GtkWidget *ButtonBackToMain; - GtkWidget *DialogOpenDocumentation; - GtkWidget *CancelHelpButton; - GtkWidget *ReadHelpButton; - GtkWidget *AlwaysOpenDocumentation; - GtkWidget *helpHeader; - GtkWidget *helpText; - GtkWidget *appSettings; - GtkWidget *SettingsWindow; - GtkWidget *settingsSizeSlider; - GtkWidget *settingsSizeInfoLabel; - GtkWidget *settingsThemeChooser; - GtkWidget *settingsCancel; - GtkWidget *settingsAccept; - GtkWidget *settingsIcon; - GtkWidget *socket; - GtkWidget *socketplace; - GtkWidget *HideWhileLaunch; - GtkWidget *MenuItemSettings; - GtkWidget *MenuItemDocumentation; - GtkWidget *LabelTitle; - GtkWidget *settingsSubmenuLabelSize; - GtkWidget *settingsSubmenuLabelTheme; - GtkWidget *GnomePaned; - GtkWidget *GnomeInfoLabel; - GtkWidget *workingwindow; - GtkWidget *settingsSectionsSettingsButton; - GtkWidget *SectionSettingsWindow; - GtkWidget *SectionSettingsPack; - dictionary *SettingsSections; - GtkWidget *SectionSettingAddButton; - GtkWidget *SectionSettingAddNameEntry; - GtkWidget *SectionSettingAddCategoriesEntry; - GtkWidget *SectionSettingsClearEntryButton; - GtkWidget *SectionSettingsSaveButton; - GtkWidget *SectionSettingsCloseButton; - GtkWidget *GnomeInfoDetailsLabel; - int appssize; - apps *applist; - GtkWidget *icvpack; - - -} actionWidgets; - -typedef enum { - ACTIONWIDGETS, - ICONSECTION, - IVGRAPHICALS, - OTHER - -} DICT_TYPE; - -void on_plug_added(GtkSocket* self, actionWidgets *builder); -void on_plug_removed(GtkSocket* self, actionWidgets *widgets); -void on_Item_activated(GtkIconView* self, GtkTreePath* path, actionWidgets *applist); -void on_gnome_Item_activated(GtkIconView* self, GtkTreePath* path, actionWidgets *applist); -void on_item_selection_changed(GtkIconView *IV, actionWidgets *widgets); -void on_ButtonOpenHelp_activated(GtkWidget *button, GtkBuilder *builder); -void on_backToSettingsButton_clicked(GtkWidget *button,actionWidgets *sctb); -void on_CancelHelpButton_activated(GtkWidget *button,GtkBuilder *builder); -void on_ReadHelpButton_activated(GtkWidget *button, GtkBuilder *builder); -void launch_app_with_arguments(char *name, char *args); -void launch_app(char *name); -void py_launch_app(char *name,char *args); -int on_settings_accept(GtkWidget *button, dictionary **widgetsDs); -void on_paned_move(GtkPaned* self, GtkScrollType* scroll_type, actionWidgets *widgets); -int on_settingsOpen(GtkWidget *button, actionWidgets *widgets); -int on_settings_icon_size_changed(GtkWidget* self, actionWidgets *widgets); -int on_settings_cancel(GtkWidget *button, actionWidgets *widgets); -apps *get_app_by_name(apps *applist,char *name, int size); -int reload_list(IVGraphicals *section); -int load_apps(IVGraphicals *section, apps *applist, int size); -int load_apps_with_clear(IVGraphicals *section, apps *applist, int size); -int hide_if_unfound(IVGraphicals *section); -GtkWidget *create_socket(actionWidgets *builder); -void sort_apps(apps *applist,int size); -apps *find_apps(int *sizef); -int check_categories(apps app, char *catstocheck); -int setup_config(); -dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *theme_id, apps *applist, int appsize); -char *yon_char_get_augumented(char *source, char *append); -char *yon_cut(char *source, int size, int startpos); -int yon_set_sections(IconSection *section); -void yon_set_default_sections(dictionary *section); -char *yon_char_divide_search(char *source, char* dividepos, int delete_divider); -char *yon_char_divide(char *source, int dividepos); -dictionary *yon_section_new(dictionary *section, char *section_name, char *categories); -void yon_switch_theme(dictionary **dict, dictionary *newone); -dictionary *yon_dictionary_find(dictionary **dict, char *key); -void yon_segment_show(actionWidgets *widgets, SectionSettingSegment *sgm); -dictionary *yon_dictionary_create_empty(); -SectionSettingSegment *yon_create_section_setting(char *name, char *categories); -void yon_segments_show(actionWidgets *widgets); -void yon_segments_hide(actionWidgets *widgets); -void yon_dictionary_make_first(dictionary *dict); -dictionary *yon_create_icon_section_list(dictionary *sections); -int yon_show_icon_views(dictionary *IVS,actionWidgets *widgets); -#endif \ No newline at end of file diff --git a/ui/ubl-settings-manager.glade b/ui/ubl-settings-manager.glade deleted file mode 100644 index 8ca4371..0000000 --- a/ui/ubl-settings-manager.glade +++ /dev/null @@ -1,1608 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - False - 450 - 250 - dialog-question - - - True - False - vertical - - - True - False - - - True - False - start - 20 - 20 - gtk-dialog-question - 6 - - - False - True - 0 - - - - - True - False - vertical - - - True - False - start - 10 - 5 - Вы хотите прочитать руководство в сети? - - - - - - - False - True - 0 - - - - - True - False - start - start - 15 - 10 - Вы будете перенаправлены на сайт с документацией, где страницы помощи переводятся и -поддерживаются сообществом. - - - - True - True - 1 - - - - - Всегда перенаправлять на онлайн-документацию - True - True - False - end - 5 - 10 - True - - - - False - True - 2 - - - - - - True - True - 1 - - - - - - True - True - 0 - - - - - True - False - - - Отменить - True - True - True - - - - - True - True - 0 - - - - - Прочитать онлайн - True - True - True - - - - - True - True - 1 - - - - - False - True - 1 - - - - - - - True - False - emblem-danger - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - True - True - in - - - True - False - - - - - - - - 1 - 5 - 2 - 1 - 1 - - - False - 440 - 250 - - - True - False - vertical - - - True - False - 5 - 5 - 5 - 2 - 0 - in - - - True - False - 12 - - - True - False - - - True - False - vertical - - - True - False - 5 - 32x32 - - - False - True - 0 - - - - - True - True - 10 - 10 - 10 - 10 - adjustment1 - 5 - 0 - 0 - False - - - True - True - 1 - - - - - True - True - 0 - - - - - 64 - 64 - True - False - ../../../../../../../usr/share/icons/hicolor/32x32/apps/ublinux-ubconfig.svg - - - False - True - 1 - - - - - - - - - True - False - Рамер иконок - - - - - True - True - 0 - - - - - True - False - 5 - 5 - 2 - 5 - 0 - in - - - True - False - - - True - False - vertical - - - combo - True - False - center - 10 - 10 - 5 - True - 0 - - - True - True - 0 - - - - - - - - - True - False - Выбор темы - - - - - True - True - 1 - - - - - True - False - 5 - 5 - 0 - in - - - True - False - - - True - False - True - True - - - Настройка разделов - True - True - True - 10 - 10 - 5 - - - True - True - 1 - - - - - - - - - True - False - Тонкая настройка - - - - - False - True - 2 - - - - - True - False - - - True - False - 5 - 5 - - - Закрыть без сохранения - 200 - True - True - True - 2 - - - False - True - 0 - - - - - Сохранить и перезагрузить - 200 - True - True - True - 2 - - - False - True - end - 1 - - - - - True - True - 0 - - - - - False - True - 4 - - - - - - - True - False - UBLinux Settings - - - - - 1 - 1 - 10 - - - True - False - gtk-go-back - - - True - False - gtk-undelete - - - True - False - ../../../../../../usr/share/icons/hicolor/32x32/apps/ublinux-ubconfig.svg - 6 - - - True - False - - - True - False - Element 1 - - - - - True - False - Element 2 - - - True - False - - - True - False - Element 3 - - - - - - - - - Element 4 - True - False - image3 - False - - - - - True - False - gtk-ok - - - False - 800 - 600 - - - True - False - vertical - - - True - True - 5 - 5 - 5 - 5 - in - - - True - False - - - True - False - vertical - - - True - False - 5 - 5 - 5 - 5 - 5 - 5 - vertical - - - - - - False - True - 0 - - - - - True - False - 5 - 5 - 5 - 5 - 0 - in - - - True - False - 3 - 3 - 5 - 5 - - - True - False - - - True - True - True - center - 3 - image2 - - - False - True - 0 - - - - - True - True - True - False - Название группы - name - - - True - True - 1 - - - - - True - False - - - True - False - center - - - True - True - True - 5 - image4 - - - False - True - end - 2 - - - - - True - False - 2 - - - True - True - 5 - 5 - 5 - 10 - False - Идетификатор - - - True - True - 0 - - - - - True - True - 2 - - - - - True - True - 1 - - - - - True - True - 2 - - - - - - - - - - - - False - True - 1 - - - - - - - - - True - True - 0 - - - - - True - False - - - Закрыть - True - True - True - 5 - 5 - - - False - True - end - 0 - - - - - Сохранить и применить - True - True - True - 17 - 5 - - - False - True - end - 1 - - - - - False - True - 1 - - - - - - - True - False - UBLinux Settings - - - - - - - - - - - Стандартная тема - - - GNOME тема - - - - - True - False - - - True - False - Параметры UBL Settings Manager - Параметры - True - - - - - True - False - О программе... - True - - - - - False - 800 - 600 - - - True - False - vertical - - - True - False - - - True - False - True - vertical - - - True - False - center - ../images/side_img_ubc_v_dark_grad_down.png - 3 - - - - False - True - 0 - - - - - - False - True - 0 - - - - - True - True - 152 - True - True - - - True - True - in - 150 - True - - - True - False - - - True - False - 3 - 3 - 3 - 3 - 3 - vertical - - - - - - - - - - True - True - - - - - True - False - vertical - - - True - False - vertical - - - True - False - 3 - 3 - 3 - 3 - 3 - 3 - 0 - in - - - True - False - 12 - - - True - False - center - center - - - True - False - end - ../images/ublinux-dark-glow-sc.svg - - - False - True - 0 - - - - - True - False - - - desklabel - True - False - center - right - 1 - - - False - True - 0 - - - - - desclabel - True - False - center - label - - - - - - False - True - 1 - - - - - False - True - 1 - - - - - - - - - - - - True - True - 0 - - - - - True - True - 0 - - - - - True - False - vertical - - - False - vertical - - - - - - False - True - 0 - - - - - False - True - 1 - - - - - False - True - - - - - True - True - 1 - - - - - True - True - 0 - - - - - - - True - False - True - - - True - False - True - - - True - False - UBLinux Settings Manager - - - True - True - 0 - - - - - True - True - False - True - menu1 - none - False - - - - - - False - True - 1 - - - - - - - True - False - ../../../../../../../usr/share/icons/hicolor/32x32/apps/ublinux-ubconfig.svg - 5 - - - - - - - False - 800 - 600 - - - True - False - vertical - - - True - False - - - True - False - vertical - - - True - False - center - ../images/side_img_ubc_v_dark_grad_down.png - 3 - - - - False - True - 0 - - - - - - False - True - 0 - - - - - True - False - vertical - - - True - False - 2 - 2 - 2 - 2 - 2 - 2 - - - True - True - in - - - True - False - natural - - - - - - - - - - True - True - 0 - - - - - - True - True - 0 - - - - - True - False - vertical - - - - - - - False - True - 1 - - - - - True - True - 1 - - - - - - True - True - 0 - - - - - - - True - False - - - True - False - True - - - True - False - UBLinux Settings Manager - - - True - True - 0 - - - - - True - True - False - True - menu1 - none - False - - - - - - False - True - 1 - - - - - - - True - False - ../../../../../../../usr/share/icons/hicolor/32x32/apps/ublinux-ubconfig.svg - 5 - - - - - - - - False - 800 - 600 - - - True - False - vertical - - - True - False - - - True - False - vertical - - - True - False - center - ../images/side_img_ubc_v_dark_grad_down.png - 3 - - - - False - True - 0 - - - - - - False - True - 0 - - - - - True - False - vertical - - - True - False - 5 - 5 - 5 - 5 - vertical - - - True - True - in - - - True - False - natural - - - True - False - vertical - 2 - - - - - - - - - - - - - True - True - 0 - - - - - - True - True - 0 - - - - - False - vertical - - - - - - - False - True - 1 - - - - - True - True - 1 - - - - - - True - True - 0 - - - - - - - True - False - True - - - True - False - True - - - True - False - UBLinux Settings Manager - - - True - True - 0 - - - - - True - True - False - True - menu1 - none - False - - - - - - False - True - 1 - - - - - - - True - False - ../../../../../../../usr/share/icons/hicolor/32x32/apps/ublinux-ubconfig.svg - 5 - - - - - Все настройки - True - False - True - False - False - False - 10 - 10 - image1 - - - - - 1 - - - - - - - - - - - - -