[arch-commits] Commit in buoh/trunk (PKGBUILD gtk3-port.patch hide-help.patch)

Balló György bgyorgy at archlinux.org
Fri Dec 19 18:37:53 UTC 2014


    Date: Friday, December 19, 2014 @ 19:37:53
  Author: bgyorgy
Revision: 124110

upgpkg: buoh 0.8.2-8

Build with GTK+ 3, hide Help menuitem

Added:
  buoh/trunk/gtk3-port.patch
  buoh/trunk/hide-help.patch
Modified:
  buoh/trunk/PKGBUILD

-----------------+
 PKGBUILD        |   35 +-
 gtk3-port.patch |  878 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 hide-help.patch |   27 +
 3 files changed, 928 insertions(+), 12 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2014-12-19 18:31:55 UTC (rev 124109)
+++ PKGBUILD	2014-12-19 18:37:53 UTC (rev 124110)
@@ -5,37 +5,48 @@
 
 pkgname=buoh
 pkgver=0.8.2
-pkgrel=7
-pkgdesc="Reader for online strips comics"
+pkgrel=8
+pkgdesc="Online strips comics reader for GNOME"
 arch=('i686' 'x86_64')
 url="http://buoh.steve-o.org/"
 license=('GPL')
-depends=('gtk2' 'libsoup>=2.4.0' 'gconf' 'hicolor-icon-theme')
-makedepends=('intltool')
+depends=('gtk3' 'libsoup' 'gconf')
+makedepends=('intltool' 'gnome-common')
 options=('!emptydirs')
 install=buoh.install
 source=("http://buoh.steve-o.org/downloads/$pkgname-$pkgver.tar.bz2"
-        buoh-libsoup24.patch)
+        buoh-libsoup24.patch
+        gtk3-port.patch
+        hide-help.patch)
 md5sums=('50474a8712ad20ab36d8f8058a4647fb'
-         'c44f0e1828492a5d7d8efee764558fb4')
+         'c44f0e1828492a5d7d8efee764558fb4'
+         '7647016612381fd6bbfd8862d8314039'
+         '14859095081954a3902f741a4fd673c7')
 
 prepare() {
-  cd "$srcdir/$pkgname-$pkgver"
+  cd $pkgname-$pkgver
 
   # Port to libsoup 2.4
-  patch -p1 < ../buoh-libsoup24.patch
+  patch -Np1 -i ../buoh-libsoup24.patch
+
+  # Port to gtk3
+  patch -Np1 -i ../gtk3-port.patch
+
+  # Hide unimplemented Help menuitem
+  patch -Np1 -i ../hide-help.patch
+
+  autoreconf -fi
 }
 
 build() {
-  cd "$srcdir/$pkgname-$pkgver"
-  autoconf
+  cd $pkgname-$pkgver
   ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
               --disable-schemas-install \
-              --with-gconf-schema-file-dir=/usr/share/gconf/schemas --without-libgnomeui
+              --with-gconf-schema-file-dir=/usr/share/gconf/schemas
   make AM_CFLAGS=-lxml2
 }
 
 package() {
-  cd "$srcdir/$pkgname-$pkgver"
+  cd $pkgname-$pkgver
   make DESTDIR="$pkgdir" install
 }

