+2004-10-13 JP Rosevear <jpr@novell.com>
+
+ * 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 <hpj@ximian.com>
Probably fixes bugs #67600 and #65996.
LIBEDATASERVER_REVISION=0
LIBEDATASERVER_AGE=0
+LIBEDATASERVERUI_CURRENT=0
+LIBEDATASERVERUI_REVISION=0
+LIBEDATASERVERUI_AGE=0
+
LIBECAL_CURRENT=0
LIBECAL_REVISION=0
LIBECAL_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)
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"
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)
libdb/Makefile
libedataserver/Makefile
libedataserver/libedataserver.pc
+libedataserverui/Makefile
+libedataserverui/libedataserverui.pc
servers/Makefile
servers/groupwise/Makefile
servers/groupwise/libegroupwise.pc
--- /dev/null
+Makefile
+Makefile.in
+libedataserverui.pc
+libedataserverui-1.2.pc
+test-source-selector
+test-source-option-menu
--- /dev/null
+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
--- /dev/null
+NONE:NONE
+NONE:POINTER
+BOOLEAN:OBJECT,BOXED
* Author: Ettore Perazzoli <ettore@ximian.com>
*/
+#ifdef HAVE_CONFIG_H
#include <config.h>
-
-#include "e-source-option-menu.h"
-
-#include "e-util-marshal.h"
-
-#include <gal/util/e-util.h>
+#endif
#include <gtk/gtkmenu.h>
#include <gtk/gtkmenuitem.h>
+#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;
ESource *selected_source;
};
+typedef struct {
+ ESourceOptionMenu *option_menu;
+ ESource *source;
+ ESource *found_source;
+ int i;
+} ForeachMenuItemData;
enum {
SOURCE_SELECTED,
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)
/* GObject methods. */
static void
-impl_dispose (GObject *object)
+e_source_option_menu_dispose (GObject *object)
{
ESourceOptionMenuPrivate *priv = E_SOURCE_OPTION_MENU (object)->priv;
}
static void
-impl_finalize (GObject *object)
+e_source_option_menu_finalize (GObject *object)
{
ESourceOptionMenuPrivate *priv = E_SOURCE_OPTION_MENU (object)->priv;
/* 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);
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;
select_source (menu, source);
}
-
-
-E_MAKE_TYPE (e_source_option_menu, "ESourceOptionMenu", ESourceOptionMenu, class_init, init, PARENT_TYPE)
* Author: Ettore Perazzoli <ettore@ximian.com>
*/
+#ifdef HAVE_CONFIG_H
#include <config.h>
-
-#include "e-source-selector.h"
-
-#include "e-util-marshal.h"
-
-#include <gal/util/e-util.h>
+#endif
#include <gtk/gtkmenu.h>
#include <gtk/gtktreeselection.h>
#include <gtk/gtkcellrenderertext.h>
#include <gtk/gtkcellrendererpixbuf.h>
-#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;
};
static unsigned int signals[NUM_SIGNALS] = { 0 };
+G_DEFINE_TYPE (ESourceSelector, e_source_selector, GTK_TYPE_TREE_VIEW)
/* Selection management. */
/* GObject methods. */
static void
-impl_dispose (GObject *object)
+e_source_selector_dispose (GObject *object)
{
ESourceSelectorPrivate *priv = E_SOURCE_SELECTOR (object)->priv;
}
static void
-impl_finalize (GObject *object)
+e_source_selector_finalize (GObject *object)
{
ESourceSelectorPrivate *priv = E_SOURCE_SELECTOR (object)->priv;
(* 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
}
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);
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] =
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",
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;
}
}
-
-E_MAKE_TYPE (e_source_selector, "ESourceSelector", ESourceSelector, class_init, init, PARENT_TYPE)
--- /dev/null
+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}
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";
}
static int
-on_idle_create_widget (void *unused_data)
+on_idle_create_widget (const char *gconf_path)
{
GtkWidget *window;
GtkWidget *vbox;
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);
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;