From 68d0fc3c59185065d9694ba3f8cb2665b984eb9f Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Sun, 18 Jan 2009 11:53:54 +0000 Subject: [PATCH] Move EvView specific code to a libeviview library so that it can be 2009-01-18 Carlos Garcia Campos * configure.ac: * Makefile.am: * libdocument/Makefile.am: * libview/Makefile.am: * libview/ev-job-scheduler.[ch]: * libview/ev-jobs.[ch]: * libview/ev-page-cache.[ch]: * libview/ev-pixbuf-cache.[ch]: * libview/ev-timeline.[ch]: * libview/ev-transition-animation.[ch]: * libview/ev-view-accessible.[ch]: * libview/ev-view-marshal.list: * libview/ev-view.[ch]: * shell/Makefile.am: Move EvView specific code to a libeviview library so that it can be embbeded in other applications. Based on patches by Tomeu Vizoso. Fixes bug #567751. svn path=/trunk/; revision=3348 --- ChangeLog | 21 ++++++++ Makefile.am | 1 + configure.ac | 9 +++- libdocument/Makefile.am | 2 +- libview/Makefile.am | 56 ++++++++++++++++++++ {shell => libview}/ev-job-scheduler.c | 0 {shell => libview}/ev-job-scheduler.h | 0 {shell => libview}/ev-jobs.c | 0 {shell => libview}/ev-jobs.h | 0 {shell => libview}/ev-page-cache.c | 0 {shell => libview}/ev-page-cache.h | 0 {shell => libview}/ev-pixbuf-cache.c | 1 + {shell => libview}/ev-pixbuf-cache.h | 0 {shell => libview}/ev-timeline.c | 0 {shell => libview}/ev-timeline.h | 0 {shell => libview}/ev-transition-animation.c | 0 {shell => libview}/ev-transition-animation.h | 0 {shell => libview}/ev-view-accessible.c | 0 {shell => libview}/ev-view-accessible.h | 0 libview/ev-view-marshal.list | 1 + {shell => libview}/ev-view-private.h | 0 {shell => libview}/ev-view.c | 8 +-- {shell => libview}/ev-view.h | 1 - shell/Makefile.am | 19 +------ shell/ev-marshal.list | 3 -- 25 files changed, 95 insertions(+), 27 deletions(-) create mode 100644 libview/Makefile.am rename {shell => libview}/ev-job-scheduler.c (100%) rename {shell => libview}/ev-job-scheduler.h (100%) rename {shell => libview}/ev-jobs.c (100%) rename {shell => libview}/ev-jobs.h (100%) rename {shell => libview}/ev-page-cache.c (100%) rename {shell => libview}/ev-page-cache.h (100%) rename {shell => libview}/ev-pixbuf-cache.c (99%) rename {shell => libview}/ev-pixbuf-cache.h (100%) rename {shell => libview}/ev-timeline.c (100%) rename {shell => libview}/ev-timeline.h (100%) rename {shell => libview}/ev-transition-animation.c (100%) rename {shell => libview}/ev-transition-animation.h (100%) rename {shell => libview}/ev-view-accessible.c (100%) rename {shell => libview}/ev-view-accessible.h (100%) create mode 100644 libview/ev-view-marshal.list rename {shell => libview}/ev-view-private.h (100%) rename {shell => libview}/ev-view.c (99%) rename {shell => libview}/ev-view.h (99%) diff --git a/ChangeLog b/ChangeLog index ae7ec15d..9a477507 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,24 @@ +2009-01-18 Carlos Garcia Campos + + * configure.ac: + * Makefile.am: + * libdocument/Makefile.am: + * libview/Makefile.am: + * libview/ev-job-scheduler.[ch]: + * libview/ev-jobs.[ch]: + * libview/ev-page-cache.[ch]: + * libview/ev-pixbuf-cache.[ch]: + * libview/ev-timeline.[ch]: + * libview/ev-transition-animation.[ch]: + * libview/ev-view-accessible.[ch]: + * libview/ev-view-marshal.list: + * libview/ev-view.[ch]: + * shell/Makefile.am: + + Move EvView specific code to a libeviview library so that it can + be embbeded in other applications. Based on patches by Tomeu + Vizoso. Fixes bug #567751. + 2009-01-18 Carlos Garcia Campos * shell/ev-jobs.[ch]: (ev_job_load_dispose), (ev_job_load_new): diff --git a/Makefile.am b/Makefile.am index 38d8b962..b2b43d30 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3,6 +3,7 @@ SUBDIRS = \ data \ libdocument \ backend \ + libview \ properties \ shell \ po \ diff --git a/configure.ac b/configure.ac index 97ee1b1b..e8a7d1a7 100644 --- a/configure.ac +++ b/configure.ac @@ -4,7 +4,7 @@ AC_PREREQ(2.57) AC_INIT([Evince],[2.25.4],[http://bugzilla.gnome.org/enter_bug.cgi?product=evince],[evince]) AM_INIT_AUTOMAKE([1.9 dist-bzip2 no-dist-gzip]) -EV_API_VERSION=2.20 +EV_API_VERSION=2.25 AC_SUBST(EV_API_VERSION) AM_CONFIG_HEADER(config.h) @@ -53,6 +53,7 @@ GNOME_ICON_THEME_REQUIRED=2.17.1 LIBXML_REQUIRED=2.5.0 PKG_CHECK_MODULES(LIB, gtk+-2.0 >= $GTK_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED gio-2.0 >= $GLIB_REQUIRED) +PKG_CHECK_MODULES(LIBVIEW, gtk+-2.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED) PKG_CHECK_MODULES(BACKEND, gtk+-2.0 >= $GTK_REQUIRED) PKG_CHECK_MODULES(FRONTEND_CORE, gtk+-2.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED) PKG_CHECK_MODULES(SHELL_CORE, libxml-2.0 >= $LIBXML_REQUIRED gtk+-2.0 >= $GTK_REQUIRED gtk+-unix-print-2.0 >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED gnome-icon-theme >= $GNOME_ICON_THEME_REQUIRED gthread-2.0 gconf-2.0) @@ -133,6 +134,11 @@ LIB_LIBS="$LIB_LIBS" AC_SUBST(LIB_CFLAGS) AC_SUBST(LIB_LIBS) +LIBVIEW_CFLAGS="$LIBVIEW_CFLAGS $DEBUG_FLAGS" +LIBVIEW_LIBS="$LIBVIEW_LIBS" +AC_SUBST(LIBVIEW_CFLAGS) +AC_SUBST(LIBVIEW_LIBS) + BACKEND_CFLAGS="$BACKEND_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE $DEBUG_FLAGS" AC_SUBST(BACKEND_CFLAGS) AC_SUBST(BACKEND_LIBS) @@ -449,6 +455,7 @@ help/Makefile help/reference/Makefile help/reference/version.xml libdocument/Makefile +libview/Makefile Makefile po/Makefile.in properties/Makefile diff --git a/libdocument/Makefile.am b/libdocument/Makefile.am index 3f32f1aa..fa2798ff 100644 --- a/libdocument/Makefile.am +++ b/libdocument/Makefile.am @@ -46,7 +46,7 @@ INST_H_FILES = \ ev-selection.h \ ev-transition-effect.h -headerdir = $(prefix)/include/evince-@EV_API_VERSION@/evince +headerdir = $(prefix)/include/evince/@EV_API_VERSION@/ev-backend header_DATA = $(INST_H_FILES) libevbackend_la_SOURCES= \ diff --git a/libview/Makefile.am b/libview/Makefile.am new file mode 100644 index 00000000..dfdb20e8 --- /dev/null +++ b/libview/Makefile.am @@ -0,0 +1,56 @@ +INCLUDES= \ + -DGNOMELOCALEDIR=\"$(datadir)/locale\" \ + -I$(top_srcdir)/libdocument \ + $(LIBVIEW_CFLAGS) \ + $(WARN_CFLAGS) \ + $(DISABLE_DEPRECATED) + +lib_LTLIBRARIES = libevview.la + +libevview_la_LDFLAGS = -export-dynamic +libevview_la_LIBADD = $(LIBVIEW_LIBS) + +NOINST_H_FILES = \ + ev-job-scheduler.h \ + ev-pixbuf-cache.h \ + ev-timeline.h \ + ev-transition-animation.h \ + ev-view-accessible.h \ + ev-view-marshal.h \ + ev-view-private.h + +INST_H_FILES = \ + ev-jobs.h \ + ev-page-cache.h \ + ev-view.h + +headerdir = $(prefix)/include/evince/@EV_API_VERSION@/ev-view +header_DATA = $(INST_H_FILES) + +libevview_la_SOURCES = \ + ev-jobs.c \ + ev-job-scheduler.c \ + ev-page-cache.c \ + ev-pixbuf-cache.c \ + ev-timeline.c \ + ev-transition-animation.c \ + ev-view.c \ + ev-view-accessible.c \ + ev-view-marshal.c \ + $(NOINST_H_FILES) \ + $(INST_H_FILES) + +BUILT_SOURCES = \ + ev-view-marshal.h \ + ev-view-marshal.c + +CLEANFILES = $(BUILT_SOURCES) + +ev-view-marshal.h: $(srcdir)/ev-view-marshal.list + $(GLIB_GENMARSHAL) --prefix=ev_view_marshal $(srcdir)/ev-view-marshal.list --header > $@ + +ev-view-marshal.c: $(srcdir)/ev-view-marshal.list + echo '#include "ev-view-marshal.h"' > ev-view-marshal.c + $(GLIB_GENMARSHAL) --prefix=ev_view_marshal $(srcdir)/ev-view-marshal.list --body >> $@ + +EXTRA_DIST = ev-view-marshal.list diff --git a/shell/ev-job-scheduler.c b/libview/ev-job-scheduler.c similarity index 100% rename from shell/ev-job-scheduler.c rename to libview/ev-job-scheduler.c diff --git a/shell/ev-job-scheduler.h b/libview/ev-job-scheduler.h similarity index 100% rename from shell/ev-job-scheduler.h rename to libview/ev-job-scheduler.h diff --git a/shell/ev-jobs.c b/libview/ev-jobs.c similarity index 100% rename from shell/ev-jobs.c rename to libview/ev-jobs.c diff --git a/shell/ev-jobs.h b/libview/ev-jobs.h similarity index 100% rename from shell/ev-jobs.h rename to libview/ev-jobs.h diff --git a/shell/ev-page-cache.c b/libview/ev-page-cache.c similarity index 100% rename from shell/ev-page-cache.c rename to libview/ev-page-cache.c diff --git a/shell/ev-page-cache.h b/libview/ev-page-cache.h similarity index 100% rename from shell/ev-page-cache.h rename to libview/ev-page-cache.h diff --git a/shell/ev-pixbuf-cache.c b/libview/ev-pixbuf-cache.c similarity index 99% rename from shell/ev-pixbuf-cache.c rename to libview/ev-pixbuf-cache.c index 46976afe..bcc5c023 100644 --- a/shell/ev-pixbuf-cache.c +++ b/libview/ev-pixbuf-cache.c @@ -4,6 +4,7 @@ #include "ev-page-cache.h" #include "ev-document-images.h" #include "ev-document-forms.h" +#include "ev-document-links.h" #include "ev-image.h" #include "ev-form-field.h" diff --git a/shell/ev-pixbuf-cache.h b/libview/ev-pixbuf-cache.h similarity index 100% rename from shell/ev-pixbuf-cache.h rename to libview/ev-pixbuf-cache.h diff --git a/shell/ev-timeline.c b/libview/ev-timeline.c similarity index 100% rename from shell/ev-timeline.c rename to libview/ev-timeline.c diff --git a/shell/ev-timeline.h b/libview/ev-timeline.h similarity index 100% rename from shell/ev-timeline.h rename to libview/ev-timeline.h diff --git a/shell/ev-transition-animation.c b/libview/ev-transition-animation.c similarity index 100% rename from shell/ev-transition-animation.c rename to libview/ev-transition-animation.c diff --git a/shell/ev-transition-animation.h b/libview/ev-transition-animation.h similarity index 100% rename from shell/ev-transition-animation.h rename to libview/ev-transition-animation.h diff --git a/shell/ev-view-accessible.c b/libview/ev-view-accessible.c similarity index 100% rename from shell/ev-view-accessible.c rename to libview/ev-view-accessible.c diff --git a/shell/ev-view-accessible.h b/libview/ev-view-accessible.h similarity index 100% rename from shell/ev-view-accessible.h rename to libview/ev-view-accessible.h diff --git a/libview/ev-view-marshal.list b/libview/ev-view-marshal.list new file mode 100644 index 00000000..4c54a3fe --- /dev/null +++ b/libview/ev-view-marshal.list @@ -0,0 +1 @@ +VOID:ENUM,BOOLEAN diff --git a/shell/ev-view-private.h b/libview/ev-view-private.h similarity index 100% rename from shell/ev-view-private.h rename to libview/ev-view-private.h diff --git a/shell/ev-view.c b/libview/ev-view.c similarity index 99% rename from shell/ev-view.c rename to libview/ev-view.c index b8964b18..e6fb3ce4 100644 --- a/shell/ev-view.c +++ b/libview/ev-view.c @@ -33,12 +33,12 @@ #include "ev-document-links.h" #include "ev-document-misc.h" #include "ev-document-transition.h" -#include "ev-marshal.h" #include "ev-page-cache.h" #include "ev-pixbuf-cache.h" #include "ev-transition-animation.h" -#include "ev-utils.h" +#include "ev-view-marshal.h" #include "ev-view.h" +#include "ev-view-accessible.h" #include "ev-view-private.h" #define EV_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EV_TYPE_VIEW, EvViewClass)) @@ -3953,7 +3953,7 @@ ev_view_class_init (EvViewClass *class) G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (EvViewClass, binding_activated), NULL, NULL, - ev_marshal_VOID__ENUM_BOOLEAN, + ev_view_marshal_VOID__ENUM_BOOLEAN, G_TYPE_NONE, 2, GTK_TYPE_SCROLL_TYPE, G_TYPE_BOOLEAN); @@ -3963,7 +3963,7 @@ ev_view_class_init (EvViewClass *class) G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (EvViewClass, zoom_invalid), NULL, NULL, - ev_marshal_VOID__VOID, + g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0, G_TYPE_NONE); signals[SIGNAL_HANDLE_LINK] = g_signal_new ("handle-link", G_TYPE_FROM_CLASS (object_class), diff --git a/shell/ev-view.h b/libview/ev-view.h similarity index 99% rename from shell/ev-view.h rename to libview/ev-view.h index e3b38295..af12bafe 100644 --- a/shell/ev-view.h +++ b/libview/ev-view.h @@ -24,7 +24,6 @@ #include "ev-document.h" #include "ev-link.h" -#include "ev-view-accessible.h" G_BEGIN_DECLS diff --git a/shell/Makefile.am b/shell/Makefile.am index d5abcb00..ab09ef9b 100644 --- a/shell/Makefile.am +++ b/shell/Makefile.am @@ -9,6 +9,7 @@ INCLUDES= \ -I$(top_srcdir)/cut-n-paste/evmountoperation/ \ -I$(top_srcdir)/cut-n-paste/smclient/ \ -I$(top_srcdir)/libdocument \ + -I$(top_srcdir)/libview \ -I$(top_srcdir)/properties \ -DGNOMELOCALEDIR=\"$(datadir)/locale\" \ -DGNOMEICONDIR=\""$(datadir)/pixmaps"\" \ @@ -30,10 +31,6 @@ evince_SOURCES= \ eggfindbar.h \ ev-application.c \ ev-application.h \ - ev-job-scheduler.h \ - ev-job-scheduler.c \ - ev-jobs.h \ - ev-jobs.c \ ev-file-monitor.h \ ev-file-monitor.c \ ev-history.c \ @@ -55,12 +52,8 @@ evince_SOURCES= \ ev-page-action.h \ ev-page-action-widget.c \ ev-page-action-widget.h \ - ev-page-cache.h \ - ev-page-cache.c \ ev-password-view.h \ ev-password-view.c \ - ev-pixbuf-cache.c \ - ev-pixbuf-cache.h \ ev-print-operation.h \ ev-print-operation.c \ ev-progress-message-area.h \ @@ -73,11 +66,6 @@ evince_SOURCES= \ ev-open-recent-action.h \ ev-utils.c \ ev-utils.h \ - ev-view-accessible.c \ - ev-view-accessible.h \ - ev-view-private.h \ - ev-view.c \ - ev-view.h \ ev-window.c \ ev-window.h \ ev-window-title.c \ @@ -96,10 +84,6 @@ evince_SOURCES= \ ev-sidebar-thumbnails.h \ ev-stock-icons.c \ ev-stock-icons.h \ - ev-timeline.c \ - ev-timeline.h \ - ev-transition-animation.c \ - ev-transition-animation.h \ main.c evince_LDADD= \ @@ -112,6 +96,7 @@ evince_LDADD= \ $(top_builddir)/cut-n-paste/smclient/libsmclient.la \ $(top_builddir)/properties/libevproperties.la \ $(top_builddir)/libdocument/libevbackend.la \ + $(top_builddir)/libview/libevview.la \ $(SHELL_LIBS) BUILT_SOURCES = ev-marshal.h ev-marshal.c diff --git a/shell/ev-marshal.list b/shell/ev-marshal.list index d3b99fd9..72f99379 100644 --- a/shell/ev-marshal.list +++ b/shell/ev-marshal.list @@ -1,4 +1 @@ -VOID:NONE -VOID:OBJECT,OBJECT -VOID:ENUM,BOOLEAN VOID:STRING,STRING -- 2.43.5