develop #47

Merged
asmeron merged 28 commits from develop into master 3 years ago

@ -8,6 +8,20 @@ include_directories(${GTK_INCLUDE_DIRS})
link_directories(${GTK_LIBRARY_DIRS})
add_definitions(${GTK_CFLAGS_OTHER})
option(WEBKIT_FOUND "No" OFF)
find_library(WEBKIT_LIBRARIES_FOUND webkit2gtk-4.0 webkit2gtk-web-extension-4.0)
if(WEBKIT_LIBRARIES_FOUND)
option(WEBKIT_FOUND "Yes" ON)
PKG_CHECK_MODULES(WEBKIT REQUIRED webkit2gtk-4.0 webkit2gtk-web-extension-4.0)
include_directories(${WEBKIT_INCLUDE_DIRS})
link_directories(${WEBKIT_LIBRARY_DIRS})
add_definitions(${WEBKIT_CFLAGS_OTHER})
endif()
configure_file(ubl-settings-manager.h.in ubl-settings-manager-cm.h)
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -std=c++2a")
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -lm")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always \
@ -17,13 +31,17 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissin
set(SOURCE_FILES
ubl-settings-manager.c
ubl-settings-manager.h)
ubl-settings-manager.h
ubl-settings-manager-cm.h)
set(LIBRARIES
${GTK_LIBRARIES}
pthread)
add_executable(ubl-settings-manager ${SOURCE_FILES})
target_link_libraries(ubl-settings-manager ${LIBRARIES})
target_link_libraries(ubl-settings-manager PUBLIC ${WEBKIT_LIBRARIES} ${LIBRARIES})
target_include_directories(ubl-settings-manager PUBLIC
"${PROJECT_BINARY_DIR}"
${WEBKIT_INCLUDE_DIRS}
)
install(TARGETS ubl-settings-manager DESTINATION bin)

@ -0,0 +1 @@
#define WEBKIT_FOUND

