From e2c1ee361f1c9fc4d67c58a5d857cc368c2febb8 Mon Sep 17 00:00:00 2001 From: JP Rosevear Date: Wed, 13 Oct 2004 17:55:01 +0000 Subject: [PATCH] move from evolution 2004-10-13 JP Rosevear * libedataserverui/test-source-option-menu.c: move from evolution * libedataserverui/e-source-selector.c: ditto * libedataserverui/e-source-selector.h: ditto * libedataserverui/e-source-option-menu.c: ditto * libedataserverui/e-source-option-menu.h: ditto * libedataserverui/test-source-selector.c: ditto * libedataserverui/libedataserverui.pc.in: add a pkg-config file * libedataserverui/Makefile.am: build libedataserverui and test progs * configure.in: add libtool versioning for libedataserverui and output the files --- ChangeLog | 21 +++++++++++ configure.in | 31 ++++++++++++--- libedataserverui/.cvsignore | 6 +++ libedataserverui/Makefile.am | 52 ++++++++++++++++++++++++++ libedataserverui/e-data-server-ui-marshal.list | 3 ++ libedataserverui/e-source-option-menu.c | 43 +++++++++------------ libedataserverui/e-source-selector.c | 51 ++++++++----------------- libedataserverui/libedataserverui.pc.in | 16 ++++++++ libedataserverui/test-source-option-menu.c | 2 +- libedataserverui/test-source-selector.c | 15 ++++++-- 10 files changed, 168 insertions(+), 72 deletions(-) create mode 100644 libedataserverui/.cvsignore create mode 100644 libedataserverui/Makefile.am create mode 100644 libedataserverui/e-data-server-ui-marshal.list create mode 100644 libedataserverui/libedataserverui.pc.in diff --git a/ChangeLog b/ChangeLog index 8bf203c..e178c84 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,24 @@ +2004-10-13 JP Rosevear + + * libedataserverui/test-source-option-menu.c: move from evolution + + * libedataserverui/e-source-selector.c: ditto + + * libedataserverui/e-source-selector.h: ditto + + * libedataserverui/e-source-option-menu.c: ditto + + * libedataserverui/e-source-option-menu.h: ditto + + * libedataserverui/test-source-selector.c: ditto + + * libedataserverui/libedataserverui.pc.in: add a pkg-config file + + * libedataserverui/Makefile.am: build libedataserverui and test progs + + * configure.in: add libtool versioning for libedataserverui and + output the files + 2004-10-11 Hans Petter Jansson Probably fixes bugs #67600 and #65996. diff --git a/configure.in b/configure.in index 32ba434..82ce20f 100644 --- a/configure.in +++ b/configure.in @@ -23,6 +23,10 @@ LIBEDATASERVER_CURRENT=0 LIBEDATASERVER_REVISION=0 LIBEDATASERVER_AGE=0 +LIBEDATASERVERUI_CURRENT=0 +LIBEDATASERVERUI_REVISION=0 +LIBEDATASERVERUI_AGE=0 + LIBECAL_CURRENT=0 LIBECAL_REVISION=0 LIBECAL_AGE=0 @@ -46,6 +50,9 @@ LIBEGROUPWISE_AGE=0 AC_SUBST(LIBEDATASERVER_CURRENT) AC_SUBST(LIBEDATASERVER_REVISION) AC_SUBST(LIBEDATASERVER_AGE) +AC_SUBST(LIBEDATASERVERUI_CURRENT) +AC_SUBST(LIBEDATASERVERUI_REVISION) +AC_SUBST(LIBEDATASERVERUI_AGE) AC_SUBST(LIBECAL_CURRENT) AC_SUBST(LIBECAL_REVISION) AC_SUBST(LIBECAL_AGE) @@ -199,16 +206,24 @@ EVO_SET_COMPILE_FLAGS(GNOME_FULL, $FULL_GNOME_DEPS) AC_SUBST(GNOME_FULL_CFLAGS) AC_SUBST(GNOME_FULL_LIBS) -dnl --- Flags for the various libraries we build +dnl **************************************** +dnl Flags for the various libraries we build +dnl **************************************** + +dnl --- libedataserver and libedataserverui flags -EVO_SET_COMPILE_FLAGS(E_NAME, glib-2.0) -AC_SUBST(E_NAME_CFLAGS) -AC_SUBST(E_NAME_LIBS) +E_DATA_SERVER_DEPS="libxml-2.0 libbonobo-2.0 >= $LIBBONOBO_REQUIRED libgnome-2.0" -EVO_SET_COMPILE_FLAGS(E_DATA_SERVER, libxml-2.0 libbonobo-2.0 >= $LIBBONOBO_REQUIRED libgnome-2.0, $THREADS_CFLAGS, $THREADS_LIBS) +EVO_SET_COMPILE_FLAGS(E_DATA_SERVER, $E_DATA_SERVER_DEPS, $THREADS_CFLAGS, $THREADS_LIBS) AC_SUBST(E_DATA_SERVER_CFLAGS) AC_SUBST(E_DATA_SERVER_LIBS) +E_DATA_SERVER_UI_DEPS="libxml-2.0 libbonobo-2.0 >= $LIBBONOBO_REQUIRED libgnome-2.0 gtk+-2.0 libgnomeui-2.0" + +EVO_SET_COMPILE_FLAGS(E_DATA_SERVER_UI, $E_DATA_SERVER_UI_DEPS, $THREADS_CFLAGS, $THREADS_LIBS) +AC_SUBST(E_DATA_SERVER_UI_CFLAGS) +AC_SUBST(E_DATA_SERVER_UI_LIBS) + dnl --- evolution-addressbook flags EVOLUTION_ADDRESSBOOK_DEPS="libxml-2.0 gconf-2.0 libbonobo-2.0 >= $LIBBONOBO_REQUIRED libgnome-2.0 gnome-vfs-2.0" @@ -219,7 +234,9 @@ AC_SUBST(EVOLUTION_ADDRESSBOOK_LIBS) dnl --- evolution-calendar flags -EVO_SET_COMPILE_FLAGS(EVOLUTION_CALENDAR, libxml-2.0 libgnome-2.0 libbonobo-2.0 >= $LIBBONOBO_REQUIRED gnome-vfs-2.0) +EVOLUTION_CALENDAR_DEPS="libxml-2.0 gconf-2.0 libbonobo-2.0 >= $LIBBONOBO_REQUIRED libgnome-2.0 gnome-vfs-2.0" + +EVO_SET_COMPILE_FLAGS(EVOLUTION_CALENDAR, $EVOLUTION_CALENDAR_DEPS) AC_SUBST(EVOLUTION_CALENDAR_CFLAGS) AC_SUBST(EVOLUTION_CALENDAR_LIBS) @@ -323,6 +340,8 @@ calendar/tests/ecal/Makefile libdb/Makefile libedataserver/Makefile libedataserver/libedataserver.pc +libedataserverui/Makefile +libedataserverui/libedataserverui.pc servers/Makefile servers/groupwise/Makefile servers/groupwise/libegroupwise.pc diff --git a/libedataserverui/.cvsignore b/libedataserverui/.cvsignore new file mode 100644 index 0000000..80c2255 --- /dev/null +++ b/libedataserverui/.cvsignore @@ -0,0 +1,6 @@ +Makefile +Makefile.in +libedataserverui.pc +libedataserverui-1.2.pc +test-source-selector +test-source-option-menu diff --git a/libedataserverui/Makefile.am b/libedataserverui/Makefile.am new file mode 100644 index 0000000..e5aaf48 --- /dev/null +++ b/libedataserverui/Makefile.am @@ -0,0 +1,52 @@ +INCLUDES = \ + -I$(top_srcdir) \ + -DG_LOG_DOMAIN=\"e-data-server-ui\" \ + $(E_DATA_SERVER_UI_CFLAGS) + +# The marshallers +MARSHAL_GENERATED = e-data-server-ui-marshal.c e-data-server-ui-marshal.h +@EVO_MARSHAL_RULE@ + +lib_LTLIBRARIES = libedataserverui-1.2.la +noinst_PROGRAMS = test-source-selector test-source-option-menu + +libedataserverui_1_2_la_SOURCES = \ + $(MARSHAL_GENERATED) \ + e-source-selector.c \ + e-source-option-menu.c + +libedataserverui_1_2_la_LIBADD = \ + $(E_DATA_SERVER_LIBS) + +libedataserverui_1_2_la_LDFLAGS = \ + -version-info $(LIBEDATASERVERUI_CURRENT):$(LIBEDATASERVERUI_REVISION):$(LIBEDATASERVERUI_AGE) + +libedataserveruiincludedir = $(privincludedir)/libedataserverui + +libedataserveruiinclude_HEADERS = \ + e-source-selector.h \ + e-source-option-menu.h + +# Test programs +test_source_selector_SOURCES = test-source-selector.c +test_source_selector_LDADD = \ + libedataserverui-1.2.la \ + $(top_builddir)/libedataserver/libedataserver-1.2.la \ + $(E_DATA_SERVER_UI_LIBS) + +test_source_option_menu_SOURCES = test-source-option-menu.c +test_source_option_menu_LDADD = \ + libedataserverui-1.2.la \ + $(top_builddir)/libedataserver/libedataserver-1.2.la \ + $(E_DATA_SERVER_UI_LIBS) + +%-$(BASE_VERSION).pc: %.pc + cp $< $@ + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = libedataserverui-$(BASE_VERSION).pc + +EXTRA_DIST = \ + $(pkgconfig_DATA:-$(BASE_VERSION).pc=.pc.in) + +DISTCLEANFILES = $(pkgconfig_DATA) \ No newline at end of file diff --git a/libedataserverui/e-data-server-ui-marshal.list b/libedataserverui/e-data-server-ui-marshal.list new file mode 100644 index 0000000..f9e4acb --- /dev/null +++ b/libedataserverui/e-data-server-ui-marshal.list @@ -0,0 +1,3 @@ +NONE:NONE +NONE:POINTER +BOOLEAN:OBJECT,BOXED diff --git a/libedataserverui/e-source-option-menu.c b/libedataserverui/e-source-option-menu.c index fd1fd3d..407a63f 100644 --- a/libedataserverui/e-source-option-menu.c +++ b/libedataserverui/e-source-option-menu.c @@ -20,19 +20,16 @@ * Author: Ettore Perazzoli */ +#ifdef HAVE_CONFIG_H #include - -#include "e-source-option-menu.h" - -#include "e-util-marshal.h" - -#include +#endif #include #include +#include "e-data-server-ui-marshal.h" +#include "e-source-option-menu.h" -#define PARENT_TYPE gtk_option_menu_get_type () static GtkOptionMenuClass *parent_class = NULL; @@ -46,6 +43,12 @@ struct _ESourceOptionMenuPrivate { ESource *selected_source; }; +typedef struct { + ESourceOptionMenu *option_menu; + ESource *source; + ESource *found_source; + int i; +} ForeachMenuItemData; enum { SOURCE_SELECTED, @@ -54,16 +57,9 @@ enum { static uint signals[NUM_SIGNALS] = { 0 }; +G_DEFINE_TYPE (ESourceOptionMenu, e_source_option_menu, GTK_TYPE_OPTION_MENU) /* Selecting a source. */ - -typedef struct { - ESourceOptionMenu *option_menu; - ESource *source; - ESource *found_source; - int i; -} ForeachMenuItemData; - static void select_source_foreach_menu_item (GtkWidget *menu_item, ForeachMenuItemData *data) @@ -201,7 +197,7 @@ connect_signals (ESourceOptionMenu *menu) /* GObject methods. */ static void -impl_dispose (GObject *object) +e_source_option_menu_dispose (GObject *object) { ESourceOptionMenuPrivate *priv = E_SOURCE_OPTION_MENU (object)->priv; @@ -219,7 +215,7 @@ impl_dispose (GObject *object) } static void -impl_finalize (GObject *object) +e_source_option_menu_finalize (GObject *object) { ESourceOptionMenuPrivate *priv = E_SOURCE_OPTION_MENU (object)->priv; @@ -232,12 +228,12 @@ impl_finalize (GObject *object) /* Initialization. */ static void -class_init (ESourceOptionMenuClass *class) +e_source_option_menu_class_init (ESourceOptionMenuClass *class) { GObjectClass *object_class = G_OBJECT_CLASS (class); - object_class->dispose = impl_dispose; - object_class->finalize = impl_finalize; + object_class->dispose = e_source_option_menu_dispose; + object_class->finalize = e_source_option_menu_finalize; parent_class = g_type_class_peek_parent (class); @@ -247,13 +243,13 @@ class_init (ESourceOptionMenuClass *class) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ESourceOptionMenuClass, source_selected), NULL, NULL, - e_util_marshal_VOID__POINTER, + e_data_server_ui_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); } static void -init (ESourceOptionMenu *source_option_menu) +e_source_option_menu_init (ESourceOptionMenu *source_option_menu) { ESourceOptionMenuPrivate *priv; @@ -302,6 +298,3 @@ e_source_option_menu_select (ESourceOptionMenu *menu, select_source (menu, source); } - - -E_MAKE_TYPE (e_source_option_menu, "ESourceOptionMenu", ESourceOptionMenu, class_init, init, PARENT_TYPE) diff --git a/libedataserverui/e-source-selector.c b/libedataserverui/e-source-selector.c index 60d4fc9..bdc9d53 100644 --- a/libedataserverui/e-source-selector.c +++ b/libedataserverui/e-source-selector.c @@ -21,13 +21,9 @@ * Author: Ettore Perazzoli */ +#ifdef HAVE_CONFIG_H #include - -#include "e-source-selector.h" - -#include "e-util-marshal.h" - -#include +#endif #include #include @@ -36,7 +32,9 @@ #include #include -#define PARENT_TYPE gtk_tree_view_get_type () +#include "e-data-server-ui-marshal.h" +#include "e-source-selector.h" + static GtkTreeViewClass *parent_class = NULL; @@ -72,6 +70,7 @@ enum { }; static unsigned int signals[NUM_SIGNALS] = { 0 }; +G_DEFINE_TYPE (ESourceSelector, e_source_selector, GTK_TYPE_TREE_VIEW) /* Selection management. */ @@ -622,7 +621,7 @@ selector_button_press_event (GtkWidget *widget, GdkEventButton *event, ESourceSe /* GObject methods. */ static void -impl_dispose (GObject *object) +e_source_selector_dispose (GObject *object) { ESourceSelectorPrivate *priv = E_SOURCE_SELECTOR (object)->priv; @@ -652,7 +651,7 @@ impl_dispose (GObject *object) } static void -impl_finalize (GObject *object) +e_source_selector_finalize (GObject *object) { ESourceSelectorPrivate *priv = E_SOURCE_SELECTOR (object)->priv; @@ -661,21 +660,6 @@ impl_finalize (GObject *object) (* G_OBJECT_CLASS (parent_class)->finalize) (object); } -static gboolean -e_source_selector_popup_menu (GtkWidget *widget) -{ - ESourceSelector *selector = E_SOURCE_SELECTOR (widget); - ESource *source = e_source_selector_peek_primary_selection (selector); - gboolean res = FALSE; - - if (source) { - g_object_ref (source); - g_signal_emit (selector, signals[POPUP_EVENT], 0, source, NULL, &res); - g_object_unref (source); - } - - return res; -} /* Initialization. */ static gboolean @@ -689,15 +673,12 @@ ess_bool_accumulator(GSignalInvocationHint *ihint, GValue *out, const GValue *in } static void -class_init (ESourceSelectorClass *class) +e_source_selector_class_init (ESourceSelectorClass *class) { GObjectClass *object_class = G_OBJECT_CLASS (class); - GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class); - object_class->dispose = impl_dispose; - object_class->finalize = impl_finalize; - - widget_class->popup_menu = e_source_selector_popup_menu; + object_class->dispose = e_source_selector_dispose; + object_class->finalize = e_source_selector_finalize; parent_class = g_type_class_peek_parent (class); @@ -707,7 +688,7 @@ class_init (ESourceSelectorClass *class) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ESourceSelectorClass, selection_changed), NULL, NULL, - e_util_marshal_VOID__VOID, + e_data_server_ui_marshal_VOID__VOID, G_TYPE_NONE, 0); signals[PRIMARY_SELECTION_CHANGED] = @@ -716,7 +697,7 @@ class_init (ESourceSelectorClass *class) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ESourceSelectorClass, primary_selection_changed), NULL, NULL, - e_util_marshal_VOID__VOID, + e_data_server_ui_marshal_VOID__VOID, G_TYPE_NONE, 0); signals[POPUP_EVENT] = g_signal_new ("popup_event", @@ -724,13 +705,13 @@ class_init (ESourceSelectorClass *class) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ESourceSelectorClass, popup_event), ess_bool_accumulator, NULL, - e_util_marshal_BOOLEAN__OBJECT_BOXED, + e_data_server_ui_marshal_BOOLEAN__OBJECT_BOXED, G_TYPE_BOOLEAN, 2, G_TYPE_OBJECT, GDK_TYPE_EVENT|G_SIGNAL_TYPE_STATIC_SCOPE); } static void -init (ESourceSelector *selector) +e_source_selector_init (ESourceSelector *selector) { ESourceSelectorPrivate *priv; GtkTreeViewColumn *column; @@ -1118,5 +1099,3 @@ e_source_selector_set_primary_selection (ESourceSelector *selector, ESource *sou } } - -E_MAKE_TYPE (e_source_selector, "ESourceSelector", ESourceSelector, class_init, init, PARENT_TYPE) diff --git a/libedataserverui/libedataserverui.pc.in b/libedataserverui/libedataserverui.pc.in new file mode 100644 index 0000000..82e6f82 --- /dev/null +++ b/libedataserverui/libedataserverui.pc.in @@ -0,0 +1,16 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +idldir=@idldir@ +IDL_INCLUDES=-I ${idldir} @IDL_INCLUDES@ + +privincludedir=@privincludedir@ + +Name: libedataserverui +Description: GUI utility library for evolution data server +Version: @VERSION@ +Requires: libbonobo-2.0 >= @LIBBONOBO_REQUIRED@ libgnome-2.0 libxml-2.0 ORBit-2.0 >= @ORBIT_REQUIRED@ +Libs: -L${libdir} -ledataserver-1.2 +Cflags: -I${privincludedir} diff --git a/libedataserverui/test-source-option-menu.c b/libedataserverui/test-source-option-menu.c index a473c0f..181f53f 100644 --- a/libedataserverui/test-source-option-menu.c +++ b/libedataserverui/test-source-option-menu.c @@ -73,7 +73,7 @@ main (int argc, char **argv) GnomeProgram *program; const char *gconf_path; - program = gnome_program_init ("test-source-list", "0.0", LIBGNOMEUI_MODULE, argc, argv, NULL); + program = gnome_program_init ("test-source-option-menu", "0.0", LIBGNOMEUI_MODULE, argc, argv, NULL); if (argc < 2) gconf_path = "/apps/evolution/calendar/sources"; diff --git a/libedataserverui/test-source-selector.c b/libedataserverui/test-source-selector.c index 3120f0c..a984363 100644 --- a/libedataserverui/test-source-selector.c +++ b/libedataserverui/test-source-selector.c @@ -75,7 +75,7 @@ check_toggled_callback (GtkToggleButton *button, } static int -on_idle_create_widget (void *unused_data) +on_idle_create_widget (const char *gconf_path) { GtkWidget *window; GtkWidget *vbox; @@ -92,7 +92,7 @@ on_idle_create_widget (void *unused_data) gtk_container_add (GTK_CONTAINER (window), vbox); gconf_client = gconf_client_get_default (); - list = e_source_list_new_for_gconf (gconf_client, "/apps/evolution/test/source_list"); + list = e_source_list_new_for_gconf (gconf_client, gconf_path); selector = e_source_selector_new (list); g_signal_connect (selector, "selection_changed", G_CALLBACK (selection_changed_callback), NULL); @@ -119,12 +119,19 @@ int main (int argc, char **argv) { GnomeProgram *program; + const char *gconf_path; - program = gnome_program_init ("test-source-list", "0.0", + program = gnome_program_init ("test-source-selector", "0.0", LIBGNOMEUI_MODULE, argc, argv, NULL); - g_idle_add (on_idle_create_widget, NULL); + if (argc < 2) + gconf_path = "/apps/evolution/calendar/sources"; + else + gconf_path = argv [1]; + + g_idle_add ((GSourceFunc) on_idle_create_widget, (void *) gconf_path); + gtk_main (); return 0; -- 2.7.4