Allow compilation with either Webkit2Gtk-4.0 or WebKit2Gtk-3.0.

WEBKIT1 for windows is a placeholder, it will need a pkgconfig check too.
This commit is contained in:
John Ralls
2017-07-08 15:08:07 -07:00
parent 90f706c651
commit a6678e6a49
4 changed files with 37 additions and 6 deletions

View File

@@ -166,7 +166,18 @@ GNC_PKG_CHECK_MODULES (GTHREAD REQUIRED gthread-2.0>=2.20)
GNC_PKG_CHECK_MODULES (LIBXML2 REQUIRED libxml-2.0>=2.7.0)
GNC_PKG_CHECK_MODULES (LIBXSLT REQUIRED libxslt)
GNC_PKG_CHECK_MODULES (WEBKIT REQUIRED webkit2gtk-4.0>=2.6.0)
GNC_PKG_CHECK_MODULES (WEBKIT OPTIONAL webkit2gtk-4.0)
IF (NOT WEBKIT_FOUND)
GNC_PKG_CHECK_MODULES (WEBKIT REQUIRED webkit2gtk-3.0)
IF (WIN32)
SET(WEBKIT1 1)
ELSE (WIN32)
SET(WEBKIT2_3 1)
ENDIF (WIN32)
ELSE (NOT WEBKIT_FOUND)
SET(WEBKIT2_4 1)
ENDIF (NOT WEBKIT_FOUND)
IF (WITH_GNUCASH)
GNC_PKG_CHECK_MODULES (GTK3 REQUIRED gtk+-3.0>=3.14.0)
ENDIF (WITH_GNUCASH)

View File

@@ -1351,9 +1351,19 @@ then
### --------------------------------------------------------------------------
### checks for webkit
PKG_CHECK_MODULES(WEBKIT, webkit2gtk-4.0 >= "2.6.0")
AC_SUBST(WEBKIT_CFLAGS)
AC_SUBST(WEBKIT_LIBS)
PKG_CHECK_MODULES(WEBKIT, webkit2gtk-4.0,
[AC_DEFINE([WEBKIT2_4], [1], [Webkit2Gtk API Version 4.0])],
[PKG_CHECK_MODULES(WEBKIT, webkit2gtk-3.0,
[
case $host_os in
win32* | mingw*)
AC_DEFINE([WEBKIT1], [1], [Webkit1Gtk API])
;;
*)
AC_DEFINE([WEBKIT2_3], [1], [Webkit2Gtk API Version 3.0])
;;
esac
],)])
###-----------------------------------------------------------------------
## Find a suitable password store

View File

@@ -372,6 +372,11 @@
/* Define to 1 if you need to in order for `stat' and other things to work. */
#cmakedefine _POSIX_SOURCE 1
/* Definitions for what WEBKIT version we're compiling against: */
#cmakedefine WEBKIT2_4 1
#cmakedefine WEBKIT2_3 1
#cmakedefine WEBKIT1 1
/* Definitions for all OS */
/* From cutecash */
//#define HAVE_LIBQOF /**/

View File

@@ -577,7 +577,7 @@ load_to_stream( GncHtmlWebkit* self, URLType type,
}
while ( FALSE );
}
#ifdef WEBKIT2_4
static gboolean
perform_navigation_policy (WebKitWebView *web_view,
WebKitNavigationPolicyDecision *decision,
@@ -603,7 +603,7 @@ perform_navigation_policy (WebKitWebView *web_view,
webkit_policy_decision_ignore ((WebKitPolicyDecision*)decision);
return TRUE;
}
#endif
/********************************************************************
* webkit_navigation_requested_cb - called when a URL needs to be
* loaded within the loading of a page (embedded image).
@@ -616,6 +616,7 @@ webkit_decide_policy_cb (WebKitWebView *web_view,
gpointer user_data)
{
/* This turns out to be the signal to intercept for handling a link-click. */
#ifdef WEBKIT2_4
if (decision_type != WEBKIT_POLICY_DECISION_TYPE_NAVIGATION_ACTION)
{
webkit_policy_decision_use (decision);
@@ -624,6 +625,10 @@ webkit_decide_policy_cb (WebKitWebView *web_view,
return perform_navigation_policy (
web_view, (WebKitNavigationPolicyDecision*) decision,
GNC_HTML (user_data));
#else
webkit_policy_decision_use (decision);
return TRUE;
#endif
}
static void