From 3d19d900153f4faae18e7ab2357682d9b1aff10c Mon Sep 17 00:00:00 2001 From: Andreas Volz Date: Mon, 26 Jul 2004 07:51:18 +0000 Subject: [PATCH] initial change to gtk2 SVN revision: 11022 --- configure.in | 22 +++++++++++++++++----- ipc.c | 6 +++++- viewer.c | 4 ++++ 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/configure.in b/configure.in index 020ca31..af06a34 100644 --- a/configure.in +++ b/configure.in @@ -9,11 +9,23 @@ AC_PROG_LN_S AC_PROG_MAKE_SET dnl Checks for libraries. -if !(gtk-config --version >/dev/null 2>&1); then - AC_MSG_ERROR([Gtk+ is required.]) -else - CFLAGS="$CFLAGS `gtk-config --cflags`" - LIBS="$LIBS `gtk-config --libs`" +AC_ARG_ENABLE(gtk2, + [ --enable-gtk2=[no/yes] enables the gtk2 GUI (default=yes)],, + enable_gtk2=no) + +if [ ! test "x$enable_gtk2" != "xyes"]; then + pkg_modules="gtk+-2.0 >= 2.0.0" + PKG_CHECK_MODULES(PACKAGE, [$pkg_modules]) + CFLAGS="$CFLAGS $PACKAGE_CFLAGS" + LIBS="$LIBS $PACKAGE_LIBS" + AC_DEFINE(ENABLE_GTK2, , [Define to enable gtk2 support]) +else + if !(gtk-config --version >/dev/null 2>&1); then + AC_MSG_ERROR([Gtk+ is required.]) + else + CFLAGS="$CFLAGS `gtk-config --cflags`" + LIBS="$LIBS `gtk-config --libs`" + fi fi dnl Checks for header files. diff --git a/ipc.c b/ipc.c index 3b8c6b4..8ef95e2 100644 --- a/ipc.c +++ b/ipc.c @@ -141,7 +141,11 @@ CommsFilter(GdkXEvent * gdk_xevent, GdkEvent * event, gpointer data) if (!comms_win) { GtkWidget *win, *label, *align, *frame, *button, *vbox; +#ifdef ENABLE_GTK2 + win = gtk_window_new(GTK_WINDOW_TOPLEVEL); +#else win = gtk_window_new(GTK_WINDOW_DIALOG); +#endif gtk_window_set_policy(GTK_WINDOW(win), 0, 0, 1); gtk_window_set_position(GTK_WINDOW(win), GTK_WIN_POS_CENTER); frame = gtk_frame_new(NULL); @@ -166,7 +170,7 @@ CommsFilter(GdkXEvent * gdk_xevent, GdkEvent * event, gpointer data) gtk_container_add(GTK_CONTAINER(align), vbox); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 0); - gtk_widget_show_all(win); + gtk_widget_show_all(win); gtk_main(); exit(1); } diff --git a/viewer.c b/viewer.c index bd24e05..76e12f1 100644 --- a/viewer.c +++ b/viewer.c @@ -190,7 +190,11 @@ e_cb_key_change(GtkWidget * widget, gpointer data) gdk_keyboard_grab(win->window, TRUE, CurrentTime); XWindowEvent(GDK_DISPLAY(), GDK_WINDOW_XWINDOW(win->window), KeyPressMask, &ev); +#ifdef ENABLE_GTK2 + gdk_keyboard_ungrab(GDK_CURRENT_TIME); +#else gdk_keyboard_ungrab(gdk_time_get()); +#endif key = XKeysymToString(XKeycodeToKeysym(GDK_DISPLAY(), ev.xkey.keycode, 0)); gtk_entry_set_text(GTK_ENTRY(act_key),key);