From ba8ade76715c6befde1d230d93ec091826b104fd Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Fri, 21 Apr 2023 18:02:34 +0000 Subject: [PATCH 01/13] Added 'Documentation' button in menus which opens documentation web page in browser or with its own window if user has webkit2gtk library installed --- source/CMakeLists.txt | 26 +++++++++++++-- source/ubl-settings-manager.c | 24 ++++++++++++-- source/ubl-settings-manager.h | 7 ++++ ubl-settings-manager.glade | 60 +++++++++++++++++++++++++++++++++++ 4 files changed, 112 insertions(+), 5 deletions(-) diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 1859049..9b284b8 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -7,6 +7,22 @@ pkg_check_modules(GTK REQUIRED gtk+-3.0) 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) +message("${WEBKIT_LIBRARIES_FOUND}") +if(WEBKIT_LIBRARIES_FOUND) + option(WEBKIT_FOUND "Yes" ON) + message("Webkit is located at ${WEBKIT_LIBRARIES_FOUND}") + 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") @@ -17,13 +33,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) \ No newline at end of file diff --git a/source/ubl-settings-manager.c b/source/ubl-settings-manager.c index 06eb850..220a475 100644 --- a/source/ubl-settings-manager.c +++ b/source/ubl-settings-manager.c @@ -136,7 +136,16 @@ 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); + #else + if(system(UBLINUX_WIKI_COMMAND)){}; + #endif } else { GtkWidget *window = GTK_WIDGET(gtk_builder_get_object(builder,"HelpSureWindow")); @@ -159,7 +168,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); }; @@ -1763,6 +1782,7 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them g_signal_connect(G_OBJECT(curWidgets->MenuItemDocumentation), "activate", G_CALLBACK(on_about), 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_ButtonOpenHelp_activated), curWidgets->builder); if (gnld==0){ gnld=1; diff --git a/source/ubl-settings-manager.h b/source/ubl-settings-manager.h index d748bac..361413b 100644 --- a/source/ubl-settings-manager.h +++ b/source/ubl-settings-manager.h @@ -4,6 +4,13 @@ #include #include #include +#include "ubl-settings-manager-cm.h" +#ifdef WEBKIT_FOUND +#include +#endif + +#define UBLINUX_WIKI_COMMAND "xdg-open http://ublinux.com" +#define UBLINUX_WIKI_LINK " http://ublinux.ru" #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")) diff --git a/ubl-settings-manager.glade b/ubl-settings-manager.glade index de0e853..fa7c0b0 100644 --- a/ubl-settings-manager.glade +++ b/ubl-settings-manager.glade @@ -388,6 +388,66 @@ + + 800 + 558 + False + 800 + 558 + ubconfig-gui + + + True + False + vertical + + + + + + + + True + False + True + + + True + False + True + + + True + False + UBLinux Settings Web View + + + + + + True + True + 0 + + + + + + + True + False + 32 + com.ublinux.ubl-settings-manager + 5 + + + + + + True False From 8885f35c719471066bfe0a9b077f5b6cb13a4eab Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Fri, 21 Apr 2023 18:04:42 +0000 Subject: [PATCH 02/13] Fixed web page not showing correctly in some cases; Fixed unfound header file --- source/ubl-settings-manager.c | 3 ++- source/ubl-settings-manager.h.in | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 source/ubl-settings-manager.h.in diff --git a/source/ubl-settings-manager.c b/source/ubl-settings-manager.c index 220a475..1e884ff 100644 --- a/source/ubl-settings-manager.c +++ b/source/ubl-settings-manager.c @@ -143,7 +143,8 @@ void on_ButtonOpenHelp_activated(GtkWidget *button, GtkBuilder *builder){ 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); - #else + gtk_widget_show_all(browser); + #else if(system(UBLINUX_WIKI_COMMAND)){}; #endif } else diff --git a/source/ubl-settings-manager.h.in b/source/ubl-settings-manager.h.in new file mode 100644 index 0000000..d4623a7 --- /dev/null +++ b/source/ubl-settings-manager.h.in @@ -0,0 +1 @@ +#cmakedefine WEBKIT_FOUND From 1cfb4a8fda4fefe5056b1262a37e5390bdf2ac38 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Fri, 21 Apr 2023 18:09:02 +0000 Subject: [PATCH 03/13] Fixed switched callbacks for about and documentation buttons --- source/ubl-settings-manager.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/ubl-settings-manager.c b/source/ubl-settings-manager.c index 1e884ff..32fba17 100644 --- a/source/ubl-settings-manager.c +++ b/source/ubl-settings-manager.c @@ -1780,10 +1780,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_ButtonOpenHelp_activated), curWidgets->builder); + g_signal_connect(G_OBJECT(curWidgets->MenuItemAboutSystem), "activate", G_CALLBACK(on_about), curWidgets->builder); if (gnld==0){ gnld=1; From e8ae4557d941a0271af3c31760e729612e8c199a Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 24 Apr 2023 09:19:10 +0000 Subject: [PATCH 04/13] Wiki links updated --- source/ubl-settings-manager.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/ubl-settings-manager.h b/source/ubl-settings-manager.h index 361413b..4e28368 100644 --- a/source/ubl-settings-manager.h +++ b/source/ubl-settings-manager.h @@ -9,8 +9,8 @@ #include #endif -#define UBLINUX_WIKI_COMMAND "xdg-open http://ublinux.com" -#define UBLINUX_WIKI_LINK " http://ublinux.ru" +#define UBLINUX_WIKI_COMMAND "xdg-open http://wiki.ublinux.ru" +#define UBLINUX_WIKI_LINK " http://wiki.ublinux.ru" #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")) From 294dac450be0c70172d8ff51bda39cdb5485a949 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 24 Apr 2023 11:53:04 +0000 Subject: [PATCH 05/13] Test fix for unnessessary library absention --- source/ubl-settings-manager.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/ubl-settings-manager.c b/source/ubl-settings-manager.c index 32fba17..eda6ad2 100644 --- a/source/ubl-settings-manager.c +++ b/source/ubl-settings-manager.c @@ -137,6 +137,7 @@ void on_ButtonOpenHelp_activated(GtkWidget *button, GtkBuilder *builder){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,"AlwaysOpenHelpCheckbox")))) { #ifdef WEBKIT_FOUND + if (access("/usr/lib/webkit2gtk/", F_OK)){ 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")); @@ -144,6 +145,8 @@ void on_ButtonOpenHelp_activated(GtkWidget *button, GtkBuilder *builder){ 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)){}; #else if(system(UBLINUX_WIKI_COMMAND)){}; #endif @@ -170,6 +173,7 @@ void on_CancelHelpButton_activated(GtkWidget *button,GtkBuilder *builder){ void on_ReadHelpButton_activated(GtkWidget *button, GtkBuilder *builder){ #ifdef WEBKIT_FOUND + if (access("/usr/lib/webkit2gtk/", F_OK)){ 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")); @@ -177,6 +181,8 @@ void on_ReadHelpButton_activated(GtkWidget *button, GtkBuilder *builder){ 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)){}; #else if(system(UBLINUX_WIKI_COMMAND)){}; #endif From ddecc6781c2be19d2982f13a5eec1efd8ed25df2 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 24 Apr 2023 11:56:48 +0000 Subject: [PATCH 06/13] Test fix for unnessessary library absention --- source/ubl-settings-manager.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/ubl-settings-manager.c b/source/ubl-settings-manager.c index eda6ad2..67c8fbe 100644 --- a/source/ubl-settings-manager.c +++ b/source/ubl-settings-manager.c @@ -137,7 +137,7 @@ void on_ButtonOpenHelp_activated(GtkWidget *button, GtkBuilder *builder){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,"AlwaysOpenHelpCheckbox")))) { #ifdef WEBKIT_FOUND - if (access("/usr/lib/webkit2gtk/", F_OK)){ + if (access("/usr/lib/webkit2gtk/", F_OK)==0){ 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")); @@ -173,7 +173,7 @@ void on_CancelHelpButton_activated(GtkWidget *button,GtkBuilder *builder){ void on_ReadHelpButton_activated(GtkWidget *button, GtkBuilder *builder){ #ifdef WEBKIT_FOUND - if (access("/usr/lib/webkit2gtk/", F_OK)){ + if (access("/usr/lib/webkit2gtk/", F_OK)==0){ 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")); From 26ec14da567cadd66d081fa27ff040cbad1f8f19 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 24 Apr 2023 11:58:36 +0000 Subject: [PATCH 07/13] Test fix for unnessessary library absention --- source/ubl-settings-manager.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/ubl-settings-manager.c b/source/ubl-settings-manager.c index 67c8fbe..7bb439d 100644 --- a/source/ubl-settings-manager.c +++ b/source/ubl-settings-manager.c @@ -137,7 +137,7 @@ void on_ButtonOpenHelp_activated(GtkWidget *button, GtkBuilder *builder){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,"AlwaysOpenHelpCheckbox")))) { #ifdef WEBKIT_FOUND - if (access("/usr/lib/webkit2gtk/", F_OK)==0){ + if (access("/usr/lib/webkit2gtk-4.0/", F_OK)==0){ 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")); @@ -173,7 +173,7 @@ void on_CancelHelpButton_activated(GtkWidget *button,GtkBuilder *builder){ void on_ReadHelpButton_activated(GtkWidget *button, GtkBuilder *builder){ #ifdef WEBKIT_FOUND - if (access("/usr/lib/webkit2gtk/", F_OK)==0){ + if (access("/usr/lib/webkit2gtk-4.0/", F_OK)==0){ 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")); From 096b91dbc28fa122a2c556b0d569ed006a44dc30 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 24 Apr 2023 12:02:03 +0000 Subject: [PATCH 08/13] Test fix for unnessessary library absention --- ubl-settings-manager.glade | 3 --- 1 file changed, 3 deletions(-) diff --git a/ubl-settings-manager.glade b/ubl-settings-manager.glade index fa7c0b0..0619ddf 100644 --- a/ubl-settings-manager.glade +++ b/ubl-settings-manager.glade @@ -5,7 +5,6 @@ False - start False dialog-information-symbolic False @@ -150,8 +149,6 @@ False - start - start False 450 250 From 96f9ea9086789dcf6051373a16390819a27d3293 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 24 Apr 2023 12:22:23 +0000 Subject: [PATCH 09/13] Test fix for unnessessary library absention --- source/ubl-settings-manager.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/ubl-settings-manager.c b/source/ubl-settings-manager.c index 7bb439d..37f4275 100644 --- a/source/ubl-settings-manager.c +++ b/source/ubl-settings-manager.c @@ -137,7 +137,7 @@ void on_ButtonOpenHelp_activated(GtkWidget *button, GtkBuilder *builder){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,"AlwaysOpenHelpCheckbox")))) { #ifdef WEBKIT_FOUND - if (access("/usr/lib/webkit2gtk-4.0/", F_OK)==0){ + if (webkit_web_view_new){ 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")); @@ -173,7 +173,7 @@ void on_CancelHelpButton_activated(GtkWidget *button,GtkBuilder *builder){ void on_ReadHelpButton_activated(GtkWidget *button, GtkBuilder *builder){ #ifdef WEBKIT_FOUND - if (access("/usr/lib/webkit2gtk-4.0/", F_OK)==0){ + if (webkit_web_view_new){ 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")); From f6d6eedad7a2d027cbe3674c930c094c393c99ee Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 24 Apr 2023 12:32:55 +0000 Subject: [PATCH 10/13] Test fix for unnessessary library absention --- source/ubl-settings-manager.c | 6 ++++-- source/ubl-settings-manager.h | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/source/ubl-settings-manager.c b/source/ubl-settings-manager.c index 37f4275..a90227b 100644 --- a/source/ubl-settings-manager.c +++ b/source/ubl-settings-manager.c @@ -137,7 +137,8 @@ void on_ButtonOpenHelp_activated(GtkWidget *button, GtkBuilder *builder){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,"AlwaysOpenHelpCheckbox")))) { #ifdef WEBKIT_FOUND - if (webkit_web_view_new){ + handle = dlopen("libwebkit2gtkinjectedbundle.so", RTLD_LAZY); + if (handle) { 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")); @@ -173,7 +174,8 @@ void on_CancelHelpButton_activated(GtkWidget *button,GtkBuilder *builder){ void on_ReadHelpButton_activated(GtkWidget *button, GtkBuilder *builder){ #ifdef WEBKIT_FOUND - if (webkit_web_view_new){ + handle = dlopen("libwebkit2gtkinjectedbundle.so", RTLD_LAZY); + if (handle) { 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")); diff --git a/source/ubl-settings-manager.h b/source/ubl-settings-manager.h index 4e28368..6b7bc06 100644 --- a/source/ubl-settings-manager.h +++ b/source/ubl-settings-manager.h @@ -4,6 +4,7 @@ #include #include #include +#include #include "ubl-settings-manager-cm.h" #ifdef WEBKIT_FOUND #include From 34706f2dedb735cc40702f25722432be9336a321 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 24 Apr 2023 12:43:00 +0000 Subject: [PATCH 11/13] Test fix for unnessessary library absention --- source/ubl-settings-manager.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source/ubl-settings-manager.c b/source/ubl-settings-manager.c index a90227b..0f97af3 100644 --- a/source/ubl-settings-manager.c +++ b/source/ubl-settings-manager.c @@ -137,7 +137,8 @@ void on_ButtonOpenHelp_activated(GtkWidget *button, GtkBuilder *builder){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,"AlwaysOpenHelpCheckbox")))) { #ifdef WEBKIT_FOUND - handle = dlopen("libwebkit2gtkinjectedbundle.so", RTLD_LAZY); + void *handle=NULL; + handle = dlopen("libwebkit2gtk-4.0.so", RTLD_LAZY); if (handle) { GtkBuilder *web_builder=gtk_builder_new_from_file(GladePath); GtkWidget *browser=GTK_WIDGET(gtk_builder_get_object(web_builder,"Web_Window")); @@ -174,7 +175,8 @@ void on_CancelHelpButton_activated(GtkWidget *button,GtkBuilder *builder){ void on_ReadHelpButton_activated(GtkWidget *button, GtkBuilder *builder){ #ifdef WEBKIT_FOUND - handle = dlopen("libwebkit2gtkinjectedbundle.so", RTLD_LAZY); + void *handle=NULL; + handle = dlopen("libwebkit2gtk-4.0.so", RTLD_LAZY); if (handle) { GtkBuilder *web_builder=gtk_builder_new_from_file(GladePath); GtkWidget *browser=GTK_WIDGET(gtk_builder_get_object(web_builder,"Web_Window")); From 037473f341d8570cd06923af62f354fed6857145 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 24 Apr 2023 14:26:39 +0000 Subject: [PATCH 12/13] Done confugiring optional library absention --- source/CMakeLists.txt | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 9b284b8..d693d17 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -7,21 +7,15 @@ pkg_check_modules(GTK REQUIRED gtk+-3.0) include_directories(${GTK_INCLUDE_DIRS}) link_directories(${GTK_LIBRARY_DIRS}) add_definitions(${GTK_CFLAGS_OTHER}) -option(WEBKIT_FOUND "No" OFF) +option(USE_WEBKIT "Force turn on or turn off webkit" ON) -find_library(WEBKIT_LIBRARIES_FOUND webkit2gtk-4.0 webkit2gtk-web-extension-4.0) -message("${WEBKIT_LIBRARIES_FOUND}") -if(WEBKIT_LIBRARIES_FOUND) - option(WEBKIT_FOUND "Yes" ON) - message("Webkit is located at ${WEBKIT_LIBRARIES_FOUND}") +if (USE_WEBKIT) 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") From 1853fac85c094672fdbc8f3d5f2588b083827713 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 25 Apr 2023 08:54:38 +0000 Subject: [PATCH 13/13] Edited description in pot file --- ubl-settings-manager.pot | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/ubl-settings-manager.pot b/ubl-settings-manager.pot index b948874..9d0f5f9 100644 --- a/ubl-settings-manager.pot +++ b/ubl-settings-manager.pot @@ -1,18 +1,18 @@ -# 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. +# Russian translations for ubl-settings-manager package. +# Copyright (C) 2022, UBTech LLC +# This file is distributed under the same license as the ubl-settings-manager package. +# UBLinux Team , 2022 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: ubl-settings-manager 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-04-21 12:33+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"PO-Revision-Date: 2023-01-01 00:00+0600\n" +"Last-Translator: UBLinux Team \n" +"Language-Team: Russian - UBLinux Team \n" +"Language: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n"