@ -136,7 +136,17 @@ void on_item_selection_changed(GtkIconView *IV, actionWidgets *widgets){
void on_ButtonOpenHelp_activated(GtkWidget *button, GtkBuilder *builder){
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,"AlwaysOpenHelpCheckbox"))))
{
if(system("xdg-open http://ublinux.com")){};
#ifdef WEBKIT_FOUND
GtkBuilder *web_builder=gtk_builder_new_from_file(GladePath);
GtkWidget *browser=GTK_WIDGET(gtk_builder_get_object(web_builder,"Web_Window"));
GtkWidget *web_place=GTK_WIDGET(gtk_builder_get_object(web_builder,"Web_Place"));
GtkWidget *WebView=webkit_web_view_new();
webkit_web_view_load_uri(WEBKIT_WEB_VIEW(WebView),UBLINUX_WIKI_LINK);
gtk_box_pack_start(GTK_BOX(web_place),WebView,1,1,0);
gtk_widget_show_all(browser);
#else
if(system(UBLINUX_WIKI_COMMAND)){};
#endif
} else
{
GtkWidget *window = GTK_WIDGET(gtk_builder_get_object(builder,"HelpSureWindow"));
@ -159,7 +169,17 @@ void on_CancelHelpButton_activated(GtkWidget *button,GtkBuilder *builder){
};
void on_ReadHelpButton_activated(GtkWidget *button, GtkBuilder *builder){
if(system("xdg-open http://ublinux.com")){};
#ifdef WEBKIT_FOUND
GtkBuilder *web_builder=gtk_builder_new_from_file(GladePath);
GtkWidget *browser=GTK_WIDGET(gtk_builder_get_object(web_builder,"Web_Window"));
GtkWidget *web_place=GTK_WIDGET(gtk_builder_get_object(web_builder,"Web_Place"));
GtkWidget *WebView=webkit_web_view_new();
webkit_web_view_load_uri(WEBKIT_WEB_VIEW(WebView),UBLINUX_WIKI_LINK);
gtk_box_pack_start(GTK_BOX(web_place),WebView,1,1,0);
gtk_widget_show_all(browser);
#else
if(system(UBLINUX_WIKI_COMMAND)){};
#endif
GtkWidget *window = GTK_WIDGET(gtk_builder_get_object(builder,"HelpSureWindow"));
gtk_widget_hide(window);
};
@ -280,7 +300,7 @@ void on_paned_move(GtkPaned* self, GtkScrollType* scroll_type, actionWidgets *wi
}
int on_settingsOpen(GtkWidget *button, actionWidgets *widgets){
gtk_window_set_title(GTK_WINDOW(widgets->SettingsWindow),"UBLinux Settings Manager");
gtk_window_set_title(GTK_WINDOW(widgets->SettingsWindow),UBL_SETTINGS_MANAGER_TITLE);
gtk_widget_set_size_request(widgets->SettingsWindow,400,250);
GtkIconTheme *icthm=gtk_icon_theme_get_default();
gtk_window_set_icon(GTK_WINDOW(widgets->SettingsWindow),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, AppIconPath,yon_get_icon_size(32),1,GTK_ICON_LOOKUP_FORCE_SVG),NULL));
@ -636,13 +656,20 @@ void on_double_click_changed(GtkWidget *Switch, gboolean state, dictionary *widg
void on_about(GtkWidget *button){
GtkBuilder *builder = gtk_builder_new_from_file(GladePath);
GtkWidget *AboutButtons = GTK_WIDGET(gtk_builder_get_object(builder,"AboutButtons"));
GtkWidget *AboutHeadLabel = GTK_WIDGET(gtk_builder_get_object(builder,"aboutHeadLabel"));
GtkWidget *About = GTK_WIDGET(gtk_builder_get_object(builder, "ublAbloutWindow"));
gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(About),_("Settings manager for UBLinux"));
gtk_about_dialog_set_program_name(GTK_ABOUT_DIALOG(About),_("UBLinux Settings Manager"));
gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(About),_(ABOUT_PROJECT_COMMENTS_LABEL));
gtk_about_dialog_set_program_name(GTK_ABOUT_DIALOG(About),_(UBL_SETTINGS_MANAGER_TITLE));
gtk_label_set_text(GTK_LABEL(AboutHeadLabel),UBL_SETTINGS_MANAGER_ABOUT_TITLE);
gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(About),version_application);
gtk_widget_show(About);
gtk_about_dialog_set_website_label(GTK_ABOUT_DIALOG(About),_("Project Home Page"));
gtk_widget_set_visible(AboutButtons,0);
GList *list = gtk_container_get_children(GTK_CONTAINER(AboutButtons));
gtk_widget_destroy(AboutButtons);
// gtk_widget_destroy(GTK_WIDGET(g_list_first(list)->next->next));
// gtk_widget_destroy(GTK_WIDGET(g_list_first(list)->next));
// gtk_widget_destroy(GTK_WIDGET(g_list_first(list)));
gtk_about_dialog_set_website_label(GTK_ABOUT_DIALOG(About),_(ABOUT_PROJECT_HOME_PAGE_LABEL));
// gtk_widget_set_visible(AboutButtons,0);
}
int launch(thread_output *thread){
@ -896,16 +923,13 @@ int setup_config(){
GKeyFile *configfile = g_key_file_new();
char *pth=malloc(7+strlen(UserConfigPath)+strlen(getlogin()));
sprintf(pth,"%s%s%s","/home/",getlogin(),UserConfigPath);
g_key_file_load_from_file(configfile,pth,G_KEY_FILE_KEEP_TRANSLATIONS,&err);
g_key_file_load_from_file(configfile,GlobalConfigPath,G_KEY_FILE_KEEP_TRANSLATIONS,&err);
if (err){
g_error_free(err);
err=NULL;
g_key_file_load_from_file(configfile,GlobalConfigPath,G_KEY_FILE_KEEP_TRANSLATIONS,&err);
if (err){
g_error_free(err);
return 0;
}
}
return 0;
} else {
char *foroutput=NULL;
char *line=NULL;
main_config.GnomeDoubleClick=g_key_file_get_boolean(configfile,"window", "GnomeDoubleClick",NULL);
@ -924,6 +948,52 @@ int setup_config(){
main_config.lastUser=g_key_file_get_string(configfile,"window","User",NULL);
main_config.fullscreen=g_key_file_get_boolean(configfile,"window","fullscreen",NULL);
main_config.BannerHidden=g_key_file_get_boolean(configfile,"window","BannerHidden",NULL);
}
g_key_file_load_from_file(configfile,pth,G_KEY_FILE_KEEP_TRANSLATIONS,&err);
if (err||main_config.lock_settings==1){
if(err)
g_error_free(err);
err=NULL;
g_key_file_load_from_file(configfile,GlobalConfigPath,G_KEY_FILE_KEEP_TRANSLATIONS,&err);
} else {
int GnomeDoubleClick=g_key_file_get_boolean(configfile,"window", "GnomeDoubleClick",NULL);
int MainDoubleClick=g_key_file_get_boolean(configfile,"window", "MainDoubleClick",NULL);
int windowPosX=g_key_file_get_integer(configfile,"window","WindowPosX",NULL);
int windowPosY=g_key_file_get_integer(configfile,"window","WindowPosY",NULL);
int windowWidth=g_key_file_get_integer(configfile,"window","WindowWidth",NULL);
int windowHeight=g_key_file_get_integer(configfile,"window","WindowHeight",NULL);
int WindowTheme=g_key_file_get_integer(configfile,"window","WindowTheme",NULL);
int Mainiconsize=g_key_file_get_integer(configfile,"window","MainIconSize",NULL);
int Gnomeiconsize=g_key_file_get_integer(configfile,"window","GnomeIconSize",NULL);
int iconSegmentSize=g_key_file_get_integer(configfile,"window","IconSegmentSize",NULL);
int MainlabelSize=g_key_file_get_integer(configfile,"window","MainLabelSize",NULL);
int GnomelabelSize=g_key_file_get_integer(configfile,"window","GnomeLabelSize",NULL);
int labelDensity=g_key_file_get_integer(configfile,"window","LabelDensity",NULL);
char *lastUser=g_key_file_get_string(configfile,"window","User",NULL);
int fullscreen=g_key_file_get_boolean(configfile,"window","fullscreen",NULL);
int BannerHidden=g_key_file_get_boolean(configfile,"window","BannerHidden",NULL);
main_config.GnomeDoubleClick=GnomeDoubleClick;
main_config.MainDoubleClick=MainDoubleClick;
main_config.windowPosX=windowPosX;
main_config.windowPosY=windowPosY;
main_config.windowWidth=windowWidth;
main_config.windowHeight=windowHeight;
main_config.WindowTheme=WindowTheme;
main_config.Mainiconsize=Mainiconsize;
main_config.Gnomeiconsize=Gnomeiconsize;
main_config.iconSegmentSize=iconSegmentSize;
main_config.MainlabelSize=MainlabelSize;
main_config.GnomelabelSize=GnomelabelSize;
main_config.labelDensity=labelDensity;
if (lastUser)
main_config.lastUser=lastUser;
main_config.fullscreen=fullscreen;
main_config.BannerHidden=BannerHidden;
}
if (main_config.MainlabelSize==0) main_config.MainlabelSize=12;
if (main_config.labelDensity==0) main_config.labelDensity=0;
main_config.MainlabelSize=main_config.MainlabelSize*1000;
@ -959,6 +1029,8 @@ int setup_config(){
};
void save_config(actionWidgets *widgets){
if (main_config.lock_settings==1)
return;
GKeyFile *gfile=g_key_file_new();
int sz=1,szm=1;
@ -1008,6 +1080,8 @@ void save_config(actionWidgets *widgets){
}
g_key_file_set_boolean(gfile,"window","fullscreen",main_config.fullscreen);
g_key_file_set_boolean(gfile,"window","BannerHidden",main_config.BannerHidden);
g_key_file_set_boolean(gfile,"window","MainDoubleClick",main_config.MainDoubleClick);
g_key_file_set_boolean(gfile,"window","GnomeDoubleClick",main_config.GnomeDoubleClick);
sprintf(fromint,"%d",main_config.WindowTheme);
g_key_file_set_string(gfile,"window","WindowTheme",fromint);
sprintf(fromint,"%d",sz);
@ -1023,7 +1097,8 @@ void save_config(actionWidgets *widgets){
sprintf(fromint,"%d",(int)((float)main_config.labelDensity/1000));
g_key_file_set_string(gfile,"window","LabelDensity",fromint);
g_key_file_set_string(gfile,"window","User",login);
g_key_file_save_to_file(gfile,pth,NULL);
if (main_config.lock_settings==0)
g_key_file_save_to_file(gfile,pth,NULL);
}
char *yon_cut(char *source, int size, int startpos){
@ -1057,7 +1132,7 @@ void yon_set_default_sections(dictionary *section){
yon_section_new(section,"Personal","X-UBL-SettingsManager;X-UBL-PersonalSettings;");
yon_section_new(section,"Hardware","X-UBL-SettingsManager;X-UBL-HardwareSettings;");
yon_section_new(section,"System","X-UBL-SettingsManager;X-UBL-SystemSettings;");
yon_section_new(section,"Misc","X-UBL-SettingsManager;X-UBL-MiscSettings;");
yon_section_new(section,"Misc","");
}
IVGraphicals *yon_create_single_section_IV(char *name,char *cats){
@ -1635,9 +1710,10 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them
curWidgets->ThirdSocketPlace=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"ThirdSocketPlace")));
curWidgets->MenuItemSettings=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"MenuItemSettings")));
curWidgets->MenuItemDocumentation=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"MenuItemDocumentation")));
curWidgets->MenuItemAboutSystem=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"MenuItemAboutSystem")));
curWidgets->MenuItemAboutSystem=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"MenuItemAbout")));
curWidgets->BannerRevealer=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"RevealButton")));
curWidgets->Revealer=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"Revealer")));
curWidgets->BackToSettingsLabel=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"BackToSettingsLabel")));
curWidgets->SettingsSections=main_config.SettingsSections;
if (main_config.BannerHidden==0){
gtk_revealer_set_reveal_child(GTK_REVEALER(curWidgets->Revealer),1);
@ -1649,8 +1725,8 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them
gtk_style_context_add_class(gtk_widget_get_style_context(curWidgets->icvpack),"iconview");
curWidgets->socket=GTK_WIDGET(create_socket(curWidgets));
if (curWidgets->ButtonBackToMain!=NULL)
gtk_button_set_label(GTK_BUTTON(curWidgets->ButtonBackToMain),_("Back to all settings"));
gtk_window_set_title(GTK_WINDOW(curWidgets->window),_("UBLinux Settings Manager"));
gtk_label_set_text(GTK_LABEL(curWidgets->BackToSettingsLabel),BACK_TO_ALL_SETTINGS_LABEL);
gtk_window_set_title(GTK_WINDOW(curWidgets->window),UBL_SETTINGS_MANAGER_TITLE);
if (curWidgets->GnomePaned!=NULL){
gtk_paned_set_position(GTK_PANED(curWidgets->GnomePaned),main_config.iconSegmentSize);
g_signal_connect(G_OBJECT(curWidgets->GnomePaned), "notify::position", G_CALLBACK(on_paned_move), curWidgets);
@ -1663,7 +1739,7 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them
// }
if (curWidgets->ButtonBackToMain!=NULL)
g_signal_connect(G_OBJECT(curWidgets->ButtonBackToMain), "clicked", G_CALLBACK(on_backToSettingsButton_clicked), curWidgets);
gtk_window_set_title(GTK_WINDOW(curWidgets->window),_("UBLinux Settings Manager"));
gtk_window_set_title(GTK_WINDOW(curWidgets->window),UBL_SETTINGS_MANAGER_TITLE);
gtk_window_move(GTK_WINDOW(curWidgets->window),main_config.windowPosX,main_config.windowPosY);
// Standard for all themes
@ -1705,9 +1781,10 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them
gtk_window_resize(GTK_WINDOW(curWidgets->window),main_config.windowWidth,main_config.windowHeight);
gtk_window_set_icon(GTK_WINDOW(curWidgets->window),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, AppIconPath,yon_get_icon_size(32),1,GTK_ICON_LOOKUP_FORCE_SVG),NULL));
gtk_window_set_icon(GTK_WINDOW(curWidgets->SectionSettingsWindow),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, AppIconPath,yon_get_icon_size(32),1,GTK_ICON_LOOKUP_FORCE_SVG),NULL));
g_signal_connect(G_OBJECT(curWidgets->MenuItemDocumentation), "activate", G_CALLBACK(on_about), curWidgets->builder); //on_ButtonOpenHelp_activated
g_signal_connect(G_OBJECT(curWidgets->MenuItemDocumentation), "activate", G_CALLBACK(on_ButtonOpenHelp_activated), curWidgets->builder); //on_ButtonOpenHelp_activated
g_signal_connect(G_OBJECT(curWidgets->MenuItemSettings), "activate", G_CALLBACK(on_settingsOpen), curWidgets);
g_signal_connect(G_OBJECT(curWidgets->BannerRevealer), "clicked", G_CALLBACK(on_reveal_banner), curWidgets);
g_signal_connect(G_OBJECT(curWidgets->MenuItemAboutSystem), "activate", G_CALLBACK(on_about), curWidgets->builder);
if (gnld==0){
gnld=1;
@ -1727,28 +1804,29 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them
}
gtk_widget_hide_on_delete(curWidgets->window);
g_signal_connect(G_OBJECT(curWidgets->window), "destroy", G_CALLBACK(yon_main_quit), curWidgets);
gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder,"MainHeaderNameLabel")),_("UBLinux Settings Manager"));
gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder,"sectionsHeaderNameLabel")),_("UBLinux Settings Manager"));
gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder,"GnomeHeaderNameLabel")),_("UBLinux Settings Manager"));
gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder,"UBLinux Settings")),_("UBLinux Settings Manager"));
gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder,"webHeaderNameLabel")),_("UBLinux Settings Manager"));
gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder,"warningHeaderNameLabel")),_("UBLinux Settings Manager"));
gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder,"LoaderHeaderNameLabel")),_("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"));
gtk_button_set_label(GTK_BUTTON(curWidgets->settingsAccept),_("Save and apply"));
gtk_button_set_label(GTK_BUTTON(curWidgets->SectionSettingsSaveButton),_("Apply"));
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_button_set_label(GTK_BUTTON(curWidgets->CautionUnderstandButton),_("Understood"));
gtk_button_set_label(GTK_BUTTON(curWidgets->settingsSectionsSettingsButton),_("Sections management"));
gtk_label_set_text(GTK_LABEL(curWidgets->settingsDoubleClickLabel),_("Double click selection"));
gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder,"MainHeaderNameLabel")),UBL_SETTINGS_MANAGER_TITLE);
gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder,"sectionsHeaderNameLabel")),UBL_SETTINGS_MANAGER_TITLE);
gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder,"GnomeHeaderNameLabel")),UBL_SETTINGS_MANAGER_TITLE);
gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder,"settingsHeaderNameLabel")),UBL_SETTINGS_MANAGER_TITLE);
gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder,"webHeaderNameLabel")),UBL_SETTINGS_MANAGER_TITLE);
gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder,"warningHeaderNameLabel")),UBL_SETTINGS_MANAGER_TITLE);
gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder,"LoaderHeaderNameLabel")),UBL_SETTINGS_MANAGER_TITLE);
gtk_label_set_text(GTK_LABEL(curWidgets->settingsSubmenuLabelSize),ICON_SIZE_LABEL);
gtk_label_set_text(GTK_LABEL(curWidgets->settingsSubmenuLabelTheme),WINDOW_THEME_LABEL);
gtk_label_set_text(GTK_LABEL(curWidgets->helpHeader),REDIRECTION_LABEL);
gtk_label_set_text(GTK_LABEL(curWidgets->helpText),REDIRECTION_COMMENT_LABEL);
gtk_button_set_label(GTK_BUTTON(curWidgets->ReadHelpButton),READ_ONLINE_LABEL);
gtk_button_set_label(GTK_BUTTON(curWidgets->CancelHelpButton),CANCEL_LABEL);
gtk_button_set_label(GTK_BUTTON(curWidgets->settingsCancel),CLOSE_LABEL);
gtk_button_set_label(GTK_BUTTON(curWidgets->settingsAccept),SAVE_AND_APPLY_LABEL);
gtk_button_set_label(GTK_BUTTON(curWidgets->SectionSettingsSaveButton),APPLY_LABEL);
gtk_button_set_label(GTK_BUTTON(curWidgets->AlwaysOpenDocumentation),ALWAYS_REDIRECT_LABEL);
gtk_menu_item_set_label(GTK_MENU_ITEM(curWidgets->MenuItemSettings),SETTINGS_LABEL);
gtk_menu_item_set_label(GTK_MENU_ITEM(curWidgets->MenuItemDocumentation),DOCUMENTATION_LABEL);
gtk_menu_item_set_label(GTK_MENU_ITEM(curWidgets->MenuItemAboutSystem),ABOUT_LABEL);
gtk_button_set_label(GTK_BUTTON(curWidgets->CautionUnderstandButton),UNDERSTOOD_LABEL);
gtk_button_set_label(GTK_BUTTON(curWidgets->settingsSectionsSettingsButton),SECTIONS_MANAGEMENT_LABEL);
gtk_label_set_text(GTK_LABEL(curWidgets->settingsDoubleClickLabel),DOUBLE_CLICK_SELECTION_LABEL);
return widgets;
}
@ -1777,7 +1855,7 @@ int main(int argc, char *argv[]){
}
gtk_init(&argc, &argv);
if (setup_config()==0){
printf("Ошибка загрузки конфига!\n");
printf(CONFIG_LOAD_ERROR);
return -1;
}
actionWidgets *widget=NULL;

