diff --git a/.gitignore b/.gitignore index 2d7cb9c..753e530 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,6 @@ msgformat.py calendarApp.glade calendarApp.glade~ ubl-settings-manager.glade~ -ubl-settings-manager-bin \ No newline at end of file +ubl-settings-manager-bin +**base.mo + diff --git a/locale/ru/LC_MESSAGES/base.po b/locale/ru/LC_MESSAGES/ubl-settings-manager-base.po similarity index 71% rename from locale/ru/LC_MESSAGES/base.po rename to locale/ru/LC_MESSAGES/ubl-settings-manager-base.po index 422642f..871a8ab 100644 --- a/locale/ru/LC_MESSAGES/base.po +++ b/locale/ru/LC_MESSAGES/ubl-settings-manager-base.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-01-31 11:50+0000\n" +"POT-Creation-Date: 2023-02-01 05:10+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,71 +17,75 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: ubl-settings-manager.c:1373 +#: ubl-settings-manager.c:1388 msgid "Back to settings" msgstr "Назад" -#: ubl-settings-manager.c:1451 +#: ubl-settings-manager.c:1468 msgid "UBLinux Settings Manager" msgstr "Настройки UBLinux" -#: ubl-settings-manager.c:1452 +#: ubl-settings-manager.c:1469 msgid "Icon size" msgstr "Размер иконок" -#: ubl-settings-manager.c:1453 +#: ubl-settings-manager.c:1470 msgid "Window theme" msgstr "Выбор темы" -#: ubl-settings-manager.c:1454 +#: ubl-settings-manager.c:1471 msgid "Would you like to read documentation in the Web?" msgstr "Вы хотите прочитать руководство в сети?" -#: ubl-settings-manager.c:1455 +#: ubl-settings-manager.c:1472 msgid "You will be redirected to documentation site, where user help pages are " "translated and supported by community." msgstr "Вы будете перенаправлены на сайт с документацией, где страницы помощи переводятся и поддерживаются сообществом." -#: ubl-settings-manager.c:1456 +#: ubl-settings-manager.c:1473 msgid "Read online" msgstr "Прочитать онлайн" -#: ubl-settings-manager.c:1457 +#: ubl-settings-manager.c:1474 msgid "Cancel" msgstr "Отменить" -#: ubl-settings-manager.c:1458 +#: ubl-settings-manager.c:1475 msgid "Close" msgstr "Закрыть" -#: ubl-settings-manager.c:1459 +#: ubl-settings-manager.c:1476 msgid "Save and apply" msgstr "Сохранить и применить" -#: ubl-settings-manager.c:1460 +#: ubl-settings-manager.c:1477 msgid "Always redirect" msgstr "Всегда перенаправлять" -#: ubl-settings-manager.c:1461 +#: ubl-settings-manager.c:1478 msgid "Settings" msgstr "Настройки" -#: ubl-settings-manager.c:1462 +#: ubl-settings-manager.c:1479 msgid "About..." +msgstr "О программе" + +#: ubl-settings-manager.c:1480 +msgid "About system" msgstr "О системе" -#: ubl-settings-manager.c:1463 +#: ubl-settings-manager.c:1481 msgid "Understood" msgstr "Понятно" -#: ubl-settings-manager.c:1464 +#: ubl-settings-manager.c:1482 msgid "Section management" -msgstr "Точная настройка" +msgstr "Настройка разделов" -#: ubl-settings-manager.c:1538 +#: ubl-settings-manager.c:1555 msgid "Standard theme" msgstr "Основная тема" -#: ubl-settings-manager.c:1539 +#: ubl-settings-manager.c:1556 msgid "GNOME theme" msgstr "GNOME тема" diff --git a/locale/base.pot b/locale/ubl-settings-manager-base.pot similarity index 63% rename from locale/base.pot rename to locale/ubl-settings-manager-base.pot index bf63d95..54ccebf 100644 --- a/locale/base.pot +++ b/locale/ubl-settings-manager-base.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-01-31 11:50+0000\n" +"POT-Creation-Date: 2023-02-01 05:19+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,72 +17,76 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: ubl-settings-manager.c:1373 +#: ubl-settings-manager.c:1388 msgid "Back to settings" msgstr "" -#: ubl-settings-manager.c:1451 +#: ubl-settings-manager.c:1468 msgid "UBLinux Settings Manager" msgstr "" -#: ubl-settings-manager.c:1452 +#: ubl-settings-manager.c:1469 msgid "Icon size" msgstr "" -#: ubl-settings-manager.c:1453 +#: ubl-settings-manager.c:1470 msgid "Window theme" msgstr "" -#: ubl-settings-manager.c:1454 +#: ubl-settings-manager.c:1471 msgid "Would you like to read documentation in the Web?" msgstr "" -#: ubl-settings-manager.c:1455 +#: ubl-settings-manager.c:1472 msgid "" "You will be redirected to documentation site, where user help pages are " "translated and supported by community." msgstr "" -#: ubl-settings-manager.c:1456 +#: ubl-settings-manager.c:1473 msgid "Read online" msgstr "" -#: ubl-settings-manager.c:1457 +#: ubl-settings-manager.c:1474 msgid "Cancel" msgstr "" -#: ubl-settings-manager.c:1458 -msgid "Close without saving" +#: ubl-settings-manager.c:1475 +msgid "Close" msgstr "" -#: ubl-settings-manager.c:1459 -msgid "Save and reload" +#: ubl-settings-manager.c:1476 +msgid "Save and apply" msgstr "" -#: ubl-settings-manager.c:1460 +#: ubl-settings-manager.c:1477 msgid "Always redirect" msgstr "" -#: ubl-settings-manager.c:1461 +#: ubl-settings-manager.c:1478 msgid "Settings" msgstr "" -#: ubl-settings-manager.c:1462 +#: ubl-settings-manager.c:1479 msgid "About..." msgstr "" -#: ubl-settings-manager.c:1463 +#: ubl-settings-manager.c:1480 +msgid "About system" +msgstr "" + +#: ubl-settings-manager.c:1481 msgid "Understood" msgstr "" -#: ubl-settings-manager.c:1464 +#: ubl-settings-manager.c:1482 msgid "Section management" msgstr "" -#: ubl-settings-manager.c:1538 +#: ubl-settings-manager.c:1555 msgid "Standard theme" msgstr "" -#: ubl-settings-manager.c:1539 +#: ubl-settings-manager.c:1556 msgid "GNOME theme" msgstr "" diff --git a/ubl-settings-manager.c b/ubl-settings-manager.c index 65496d2..ce043ed 100644 --- a/ubl-settings-manager.c +++ b/ubl-settings-manager.c @@ -522,6 +522,7 @@ void on_sections_save(GtkWidget *button, actionWidgets *widgets){ load_apps((IVGraphicals*)cur->data,widgets->applist,widgets->appssize); } yon_show_icon_views(widgets->ICSys,widgets); + //hide_if_unfound(widgets); } @@ -602,6 +603,14 @@ void on_resized_done (GtkWidget *window, GdkEvent *event, dictionary *widgetsD){ } } +void on_about_system(GtkWidget *button, actionWidgets *widgets){ + char *socket_id=malloc(sizeof(gtk_socket_get_id(GTK_SOCKET(widgets->socket)))/sizeof(int)); + sprintf(socket_id,"%d",gtk_socket_get_id(GTK_SOCKET(widgets->socket))); + socket_id=yon_char_get_augumented(ubl_settings_infoPathLaunch,socket_id); + socket_id=yon_char_get_augumented(socket_id," &"); + system(socket_id); +} + 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); @@ -671,12 +680,17 @@ int load_apps_with_clear(IVGraphicals *section, apps *applist, int size){ 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)); +int hide_if_unfound(dictionary *widgetsD){ + for (dictionary *widgetsDc=widgetsD->first;widgetsDc!=NULL;widgetsDc=widgetsDc->next){ + actionWidgets *widgets=(actionWidgets*)widgetsDc->data; + for (dictionary *icvd=widgets->ICSys->first;icvd!=NULL;icvd=icvd->next){ + IVGraphicals *icv=icvd->data; + GtkTreeIter iter; + if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(icv->LV),&iter)==0){ + gtk_widget_hide(icv->Box); + gtk_widget_hide(GTK_WIDGET(icv->sep)); + } + } } } @@ -789,7 +803,7 @@ apps *find_apps(int *sizef){ }; int check_categories(apps app, char *catstocheck){ - if (!catstocheck){ // TODO + if (!catstocheck || strcmp(catstocheck,"")==0){ char *found=strstr(app.Categories,"X-UBL-SettingsManager"); char *perfound=strstr(app.Categories,"X-UBL-PersonalSettings"); char *harfound=strstr(app.Categories,"X-UBL-HardwareSettings"); @@ -1179,21 +1193,26 @@ void yon_switch_theme(dictionary **dict, dictionary *newone){ main_config.curThemeName="Main"; gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->settingsThemeChooser),0); gtk_window_present(GTK_WINDOW(widgets->CautionWindow)); - } else if (x<1240&&y<720){ - gtk_window_resize(GTK_WINDOW(widgets->window),1245,720); + gtk_widget_show(widgets->MenuItemAboutSystem); + } else if (x<1240){ + gtk_window_resize(GTK_WINDOW(widgets->window),1245,y); main_config.WindowTheme=1; main_config.curThemeName="Gnome"; gtk_widget_show(widgets->window); + gtk_widget_hide(widgets->MenuItemAboutSystem); + }else{ main_config.WindowTheme=1; main_config.curThemeName="Gnome"; gtk_widget_show(widgets->window); + gtk_widget_hide(widgets->MenuItemAboutSystem); } } else { gtk_widget_show(widgets->window); main_config.WindowTheme=0; main_config.curThemeName="Main"; + gtk_widget_show(widgets->MenuItemAboutSystem); } @@ -1381,7 +1400,7 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them if (strcmp(theme_id,"Gnome")==0){ char *socket_id=malloc(sizeof(gtk_socket_get_id(GTK_SOCKET(curWidgets->socket)))/sizeof(int)); sprintf(socket_id,"%d",gtk_socket_get_id(GTK_SOCKET(curWidgets->socket))); - socket_id=yon_char_get_augumented("../ubl-info/ubl-info-bin --socket-id=",socket_id); + socket_id=yon_char_get_augumented(ubl_settings_infoPathLaunch,socket_id); socket_id=yon_char_get_augumented(socket_id," &"); system(socket_id); g_signal_connect(G_OBJECT(curWidgets->window), "configure-event", G_CALLBACK(on_resized), widgets); @@ -1399,6 +1418,7 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them 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->MenuItemAboutSystem=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"MenuItemAboutSystem")); 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")); @@ -1431,7 +1451,7 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them 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); @@ -1447,6 +1467,7 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them 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); g_signal_connect(G_OBJECT(curWidgets->CautionUnderstandButton), "clicked", G_CALLBACK(on_caution_understand), curWidgets); + g_signal_connect(G_OBJECT(curWidgets->MenuItemAboutSystem), "activate", G_CALLBACK(on_about_system),curWidgets); } gtk_label_set_text(GTK_LABEL(curWidgets->LabelTitle),_("UBLinux Settings Manager")); gtk_label_set_text(GTK_LABEL(curWidgets->settingsSubmenuLabelSize),_("Icon size")); @@ -1460,6 +1481,7 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them 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...")); + gtk_menu_item_set_label(GTK_MENU_ITEM(curWidgets->MenuItemAboutSystem),_("About system")); gtk_button_set_label(GTK_BUTTON(curWidgets->CautionUnderstandButton),_("Understood")); gtk_button_set_label(GTK_BUTTON(curWidgets->settingsSectionsSettingsButton),_("Section management")); return widgets; @@ -1533,13 +1555,15 @@ int main(int argc, char *argv[]){ main_config.WindowTheme=0; yon_icv_resize_item(widg->ICSys,widg->GnomePaned); } - 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_window_maximize(GTK_WINDOW(widg->window)); gtk_widget_show_all(widg->window); + hide_if_unfound(widgets); + if (main_config.WindowTheme==1) + gtk_widget_hide(widg->MenuItemAboutSystem); GtkCssProvider *css=gtk_css_provider_new(); gtk_css_provider_load_from_path(css,CssPath,NULL); diff --git a/ubl-settings-manager.h b/ubl-settings-manager.h index a1adaec..45f4133 100644 --- a/ubl-settings-manager.h +++ b/ubl-settings-manager.h @@ -4,17 +4,19 @@ #include #define GladePath "ui/ubl-settings-manager.glade" -#define CssPath "./css/gtk-widgets.css" +#define CssPath "./css/ubl-settings-manager.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 PictureFormatMain ".svg" +#define PictureFormatExtra ".png" #define LocalePath "locale/" #define LocaleName "base" #define LogoPath "images/ubl-settings-manager-logo.svg" +#define ubl_settings_infoPath "../ubl-info/ubl-settings-info" +#define ubl_settings_infoPathLaunch "../ubl-info/ubl-settings-info --socket-id=" typedef struct apps{ @@ -111,6 +113,7 @@ typedef struct { GtkWidget *HideWhileLaunch; GtkWidget *MenuItemSettings; GtkWidget *MenuItemDocumentation; + GtkWidget *MenuItemAboutSystem; GtkWidget *LabelTitle; GtkWidget *settingsSubmenuLabelSize; GtkWidget *settingsSubmenuLabelTheme; @@ -166,7 +169,7 @@ 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); +int hide_if_unfound(dictionary *widgetsDc); GtkWidget *create_socket(actionWidgets *builder); void sort_apps(apps *applist,int size); apps *find_apps(int *sizef); diff --git a/ui/ubl-settings-manager.glade b/ui/ubl-settings-manager.glade index 4f215b0..355c5bc 100644 --- a/ui/ubl-settings-manager.glade +++ b/ui/ubl-settings-manager.glade @@ -943,8 +943,8 @@ True False - Параметры UBL Settings Manager - Параметры + Settings of UBL Settings Manager + Settings True @@ -952,7 +952,15 @@ True False - О программе... + Documentation + True + + + + + True + False + About system... True