diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 7f3f3ed..8caec66 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -7,10 +7,20 @@ 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) + +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") diff --git a/source/ubl-settings-manager-cm.h b/source/ubl-settings-manager-cm.h new file mode 100644 index 0000000..26a7931 --- /dev/null +++ b/source/ubl-settings-manager-cm.h @@ -0,0 +1 @@ +#define WEBKIT_FOUND diff --git a/source/ubl-settings-manager.c b/source/ubl-settings-manager.c index 8bbd021..b22b357 100644 --- a/source/ubl-settings-manager.c +++ b/source/ubl-settings-manager.c @@ -136,10 +136,7 @@ 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")))) { - FILE *fl = popen(check_web2kit_command,"r"); - char ssttrr[1000]; - memset(ssttrr,0,1000); - if(fgets(ssttrr,1000,fl)){ + #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")); @@ -147,8 +144,9 @@ 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 + #else if(system(UBLINUX_WIKI_COMMAND)){}; + #endif } else { GtkWidget *window = GTK_WIDGET(gtk_builder_get_object(builder,"HelpSureWindow")); @@ -171,19 +169,17 @@ void on_CancelHelpButton_activated(GtkWidget *button,GtkBuilder *builder){ }; void on_ReadHelpButton_activated(GtkWidget *button, GtkBuilder *builder){ - FILE *fl = popen(check_web2kit_command,"r"); - char ssttrr[1000]; - memset(ssttrr,0,1000); - if(fgets(ssttrr,1000,fl)){ - 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 + #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); }; diff --git a/source/ubl-settings-manager.h b/source/ubl-settings-manager.h index e20a346..b10f3dd 100644 --- a/source/ubl-settings-manager.h +++ b/source/ubl-settings-manager.h @@ -5,7 +5,10 @@ #include #include #include +#include "ubl-settings-manager-cm.h" +#ifdef WEBKIT_FOUND #include +#endif #define UBLINUX_WIKI_COMMAND "xdg-open http://wiki.ublinux.ru" #define UBLINUX_WIKI_LINK " http://wiki.ublinux.ru"