@ -4,6 +4,16 @@
#include <gtk/gtk.h>
#include <time.h>
#include <getopt.h>
#include <dlfcn.h>
#include "ubl-settings-manager-cm.h"
#ifdef WEBKIT_FOUND
#include <webkit2/webkit2.h>
#endif
#define UBLINUX_WIKI_COMMAND "xdg-open http://wiki.ublinux.ru"
#define UBLINUX_WIKI_LINK " http://wiki.ublinux.ru"
#define check_web2kit_command "ldconfig -p |grep webkit2"
#define cmdVersionText yon_char_get_augumented(yon_char_get_augumented(_("Version: "),version_application),"\n")
#define cmdHelpText yon_char_get_augumented(yon_char_get_augumented(_("ubl-settings-manager version: "),version_application),_("\nGTK settings manager for UBLinux\nUsage: ubl-settings-manager [OPTIONS...]\nOptions:\n -h, --help Show this help\n -V, --version Show package version\n --lock-settings Lock menu settings\n"))
@ -23,6 +33,29 @@
typedef char* string;
string version_application = "1.3";
#define UBL_SETTINGS_MANAGER_TITLE _("UBLinux Settings Manager")
#define UBL_SETTINGS_MANAGER_ABOUT_TITLE _("About UBLinux Settings Manager")
#define ABOUT_PROJECT_HOME_PAGE_LABEL _("Project Home Page")
#define ABOUT_PROJECT_COMMENTS_LABEL _("Settings manager for UBLinux")
#define CONFIG_LOAD_ERROR _("Config loading failed!\n")
#define DOUBLE_CLICK_SELECTION_LABEL _("Double click selection")
#define SECTIONS_MANAGEMENT_LABEL _("Sections management")
#define UNDERSTOOD_LABEL _("Understood")
#define ABOUT_LABEL _("About...")
#define DOCUMENTATION_LABEL _("Documentation")
#define SETTINGS_LABEL _("Settings")
#define ALWAYS_REDIRECT_LABEL _("Always redirect")
#define APPLY_LABEL _("Apply")
#define SAVE_AND_APPLY_LABEL _("Save and apply")
#define CLOSE_LABEL _("Close")
#define CANCEL_LABEL _("Cancel")
#define READ_ONLINE_LABEL _("Read online")
#define REDIRECTION_COMMENT_LABEL _("You will be redirected to documentation site, where user help pages are translated and supported by community.")
#define REDIRECTION_LABEL _("Would you like to read documentation in the Web?")
#define WINDOW_THEME_LABEL _("Window theme")
#define ICON_SIZE_LABEL _("Icon size")
#define BACK_TO_ALL_SETTINGS_LABEL _("Back to all settings")
typedef struct apps{
char *Name;
@ -173,6 +206,7 @@ typedef struct {
GtkWidget *Revealer;
GtkWidget *settingsDoubleClickSwitch;
GtkWidget *settingsDoubleClickLabel;
GtkWidget *BackToSettingsLabel;
} actionWidgets;

@ -0,0 +1 @@
#cmakedefine WEBKIT_FOUND

File diff suppressed because it is too large Load Diff

@ -1,4 +1,4 @@
# Language translations for ubl-settings-manager package.
# Russian translations for ubl-settings-manager package.
asmeron commented 3 years ago
Review

Это проект для перевода на разные языки, а не только на Русский !
Вернуть:
Language translations for ubl-settings-manager package.

Это проект для перевода на разные языки, а не только на Русский ! Вернуть: Language translations for ubl-settings-manager package.
Review
https://gitea.ublinux.ru/YanTheKaller/ubl-settings-manager/commit/d42d9512c15cd655c5a6f56e32156c28d13fff58
# Copyright (C) 2022, UBTech LLC
# This file is distributed under the same license as the ubl-settings-manager package.
# UBLinux Team <info@ublinux.com>, 2022
@ -7,131 +7,157 @@
msgid ""
msgstr ""
"Project-Id-Version: ubl-settings-manager 1.0\n"
"Report-Msgid-Bugs-To: info@ublinux.com\n"
"POT-Creation-Date: 2023-01-01 00:00+0600\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-04-21 12:33+0000\n"
"PO-Revision-Date: 2023-01-01 00:00+0600\n"
"Last-Translator: UBLinux Team <info@ublinux.com>\n"
"Language-Team: UBLinux Team <info@ublinux.com>\n"
"Language: \n"
"Language-Team: Russian - UBLinux Team <info@ublinux.com>\n"
"Language: Russian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: source/ubl-settings-manager.c:632
msgid "Settings manager for UBLinux"
#: source/ubl-settings-manager.h:9
msgid ""
"\n"
"GTK settings manager for UBLinux\n"
"Usage: ubl-settings-manager [OPTIONS...]\n"
"Options:\n"
" -h, --help\t\t Show this help\n"
" -V, --version\t \t Show package version\n"
" --lock-settings Lock menu settings\n"
msgstr ""
#: source/ubl-settings-manager.c:633 source/ubl-settings-manager.c:1601
#: source/ubl-settings-manager.c:1615 source/ubl-settings-manager.c:1674
msgid "UBLinux Settings Manager"
#: source/ubl-settings-manager.h:27
msgid "About UBLinux Settings Manager"
msgstr ""
#: source/ubl-settings-manager.c:636
msgid "Project Home Page"
#: source/ubl-settings-manager.h:34 source/ubl-settings-manager.c:1685
msgid "About..."
msgstr ""
#: source/ubl-settings-manager.h:37 source/ubl-settings-manager.h:36
#: source/ubl-settings-manager.c:1683
msgid "Always redirect"
msgstr ""
#: source/ubl-settings-manager.h:38 source/ubl-settings-manager.h:37
#: source/ubl-settings-manager.c:1742
msgid "Apply"
msgstr ""
#: source/ubl-settings-manager.h:47 source/ubl-settings-manager.h:46
#: source/ubl-settings-manager.c:1600
msgid "Back to all settings"
msgstr ""
#: source/ubl-settings-manager.c:1675
msgid "Icon size"
#: source/ubl-settings-manager.h:41 source/ubl-settings-manager.h:40
#: source/ubl-settings-manager.c:1680
msgid "Cancel"
msgstr ""
#: source/ubl-settings-manager.c:1676
msgid "Window theme"
#: source/ubl-settings-manager.h:40 source/ubl-settings-manager.h:39
#: source/ubl-settings-manager.c:1681
msgid "Close"
msgstr ""
#: source/ubl-settings-manager.c:1677
msgid "Would you like to read documentation in the Web?"
#: source/ubl-settings-manager.h:30
msgid "Config loading failed!\n"
msgstr ""
#: source/ubl-settings-manager.c:1678
msgid ""
"You will be redirected to documentation site, where user help pages are "
"translated and supported by community."
#: source/ubl-settings-manager.h:35
msgid "Documentation"
msgstr ""
#: source/ubl-settings-manager.c:1679
msgid "Read online"
#: source/ubl-settings-manager.h:31 source/ubl-settings-manager.c:1748
msgid "Double click selection"
msgstr ""
#: source/ubl-settings-manager.c:1680
msgid "Cancel"
#: source/ubl-settings-manager.c:1913 source/ubl-settings-manager.c:1912
#: source/ubl-settings-manager.c:1793
msgid "GNOME theme"
msgstr ""
#: source/ubl-settings-manager.c:1681
msgid "Close"
msgid "Hardware"
msgstr ""
#: source/ubl-settings-manager.c:1682
msgid "Save and apply"
#: source/ubl-settings-manager.h:46 source/ubl-settings-manager.h:45
#: source/ubl-settings-manager.c:1675
msgid "Icon size"
msgstr ""
#: source/ubl-settings-manager.c:1742
msgid "Apply"
msgid "Misc"
msgstr ""
#: source/ubl-settings-manager.c:1683
msgid "Always redirect"
msgid "Personal"
msgstr ""
#: source/ubl-settings-manager.c:1684
msgid "Settings"
#: source/ubl-settings-manager.h:28 source/ubl-settings-manager.c:636
msgid "Project Home Page"
msgstr ""
#: source/ubl-settings-manager.c:1685
msgid "About..."
#: source/ubl-settings-manager.h:42 source/ubl-settings-manager.h:41
#: source/ubl-settings-manager.c:1679
msgid "Read online"
msgstr ""
#: source/ubl-settings-manager.c:1686
msgid "Understood"
#: source/ubl-settings-manager.h:39 source/ubl-settings-manager.h:38
#: source/ubl-settings-manager.c:1682
msgid "Save and apply"
msgstr ""
#: source/ubl-settings-manager.c:1687
#: source/ubl-settings-manager.h:32 source/ubl-settings-manager.c:1687
msgid "Sections management"
msgstr ""
#: source/ubl-settings-manager.c:1748
msgid "Double click selection"
#: source/ubl-settings-manager.h:36 source/ubl-settings-manager.h:35
#: source/ubl-settings-manager.c:1684
msgid "Settings"
msgstr ""
#: source/ubl-settings-manager.h:29 source/ubl-settings-manager.c:632
msgid "Settings manager for UBLinux"
msgstr ""
#: source/ubl-settings-manager.c:1912 source/ubl-settings-manager.c:1911
#: source/ubl-settings-manager.c:1792
msgid "Standard theme"
msgstr ""
#: source/ubl-settings-manager.c:1793
msgid "GNOME theme"
msgid "System"
msgstr ""
#: source/ubl-settings-manager.h:8
msgid "Version: "
#: source/ubl-settings-manager.h:26 source/ubl-settings-manager.c:633
#: source/ubl-settings-manager.c:1601 source/ubl-settings-manager.c:1615
#: source/ubl-settings-manager.c:1674
msgid "UBLinux Settings Manager"
msgstr ""
#: source/ubl-settings-manager.h:9
msgid "ubl-settings-manager version: "
#: source/ubl-settings-manager.h:33 source/ubl-settings-manager.c:1686
msgid "Understood"
msgstr ""
#: source/ubl-settings-manager.h:9
msgid ""
"\n"
"GTK settings manager for UBLinux\n"
"Usage: ubl-settings-manager [OPTIONS...]\n"
"Options:\n"
" -h, --help\t\t Show this help\n"
" -V, --version\t \t Show package version\n"
" --lock-settings Lock menu settings\n"
#: source/ubl-settings-manager.h:8
msgid "Version: "
msgstr ""
msgid "Personal"
#: source/ubl-settings-manager.h:45 source/ubl-settings-manager.h:44
#: source/ubl-settings-manager.c:1676
msgid "Window theme"
msgstr ""
msgid "Hardware"
#: source/ubl-settings-manager.h:44 source/ubl-settings-manager.h:43
#: source/ubl-settings-manager.c:1677
msgid "Would you like to read documentation in the Web?"
msgstr ""
msgid "System"
#: source/ubl-settings-manager.h:43 source/ubl-settings-manager.h:42
#: source/ubl-settings-manager.c:1678
msgid ""
"You will be redirected to documentation site, where user help pages are "
"translated and supported by community."
msgstr ""
msgid "Misc"
#: source/ubl-settings-manager.h:9
msgid "ubl-settings-manager version: "
msgstr ""

@ -4,11 +4,11 @@
# UBLinux Team <info@ublinux.com>, 2022
#
#, fuzzy
msgid "translation_info\n"
msgid ""
msgstr ""
"Project-Id-Version: ubl-settings-manager 1.0\n"
"Report-Msgid-Bugs-To: info@ublinux.com\n"
asmeron commented 3 years ago
Review

Почему убрано ?

Почему убрано ?
Review
https://gitea.ublinux.ru/YanTheKaller/ubl-settings-manager/commit/d42d9512c15cd655c5a6f56e32156c28d13fff58
"POT-Creation-Date: 2023-01-01 00:00+0600\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-04-21 12:33+0000\n"
"PO-Revision-Date: 2023-01-01 00:00+0600\n"
"Last-Translator: UBLinux Team <info@ublinux.com>\n"
"Language-Team: Russian - UBLinux Team <info@ublinux.com>\n"
@ -17,128 +17,157 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: source/ubl-settings-manager.c:667
msgid "Settings manager for UBLinux"
msgstr "Менеджер настроек для UBLinux"
#: source/ubl-settings-manager.h:9
msgid ""
"\n"
"GTK settings manager for UBLinux\n"
"Usage: ubl-settings-manager [OPTIONS...]\n"
"Options:\n"
" -h, --help\t\t Show this help\n"
" -V, --version\t \t Show package version\n"
" --lock-settings Lock menu settings\n"
msgstr ""
"\n"
"GTK Менеджер настроек для UBLinux\n"
"Использование: ubl-settings-manager [АРГУМЕНТЫ...]\n"
"Аргументы:\n"
" -h, --help\t\t Показать помощь\n"
" -V, --version\t \t Показать версию пакета\n"
" --lock-settings \t Заблокировать окно настроек\n"
#: source/ubl-settings-manager.c:668 source/ubl-settings-manager.c:1655
#: source/ubl-settings-manager.c:1669 source/ubl-settings-manager.c:1733
msgid "UBLinux Settings Manager"
msgstr "Настройки UBLinux"
#: source/ubl-settings-manager.h:27
#, fuzzy
msgid "About UBLinux Settings Manager"
msgstr "О приложении Настройки UBLinux"
#: source/ubl-settings-manager.c:671
msgid "Project Home Page"
msgstr "Домашняя страница проекта"
#: source/ubl-settings-manager.h:34 source/ubl-settings-manager.c:1685
msgid "About..."
msgstr "О программе"
#: source/ubl-settings-manager.c:1654
#: source/ubl-settings-manager.h:37 source/ubl-settings-manager.h:36
#: source/ubl-settings-manager.c:1683
msgid "Always redirect"
msgstr "Всегда перенаправлять"
#: source/ubl-settings-manager.h:38 source/ubl-settings-manager.h:37
#: source/ubl-settings-manager.c:1742
msgid "Apply"
msgstr "Применить"
#: source/ubl-settings-manager.h:47 source/ubl-settings-manager.h:46
#: source/ubl-settings-manager.c:1600
msgid "Back to all settings"
msgstr "Назад ко всем настройкам"
#: source/ubl-settings-manager.c:1734
msgid "Icon size"
msgstr "Размер иконок"
#: source/ubl-settings-manager.h:41 source/ubl-settings-manager.h:40
#: source/ubl-settings-manager.c:1680
msgid "Cancel"
msgstr "Отменить"
#: source/ubl-settings-manager.c:1735
msgid "Window theme"
msgstr "Выбор темы"
#: source/ubl-settings-manager.h:40 source/ubl-settings-manager.h:39
#: source/ubl-settings-manager.c:1681
msgid "Close"
msgstr "Закрыть"
#: source/ubl-settings-manager.c:1736
msgid "Would you like to read documentation in the Web?"
msgstr "Вы хотите прочитать справку в Сети?"
#: source/ubl-settings-manager.h:30
msgid "Config loading failed!\n"
msgstr ""
#: source/ubl-settings-manager.c:1737
msgid ""
"You will be redirected to documentation site, where user help pages are "
"translated and supported by community."
msgstr "Вы будете перенаправлены на сайт с документацией где страницы помощи переводятся и поддерживаются сообществом."
#: source/ubl-settings-manager.h:35
msgid "Documentation"
msgstr "Справка"
#: source/ubl-settings-manager.c:1738
msgid "Read online"
msgstr "Прочитать онлайн"
#: source/ubl-settings-manager.h:31 source/ubl-settings-manager.c:1748
msgid "Double click selection"
msgstr "Открывать приложения двойным нажатием"
#: source/ubl-settings-manager.c:1739
msgid "Cancel"
msgstr "Отменить"
#: source/ubl-settings-manager.c:1913 source/ubl-settings-manager.c:1912
#: source/ubl-settings-manager.c:1793
msgid "GNOME theme"
msgstr "GNOME тема"
#: source/ubl-settings-manager.c:1740
msgid "Close"
msgstr "Закрыть"
msgid "Hardware"
msgstr "Оборудование"
#: source/ubl-settings-manager.c:1741
msgid "Save and apply"
msgstr "Сохранить и применить"
#: source/ubl-settings-manager.h:46 source/ubl-settings-manager.h:45
#: source/ubl-settings-manager.c:1675
msgid "Icon size"
msgstr "Размер иконок"
#: source/ubl-settings-manager.c:1742
msgid "Apply"
msgstr "Применить"
msgid "Misc"
msgstr "Прочее"
#: source/ubl-settings-manager.c:1743
msgid "Always redirect"
msgstr "Всегда перенаправлять"
msgid "Personal"
msgstr "Личные"
#: source/ubl-settings-manager.c:1744
msgid "Settings"
msgstr "Настройки"
#: source/ubl-settings-manager.h:28 source/ubl-settings-manager.c:636
msgid "Project Home Page"
msgstr "Домашняя страница проекта"
#: source/ubl-settings-manager.c:1745
msgid "About..."
msgstr "О программе"
#: source/ubl-settings-manager.h:42 source/ubl-settings-manager.h:41
#: source/ubl-settings-manager.c:1679
msgid "Read online"
msgstr "Прочитать онлайн"
#: source/ubl-settings-manager.c:1746
msgid "Understood"
msgstr "Понятно"
#: source/ubl-settings-manager.h:39 source/ubl-settings-manager.h:38
#: source/ubl-settings-manager.c:1682
msgid "Save and apply"
msgstr "Сохранить и применить"
#: source/ubl-settings-manager.c:1747
#: source/ubl-settings-manager.h:32 source/ubl-settings-manager.c:1687
msgid "Sections management"
msgstr "Настройка разделов"
#: source/ubl-settings-manager.c:1748
msgid "Double click selection"
msgstr "Открывать приложения двойным нажатием"
#: source/ubl-settings-manager.h:36 source/ubl-settings-manager.h:35
#: source/ubl-settings-manager.c:1684
msgid "Settings"
msgstr "Настройки"
#: source/ubl-settings-manager.c:1853
#: source/ubl-settings-manager.h:29 source/ubl-settings-manager.c:632
msgid "Settings manager for UBLinux"
msgstr "Менеджер настроек для UBLinux"
#: source/ubl-settings-manager.c:1912 source/ubl-settings-manager.c:1911
#: source/ubl-settings-manager.c:1792
msgid "Standard theme"
msgstr "Стандартная тема"
#: source/ubl-settings-manager.c:1854
msgid "GNOME theme"
msgstr "GNOME тема"
msgid "System"
msgstr "Система"
#: source/ubl-settings-manager.h:26 source/ubl-settings-manager.c:633
#: source/ubl-settings-manager.c:1601 source/ubl-settings-manager.c:1615
#: source/ubl-settings-manager.c:1674
msgid "UBLinux Settings Manager"
msgstr "Настройки UBLinux"
#: source/ubl-settings-manager.h:33 source/ubl-settings-manager.c:1686
msgid "Understood"
msgstr "Понятно"
#: source/ubl-settings-manager.h:8
msgid "Version: "
msgstr "Версия: "
#: source/ubl-settings-manager.h:9
msgid "ubl-settings-manager version: "
msgstr "ubl-settings-manager версия: "
#: source/ubl-settings-manager.h:45 source/ubl-settings-manager.h:44
#: source/ubl-settings-manager.c:1676
msgid "Window theme"
msgstr "Выбор темы"
#: source/ubl-settings-manager.h:9
#: source/ubl-settings-manager.h:44 source/ubl-settings-manager.h:43
#: source/ubl-settings-manager.c:1677
msgid "Would you like to read documentation in the Web?"
msgstr "Вы хотите прочитать справку в Сети?"
#: source/ubl-settings-manager.h:43 source/ubl-settings-manager.h:42
#: source/ubl-settings-manager.c:1678
msgid ""
"\n"
"GTK settings manager for UBLinux\n"
"Usage: ubl-settings-manager [OPTIONS...]\n"
"Options:\n"
" -h, --help\t\t Show this help\n"
" -V, --version\t \t Show package version\n"
" --lock-settings Lock menu settings\n"
"You will be redirected to documentation site, where user help pages are "
"translated and supported by community."
msgstr ""
"\n"
"GTK Менеджер настроек для UBLinux\n"
"Использование: ubl-settings-manager [АРГУМЕНТЫ...]\n"
"Аргументы:\n"
" -h, --help\t\t Показать помощь\n"
" -V, --version\t \t Показать версию пакета\n"
" --lock-settings \t Заблокировать окно настроек\n"
msgid "Personal"
msgstr "Личные"
msgid "Hardware"
msgstr "Оборудование"
"Вы будете перенаправлены на сайт с документацией где страницы помощи "
"переводятся и поддерживаются сообществом."
msgid "System"
msgstr "Система"
msgid "Misc"
msgstr "Прочее"
#: source/ubl-settings-manager.h:9
msgid "ubl-settings-manager version: "
msgstr "ubl-settings-manager версия: "

Loading…
Cancel
Save