Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial GTK3 support for GP #91

Merged
merged 8 commits into from
Mar 18, 2013
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion build/addons.m4
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
AC_DEFUN([GP_CHECK_ADDONS],
[
GP_ARG_DISABLE(Addons, yes)
GP_ARG_DISABLE([Addons], [auto])
GP_CHECK_PLUGIN_GTK2_ONLY([Addons])
GP_COMMIT_PLUGIN_STATUS([Addons])
AC_CONFIG_FILES([
addons/Makefile
Expand Down
2 changes: 1 addition & 1 deletion build/commander.m4
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ AC_DEFUN([GP_CHECK_COMMANDER],
GP_ARG_DISABLE([Commander], [auto])

GP_CHECK_PLUGIN_DEPS([Commander], [COMMANDER],
[gtk+-2.0 >= 2.16
[$GP_GTK_PACKAGE >= 2.16
glib-2.0 >= 2.4])

GP_COMMIT_PLUGIN_STATUS([Commander])
Expand Down
7 changes: 7 additions & 0 deletions build/common.m4
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,13 @@ dnl Checks whether modules exist using PKG_CHECK_MODULES, and enables/disables
dnl plugins appropriately if enable_$plugin=auto
AC_DEFUN([GP_CHECK_PLUGIN_DEPS],
[
AC_REQUIRE([GP_CHECK_GTK_VERSION])

gtk_dep=m4_bmatch([$3], [gtk\+-2\.0], [2], [gtk\+-3\.0], [3], [0])
if test $gtk_dep -ne 0; then
GP_CHECK_PLUGIN_GTKN_ONLY([$1], [$gtk_dep])
fi

if test "$m4_tolower(AS_TR_SH(enable_$1))" = "yes"; then
PKG_CHECK_MODULES([$2], [$3])
elif test "$m4_tolower(AS_TR_SH(enable_$1))" = "auto"; then
Expand Down
1 change: 1 addition & 0 deletions build/debugger.m4
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
AC_DEFUN([GP_CHECK_DEBUGGER],
[
GP_ARG_DISABLE([Debugger], [auto])
GP_CHECK_PLUGIN_GTK2_ONLY([Debugger])
GP_CHECK_PLUGIN_DEPS([debugger], [VTE],
[vte >= 0.24])
GP_COMMIT_PLUGIN_STATUS([Debugger])
Expand Down
3 changes: 2 additions & 1 deletion build/geanydoc.m4
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
AC_DEFUN([GP_CHECK_GEANYDOC],
[
GP_ARG_DISABLE([GeanyDoc], [yes])
GP_ARG_DISABLE([GeanyDoc], [auto])
GP_CHECK_PLUGIN_GTK2_ONLY([GeanyDoc])
GP_COMMIT_PLUGIN_STATUS([GeanyDoc])
AC_CONFIG_FILES([
geanydoc/Makefile
Expand Down
2 changes: 1 addition & 1 deletion build/geanygendoc.m4
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ AC_DEFUN([GP_CHECK_GEANYGENDOC],
CTPL_VERSION=0.3

GP_CHECK_PLUGIN_DEPS([GeanyGenDoc], GEANYGENDOC,
[gtk+-2.0 >= ${GTK_VERSION}
[$GP_GTK_PACKAGE >= ${GTK_VERSION}
glib-2.0 >= ${GLIB_VERSION}
gio-2.0 >= ${GIO_VERSION}
ctpl >= ${CTPL_VERSION}])
Expand Down
3 changes: 2 additions & 1 deletion build/geanyinsertnum.m4
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
AC_DEFUN([GP_CHECK_GEANYINSERTNUM],
[
GP_ARG_DISABLE([GeanyInsertNum], [yes])
GP_ARG_DISABLE([GeanyInsertNum], [auto])
GP_CHECK_PLUGIN_GTK2_ONLY([GeanyInsertNum])
GP_COMMIT_PLUGIN_STATUS([GeanyInsertNum])
AC_CONFIG_FILES([
geanyinsertnum/Makefile
Expand Down
3 changes: 2 additions & 1 deletion build/geanylatex.m4
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
AC_DEFUN([GP_CHECK_GEANYLATEX],
[
GP_ARG_DISABLE([GeanyLaTeX], [yes])
GP_ARG_DISABLE([GeanyLaTeX], [auto])
GP_CHECK_PLUGIN_GTK2_ONLY([GeanyLaTeX])
GP_COMMIT_PLUGIN_STATUS([GeanyLaTeX])
AC_CONFIG_FILES([
geanylatex/Makefile
Expand Down
3 changes: 2 additions & 1 deletion build/geanylipsum.m4
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
AC_DEFUN([GP_CHECK_GEANYLIPSUM],
[
GP_ARG_DISABLE([GeanyLipsum], [yes])
GP_ARG_DISABLE([GeanyLipsum], [auto])
GP_CHECK_PLUGIN_GTK2_ONLY([GeanyLipsum])
GP_COMMIT_PLUGIN_STATUS([GeanyLipsum])
AC_CONFIG_FILES([
geanylipsum/Makefile
Expand Down
1 change: 1 addition & 0 deletions build/geanylua.m4
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
AC_DEFUN([GP_CHECK_GEANYLUA],
[
GP_ARG_DISABLE([GeanyLua], [auto])
GP_CHECK_PLUGIN_GTK2_ONLY([GeanyLua])

AC_ARG_WITH([lua-pkg],
AC_HELP_STRING([--with-lua-pkg=ARG],
Expand Down
3 changes: 2 additions & 1 deletion build/geanymacro.m4
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
AC_DEFUN([GP_CHECK_GEANYMACRO],
[
GP_ARG_DISABLE([GeanyMacro], [yes])
GP_ARG_DISABLE([GeanyMacro], [auto])
GP_CHECK_PLUGIN_GTK2_ONLY([GeanyMacro])
GP_COMMIT_PLUGIN_STATUS([GeanyMacro])
AC_CONFIG_FILES([
geanymacro/Makefile
Expand Down
3 changes: 2 additions & 1 deletion build/geanyminiscript.m4
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
AC_DEFUN([GP_CHECK_GEANYMINISCRIPT],
[
GP_ARG_DISABLE([GeanyMiniScript], [yes])
GP_ARG_DISABLE([GeanyMiniScript], [auto])
GP_CHECK_PLUGIN_GTK2_ONLY([GeanyMiniScript])
GP_COMMIT_PLUGIN_STATUS([GeanyMiniScript])
AC_CONFIG_FILES([
geanyminiscript/Makefile
Expand Down
3 changes: 2 additions & 1 deletion build/geanynumberedbookmarks.m4
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
AC_DEFUN([GP_CHECK_GEANYNUMBEREDBOOKMARKS],
[
GP_ARG_DISABLE([GeanyNumberedBookmarks], [yes])
GP_ARG_DISABLE([GeanyNumberedBookmarks], [auto])
GP_CHECK_PLUGIN_GTK2_ONLY([GeanyNumberedBookmarks])
GP_COMMIT_PLUGIN_STATUS([GeanyNumberedBookmarks])
AC_CONFIG_FILES([
geanynumberedbookmarks/Makefile
Expand Down
3 changes: 2 additions & 1 deletion build/geanyprj.m4
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
AC_DEFUN([GP_CHECK_GEANYPRJ],
[
GP_ARG_DISABLE([GeanyPrj], [yes])
GP_ARG_DISABLE([GeanyPrj], [auto])
GP_CHECK_PLUGIN_GTK2_ONLY([GeanyPrj])
GP_COMMIT_PLUGIN_STATUS([GeanyPrj])
AC_CONFIG_FILES([
geanyprj/Makefile
Expand Down
3 changes: 2 additions & 1 deletion build/geanyvc.m4
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
AC_DEFUN([GP_CHECK_GEANYVC],
[
GP_ARG_DISABLE([GeanyVC], [yes])
GP_ARG_DISABLE([GeanyVC], [auto])
GP_CHECK_PLUGIN_GTK2_ONLY([GeanyVC])
GP_COMMIT_PLUGIN_STATUS([GeanyVC])
AC_ARG_ENABLE(gtkspell,
AC_HELP_STRING([--enable-gtkspell=ARG],
Expand Down
3 changes: 2 additions & 1 deletion build/gproject.m4
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
AC_DEFUN([GP_CHECK_GPROJECT],
[
GP_ARG_DISABLE([GProject], [yes])
GP_ARG_DISABLE([GProject], [auto])
GP_CHECK_PLUGIN_GTK2_ONLY([GProject])
GP_COMMIT_PLUGIN_STATUS([GProject])
AC_CONFIG_FILES([
gproject/Makefile
Expand Down
51 changes: 51 additions & 0 deletions build/gtk.m4
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
dnl checks for the GTK version to build against (2 or 3)
dnl defines GP_GTK_PACKAGE (e.g. "gtk+-2.0"), GP_GTK_VERSION (e.g. "2.24") and
dnl GP_GTK_VERSION_MAJOR (e.g. "2")
AC_DEFUN([GP_CHECK_GTK_VERSION],
[
AC_REQUIRE([AC_PROG_AWK])
AC_REQUIRE([PKG_PROG_PKG_CONFIG])

_gtk_req=$(${PKG_CONFIG} --print-requires geany | ${AWK} '/^gtk\+-/{print}')
GP_GTK_PACKAGE=$(echo ${_gtk_req} | ${AWK} '{print $[]1}')
GP_GTK_VERSION=$(echo ${_gtk_req} | ${AWK} '{print $[]3}')
GP_GTK_VERSION_MAJOR=$(echo ${GP_GTK_VERSION} | cut -d. -f1)
AC_SUBST([GP_GTK_PACKAGE])
AC_SUBST([GP_GTK_VERSION])
AC_SUBST([GP_GTK_VERSION_MAJOR])
])

dnl executes $1 if GTK3 is used, and $2 otherwise
AC_DEFUN([GP_CHECK_GTK3],
[
AC_REQUIRE([GP_CHECK_GTK_VERSION])
AS_IF([test ${GP_GTK_VERSION_MAJOR} = 3],[$1],[$2])
])

dnl GP_CHECK_PLUGIN_GTKN_ONLY pluginname gtkversion
AC_DEFUN([GP_CHECK_PLUGIN_GTKN_ONLY],
[
AC_REQUIRE([GP_CHECK_GTK_VERSION])

AS_IF([test "$m4_tolower(AS_TR_SH(enable_$1))" = no],[],
[AC_MSG_CHECKING([whether the GTK version in use is compatible with plugin $1])
AS_IF([test ${GP_GTK_VERSION_MAJOR} = $2],
[AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([no])
AS_IF([test "$m4_tolower(AS_TR_SH(enable_$1))" = yes],
[AC_MSG_ERROR([$1 is not compatible with the GTK version in use])],
[test "$m4_tolower(AS_TR_SH(enable_$1))" = auto],
[m4_tolower(AS_TR_SH(enable_$1))=no])])])
])

dnl GP_CHECK_PLUGIN_GTK2_ONLY pluginname
AC_DEFUN([GP_CHECK_PLUGIN_GTK2_ONLY],
[
GP_CHECK_PLUGIN_GTKN_ONLY([$1], [2])
])

dnl GP_CHECK_PLUGIN_GTK3_ONLY pluginname
AC_DEFUN([GP_CHECK_PLUGIN_GTK3_ONLY],
[
GP_CHECK_PLUGIN_GTKN_ONLY([$1], [3])
])
1 change: 1 addition & 0 deletions build/pretty-printer.m4
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ AC_DEFUN([GP_CHECK_PRETTYPRINTER],
LIBXML_VERSION=2.6.27

GP_ARG_DISABLE([pretty-printer], [auto])
GP_CHECK_PLUGIN_GTK2_ONLY([pretty-printer])
GP_CHECK_PLUGIN_DEPS([pretty-printer], [LIBXML],
[libxml-2.0 >= ${LIBXML_VERSION}])
GP_COMMIT_PLUGIN_STATUS([Pretty Printer])
Expand Down
1 change: 1 addition & 0 deletions build/scope.m4
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
AC_DEFUN([GP_CHECK_SCOPE],
[
GP_ARG_DISABLE([Scope], [auto])
GP_CHECK_PLUGIN_GTK2_ONLY([Scope])

GP_CHECK_PLUGIN_DEPS([scope], [VTE],
[vte >= 0.17])
Expand Down
1 change: 1 addition & 0 deletions build/spellcheck.m4
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
AC_DEFUN([GP_CHECK_SPELLCHECK],
[
GP_ARG_DISABLE([spellcheck], [auto])
GP_CHECK_PLUGIN_GTK2_ONLY([spellcheck])

ENCHANT_VERSION=1.3
OPT_ENCHANT_VERSION=1.5
Expand Down
2 changes: 1 addition & 1 deletion build/status.m4
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ AC_DEFUN([GP_STATUS_PRINT],
${PACKAGE}-${VERSION}

Build Environment:
Geany version: ${GEANY_VERSION}
Geany version: ${GEANY_VERSION} (GTK${GP_GTK_VERSION_MAJOR})
Install prefix: ${prefix}
Datadir: ${expanded_datadir}/${PACKAGE_TARNAME}
Libdir: ${expanded_libdir}/${PACKAGE_TARNAME}
Expand Down
1 change: 1 addition & 0 deletions build/treebrowser.m4
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
AC_DEFUN([GP_CHECK_TREEBROWSER],
[
GP_ARG_DISABLE([Treebrowser], [auto])
GP_CHECK_PLUGIN_GTK2_ONLY([Treebrowser])
if [[ "$enable_treebrowser" != no ]]; then
AC_CHECK_FUNC([creat],
[enable_treebrowser=yes],
Expand Down
6 changes: 4 additions & 2 deletions build/webhelper.m4
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,14 @@ AC_DEFUN([GP_CHECK_WEBHELPER],
fi
fi

GP_CHECK_GTK3([webkit_package=webkitgtk-3.0],
[webkit_package=webkit-1.0])
GP_CHECK_PLUGIN_DEPS([WebHelper], [WEBHELPER],
[gtk+-2.0 >= ${GTK_VERSION}
[$GP_GTK_PACKAGE >= ${GTK_VERSION}
glib-2.0 >= ${GLIB_VERSION}
gio-2.0 >= ${GIO_VERSION}
gdk-pixbuf-2.0 >= ${GDK_PIXBUF_VERSION}
webkit-1.0 >= ${WEBKIT_VERSION}
$webkit_package >= ${WEBKIT_VERSION}
gthread-2.0])


Expand Down
1 change: 1 addition & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ GP_I18N
dnl common checks
GP_CHECK_GEANY(1.23)
GP_CHECK_UNITTESTS(0.9.4)
GP_CHECK_GTK_VERSION
GP_CHECK_CPPCHECK
GP_CHECK_CFLAGS

Expand Down
5 changes: 5 additions & 0 deletions geanygendoc/src/ggd-options.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@
G_BEGIN_DECLS
GGD_BEGIN_PLUGIN_API

#if GTK_CHECK_VERSION(3, 0, 0)
# define GtkObject GtkWidget
# define GTK_OBJECT GTK_WIDGET
#endif


/**
* GgdOptGroup:
Expand Down
6 changes: 6 additions & 0 deletions webhelper/src/gwh-browser.c
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,12 @@
(GTK_WIDGET_MAPPED ((w)))
# endif /* defined (gtk_widget_get_mapped) */
#endif /* GTK_CHECK_VERSION (2, 20, 0) */
#if GTK_CHECK_VERSION (3, 0, 0)
/* alias GtkObject, we implement the :destroy signal */
# define GtkObject GtkWidget
# define GtkObjectClass GtkWidgetClass
# define GTK_OBJECT_CLASS GTK_WIDGET_CLASS
#endif /* GTK_CHECK_VERSION (3, 0, 0) */


struct _GwhBrowserPrivate
Expand Down
11 changes: 9 additions & 2 deletions webhelper/src/gwh-settings.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@
#include <gtk/gtk.h>


#if ! GTK_CHECK_VERSION (3, 0, 0)
/* make gtk_adjustment_new() return a real GtkAdjustment, not a GtkObject */
# define gtk_adjustment_new(v, l, u, si, pi, ps) \
(GtkAdjustment *) (gtk_adjustment_new ((v), (l), (u), (si), (pi), (ps)))
#endif


struct _GwhSettingsPrivate
{
GPtrArray *prop_array;
Expand Down Expand Up @@ -619,14 +626,14 @@ gwh_settings_widget_int_new (GwhSettings *self,
gboolean *needs_label)
{
GtkWidget *button;
GtkObject *adj;
GtkAdjustment *adj;
GParamSpecInt *pspec_int = G_PARAM_SPEC_INT (pspec);

adj = gtk_adjustment_new ((gdouble)g_value_get_int (value),
(gdouble)pspec_int->minimum,
(gdouble)pspec_int->maximum,
1.0, 10.0, 0.0);
button = gtk_spin_button_new (GTK_ADJUSTMENT (adj), 0.0, 0);
button = gtk_spin_button_new (adj, 0.0, 0);
*needs_label = TRUE;

return button;
Expand Down