Added: gtk3-port.patch
===================================================================
--- gtk3-port.patch	                        (rev 0)
+++ gtk3-port.patch	2014-12-19 18:37:53 UTC (rev 124110)
@@ -0,0 +1,878 @@
+diff -Naur buoh-0.8.2.orig/configure.in buoh-0.8.2/configure.in
+--- buoh-0.8.2.orig/configure.in	2014-12-19 18:30:13.922773000 +0100
++++ buoh-0.8.2/configure.in	2014-12-19 18:30:44.960277530 +0100
+@@ -28,41 +28,18 @@
+ dnl ******************************************
+ 
+ GLIB_REQUIRED=2.6.0
+-GTK_REQUIRED=2.6.0
++GTK_REQUIRED=3.0.0
+ LIBSOUP_REQUIRED=2.4.0
+ GCONF_REQUIRED=2.2.0
+ 
+ PKG_CHECK_MODULES(BUOH, 
+ 		  glib-2.0       >= $GLIB_REQUIRED
+-		  gtk+-2.0       >= $GTK_REQUIRED 
++		  gtk+-3.0       >= $GTK_REQUIRED
+ 		  libsoup-2.4    >= $LIBSOUP_REQUIRED
+ 		  gconf-2.0      >= $GCONF_REQUIRED) 
+ AC_SUBST(BUOH_CFLAGS)
+ AC_SUBST(BUOH_LIBS)
+ 
+-AC_ARG_WITH(libgnomeui,
+-	    [AC_HELP_STRING([--with-libgnomeui], [Compile with print support [default=auto]])],
+-	    with_libgnomeui=$withval,
+-	    with_libgnomeui="auto")
+-
+-LIBGNOMEUI_REQUIRED=2.6.0
+-
+-PKG_CHECK_MODULES(LIBGNOMEUI, 
+-		  libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED,
+-		  have_libgnomeui=yes, have_libgnomeui=no)
+-
+-enable_libgnomeui=no
+-if test x$have_libgnomeui = xyes; then
+-   if test x$with_libgnomeui = xyes -o x$with_libgnomeui = xauto; then
+-      AC_SUBST(LIBGNOMEUI_CFLAGS)
+-      AC_SUBST(LIBGNOMEUI_LIBS)
+-      AC_DEFINE([HAVE_LIBGNOMEUI],[1],[Enable GNOME UI.])
+-      enable_libgnomeui=yes
+-   fi
+-fi
+-
+-AM_CONDITIONAL(HAVE_LIBGNOMEUI, test x$enable_libgnomeui = xyes)
+-
+ AM_GCONF_SOURCE_2
+ 
+ AC_PATH_PROG([GCONFTOOL], [gconftool-2], [no])
+diff -Naur buoh-0.8.2.orig/src/buoh-add-comic-dialog.c buoh-0.8.2/src/buoh-add-comic-dialog.c
+--- buoh-0.8.2.orig/src/buoh-add-comic-dialog.c	2006-10-21 16:56:37.000000000 +0200
++++ buoh-0.8.2/src/buoh-add-comic-dialog.c	2014-12-19 18:30:44.963610954 +0100
+@@ -67,9 +67,9 @@
+ 	gtk_window_set_title (GTK_WINDOW (dialog), _("Add Comic"));
+ 	gtk_window_set_default_size (GTK_WINDOW (dialog), 400, 300);
+ 	gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE);
+-	gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
+ 	gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
+-	gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (dialog)->vbox), 12);
++	gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
++			     12);
+ 
+ 	gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_CLOSE,
+ 			       GTK_RESPONSE_ACCEPT);
+@@ -157,7 +157,7 @@
+ 	gtk_container_add (GTK_CONTAINER (frame), vbox);
+ 	gtk_widget_show (vbox);
+ 
+-	gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox),
++	gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
+ 			    frame, TRUE, TRUE, 0);
+ 	gtk_widget_show (frame);
+ 
+diff -Naur buoh-0.8.2.orig/src/buoh-add-comic-dialog.h buoh-0.8.2/src/buoh-add-comic-dialog.h
+--- buoh-0.8.2.orig/src/buoh-add-comic-dialog.h	2005-11-17 22:33:59.000000000 +0100
++++ buoh-0.8.2/src/buoh-add-comic-dialog.h	2014-12-19 18:30:44.963610954 +0100
+@@ -20,7 +20,7 @@
+ #define BUOH_ADD_COMIC_DIALOG_H
+ 
+ #include <glib-object.h>
+-#include <gtk/gtkdialog.h>
++#include <gtk/gtk.h>
+ 
+ G_BEGIN_DECLS
+ 
+diff -Naur buoh-0.8.2.orig/src/buoh.c buoh-0.8.2/src/buoh.c
+--- buoh-0.8.2.orig/src/buoh.c	2006-10-21 16:56:39.000000000 +0200
++++ buoh-0.8.2/src/buoh.c	2014-12-19 18:30:44.963610954 +0100
+@@ -353,26 +353,7 @@
+ static gboolean
+ buoh_create_comics_file (Buoh *buoh, const gchar *filename, const gchar *contents)
+ {
+-#if GTK_CHECK_VERSION(2,8,0)
+ 	return g_file_set_contents (filename, contents, -1, NULL);
+-#else
+-	gint fd;
+-
+-	if ((fd = open (filename, O_CREAT | O_WRONLY, 0644)) < 0) {
+-		return FALSE;
+-	}
+-
+-	if (write (fd, contents, strlen (contents)) < 0) {
+-		close (fd);
+-		return FALSE;
+-	}
+-
+-	if (close (fd) < 0) {
+-		return FALSE;
+-	}
+-
+-	return TRUE;
+-#endif
+ }
+ 
+ static void
+diff -Naur buoh-0.8.2.orig/src/buoh-comic-list.c buoh-0.8.2/src/buoh-comic-list.c
+--- buoh-0.8.2.orig/src/buoh-comic-list.c	2006-10-21 16:56:37.000000000 +0200
++++ buoh-0.8.2/src/buoh-comic-list.c	2014-12-19 18:30:44.963610954 +0100
+@@ -41,11 +41,11 @@
+ static void buoh_comic_list_class_init             (BuohComicListClass *klass);
+ static void buoh_comic_list_finalize               (GObject *object);
+ 
+-static void buoh_comic_list_size_request           (GtkWidget        *widget,
+-						    GtkRequisition   *requisition);
+-static void buoh_comic_list_size_allocate          (GtkWidget        *widget,
++static void buoh_comic_list_get_preferred_width    (GtkWidget        *widget,
++						    gint             *minimun,
++						    gint             *natural);
++static void     buoh_comic_list_size_allocate      (GtkWidget        *widget,
+ 						    GtkAllocation    *allocation);
+-
+ static void     buoh_comic_list_selection_changed  (GtkTreeSelection *selection,
+ 						    gpointer          gdata);
+ static gboolean buoh_comic_list_visible            (GtkTreeModel     *model,
+@@ -151,7 +151,7 @@
+ 
+ 	g_type_class_add_private (klass, sizeof (BuohComicListPrivate));
+ 
+-	widget_class->size_request = buoh_comic_list_size_request;
++	widget_class->get_preferred_width = buoh_comic_list_get_preferred_width;
+ 	widget_class->size_allocate = buoh_comic_list_size_allocate;
+ 
+ 	object_class->finalize = buoh_comic_list_finalize;
+@@ -174,32 +174,42 @@
+ }
+ 
+ static void
+-buoh_comic_list_size_request (GtkWidget *widget, GtkRequisition *requisition)
+-{
+-	GtkBin         *bin = GTK_BIN (widget);
+-	GtkRequisition  child_requisition;
+-
+-	if (bin->child && GTK_WIDGET_VISIBLE (bin->child)) {
+-		gtk_widget_size_request (bin->child, &child_requisition);
+-		*requisition = child_requisition;
+-		
++buoh_comic_list_get_preferred_width (GtkWidget *widget,
++				     gint      *minimun,
++				     gint      *natural)
++{
++	GtkBin    *bin = GTK_BIN (widget);
++	GtkWidget *child;
++	gint       child_minimun;
++	gint       child_natural;
++
++	child = gtk_bin_get_child (bin);
++
++	if (child && gtk_widget_get_visible (child)) {
++		gtk_widget_get_preferred_width (child,
++						&child_minimun,
++						&child_natural);
+ 		/* we need some extra size */
+-		requisition->width += 100;
++		*minimun = child_minimun + 100;
++		*natural = child_natural + 100;
+ 	} else {
+-		requisition->width = 0;
+-		requisition->height = 0;
++		*minimun = 0;
++		*natural = 0;
+ 	}
+ }
+ 
+ static void
+ buoh_comic_list_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
+ {
+-	GtkBin *bin = GTK_BIN (widget);
++	GtkBin    *bin = GTK_BIN (widget);
++	GtkWidget *child;
++
++	child = gtk_bin_get_child (bin);
+ 
+-	widget->allocation = *allocation;
++	gtk_widget_set_allocation (widget, allocation);
+ 
+-	if (bin->child && GTK_WIDGET_VISIBLE (bin->child)) {
+-		gtk_widget_size_allocate (bin->child, allocation);
++	if (child && gtk_widget_get_visible (child)) {
++		gtk_widget_size_allocate (child, allocation);
+ 
+ 		/* we need some extra size */
+ 		allocation->width += 100;
+diff -Naur buoh-0.8.2.orig/src/buoh-comic-list.h buoh-0.8.2/src/buoh-comic-list.h
+--- buoh-0.8.2.orig/src/buoh-comic-list.h	2005-11-17 22:33:59.000000000 +0100
++++ buoh-0.8.2/src/buoh-comic-list.h	2014-12-19 18:30:44.963610954 +0100
+@@ -20,7 +20,7 @@
+ #define BUOH_COMIC_LIST_H
+ 
+ #include <glib-object.h>
+-#include <gtk/gtkframe.h>
++#include <gtk/gtk.h>
+ 
+ #include "buoh-view.h"
+ #include "buoh-comic-manager.h"
+diff -Naur buoh-0.8.2.orig/src/buoh.h buoh-0.8.2/src/buoh.h
+--- buoh-0.8.2.orig/src/buoh.h	2006-09-24 21:51:08.000000000 +0200
++++ buoh-0.8.2/src/buoh.h	2014-12-19 18:30:44.963610954 +0100
+@@ -20,7 +20,7 @@
+ #define BUOH_H
+ 
+ #include <glib-object.h>
+-#include <gtk/gtktreemodel.h>
++#include <gtk/gtk.h>
+ 
+ G_BEGIN_DECLS
+ 
+diff -Naur buoh-0.8.2.orig/src/buoh-properties-dialog.c buoh-0.8.2/src/buoh-properties-dialog.c
+--- buoh-0.8.2.orig/src/buoh-properties-dialog.c	2006-10-21 16:56:37.000000000 +0200
++++ buoh-0.8.2/src/buoh-properties-dialog.c	2014-12-19 18:30:44.963610954 +0100
+@@ -47,9 +47,8 @@
+ 
+ 	gtk_window_set_title (GTK_WINDOW (dialog), _("Comic Properties"));
+ 	gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE);
+-	gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
+ 	gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
+-	gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (dialog)->vbox), 12);
++	gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), 12);
+ 
+ 	gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_CLOSE,
+ 			       GTK_RESPONSE_ACCEPT);
+@@ -80,7 +79,7 @@
+ 	GtkWidget *label_pub_days, *label_pub_days_val;
+ 	GtkWidget *image;
+ 	GDate     *comic_date;
+-	gchar date[DATE_BUFFER];
++	gchar      date[DATE_BUFFER];
+ 	gchar     *pub_days;
+ 	BuohComic *comic;
+ 	GdkPixbuf *thumbnail;
+@@ -200,7 +199,7 @@
+ 			  1, 2, 5, 6, GTK_FILL, GTK_FILL, 0, 0);
+ 		gtk_table_attach (GTK_TABLE (table), GTK_WIDGET (label_pub_days_val),
+ 			  2, 3, 5, 6, GTK_FILL | GTK_EXPAND, GTK_FILL, 0, 0);
+-		
++
+ 		gtk_widget_show (label_pub_days);
+ 		gtk_widget_show (label_pub_days_val);
+ 	}
+@@ -221,7 +220,7 @@
+ 	gtk_widget_show (label_date);
+ 	gtk_widget_show (label_date_val);
+ 
+-	gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox),
++	gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
+ 			    table, TRUE, TRUE, 0);
+ 
+ 	gtk_widget_show (table);
+diff -Naur buoh-0.8.2.orig/src/buoh-properties-dialog.h buoh-0.8.2/src/buoh-properties-dialog.h
+--- buoh-0.8.2.orig/src/buoh-properties-dialog.h	2005-11-17 22:34:02.000000000 +0100
++++ buoh-0.8.2/src/buoh-properties-dialog.h	2014-12-19 18:30:44.966944377 +0100
+@@ -20,7 +20,7 @@
+ #define BUOH_PROPERTIES_DIALOG_H
+ 
+ #include <glib-object.h>
+-#include <gtk/gtkdialog.h>
++#include <gtk/gtk.h>
+ 
+ #include "buoh-comic.h"
+ #include "buoh-comic-manager.h"
+diff -Naur buoh-0.8.2.orig/src/buoh-view.c buoh-0.8.2/src/buoh-view.c
+--- buoh-0.8.2.orig/src/buoh-view.c	2006-10-22 17:21:36.000000000 +0200
++++ buoh-0.8.2/src/buoh-view.c	2014-12-19 18:30:44.966944377 +0100
+@@ -123,7 +123,7 @@
+         GtkWidget *label;
+         GtkWidget *swindow;
+ 
+-	GTK_WIDGET_SET_FLAGS (buoh_view, GTK_CAN_FOCUS);
++	gtk_widget_set_can_focus (GTK_WIDGET (buoh_view), TRUE);
+ 	
+         buoh_view->priv = BUOH_VIEW_GET_PRIVATE (buoh_view);
+ 
+@@ -280,7 +280,7 @@
+ static gboolean
+ buoh_view_button_press_event (GtkWidget *widget, GdkEventButton *event)
+ {
+-	if (!GTK_WIDGET_HAS_FOCUS (widget)) {
++	if (!gtk_widget_has_focus (widget)) {
+ 		gtk_widget_grab_focus (widget);
+ 	}
+ 
+diff -Naur buoh-0.8.2.orig/src/buoh-view-comic.c buoh-0.8.2/src/buoh-view-comic.c
+--- buoh-0.8.2.orig/src/buoh-view-comic.c	2006-10-22 17:21:35.000000000 +0200
++++ buoh-0.8.2/src/buoh-view-comic.c	2014-12-19 18:30:44.966944377 +0100
+@@ -84,8 +84,6 @@
+ 						       GdkEventScroll   *event);
+ static void     buoh_view_comic_size_allocate         (GtkWidget        *widget,
+ 						       GtkAllocation    *allocation);
+-static void     buoh_view_comic_size_request          (GtkWidget        *widget,
+-						       GtkRequisition   *requisition);
+ static void     buoh_view_comic_drag_begin            (GtkWidget        *widget,
+ 						       GdkDragContext   *drag_context,
+ 						       gpointer          gdata);
+@@ -105,7 +103,6 @@
+ static void     buoh_view_comic_load_finished         (BuohViewComic    *c_view,
+ 						       gpointer          gdata);
+ static void     buoh_view_comic_load                  (BuohViewComic    *c_view);
+-static void     buoh_view_comic_update_scrollbar_policy (BuohViewComic  *c_view);
+ static gdouble  buoh_view_comic_get_scale_for_width   (BuohViewComic    *c_view,
+ 						       gint              width);
+ static gdouble  buoh_view_comic_get_scale_for_height  (BuohViewComic    *c_view,
+@@ -119,7 +116,7 @@
+ static void
+ buoh_view_comic_init (BuohViewComic *c_view)
+ {
+-	GTK_WIDGET_SET_FLAGS (c_view, GTK_CAN_FOCUS);
++	gtk_widget_set_can_focus (GTK_WIDGET (c_view), TRUE);
+ 	
+ 	c_view->priv = BUOH_VIEW_COMIC_GET_PRIVATE (c_view);
+ 
+@@ -167,7 +164,6 @@
+ 	widget_class->key_press_event = buoh_view_comic_key_press_event;
+ 	widget_class->scroll_event = buoh_view_comic_scroll_event;
+ 	widget_class->size_allocate = buoh_view_comic_size_allocate;
+-	widget_class->size_request = buoh_view_comic_size_request;
+ 
+ 	/* Properties */
+ 	g_object_class_install_property (object_class,
+@@ -254,8 +250,7 @@
+ 		break;
+ 	case PROP_ZOOM_MODE:
+ 		c_view->priv->zoom_mode = g_value_get_enum (value);
+-		buoh_view_comic_update_scrollbar_policy (c_view);
+-		
++
+ 		break;
+ 	case PROP_SCALE:
+ 		c_view->priv->scale = g_value_get_double (value);
+@@ -300,46 +295,52 @@
+ 	gdouble        value;
+ 
+ 	switch (event->keyval) {
+-	case GDK_Up:
+-	case GDK_KP_Up:
++	case GDK_KEY_Up:
++	case GDK_KEY_KP_Up:
+ 		g_object_get (G_OBJECT (c_view),
+ 			      "vadjustment", &adjustment,
+ 			      NULL);
+-		value = adjustment->value - adjustment->step_increment;
+-		
++		value = gtk_adjustment_get_value (adjustment) -
++			gtk_adjustment_get_step_increment (adjustment);
++
+ 		break;
+-	case GDK_Down:
+-	case GDK_KP_Down:
++	case GDK_KEY_Down:
++	case GDK_KEY_KP_Down:
+ 		g_object_get (G_OBJECT (c_view),
+ 			      "vadjustment", &adjustment,
+ 			      NULL);
+-		value = adjustment->value + adjustment->step_increment;
+-		
++		value = gtk_adjustment_get_value (adjustment) +
++			gtk_adjustment_get_step_increment (adjustment);
++
+ 		break;
+-	case GDK_Left:
+-	case GDK_KP_Left:
++	case GDK_KEY_Left:
++	case GDK_KEY_KP_Left:
+ 		g_object_get (G_OBJECT (c_view),
+ 			      "hadjustment", &adjustment,
+ 			      NULL);
+-		value = adjustment->value - adjustment->step_increment;
+-		
++		value = gtk_adjustment_get_value (adjustment) -
++			gtk_adjustment_get_step_increment (adjustment);
++
+ 		break;
+-	case GDK_Right:
+-	case GDK_KP_Right:
++	case GDK_KEY_Right:
++	case GDK_KEY_KP_Right:
+ 		g_object_get (G_OBJECT (c_view),
+ 			      "hadjustment", &adjustment,
+ 			      NULL);
+-		value = adjustment->value + adjustment->step_increment;
+-		
++		value = gtk_adjustment_get_value (adjustment) +
++			gtk_adjustment_get_step_increment (adjustment);
++
+ 		break;
+ 	default:
+ 		return FALSE;
+ 	}
+ 
+-	value = CLAMP (value, adjustment->lower,
+-		       adjustment->upper - adjustment->page_size);
++	value = CLAMP (value,
++		       gtk_adjustment_get_lower (adjustment),
++		       gtk_adjustment_get_upper (adjustment) -
++		       gtk_adjustment_get_page_size (adjustment));
+ 	gtk_adjustment_set_value (adjustment, value);
+-	
++
+ 	return TRUE;
+ }
+ 
+@@ -390,7 +391,6 @@
+ 		scale_width =
+ 			buoh_view_comic_get_scale_for_width (c_view,
+ 							     gdk_pixbuf_get_width (pixbuf));
+-		
+ 		scale_height =
+ 			buoh_view_comic_get_scale_for_height (c_view,
+ 							      gdk_pixbuf_get_height (pixbuf));
+@@ -405,20 +405,12 @@
+ 		break;
+ 	default:
+ 		g_assert_not_reached ();
+-
+ 	}
+ 
+ 	if (new_scale != c_view->priv->scale)
+ 		buoh_view_comic_zoom (c_view, new_scale, FALSE);
+-	
+-	return FALSE;
+-}
+ 
+-static void
+-buoh_view_comic_size_request (GtkWidget *widget, GtkRequisition *requisition)
+-{
+-	requisition->width = -1;
+-	requisition->height = -1;
++	return FALSE;
+ }
+ 
+ static void
+@@ -433,7 +425,7 @@
+ 		id = g_idle_add ((GSourceFunc) buoh_view_comic_update_zoom_cb,
+ 				 c_view);
+ 	}
+-	
++
+ 	GTK_WIDGET_CLASS (buoh_view_comic_parent_class)->size_allocate (widget, allocation);
+ }
+ 
+@@ -476,16 +468,15 @@
+ 			       GtkSelectionData *data, guint info, guint time,
+ 			       gpointer gdata)
+ {
+-	BuohViewComic *c_view = BUOH_VIEW_COMIC (widget);
+-	const gchar   *uri;
++	BuohViewComic  *c_view = BUOH_VIEW_COMIC (widget);
++	const gchar    *uri;
++	gchar          *uris[2];
+ 
+ 	uri = buoh_comic_get_uri (c_view->priv->comic);
+ 	if (uri) {
+-		gtk_selection_data_set (data,
+-					data->target,
+-					8,
+-					(guchar *)uri,
+-					strlen (uri));
++		uris[0] = g_strdup (uri);
++		uris[1] = NULL;
++		gtk_selection_data_set_uris (data, uris);
+ 	}
+ }
+ 
+@@ -515,26 +506,40 @@
+ 		 */
+ 		swindow = gtk_widget_get_parent (GTK_WIDGET (c_view));
+ 		if (GTK_IS_SCROLLED_WINDOW (swindow)) {
+-			GtkRequisition req;
++			GtkAllocation  allocation;
++			GtkStyleContext *style;
++			GtkBorder      padding;
+ 			gint           scrollbar_spacing;
+-			gint           new_scale;
++			gint           scrollbar_width;
+ 			gint           widget_width;
+ 			gint           widget_height;
++			gint           new_scale;
++
++			gtk_widget_get_allocation (GTK_WIDGET (c_view), &allocation);
++			widget_width = allocation.width;
+ 
+-			widget_width = GTK_WIDGET (c_view)->allocation.width;
+-			widget_width -= 2 * GTK_WIDGET (c_view)->style->xthickness;
++			style = gtk_widget_get_style_context (GTK_WIDGET (c_view));
++			gtk_style_context_get_padding (style,
++						       GTK_STATE_FLAG_NORMAL,
++						       &padding);
++			widget_width -= padding.left + padding.right;
+ 
+ 			new_scale = (gdouble)widget_width / (gdouble)width;
+ 
+-			widget_height = GTK_WIDGET (c_view)->allocation.height;
++			widget_height = allocation.height;
+ 
+ 			if ((height * new_scale) > widget_height) {
+-				gtk_widget_size_request (GTK_SCROLLED_WINDOW (swindow)->vscrollbar, &req);
++				GtkWidget *vscrollbar;
++
++				vscrollbar = gtk_scrolled_window_get_vscrollbar (GTK_SCROLLED_WINDOW (swindow));
++
++				scrollbar_width = gtk_widget_get_allocated_width (vscrollbar);
+ 				gtk_widget_style_get (swindow,
+ 						      "scrollbar_spacing", &scrollbar_spacing,
+ 						      NULL);
+ 				
+-				GTK_WIDGET (c_view)->allocation.width -= (req.width + scrollbar_spacing);
++				allocation.width -= (scrollbar_width + scrollbar_spacing);
++				gtk_widget_set_allocation (GTK_WIDGET (c_view), &allocation);
+ 			}
+ 		}
+ 		
+@@ -561,18 +566,11 @@
+ 	gtk_adjustment_set_value (hadjustment, 0.0);
+ 	gtk_adjustment_set_value (vadjustment, 0.0);
+ 
+-	buoh_view_comic_update_scrollbar_policy (c_view);
+-
+-	if (GTK_WIDGET_REALIZED (GTK_WIDGET (c_view)))
+-		gdk_window_set_cursor (GTK_WIDGET (c_view)->window, NULL);
++	if (gtk_widget_get_realized (GTK_WIDGET (c_view)))
++		gdk_window_set_cursor (gtk_widget_get_window (GTK_WIDGET (c_view)),
++				       NULL);
+ 
+-#if GTK_CHECK_VERSION(2,8,0)
+ 	gtk_image_clear (GTK_IMAGE (c_view->priv->image));
+-#else 
+-	gtk_image_set_from_stock (GTK_IMAGE (c_view->priv->image),
+-				  GTK_STOCK_MISSING_IMAGE,
+-				  GTK_ICON_SIZE_DIALOG);
+-#endif
+ }
+ 
+ static void
+@@ -636,7 +634,8 @@
+ 
+ 	gdk_pixbuf_loader_close (c_view->priv->pixbuf_loader, NULL);
+ 
+-	gdk_window_set_cursor (GTK_WIDGET (c_view)->window, NULL);
++	gdk_window_set_cursor (gtk_widget_get_window (GTK_WIDGET (c_view)),
++			       NULL);
+ 	
+ 	buoh_comic_loader_get_error (c_view->priv->comic_loader, &error);
+ 	if (error) {
+@@ -754,8 +753,9 @@
+ 			      NULL);
+ 
+ 		cursor = gdk_cursor_new (GDK_WATCH);
+-		gdk_window_set_cursor (GTK_WIDGET (c_view)->window, cursor);
+-		gdk_cursor_unref (cursor);
++		gdk_window_set_cursor (gtk_widget_get_window (GTK_WIDGET (c_view)),
++				       cursor);
++		g_object_unref (cursor);
+ 
+ 		if (c_view->priv->pixbuf_loader) {
+ 			gdk_pixbuf_loader_close (c_view->priv->pixbuf_loader, NULL);
+@@ -776,45 +776,26 @@
+ 	}
+ }
+ 
+-static void
+-buoh_view_comic_update_scrollbar_policy (BuohViewComic *c_view)
+-{
+-	GtkWidget *swindow;
+-	
+-	swindow = gtk_widget_get_parent (GTK_WIDGET (c_view));
+-	if (!GTK_IS_SCROLLED_WINDOW (swindow))
+-		return;
+-
+-	switch (c_view->priv->zoom_mode) {
+-	case VIEW_ZOOM_FREE:
+-		gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swindow),
+-						GTK_POLICY_AUTOMATIC,
+-						GTK_POLICY_AUTOMATIC);
+-		break;
+-	case VIEW_ZOOM_FIT_WIDTH:
+-		gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swindow),
+-						GTK_POLICY_NEVER,
+-						GTK_POLICY_AUTOMATIC);
+-		break;
+-	case VIEW_ZOOM_BEST_FIT:
+-		gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swindow),
+-						GTK_POLICY_NEVER,
+-						GTK_POLICY_NEVER);
+-		break;
+-	}
+-}
+-
+ static gdouble
+ buoh_view_comic_get_scale_for_width (BuohViewComic *c_view,
+ 				     gint           width)
+ {
+-	GtkWidget *widget = GTK_WIDGET (c_view);
+-	gint       widget_width;
+-	gdouble    new_scale;
++	GtkWidget       *widget = GTK_WIDGET (c_view);
++	GtkAllocation    allocation;
++	GtkStyleContext *style;
++	GtkBorder        padding;
++	gint             widget_width;
++	gdouble          new_scale;
++
++	gtk_widget_get_allocation (widget, &allocation);
++	widget_width = allocation.width;
++
++	style = gtk_widget_get_style_context (widget);
++	gtk_style_context_get_padding (style,
++				       GTK_STATE_FLAG_NORMAL,
++				       &padding);
++	widget_width -= padding.left + padding.right;
+ 
+-	widget_width = widget->allocation.width;
+-	widget_width -= 2 * widget->style->xthickness;
+-	
+ 	new_scale = (gdouble)widget_width / (gdouble)width;
+ 
+ 	return new_scale;
+@@ -824,13 +805,22 @@
+ buoh_view_comic_get_scale_for_height (BuohViewComic *c_view,
+ 				      gint           height)
+ {
+-	GtkWidget *widget = GTK_WIDGET (c_view);
+-	gint       widget_height;
+-	gdouble    new_scale;
++	GtkWidget       *widget = GTK_WIDGET (c_view);
++	GtkAllocation    allocation;
++	GtkStyleContext *style;
++	GtkBorder        padding;
++	gint             widget_height;
++	gdouble          new_scale;
++
++	gtk_widget_get_allocation (widget, &allocation);
++	widget_height = allocation.height;
++
++	style = gtk_widget_get_style_context (widget);
++	gtk_style_context_get_padding (style,
++				       GTK_STATE_FLAG_NORMAL,
++				       &padding);
++	widget_height -= padding.top + padding.bottom;
+ 
+-	widget_height = widget->allocation.height;
+-	widget_height -= 2 * widget->style->ythickness;
+-	
+ 	new_scale = (gdouble)widget_height / (gdouble)height;
+ 
+ 	return new_scale;
+diff -Naur buoh-0.8.2.orig/src/buoh-view-comic.h buoh-0.8.2/src/buoh-view-comic.h
+--- buoh-0.8.2.orig/src/buoh-view-comic.h	2006-10-22 17:21:36.000000000 +0200
++++ buoh-0.8.2/src/buoh-view-comic.h	2014-12-19 18:30:44.966944377 +0100
+@@ -20,7 +20,7 @@
+ #define BUOH_VIEW_COMIC_H
+ 
+ #include <glib-object.h>
+-#include <gtk/gtkviewport.h>
++#include <gtk/gtk.h>
+ 
+ #include "buoh-view.h"
+ 
+diff -Naur buoh-0.8.2.orig/src/buoh-view.h buoh-0.8.2/src/buoh-view.h
+--- buoh-0.8.2.orig/src/buoh-view.h	2006-10-22 17:21:36.000000000 +0200
++++ buoh-0.8.2/src/buoh-view.h	2014-12-19 18:30:44.966944377 +0100
+@@ -20,7 +20,7 @@
+ #define BUOH_VIEW_H
+ 
+ #include <glib-object.h>
+-#include <gtk/gtknotebook.h>
++#include <gtk/gtk.h>
+ 
+ #include "buoh-comic.h"
+ 
+diff -Naur buoh-0.8.2.orig/src/buoh-view-message.c buoh-0.8.2/src/buoh-view-message.c
+--- buoh-0.8.2.orig/src/buoh-view-message.c	2006-10-21 16:56:38.000000000 +0200
++++ buoh-0.8.2/src/buoh-view-message.c	2014-12-19 18:30:44.970277801 +0100
+@@ -46,7 +46,7 @@
+ 	GtkWidget *hbox;
+ 	GtkWidget *vbox;
+ 
+-	GTK_WIDGET_SET_FLAGS (m_view, GTK_CAN_FOCUS);
++	gtk_widget_set_can_focus (GTK_WIDGET (m_view), TRUE);
+ 	
+ 	m_view->priv = BUOH_VIEW_MESSAGE_GET_PRIVATE (m_view);
+ 
+@@ -81,7 +81,7 @@
+ 			    TRUE, TRUE, 0);
+ 	gtk_widget_show (vbox);
+ 
+-	align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
++	align = gtk_alignment_new (0.5, 0.5, 1.0, 1.0);
+ 	gtk_container_add (GTK_CONTAINER (align), hbox);
+ 	gtk_widget_show (hbox);
+ 
+@@ -112,8 +112,10 @@
+ void
+ buoh_view_message_set_title (BuohViewMessage *m_view, const gchar *title)
+ {
+-	gint size;
+-	PangoFontDescription *font_desc;
++	gint                        size;
++	GtkStyleContext            *style;
++	const PangoFontDescription *font_desc;
++	PangoFontDescription       *font_desc_new;
+ 
+ 	g_return_if_fail (BUOH_IS_VIEW_MESSAGE (m_view));
+ 	g_return_if_fail (title != NULL);
+@@ -121,18 +123,23 @@
+ 	gtk_label_set_text (GTK_LABEL (m_view->priv->title), title);
+ 	
+ 	/* unset the font settings */
+-	gtk_widget_modify_font (m_view->priv->title, NULL);
++	gtk_widget_override_font (m_view->priv->title, NULL);
+ 
+-	size = pango_font_description_get_size (m_view->priv->title->style->font_desc);
++	style = gtk_widget_get_style_context (m_view->priv->title);
++	font_desc = gtk_style_context_get_font (style,
++						GTK_STATE_FLAG_NORMAL);
++	size = pango_font_description_get_size (font_desc);
+ 	
+-	font_desc = pango_font_description_new ();
++	font_desc_new = pango_font_description_new ();
+ 
+-	pango_font_description_set_weight (font_desc, PANGO_WEIGHT_BOLD);
+-	pango_font_description_set_size (font_desc, size * PANGO_SCALE_X_LARGE);
++	pango_font_description_set_weight (font_desc_new,
++					   PANGO_WEIGHT_BOLD);
++	pango_font_description_set_size (font_desc_new,
++					 size * PANGO_SCALE_X_LARGE);
+ 
+-	gtk_widget_modify_font (m_view->priv->title, font_desc);
++	gtk_widget_override_font (m_view->priv->title, font_desc_new);
+ 
+-	pango_font_description_free (font_desc);
++	pango_font_description_free (font_desc_new);
+ 
+ 	gtk_widget_show (m_view->priv->title);
+ }
+diff -Naur buoh-0.8.2.orig/src/buoh-view-message.h buoh-0.8.2/src/buoh-view-message.h
+--- buoh-0.8.2.orig/src/buoh-view-message.h	2005-11-17 22:34:03.000000000 +0100
++++ buoh-0.8.2/src/buoh-view-message.h	2014-12-19 18:30:44.970277801 +0100
+@@ -20,7 +20,7 @@
+ #define BUOH_VIEW_MESSAGE_H
+ 
+ #include <glib-object.h>
+-#include <gtk/gtkviewport.h>
++#include <gtk/gtk.h>
+ 
+ G_BEGIN_DECLS
+ 
+diff -Naur buoh-0.8.2.orig/src/buoh-window.c buoh-0.8.2/src/buoh-window.c
+--- buoh-0.8.2.orig/src/buoh-window.c	2006-10-22 17:21:37.000000000 +0200
++++ buoh-0.8.2/src/buoh-window.c	2014-12-19 18:31:33.124916691 +0100
+@@ -252,6 +252,7 @@
+ 
+ 	gtk_window_set_title (GTK_WINDOW (buoh_window), "Buoh");
+ 	gtk_window_set_icon_name (GTK_WINDOW (buoh_window), "buoh");
++	gtk_window_set_default_size (GTK_WINDOW (buoh_window), 800, 400);
+ 
+ 	buoh_window->priv->properties = NULL;
+ 	buoh_window->priv->add_dialog = NULL;
+@@ -364,8 +365,6 @@
+ 
+ 	/* Status bar */
+ 	buoh_window->priv->statusbar = gtk_statusbar_new ();
+-	gtk_statusbar_set_has_resize_grip (GTK_STATUSBAR (buoh_window->priv->statusbar),
+-					   TRUE);
+ 	buoh_window->priv->view_message_cid = gtk_statusbar_get_context_id
+ 		(GTK_STATUSBAR (buoh_window->priv->statusbar), "view_message");
+ 	buoh_window->priv->help_message_cid = gtk_statusbar_get_context_id
+@@ -543,9 +542,8 @@
+ 					       GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ 					       GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
+ 					       NULL);
+-#if GTK_CHECK_VERSION(2,8,0)
++
+ 	gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (chooser), TRUE);
+-#endif
+ 	gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (chooser), filter);
+ 
+ 	if (folder) {
+@@ -1133,7 +1131,7 @@
+ 	state = event->state & GDK_SHIFT_MASK;
+ 
+ 	if (state == GDK_SHIFT_MASK &&
+-	    event->keyval == GDK_F10) {
++	    event->keyval == GDK_KEY_F10) {
+ 		selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget));
+ 		if (gtk_tree_selection_get_selected (selection, NULL, NULL)) {
+ 			popup = gtk_ui_manager_get_widget (window->priv->ui_manager, "/ListPopup");
+@@ -1202,7 +1200,7 @@
+ 	state = event->state & GDK_SHIFT_MASK;
+ 
+ 	if (state == GDK_SHIFT_MASK &&
+-	    event->keyval == GDK_F10) {
++	    event->keyval == GDK_KEY_F10) {
+ 		popup = gtk_ui_manager_get_widget (window->priv->ui_manager, "/ViewPopup");
+ 
+ 		gtk_menu_popup (GTK_MENU (popup), NULL,
+diff -Naur buoh-0.8.2.orig/src/buoh-window.h buoh-0.8.2/src/buoh-window.h
+--- buoh-0.8.2.orig/src/buoh-window.h	2005-11-17 22:34:03.000000000 +0100
++++ buoh-0.8.2/src/buoh-window.h	2014-12-19 18:30:44.970277801 +0100
+@@ -20,7 +20,7 @@
+ #define BUOH_WINDOW_H
+ 
+ #include <glib-object.h>
+-#include <gtk/gtkwindow.h>
++#include <gtk/gtk.h>
+ 
+ G_BEGIN_DECLS
+ 
+diff -Naur buoh-0.8.2.orig/src/main.c buoh-0.8.2/src/main.c
+--- buoh-0.8.2.orig/src/main.c	2006-10-21 16:56:39.000000000 +0200
++++ buoh-0.8.2/src/main.c	2014-12-19 18:30:44.970277801 +0100
+@@ -26,13 +26,7 @@
+ #include <glib.h>
+ #include <glib/gi18n.h>
+ 
+-#ifdef HAVE_LIBGNOMEUI
+-#include <libgnome/libgnome.h>
+-#include <libgnomeui/libgnomeui.h>
+-#else
+-#include <gtk/gtkmain.h>
+-#include <gtk/gtkwindow.h>
+-#endif /* HAVE_LIBGNOMEUI */
++#include <gtk/gtk.h>
+ 
+ #include "buoh.h"
+ 
+@@ -48,14 +42,7 @@
+         textdomain (GETTEXT_PACKAGE);
+ #endif
+ 
+-#ifdef HAVE_LIBGNOMEUI
+-	gnome_program_init (PACKAGE, VERSION,
+-			    LIBGNOMEUI_MODULE,
+-			    argc, argv,
+-			    GNOME_PARAM_NONE);
+-#else
+ 	gtk_init (&argc, &argv);
+-#endif /* HAVE_LIBGNOMEUI */
+ 
+ 	g_set_application_name (_("Buoh online comics browser"));
+ 	gtk_window_set_default_icon_name ("buoh");
+diff -Naur buoh-0.8.2.orig/src/Makefile.am buoh-0.8.2/src/Makefile.am
+--- buoh-0.8.2.orig/src/Makefile.am	2006-10-21 16:56:37.000000000 +0200
++++ buoh-0.8.2/src/Makefile.am	2014-12-19 18:30:44.970277801 +0100
+@@ -4,10 +4,6 @@
+ 	$(WARN_CFLAGS)					\
+ 	$(DISABLE_DEPRECATED)
+ 
+-if HAVE_LIBGNOMEUI
+-INCLUDES += $(LIBGNOMEUI_CFLAGS)
+-endif
+-
+ bin_PROGRAMS = buoh
+ 
+ buoh_SOURCES = 							\
+@@ -27,7 +23,3 @@
+ 	main.c
+ 
+ buoh_LDADD = $(BUOH_LIBS)
+-
+-if HAVE_LIBGNOMEUI
+-buoh_LDADD += $(LIBGNOMEUI_LIBS)
+-endif

Added: hide-help.patch
===================================================================
--- hide-help.patch	                        (rev 0)
+++ hide-help.patch	2014-12-19 18:37:53 UTC (rev 124110)
@@ -0,0 +1,27 @@
+diff -Naur buoh-0.8.2.orig/data/buoh-ui.xml buoh-0.8.2/data/buoh-ui.xml
+--- buoh-0.8.2.orig/data/buoh-ui.xml	2014-12-19 18:35:42.417309811 +0100
++++ buoh-0.8.2/data/buoh-ui.xml	2014-12-19 18:36:27.767267954 +0100
+@@ -31,7 +31,7 @@
+       </menu>
+ 
+       <menu name="HelpMenu" action="Help">
+-	 <menuitem name="HelpContentsMenu" action="HelpContents"/>
++<!--	 <menuitem name="HelpContentsMenu" action="HelpContents"/> -->
+ 	 <menuitem name="HelpAboutMenu" action="HelpAbout"/>
+       </menu>
+    </menubar>
+diff -Naur buoh-0.8.2.orig/src/buoh-window.c buoh-0.8.2/src/buoh-window.c
+--- buoh-0.8.2.orig/src/buoh-window.c	2006-10-22 17:21:37.000000000 +0200
++++ buoh-0.8.2/src/buoh-window.c	2014-12-19 18:31:33.124916691 +0100
+@@ -206,9 +206,9 @@
+ 	  G_CALLBACK (buoh_window_cmd_go_last) },
+ 
+ 	/* Help menu */
+-	{ "HelpContents", GTK_STOCK_HELP, N_("_Contents"), "F1",
++/*	{ "HelpContents", GTK_STOCK_HELP, N_("_Contents"), "F1",
+ 	  N_("Display help for the Buoh online comic reader"),
+-	  G_CALLBACK (buoh_window_cmd_help_contents) },
++	  G_CALLBACK (buoh_window_cmd_help_contents) },*/
+ 	{ "HelpAbout", GTK_STOCK_ABOUT, N_("_About"), NULL,
+ 	  N_("Display credits for the Buoh online comic reader creators"),
+ 	  G_CALLBACK (buoh_window_cmd_help_about) }



More information about the arch-commits mailing list