Hey everyone,
I remembered (again) that we still don't install libeshell, and I
figured now would be a good time to send a current version of the patch
to do so. I believe that it is a-ok to commit.
I've worked up a reasonably small proof-of-concept called
"evolution-term" that implements a terminal component for Evolution --
obviously useless. I can post a tarball if anyone is interested --
hopefully it could be a good jumping-off point for third-party shell
components.
(Hm just encountered possible bug... try to attach a file and
double-click on the filename instead of hitting "ok")
--
Peter Williams [EMAIL PROTECTED] / [EMAIL PROTECTED]
"Why should I have to change my name? He's the one who
sucks!" -- Michael Bolton
Index: addressbook/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/addressbook/ChangeLog,v
retrieving revision 1.513
diff -u -r1.513 ChangeLog
--- addressbook/ChangeLog 2001/05/25 18:56:24 1.513
+++ addressbook/ChangeLog 2001/05/25 23:10:59
@@ -1,3 +1,7 @@
+2001-05-25 Peter Williams <[EMAIL PROTECTED]>
+
+ * gui/component/Makefile.am: Reference libeshell.la instead of libeshell.a.
+
2001-05-25 Christopher James Lahey <[EMAIL PROTECTED]>
* gui/widgets/e-addressbook-reflow-adapter.c (addressbook_height):
Index: addressbook/gui/component/Makefile.am
===================================================================
RCS file: /cvs/gnome/evolution/addressbook/gui/component/Makefile.am,v
retrieving revision 1.46
diff -u -r1.46 Makefile.am
--- addressbook/gui/component/Makefile.am 2001/05/07 17:33:31 1.46
+++ addressbook/gui/component/Makefile.am 2001/05/25 23:10:59
@@ -43,7 +43,7 @@
evolution_addressbook_LDADD = \
select-names/libeselectnames.la \
- $(top_builddir)/shell/libeshell.a \
+ $(top_builddir)/shell/libeshell.la \
$(EXTRA_GNOME_LIBS) \
$(BONOBO_HTML_GNOME_LIBS) \
$(top_builddir)/addressbook/gui/widgets/libeminicard.a \
Index: calendar/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/calendar/ChangeLog,v
retrieving revision 1.873
diff -u -r1.873 ChangeLog
--- calendar/ChangeLog 2001/05/23 21:17:39 1.873
+++ calendar/ChangeLog 2001/05/25 23:11:02
@@ -1,3 +1,7 @@
+2001-05-25 Peter Williams <[EMAIL PROTECTED]>
+
+ * gui/Makefile.am: Reference libeshell.la instead of libeshell.a.
+
2001-05-23 Federico Mena Quintero <[EMAIL PROTECTED]>
* gui/dialogs/recurrence-page.c: Finished porting from the old
Index: calendar/gui/Makefile.am
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/Makefile.am,v
retrieving revision 1.200
diff -u -r1.200 Makefile.am
--- calendar/gui/Makefile.am 2001/05/17 00:32:25 1.200
+++ calendar/gui/Makefile.am 2001/05/25 23:11:02
@@ -113,7 +113,7 @@
evolution_calendar_LDADD =
\
alarm-notify/libalarm.a
\
- $(top_builddir)/shell/libeshell.a
\
+ $(top_builddir)/shell/libeshell.la
+ \
$(top_builddir)/calendar/cal-client/libcal-client.la
\
$(top_builddir)/calendar/cal-util/libcal-util.la
\
$(top_builddir)/e-util/libeutil.la
\
Index: executive-summary/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/executive-summary/ChangeLog,v
retrieving revision 1.59
diff -u -r1.59 ChangeLog
--- executive-summary/ChangeLog 2001/05/23 14:05:40 1.59
+++ executive-summary/ChangeLog 2001/05/25 23:11:02
@@ -1,3 +1,7 @@
+2001-05-25 Peter Williams <[EMAIL PROTECTED]>
+
+ * component/Makefile.am: Reference libeshell.la instead of libeshell.a.
+
2001-05-23 Kjartan Maraas <[EMAIL PROTECTED]>
* component/e-summary-url.c: Mark a string for translation.
Index: mail/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/mail/ChangeLog,v
retrieving revision 1.1237
diff -u -r1.1237 ChangeLog
--- mail/ChangeLog 2001/05/25 20:53:26 1.1237
+++ mail/ChangeLog 2001/05/25 23:11:06
@@ -1,3 +1,7 @@
+2001-05-25 Peter Williams <[EMAIL PROTECTED]>
+
+ * Makefile.am: Reference libeshell.la instead of libeshell.a.
+
2001-05-25 Jeffrey Stedfast <[EMAIL PROTECTED]>
* folder-browser-factory.c (control_activate): Disable Resend on
Index: mail/Makefile.am
===================================================================
RCS file: /cvs/gnome/evolution/mail/Makefile.am,v
retrieving revision 1.135
diff -u -r1.135 Makefile.am
--- mail/Makefile.am 2001/05/22 18:44:32 1.135
+++ mail/Makefile.am 2001/05/25 23:11:06
@@ -102,7 +102,7 @@
evolution_mail_LDADD = \
$(top_builddir)/e-util/libeutil.la \
- $(top_builddir)/shell/libeshell.a \
+ $(top_builddir)/shell/libeshell.la \
$(top_builddir)/composer/libcomposer.a \
$(top_builddir)/widgets/misc/libemiscwidgets.a \
$(top_builddir)/camel/libcamel.la \
Index: shell/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/shell/ChangeLog,v
retrieving revision 1.423
diff -u -r1.423 ChangeLog
--- shell/ChangeLog 2001/05/25 18:35:38 1.423
+++ shell/ChangeLog 2001/05/25 23:11:08
@@ -1,3 +1,14 @@
+2001-05-25 Peter Williams <[EMAIL PROTECTED]>
+
+ * Makefile.am: Change libeshell from a noinst_LIBRARIES to
+ a lib_LTLIBRARIES. Install its headers in
+ $includedir/evolution/shell.
+
+ * evolution-storage.c (safe_corba_string): New, copy of e_safe_corba_string
+ in libeutil. This way libeshell doesn't have a missing symbol when programs
+ that don't have libeutil link to it.
+ (evolution_storage_register): s,e_safe_corba_string,safe_corba_string,g.
+
2001-05-21 Christopher James Lahey <[EMAIL PROTECTED]>
* Makefile.am (INCLUDES): Added ETSPECDIR. Added
Index: shell/Makefile.am
===================================================================
RCS file: /cvs/gnome/evolution/shell/Makefile.am,v
retrieving revision 1.71
diff -u -r1.71 Makefile.am
--- shell/Makefile.am 2001/05/25 18:35:38 1.71
+++ shell/Makefile.am 2001/05/25 23:11:08
@@ -47,33 +47,39 @@
# Shell library
-noinst_LIBRARIES = \
- libeshell.a
+lib_LTLIBRARIES = \
+ libeshell.la
-libeshell_a_SOURCES = \
+eshellincludedir = $(includedir)/evolution/shell
+
+eshellinclude_HEADERS = \
+ Evolution.h \
+ e-folder-tree.h \
+ evolution-local-storage.h \
+ evolution-session.h \
+ evolution-shell-client.h \
+ evolution-shell-component-client.h \
+ evolution-shell-component.h \
+ evolution-shell-component-dnd.h \
+ evolution-shell-view.h \
+ evolution-storage-listener.h \
+ evolution-storage-set-view-listener.h \
+ evolution-storage.h
+
+libeshell_la_SOURCES = \
$(IDL_GENERATED) \
e-folder-tree.c \
- e-folder-tree.h \
evolution-local-storage.c \
- evolution-local-storage.h \
evolution-session.c \
- evolution-session.h \
evolution-shell-client.c \
- evolution-shell-client.h \
evolution-shell-component-client.c \
- evolution-shell-component-client.h \
evolution-shell-component.c \
- evolution-shell-component.h \
evolution-shell-component-dnd.c \
- evolution-shell-component-dnd.h \
evolution-shell-view.c \
- evolution-shell-view.h \
evolution-storage-listener.c \
- evolution-storage-listener.h \
evolution-storage-set-view-listener.c \
- evolution-storage-set-view-listener.h \
evolution-storage.c \
- evolution-storage.h
+ $(eshellinclude_HEADERS)
# Evolution executable
@@ -138,7 +144,7 @@
main.c
evolution_LDADD = \
- libeshell.a \
+ libeshell.la \
importer/libevolution-importer.la \
$(top_builddir)/widgets/misc/libemiscwidgets.a \
$(top_builddir)/e-util/libeutil.la \
Index: shell/evolution-storage.c
===================================================================
RCS file: /cvs/gnome/evolution/shell/evolution-storage.c,v
retrieving revision 1.35
diff -u -r1.35 evolution-storage.c
--- shell/evolution-storage.c 2001/05/08 22:53:38 1.35
+++ shell/evolution-storage.c 2001/05/25 23:11:08
@@ -33,8 +33,6 @@
#include "Evolution.h"
-#include "e-util/e-corba-utils.h"
-
#include "e-folder-tree.h"
#include "evolution-storage.h"
@@ -75,6 +73,15 @@
/* Utility functions. */
+static const CORBA_char *
+safe_corba_string (const char *s)
+{
+ if (s == NULL)
+ return (CORBA_char *) "";
+
+ return s;
+}
+
static void
list_through_listener_foreach (EFolderTree *tree,
const char *path,
@@ -611,8 +618,8 @@
corba_storage_listener = GNOME_Evolution_StorageRegistry_addStorage
(corba_storage_registry,
corba_storage,
priv->name,
-
e_safe_corba_string (priv->toplevel_node_uri),
-
e_safe_corba_string (priv->toplevel_node_type),
+
+safe_corba_string (priv->toplevel_node_uri),
+
+safe_corba_string (priv->toplevel_node_type),
&ev);
if (ev._major == CORBA_NO_EXCEPTION) {