OBS User unknown 2008-11-17 15:47:50 +00:00 committed by Git OBS Bridge
parent 071221ee00
commit 8974917ca2
11 changed files with 2248 additions and 32 deletions

View File

@ -0,0 +1,270 @@
Index: calendar/gui/alarm-notify/alarm-notify-dialog.c
===================================================================
--- calendar/gui/alarm-notify/alarm-notify-dialog.c (revision 36738)
+++ calendar/gui/alarm-notify/alarm-notify-dialog.c (working copy)
@@ -67,6 +67,7 @@ typedef struct {
GtkWidget *snooze_time_min;
GtkWidget *snooze_time_hrs;
GtkWidget *snooze_btn;
+ GtkWidget *dismiss_btn;
GtkWidget *minutes_label;
GtkWidget *hrs_label;
GtkWidget *description;
@@ -191,7 +192,30 @@ snooze_pressed_cb (GtkButton *button, gp
if (!snooze_timeout)
snooze_timeout = DEFAULT_SNOOZE_MINS;
(* funcinfo->func) (ALARM_NOTIFY_SNOOZE, snooze_timeout, funcinfo->func_data);
+}
+
+static void
+dismiss_pressed_cb (GtkButton *button, gpointer user_data)
+{
+ AlarmNotify *an = user_data;
+ GtkTreeModel *model = gtk_tree_view_get_model (GTK_TREE_VIEW (an->treeview));
+
+ g_return_if_fail (model != NULL);
+ if (gtk_tree_model_iter_n_children (model, NULL) <= 1) {
+ gtk_dialog_response (GTK_DIALOG (an->dialog), GTK_RESPONSE_CLOSE);
+ } else {
+ GtkTreeIter iter;
+ AlarmFuncInfo *funcinfo = NULL;
+ GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (an->treeview));
+
+ if (gtk_tree_selection_get_selected (selection, &model, &iter))
+ gtk_tree_model_get (model, &iter, ALARM_FUNCINFO_COLUMN, &funcinfo, -1);
+
+ g_return_if_fail (funcinfo);
+
+ (* funcinfo->func) (ALARM_NOTIFY_DISMISS, -1, funcinfo->func_data);
+ }
}
static void
@@ -256,10 +280,11 @@ notified_alarms_dialog_new (void)
an->scrolledwindow = glade_xml_get_widget (an->xml, "treeview-scrolledwindow");
snooze_btn = glade_xml_get_widget (an->xml, "snooze-button");
an->snooze_btn = snooze_btn;
+ an->dismiss_btn = glade_xml_get_widget (an->xml, "dismiss-button");
edit_btn = glade_xml_get_widget (an->xml, "edit-button");
if (!(an->dialog && an->scrolledwindow && an->treeview && an->snooze_time_min && an->snooze_time_hrs
- && an->description && an->location && edit_btn && snooze_btn)) {
+ && an->description && an->location && edit_btn && snooze_btn && an->dismiss_btn)) {
g_message ("alarm_notify_dialog(): Could not find all widgets in Glade file!");
g_object_unref (an->xml);
g_free (an);
@@ -292,6 +317,7 @@ notified_alarms_dialog_new (void)
g_signal_connect (edit_btn, "clicked", G_CALLBACK (edit_pressed_cb), an);
g_signal_connect (snooze_btn, "clicked", G_CALLBACK (snooze_pressed_cb), an);
+ g_signal_connect (an->dismiss_btn, "clicked", G_CALLBACK (dismiss_pressed_cb), an);
g_signal_connect (G_OBJECT (an->dialog), "response", G_CALLBACK (dialog_response_cb), an);
g_signal_connect (G_OBJECT (an->dialog), "destroy", G_CALLBACK (dialog_destroyed_cb), an);
Index: calendar/gui/alarm-notify/alarm-notify-dialog.h
===================================================================
--- calendar/gui/alarm-notify/alarm-notify-dialog.h (revision 36738)
+++ calendar/gui/alarm-notify/alarm-notify-dialog.h (working copy)
@@ -32,7 +32,8 @@
typedef enum {
ALARM_NOTIFY_CLOSE,
ALARM_NOTIFY_SNOOZE,
- ALARM_NOTIFY_EDIT
+ ALARM_NOTIFY_EDIT,
+ ALARM_NOTIFY_DISMISS
} AlarmNotifyResult;
typedef struct _AlarmNotificationsDialog AlarmNotificationsDialog;
Index: calendar/gui/alarm-notify/alarm-queue.c
===================================================================
--- calendar/gui/alarm-notify/alarm-queue.c (revision 36738)
+++ calendar/gui/alarm-notify/alarm-queue.c (working copy)
@@ -1248,6 +1248,13 @@ notify_dialog_cb (AlarmNotifyResult resu
break;
+ case ALARM_NOTIFY_DISMISS:
+ if (alarm_notifications_dialog) {
+ GtkTreeModel *model = gtk_tree_view_get_model (GTK_TREE_VIEW (alarm_notifications_dialog->treeview));
+ gtk_list_store_remove (GTK_LIST_STORE (model), &tray_data->iter);
+ }
+ break;
+
case ALARM_NOTIFY_CLOSE:
d(printf("%s:%d (notify_dialog_cb) - Dialog close\n",__FILE__, __LINE__));
if (alarm_notifications_dialog) {
@@ -1268,7 +1275,7 @@ notify_dialog_cb (AlarmNotifyResult resu
/* Task to remove the tray icons */
tray_list_remove_icons ();
- }
+ }
break;
Index: calendar/gui/alarm-notify/alarm-notify.glade
===================================================================
--- calendar/gui/alarm-notify/alarm-notify.glade (revision 36738)
+++ calendar/gui/alarm-notify/alarm-notify.glade (working copy)
@@ -37,11 +37,73 @@
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
- <property name="label">gtk-close</property>
- <property name="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="response_id">-7</property>
+
+ <child>
+ <widget class="GtkAlignment" id="alignment4">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">0</property>
+ <property name="right_padding">0</property>
+
+ <child>
+ <widget class="GtkHBox" id="hbox9">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">2</property>
+
+ <child>
+ <widget class="GtkImage" id="image6">
+ <property name="visible">True</property>
+ <property name="stock">gtk-close</property>
+ <property name="icon_size">4</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label19">
+ <property name="visible">True</property>
+ <property name="label">Dismiss _all</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
</widget>
</child>
</widget>
@@ -527,6 +589,84 @@
<property name="fill">False</property>
</packing>
</child>
+
+ <child>
+ <widget class="GtkButton" id="dismiss-button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+
+ <child>
+ <widget class="GtkAlignment" id="alignment5">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">0</property>
+ <property name="right_padding">0</property>
+
+ <child>
+ <widget class="GtkHBox" id="hbox10">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">2</property>
+
+ <child>
+ <widget class="GtkImage" id="image7">
+ <property name="visible">True</property>
+ <property name="stock">gtk-apply</property>
+ <property name="icon_size">4</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label20">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Dismiss</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="padding">0</property>

View File

@ -0,0 +1,17 @@
--- plugins/itip-formatter/itip-formatter.c
+++ plugins/itip-formatter/itip-formatter.c
@@ -1923,6 +1923,14 @@ in_proper_folder (CamelFolder *folder)
if (!folder)
return res;
+
+ /*FIXME Currently there is no other way to identify if its a sent items
+ folder, so we just compare the folder name */
+ if (!g_ascii_strcasecmp (folder->name, _("Sent")) ||
+ !g_ascii_strcasecmp (folder->name, _("Sent Items")))
+ return FALSE;
+
+
uri = mail_tools_folder_to_url (folder);
res = !(folder->folder_flags & CAMEL_FOLDER_IS_TRASH) &&

View File

@ -0,0 +1,27 @@
Index: addressbook/printing/e-contact-print.c
===================================================================
--- addressbook/printing/e-contact-print.c (revision 36615)
+++ addressbook/printing/e-contact-print.c (working copy)
@@ -266,8 +266,20 @@
if (value == NULL || *value == '\0')
continue;
- text = g_strdup_printf ("%s: %s",
- e_contact_pretty_name (field), value);
+ if (field == E_CONTACT_BOOK_URI) {
+ gchar **tmpv;
+ tmpv = g_strsplit (value, ";", 2);
+ /* To translators: While printing contacts display the addressbook
+ to which the contact belongs.
+ Example: "Address Book: Frequent Contacts"
+ */
+ text = g_strdup_printf ("%s: %s",
+ _( "Address Book" ), tmpv[1]);
+ g_strfreev (tmpv);
+ }
+ else
+ text = g_strdup_printf ("%s: %s",
+ e_contact_pretty_name (field), value);
if (ctxt->pages == ctxt->page_nr)
e_contact_output (

View File

@ -0,0 +1,48 @@
Index: plugins/itip-formatter/itip-formatter.c
===================================================================
--- plugins/itip-formatter/itip-formatter.c (revision 35684)
+++ plugins/itip-formatter/itip-formatter.c (working copy)
@@ -2242,6 +2242,11 @@ format_itip (EPlugin *ep, EMFormatHookTa
classid = g_strdup_printf("itip:///%s", ((EMFormat *) target->format)->part_id->str);
+ /* mark message as containing calendar, thus it will show the icon in message list now on */
+ if (target->format->uid && target->format->folder &&
+ !camel_folder_get_message_user_flag (target->format->folder, target->format->uid, "$has_cal"))
+ camel_folder_set_message_user_flag (target->format->folder, target->format->uid, "$has_cal", TRUE);
+
puri = (struct _itip_puri *)em_format_add_puri(target->format, sizeof(struct _itip_puri), classid, target->part, itip_attachment_frame);
pobj = em_format_html_add_pobject ((EMFormatHTML *) target->format, sizeof (EMFormatHTMLPObject), classid, target->part, format_itip_object);
Index: mail/message-list.c
===================================================================
--- mail/message-list.c (revision 35684)
+++ mail/message-list.c (working copy)
@@ -234,6 +234,7 @@ static struct {
{ "stock_score-highest", NULL },
{ "stock_mail-flag-for-followup", NULL },
{ "stock_mail-flag-for-followup-done", NULL },
+ { "stock_new-meeting", NULL }
};
/* FIXME: junk prefs */
@@ -1339,6 +1340,8 @@ ml_tree_value_at (ETreeModel *etm, ETree
str = camel_message_info_user_tag(msg_info, "follow-up");
return (void *)(str ? str : "");
case COL_ATTACHMENT:
+ if (camel_message_info_user_flag (msg_info, "$has_cal"))
+ return GINT_TO_POINTER (2);
return GINT_TO_POINTER ((camel_message_info_flags(msg_info) & CAMEL_MESSAGE_ATTACHMENTS) != 0);
case COL_FROM:
str = camel_message_info_from (msg_info);
@@ -1733,8 +1736,9 @@ message_list_create_extras (void)
for (i = 0; i < 2; i++)
images [i] = states_pixmaps [i + 6].pixbuf;
+ images [2] = states_pixmaps [18].pixbuf;
- e_table_extras_add_cell (extras, "render_attachment", e_cell_toggle_new (0, 2, images));
+ e_table_extras_add_cell (extras, "render_attachment", e_cell_toggle_new (0, 3, images));
images [1] = states_pixmaps [8].pixbuf;
e_table_extras_add_cell (extras, "render_flagged", e_cell_toggle_new (0, 2, images));

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,76 @@
Index: plugins/exchange-operations/org-gnome-exchange-operations.error.xml
===================================================================
--- plugins/exchange-operations/org-gnome-exchange-operations.error.xml (revision 36615)
+++ plugins/exchange-operations/org-gnome-exchange-operations.error.xml (working copy)
@@ -48,6 +48,11 @@
<_secondary>Cannot display folders.</_secondary>
</error>
+ <error id="exchange-settings-offline" type="info">
+ <_primary>Exchange Account is offline.</_primary>
+ <_secondary>Cannot access the "Exchange settings" tab in offline mode.</_secondary>
+ </error>
+
<error id="account-offline-generic" type="info">
<_primary>Exchange Account is offline.</_primary>
<_secondary>Cannot perform the operation.</_secondary>
Index: plugins/exchange-operations/exchange-account-setup.c
===================================================================
--- plugins/exchange-operations/exchange-account-setup.c (revision 36615)
+++ plugins/exchange-operations/exchange-account-setup.c (working copy)
@@ -181,6 +181,7 @@
const char *source_url;
char *message = NULL, *txt = NULL, *oof_message;
gboolean oof_state = FALSE;
+ gint offline_status;
GtkVBox *vbox_settings;
@@ -234,6 +235,14 @@
account = exchange_operations_get_exchange_account ();
+ exchange_config_listener_get_offline_status (exchange_global_config_listener,
+ &offline_status);
+ if (offline_status == OFFLINE_MODE) {
+ e_error_run (NULL, ERROR_DOMAIN ":exchange-settings-offline", NULL);
+
+ return NULL;
+ }
+
oof_data = g_new0 (OOFData, 1);
oof_data->state = FALSE;
@@ -815,7 +824,8 @@
{
if (oof_data->message)
g_free (oof_data->message);
- g_free (oof_data);
+ if (oof_data)
+ g_free (oof_data);
}
void
@@ -824,6 +834,7 @@
EMConfigTargetAccount *target_account;
const char *source_url;
CamelURL *url;
+ gint offline_status;
target_account = (EMConfigTargetAccount *)data->config->target;
source_url = e_account_get_string (target_account->account, E_ACCOUNT_SOURCE_URL);
@@ -844,6 +855,14 @@
}
camel_url_free (url);
+
+ exchange_config_listener_get_offline_status (exchange_global_config_listener,
+ &offline_status);
+
+ if (offline_status == OFFLINE_MODE) {
+ return;
+ }
+
/* Set oof data in exchange account */
set_oof_info ();
destroy_oof_data ();

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bd27ffd7a86e619cfa1e23b88cdd234040c2324bf54c2361070a200619d37434
size 32617635

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8d9b5989e0c380e2c24efc836b3c12c006c85a55f994608c849c747679509203
size 32487183

View File

@ -1,3 +1,30 @@
-------------------------------------------------------------------
Thu Nov 6 07:33:08 CET 2008 - abharath@suse.de
- Update to version 2.24.1.1
Releasing Evolution under 'GNU LGPL V2 or (at your option) V3'.
Refer COPYING file for more details
+ Bugs fixed: bnc#437226, bnc#440007, bgo#541121, bgo#554450,
bgo#557246, bgo#557613, bgo#557726, bgo#558726, bgo#559028,
bgo#559041 and bgo#559371
+ Updated translations.
- Patches added
+ bgo#558354 - bgo-558354-alarm-notify-improved.patch - Replace
"Close" btn in Appts reminder window with a
per-item "Dismiss"
+ bnc#435668 - bnc-435668-hide-accept.patch - Meetings In
SentItems Should Hide Accept/Decline
+ bnc#435722 - bnc-435722-book-uri-long.patch - Book URI:
Spills Into Second Column
+ bnc#441763 - bnc-441763-diff-meeting-icon.patch - Show
different icons for meetings
+ bnc#441770 - bnc-441770-non-intrusive-calendar.patch -
Non-intrusive error handling for calendar
+ bnc#442135 - bnc-442135-exchange-settings-offline.patch -
Evolution pops up misleading error dialog
+ sharepoint-account-setup.patch - Sharepoint account setup.
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Nov 3 10:18:56 IST 2008 - msuman@suse.de Mon Nov 3 10:18:56 IST 2008 - msuman@suse.de

View File

@ -1,5 +1,5 @@
# #
# spec file for package evolution (Version 2.24.1) # spec file for package evolution (Version 2.24.1.1)
# #
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# #
@ -34,6 +34,7 @@ BuildRequires: gnome-pilot-devel
BuildRequires: gtk-doc BuildRequires: gtk-doc
BuildRequires: gtkhtml2-devel BuildRequires: gtkhtml2-devel
BuildRequires: intltool BuildRequires: intltool
BuildRequires: dice
BuildRequires: libidl BuildRequires: libidl
BuildRequires: libnotify BuildRequires: libnotify
BuildRequires: libnotify-devel BuildRequires: libnotify-devel
@ -51,12 +52,15 @@ BuildRequires: shared-mime-info
BuildRequires: update-desktop-files BuildRequires: update-desktop-files
BuildRequires: sqlite3-devel BuildRequires: sqlite3-devel
BuildRequires: libpst-devel BuildRequires: libpst-devel
BuildRequires: dice-devel
BuildRequires: ndesk-dbus-glib-devel
BuildRequires: mono-devel
License: GPL v2 or later License: GPL v2 or later
Group: Productivity/Networking/Email/Clients Group: Productivity/Networking/Email/Clients
# This should be updated upon major version changes; it should match BASE_VERSION as defined in configure.in. # This should be updated upon major version changes; it should match BASE_VERSION as defined in configure.in.
%define evolution_base_version 2.24 %define evolution_base_version 2.24
Version: 2.24.1 Version: 2.24.1.1
Release: 3 Release: 1
Summary: The Integrated GNOME Mail, Calendar, and Address Book Suite Summary: The Integrated GNOME Mail, Calendar, and Address Book Suite
Source0: %{name}-%{version}.tar.bz2 Source0: %{name}-%{version}.tar.bz2
Source1: summerdance-about2.png Source1: summerdance-about2.png
@ -68,11 +72,26 @@ Patch6: remove-nm-dep.patch
Patch7: calendar-sendbutton.patch Patch7: calendar-sendbutton.patch
Patch8: fix-exchange-menuitem.diff Patch8: fix-exchange-menuitem.diff
Patch9: fix-sendrecv.diff Patch9: fix-sendrecv.diff
# PATCH-FIX-UPSTREAM pst-import.patch abharath@suse.de -- This patch allows you to import PST files into Evolution.
Patch13: pst-import.patch Patch13: pst-import.patch
# PATCH-FIX-OPENSUSE evolution-custom-openldap-includes.patch maw@novell.com -- look for ldap includes in %{_libdir}/evoldap/include # PATCH-FIX-OPENSUSE evolution-custom-openldap-includes.patch maw@novell.com -- look for ldap includes in %{_libdir}/evoldap/include
Patch15: evolution-custom-openldap-includes.patch Patch15: evolution-custom-openldap-includes.patch
# PATCH-FEATURE-OPENSUSE evolution-shared-nss-db.patch hpj@novell.com -- Migrate to shared NSS database. # PATCH-FEATURE-OPENSUSE evolution-shared-nss-db.patch hpj@novell.com -- Migrate to shared NSS database.
Patch16: evolution-shared-nss-db.patch Patch16: evolution-shared-nss-db.patch
# PATCH-FIX-UPSTREAM bgo-558354-alarm-notify-improved.patch bgo#558354 -- "Close" button replaced with a per-item "Dismiss" button.
Patch17: bgo-558354-alarm-notify-improved.patch
# PATCH-FIX-UPSTREAM bnc-435668-hide-accept.patch bnc#435668 -- Meetings In SentItems Should Hide Accept/Decline.
Patch18: bnc-435668-hide-accept.patch
# PATCH-FIX-UPSTREAM bnc-435722-book-uri-long.patch bnc#435722 -- Book URI: Spills Into Second Column.
Patch19: bnc-435722-book-uri-long.patch
# PATCH-FIX-UPSTREAM bnc-441763-diff-meeting-icon.patch bnc#441763 -- This patch shows different icons for meetings
Patch20: bnc-441763-diff-meeting-icon.patch
# PATCH-FIX-UPSTREAM bnc-441770-non-intrusive-calendar.patch bnc#441770 -- This patch makes error dialogs non-intrusive.
Patch21: bnc-441770-non-intrusive-calendar.patch
# PATCH-FIX-UPSTREAM bnc-442135-exchange-settings-offline.patch bnc#442135 abharath@suse.de -- This patch fixes wrong error dialogs.
Patch22: bnc-442135-exchange-settings-offline.patch
# PATCH-FIX-UPSTREAM sharepoint-account-setup.patch pchenthill@suse.de -- This patch allows you to connect to sharepoint servers.
Patch23: sharepoint-account-setup.patch
# PATCH-FIX-UPSTREAM evo-core-mapi-changes.diff msuman@suse.de -- This patch contains changes in the core code base for the MAPI provider. # PATCH-FIX-UPSTREAM evo-core-mapi-changes.diff msuman@suse.de -- This patch contains changes in the core code base for the MAPI provider.
Patch100: evo-core-mapi-changes.diff Patch100: evo-core-mapi-changes.diff
Url: http://gnome.org/projects/evolution/ Url: http://gnome.org/projects/evolution/
@ -311,6 +330,13 @@ Authors:
%patch13 %patch13
%patch15 -p1 %patch15 -p1
%patch16 -p1 %patch16 -p1
%patch17
%patch18
%patch19
%patch20
%patch21
%patch22
%patch23 -p1
%patch100 -p1 %patch100 -p1
%build %build
@ -332,7 +358,9 @@ export FFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fstack-protector"
--with-static-ldap=no \ --with-static-ldap=no \
--enable-nss=yes \ --enable-nss=yes \
--enable-ipv6=yes \ --enable-ipv6=yes \
--enable-default-binary=yes --enable-default-binary=yes \
--enable-mono=yes \
--enable-icedesktop=yes
# Processing the files in help uses _lots_ of memory, so running that part in parallel is bad. # Processing the files in help uses _lots_ of memory, so running that part in parallel is bad.
pushd help pushd help
%{__make} %{__make}
@ -366,7 +394,7 @@ done
%fdupes $RPM_BUILD_ROOT %fdupes $RPM_BUILD_ROOT
%if %suse_version > 1100 %if %suse_version > 1100
%{__mv} $RPM_BUILD_ROOT/%{_bindir}/evolution $RPM_BUILD_ROOT/%{_bindir}/evolution.bin %{__mv} $RPM_BUILD_ROOT/%{_bindir}/evolution $RPM_BUILD_ROOT/%{_bindir}/evolution.bin
echo -e "#!/bin/sh\n\nLD_LIBRARY_PATH=%{_libdir}/evoldap/lib exec -a \"%{_bindir}/evolution\" %{_bindir}/evolution.bin \$@\n\nexit \$?" > $RPM_BUILD_ROOT/%{_bindir}/evolution echo -e "#!/bin/sh\n\nLD_LIBRARY_PATH=%{_libdir}/evoldap/lib MONO_PATH=%{_libdir}/mono:%{_libdir}/dice exec -a \"%{_bindir}/evolution\" %{_bindir}/evolution.bin \$@\n\nexit \$?" > $RPM_BUILD_ROOT/%{_bindir}/evolution
%{__chmod} +x $RPM_BUILD_ROOT/%{_bindir}/evolution %{__chmod} +x $RPM_BUILD_ROOT/%{_bindir}/evolution
%endif %endif
@ -423,6 +451,29 @@ fi
%{_libdir}/evolution/*/conduits %{_libdir}/evolution/*/conduits
%changelog %changelog
* Thu Nov 06 2008 abharath@suse.de
- Update to version 2.24.1.1
Releasing Evolution under 'GNU LGPL V2 or (at your option) V3'.
Refer COPYING file for more details
+ Bugs fixed: bnc#437226, bnc#440007, bgo#541121, bgo#554450,
bgo#557246, bgo#557613, bgo#557726, bgo#558726, bgo#559028,
bgo#559041 and bgo#559371
+ Updated translations.
- Patches added
+ bgo#558354 - bgo-558354-alarm-notify-improved.patch - Replace
"Close" btn in Appts reminder window with a
per-item "Dismiss"
+ bnc#435668 - bnc-435668-hide-accept.patch - Meetings In
SentItems Should Hide Accept/Decline
+ bnc#435722 - bnc-435722-book-uri-long.patch - Book URI:
Spills Into Second Column
+ bnc#441763 - bnc-441763-diff-meeting-icon.patch - Show
different icons for meetings
+ bnc#441770 - bnc-441770-non-intrusive-calendar.patch -
Non-intrusive error handling for calendar
+ bnc#442135 - bnc-442135-exchange-settings-offline.patch -
Evolution pops up misleading error dialog
+ sharepoint-account-setup.patch - Sharepoint account setup.
* Mon Nov 03 2008 msuman@suse.de * Mon Nov 03 2008 msuman@suse.de
- Clean up the spec file to use proper RPM macros. - Clean up the spec file to use proper RPM macros.
- Archive the SUSE specific desktop and pixmap files, unclutter the - Archive the SUSE specific desktop and pixmap files, unclutter the
@ -440,7 +491,7 @@ fi
* Mon Oct 27 2008 hpj@novell.com * Mon Oct 27 2008 hpj@novell.com
- Add evolution-shared-nss-db.patch, which migrates the old NSS - Add evolution-shared-nss-db.patch, which migrates the old NSS
cert DB to the new, shared format and location. cert DB to the new, shared format and location.
* Fri Oct 24 2008 msuman@suse.de * Thu Oct 23 2008 msuman@suse.de
- Update to version 2.24.1 - Update to version 2.24.1
+ Bugs fixed: bgo#364542, bgo#438155, bgo#497928, bgo#511918, + Bugs fixed: bgo#364542, bgo#438155, bgo#497928, bgo#511918,
bgo#511947, bgo#514989, bgo#519491, bgo#528816, bgo#530606, bgo#511947, bgo#514989, bgo#519491, bgo#528816, bgo#530606,
@ -476,7 +527,7 @@ fi
- Update to version 2.23.92: - Update to version 2.23.92:
+ Bug fixed: bgo#549968 + Bug fixed: bgo#549968
+ Updated translations. + Updated translations.
* Wed Sep 03 2008 maw@suse.de * Tue Sep 02 2008 maw@suse.de
- Update to version 2.23.91: - Update to version 2.23.91:
+ Bugs fixed: bgo#458512, bgo#509647, bgo#523327, bgo#525555, + Bugs fixed: bgo#458512, bgo#509647, bgo#523327, bgo#525555,
bgo#534762, bgo#544430, bgo#546926, bgo#547822, bgo#547822, bgo#534762, bgo#544430, bgo#546926, bgo#547822, bgo#547822,
@ -583,7 +634,7 @@ fi
bug-394641_evo-CVE-2008-1109.diff bug-394641_evo-CVE-2008-1109.diff
- bnc#395708 - bgo-395708_prefer-plain.patch - Outlook meeting invites look as text messages - bnc#395708 - bgo-395708_prefer-plain.patch - Outlook meeting invites look as text messages
- bnc#394441 - bnc-394441-exchange-addbook-crash.diff - Addressbook crash - bnc#394441 - bnc-394441-exchange-addbook-crash.diff - Addressbook crash
* Wed May 21 2008 msuman@suse.de * Tue May 20 2008 msuman@suse.de
- Added - Added
+ bgo-534012-backup-permission.patch (Sankar P) + bgo-534012-backup-permission.patch (Sankar P)
+ bgo-533820-fix-crash-on-border-clicking-meetings.diff (Chenthill P) (bnc#391993) + bgo-533820-fix-crash-on-border-clicking-meetings.diff (Chenthill P) (bnc#391993)
@ -1108,7 +1159,7 @@ fi
* Thu Mar 22 2007 maw@suse.de * Thu Mar 22 2007 maw@suse.de
- Update to version 2.10.0 - Update to version 2.10.0
- Update the required intltool version. - Update the required intltool version.
* Tue Mar 13 2007 maw@suse.de * Mon Mar 12 2007 maw@suse.de
- Update to version 2.9.91 - Update to version 2.9.91
- Remove upstreamed bnc-214647-add-prefer-plain-plugin.patch - Remove upstreamed bnc-214647-add-prefer-plain-plugin.patch
- fix-security-gtkhtml-moreui.diff is now much smaller - fix-security-gtkhtml-moreui.diff is now much smaller
@ -1153,7 +1204,7 @@ fi
* Sat Oct 28 2006 kharish@suse.de * Sat Oct 28 2006 kharish@suse.de
- Add bnc-214647-add-prefer-plain-plugin.patch to - Add bnc-214647-add-prefer-plain-plugin.patch to
include prefer-plain plugin in the build by default. include prefer-plain plugin in the build by default.
* Tue Oct 03 2006 jhargadon@suse.de * Mon Oct 02 2006 jhargadon@suse.de
- update to version 2.8.1 - update to version 2.8.1
- translation updates - translation updates
- many bug fixes - many bug fixes
@ -1274,7 +1325,7 @@ fi
325960 - Fix to show subscribed and public folders without restarting evolution (Sushma) 325960 - Fix to show subscribed and public folders without restarting evolution (Sushma)
- fix-exchange-menuitem.diff: Changed a menu item name in exchange plugin. (Srini) - fix-exchange-menuitem.diff: Changed a menu item name in exchange plugin. (Srini)
- fix-sendrecv.diff: Change 'Send Receive' button to 'Get Mail' (Srini) - fix-sendrecv.diff: Change 'Send Receive' button to 'Get Mail' (Srini)
* Thu Apr 20 2006 fejj@suse.de * Wed Apr 19 2006 fejj@suse.de
- Added bnc-159736-dbus-restart.patch to the build which replaces - Added bnc-159736-dbus-restart.patch to the build which replaces
survive-dbus-restarts.patch (it solves the same problem plus more survive-dbus-restarts.patch (it solves the same problem plus more
instances of the same) instances of the same)
@ -1310,7 +1361,7 @@ fi
- Fixes (bnc) - Fixes (bnc)
160049 changed G/W password - no calendar prompt ... 160049 changed G/W password - no calendar prompt ...
158107 No notification of cancelled meetings 158107 No notification of cancelled meetings
* Fri Mar 24 2006 vvaradhan@novell.com * Thu Mar 23 2006 vvaradhan@novell.com
- Fixes (bnc) - Fixes (bnc)
150427 evo 1.6 hang on calendar 150427 evo 1.6 hang on calendar
153807 msg composer seems to lower instead of raise 153807 msg composer seems to lower instead of raise
@ -1593,17 +1644,17 @@ fi
- Fixed Send as iCalendar (#72795). - Fixed Send as iCalendar (#72795).
* Tue Mar 15 2005 sbrabec@suse.cz * Tue Mar 15 2005 sbrabec@suse.cz
- Fixed Czech translation. - Fixed Czech translation.
* Fri Mar 11 2005 gekker@suse.de * Thu Mar 10 2005 gekker@suse.de
- Add Email to %%suse_update_desktop_file (65804). - Add Email to %%suse_update_desktop_file (65804).
* Wed Mar 09 2005 gekker@suse.de * Tue Mar 08 2005 gekker@suse.de
- Update to version 2.2.0 (GNOME 2.10). - Update to version 2.2.0 (GNOME 2.10).
* Wed Mar 02 2005 gekker@suse.de * Wed Mar 02 2005 gekker@suse.de
- Update to version 2.1.6 - Update to version 2.1.6
* Thu Feb 10 2005 gekker@suse.de * Wed Feb 09 2005 gekker@suse.de
- Update to version 2.1.5 - Update to version 2.1.5
* Sat Feb 05 2005 gekker@suse.de * Sat Feb 05 2005 gekker@suse.de
-Update to version 2.1.4 -Update to version 2.1.4
* Fri Jan 21 2005 ro@suse.de * Thu Jan 20 2005 ro@suse.de
- fixed file list - fixed file list
* Sat Jan 15 2005 clahey@suse.de * Sat Jan 15 2005 clahey@suse.de
- Updated to version 2.1.3. - Updated to version 2.1.3.
@ -1615,7 +1666,7 @@ fi
- update to version 2.0.3 (Ximian 70057) - update to version 2.0.3 (Ximian 70057)
* Tue Nov 30 2004 ro@suse.de * Tue Nov 30 2004 ro@suse.de
- adapted evolution-2.0.1-de-po.patch - adapted evolution-2.0.1-de-po.patch
* Tue Nov 30 2004 gekker@suse.de * Mon Nov 29 2004 gekker@suse.de
- Update version to 2.0.2 - Update version to 2.0.2
- Remove patches that are upstream - Remove patches that are upstream
- Change the no-groupwise-docs patch to actually apply - Change the no-groupwise-docs patch to actually apply
@ -1626,9 +1677,9 @@ fi
* Thu Oct 07 2004 dobey@suse.de * Thu Oct 07 2004 dobey@suse.de
- Update default Inbox patch to not mention Groupwise support - Update default Inbox patch to not mention Groupwise support
http://bugzilla.ximian.com/show_bugs.cgi?id=67643 http://bugzilla.ximian.com/show_bugs.cgi?id=67643
* Tue Oct 05 2004 dobey@suse.de * Mon Oct 04 2004 dobey@suse.de
- Add patch to fix bug 67513 in bugzilla.ximian.com - Add patch to fix bug 67513 in bugzilla.ximian.com
* Thu Sep 30 2004 dobey@suse.de * Wed Sep 29 2004 dobey@suse.de
- Add patch various bug fixes since 2.0.1 - Add patch various bug fixes since 2.0.1
- Add patch to disable groupwise docs - Add patch to disable groupwise docs
* Tue Sep 28 2004 dobey@suse.de * Tue Sep 28 2004 dobey@suse.de
@ -1636,7 +1687,7 @@ fi
* Mon Sep 27 2004 ke@suse.de * Mon Sep 27 2004 ke@suse.de
- Fix German translation: keep the "DN" string for Distinguished Name - Fix German translation: keep the "DN" string for Distinguished Name
[#44959]. [#44959].
* Sat Sep 25 2004 dobey@suse.de * Fri Sep 24 2004 dobey@suse.de
- Update to version 2.0.1 - Update to version 2.0.1
- Add shared-mime-info to Prereq - Add shared-mime-info to Prereq
* Wed Sep 15 2004 dobey@suse.de * Wed Sep 15 2004 dobey@suse.de
@ -1654,16 +1705,16 @@ fi
- Cache evolution help files and show evolution in khelpcenter. - Cache evolution help files and show evolution in khelpcenter.
* Wed Aug 18 2004 dobey@suse.de * Wed Aug 18 2004 dobey@suse.de
- Comment out %%debug_package - Comment out %%debug_package
* Wed Aug 18 2004 dobey@suse.de * Tue Aug 17 2004 dobey@suse.de
- Add MozillaFirefox libdir to rpath - Add MozillaFirefox libdir to rpath
* Sat Aug 14 2004 dobey@suse.de * Fri Aug 13 2004 dobey@suse.de
- Update to version 1.5.93 - Update to version 1.5.93
- Split pilot conduits out into evolution-pilot package - Split pilot conduits out into evolution-pilot package
- Update dependencies for new versions - Update dependencies for new versions
- Remove 64-bit patches that are now in CVS - Remove 64-bit patches that are now in CVS
- Remove patch for com_err.h checks as it is in CVS now - Remove patch for com_err.h checks as it is in CVS now
- Add patch for default Inbox and Welcome message - Add patch for default Inbox and Welcome message
* Tue Aug 10 2004 adrian@suse.de * Mon Aug 09 2004 adrian@suse.de
- move evolution menu entry out of the More menu. - move evolution menu entry out of the More menu.
* Mon Aug 09 2004 dobey@suse.de * Mon Aug 09 2004 dobey@suse.de
- Update dependencies to pull in new versions - Update dependencies to pull in new versions
@ -1752,7 +1803,7 @@ fi
- updated to version 1.4.4 (GTK2/GNOME2 ported) - updated to version 1.4.4 (GTK2/GNOME2 ported)
* Mon Jul 14 2003 sbrabec@suse.cz * Mon Jul 14 2003 sbrabec@suse.cz
- GNOME prefix change to /opt/gnome. - GNOME prefix change to /opt/gnome.
* Mon Jun 30 2003 ro@suse.de * Sun Jun 29 2003 ro@suse.de
- added directories to filelist - added directories to filelist
* Thu Jun 05 2003 ro@suse.de * Thu Jun 05 2003 ro@suse.de
- remove unpackaged files from buildroot - remove unpackaged files from buildroot
@ -1782,11 +1833,11 @@ fi
* Thu Aug 22 2002 hhetter@suse.de * Thu Aug 22 2002 hhetter@suse.de
- build with rpath /opt/mozilla/%%_lib to correctly link - build with rpath /opt/mozilla/%%_lib to correctly link
wombat (Bug Id#18195) wombat (Bug Id#18195)
* Sat Jul 27 2002 adrian@suse.de * Fri Jul 26 2002 adrian@suse.de
- fix neededforbuild - fix neededforbuild
* Tue Jul 16 2002 hhetter@suse.de * Tue Jul 16 2002 hhetter@suse.de
- updated to bugfix release 1.0.8 - updated to bugfix release 1.0.8
* Wed Jun 26 2002 ro@suse.de * Tue Jun 25 2002 ro@suse.de
- build libibex.a with -fPIC, it's linked into a shared library - build libibex.a with -fPIC, it's linked into a shared library
* Mon Jun 17 2002 jordi@suse.de * Mon Jun 17 2002 jordi@suse.de
- Updated to version 1.0.7 - Updated to version 1.0.7
@ -1807,7 +1858,7 @@ fi
- update to version 1.0.5 - update to version 1.0.5
- build and link with db 3.1.17, required by - build and link with db 3.1.17, required by
evolution contacts evolution contacts
* Wed Apr 24 2002 ro@suse.de * Tue Apr 23 2002 ro@suse.de
- fix build with latest autoconf - fix build with latest autoconf
(AM_CONDITIONAL must appear in mainline) (AM_CONDITIONAL must appear in mainline)
* Tue Mar 26 2002 hhetter@suse.de * Tue Mar 26 2002 hhetter@suse.de
@ -1894,11 +1945,11 @@ fi
- Fixed it a little more.... - Fixed it a little more....
* Mon Sep 25 2000 egger@suse.de * Mon Sep 25 2000 egger@suse.de
- Removed a thinko.... - Removed a thinko....
* Mon Sep 25 2000 egger@suse.de * Sun Sep 24 2000 egger@suse.de
- Restructuring of the package. - Restructuring of the package.
- Use the splitted packages oafdev and bonobod. - Use the splitted packages oafdev and bonobod.
- Buildproofed on i386. - Buildproofed on i386.
* Fri Sep 22 2000 egger@suse.de * Thu Sep 21 2000 egger@suse.de
- Use BuildRoot. - Use BuildRoot.
- Buildproofed on i386. - Buildproofed on i386.
* Tue Sep 19 2000 egger@suse.de * Tue Sep 19 2000 egger@suse.de

View File

@ -0,0 +1,532 @@
diff --git a/plugins/mono/mono-plugin.c b/plugins/mono/mono-plugin.c
index 5c5182e..542e6f0 100644
--- a/plugins/mono/mono-plugin.c
+++ b/plugins/mono/mono-plugin.c
@@ -79,9 +79,14 @@ epm_invoke(EPlugin *ep, const char *name, void *data)
MonoObject *x = NULL, *res;
void **params;
- g_print ("\n\a epm_invoke in mono-plugin.c in mono plugin loader is called \n\a");
+ g_print ("\n\a epm_invoke in mono-plugin.c in mono plugin loader is called %s \n\a", epm->location);
/* we need to do this every time since we may be called from any thread for some uses */
+ if (!domain) {
+ mono_config_parse (NULL);
+ domain = mono_jit_init (epm->location);
+ }
+
mono_thread_attach(domain);
if (p->assembly == NULL) {
@@ -230,8 +235,6 @@ load_plugin_type_register_function (void *a, void *b)
type = g_type_register_static(e_plugin_get_type(), "EPluginMono", &info, 0);
e_plugin_register_type (type);
d(printf("\nType EPluginMono registered from the mono-plugin-loader\n"));
- domain = mono_jit_init("Evolution");
- mono_thread_attach(domain);
}
return GUINT_TO_POINTER(type);
diff --git a/plugins/sharepoint-account-setup/Makefile.am b/plugins/sharepoint-account-setup/Makefile.am
new file mode 100644
index 0000000..b01f3df
--- /dev/null
+++ b/plugins/sharepoint-account-setup/Makefile.am
@@ -0,0 +1,37 @@
+CSC = gmcs
+
+ASSEMBLY_NAME = SharepointAccountSetup
+TARGET = $(ASSEMBLY)
+ASSEMBLY = $(ASSEMBLY_NAME).dll
+
+@EVO_PLUGIN_RULE@
+
+CSFILES = SharepointSource.cs SharepointAccount.cs SharepointAccountSetup.cs
+
+EXTRA_DIST = org-gnome-sharepoint-account-setup.eplug.xml \
+ org-gnome-sharepoint-ui.xml \
+ org-gnome-sharepoint-disconnect-ui.xml \
+ $(CSFILES)
+
+ASSEMBLIES = \
+ -r:System \
+ -r:Mono.Posix \
+ $(ICE_DESKTOP_LIBS) \
+ $(MONO_PLATFORM_LIBS)
+
+CSFLAGS = -noconfig -codepage:utf8 -warn:4 -debug -d:DEBUG $(ASSEMBLIES)
+
+#endif
+#if ENABLE_RELEASE
+#CSFLAGS = -noconfig -codepage:utf8 -warn:4
+#endif
+$(ASSEMBLY): $(CSCFILES)
+ $(CSC) -unsafe /out:$(ASSEMBLY) $(CSFLAGS) /target:library $(ASSEMBLIES) $(CSFILES)
+
+plugin_DATA = $(ASSEMBLY) org-gnome-sharepoint-account-setup.eplug org-gnome-sharepoint-ui.xml org-gnome-sharepoint-disconnect-ui.xml
+
+BUILT_SOURCES = $(ASSEMBLY) org-gnome-sharepoint-account-setup.eplug
+
+all: $(ASSEMBLY)
+
+CLEANFILES = org-gnome-sharepoint-account-setup.eplug $(ASSEMBLY) $(ASSEMBLY).mdb
diff --git a/plugins/sharepoint-account-setup/SharepointAccount.cs b/plugins/sharepoint-account-setup/SharepointAccount.cs
new file mode 100644
index 0000000..5009e98
--- /dev/null
+++ b/plugins/sharepoint-account-setup/SharepointAccount.cs
@@ -0,0 +1,165 @@
+// SharepointAccount.cs created with MonoDevelop
+// User: chen at 12:30 PM 10/21/2008
+//
+// To change standard headers go to Edit->Preferences->Coding->Standard Headers
+//
+
+using System;
+using Evolution;
+using NDesk.DBus;
+using Gtk;
+using System.Threading;
+using GLib;
+using Novell.IceDesktop;
+
+namespace Sharepoint
+{
+
+
+ public class SharepointAccount
+ {
+ static Novell.IceDesktop.IDaemon deskIceDaemon = null;
+ static org.freedesktop.DBus.IBus sessionBus = null;
+ static ObjectPath DaemonPath = new ObjectPath (Novell.IceDesktop.ServiceName.DaemonPath);
+ static string DaemonNamespace = Novell.IceDesktop.ServiceName.DaemonNamespace;
+ static bool initialized = false;
+ static System.Threading.Thread backgroundThread = null;
+
+ public SharepointAccount()
+ {
+ }
+
+ public void CreateAccount ()
+ {
+ try
+ {
+ if (initialized == false) {
+ BusG.Init ();
+ initialized = true;
+ }
+
+
+ sessionBus = Bus.Session.GetObject<org.freedesktop.DBus.IBus> ("org.freedesktop.DBus",
+ new ObjectPath ("/org/freedesktop/DBus"));
+ sessionBus.NameOwnerChanged += OnDBusNameOwnerChanged;
+
+ // Force the daemon to start up if it's not already running
+ if (Bus.Session.NameHasOwner (DaemonNamespace) == false)
+ {
+ Bus.Session.StartServiceByName (DaemonNamespace);
+ }
+
+ ConnectToICEcoreDaemon ();
+ try { deskIceDaemon.CheckAuthentication (String.Empty); }
+ catch (NotAuthenticatedException)
+ { return; }
+
+ Console.WriteLine ("****** Authenticated");
+ StartFetchingFolder ();
+
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine ("Error creating account: {0}", ex.Message);
+ Console.WriteLine (ex.StackTrace);
+ // Change the status text in the AuthDialog
+ return;
+ }
+ }
+
+ public void DeleteAccount ()
+ {
+ // we remove all share calendars. We currently support creating only one sharepoint account
+ SharepointSource spSource = new SharepointSource (CalSourceType.Event, null, null);
+ spSource.DeleteSources ();
+ spSource.Sync ();
+ }
+
+ private static void StartFetchingFolder ()
+ {
+ if (backgroundThread == null)
+ {
+ backgroundThread = new System.Threading.Thread (new ThreadStart (SetupFolders));
+ backgroundThread.IsBackground = true;
+ backgroundThread.Start ();
+ }
+ }
+
+ private static void SetupFolders ()
+ {
+ Console.WriteLine ("Getting folders ");
+ AccountInfo accountInfo = deskIceDaemon.GetDefaultAccountInfo ();
+ SharepointSource spSource = new SharepointSource (CalSourceType.Event, accountInfo.username,
+ accountInfo.hostUrl);
+
+ if (spSource.AccountExists) {
+ Console.WriteLine ("Account already exists");
+ return;
+ }
+
+ FileInfo [] workspaces = deskIceDaemon.EnumerateWorkspaces ();
+ foreach (FileInfo workspace in workspaces)
+ {
+ FileInfo[] folders = null;
+
+ if (spSource.srcType == CalSourceType.Event)
+ folders = deskIceDaemon.GetCalendarFolders (string.Empty, workspace.Id);
+ // else get task folders
+
+
+ if (folders.Length == 0)
+ continue;
+
+ spSource.CreateSources (workspace, folders);
+ }
+ spSource.Sync ();
+ Console.WriteLine ("******* Got folders ");
+ backgroundThread = null;
+ RemoveHandlers ();
+ }
+
+ private static void RemoveHandlers ()
+ {
+ sessionBus.NameOwnerChanged -= OnDBusNameOwnerChanged;
+ deskIceDaemon.Authenticated -= OnAuthenticated;
+ }
+
+ static void OnAuthenticated (string server, string username)
+ {
+ Console.WriteLine ("Auth done\n");
+ StartFetchingFolder ();
+ }
+
+ static void OnDBusNameOwnerChanged (string serviceName, string oldOwner, string newOwner)
+ {
+
+ Console.WriteLine ("O/p {0} {1}", serviceName, DaemonNamespace);
+ if (serviceName == null)
+ return;
+ if (serviceName.CompareTo (DaemonNamespace) != 0)
+ return;
+
+ if (oldOwner != null && oldOwner.Length > 0) {
+ // The daemon just went away
+ // TODO: What should the Navigator do if the ICEcore Daemon suddenly exits?
+ Console.WriteLine ("TODO: What should the Navigator do if the ICEcore Daemon suddenly exits?");
+ } else {
+ // Connect to the new instance of the daemon
+ ConnectToICEcoreDaemon ();
+ }
+ }
+
+ /// <summary>
+ /// Connect with the ICEcore Daemon and register event handlers.
+ /// </summary>
+ static void ConnectToICEcoreDaemon ()
+ {
+ Console.WriteLine ("Connecting the navigator to the ICEcore Daemon");
+ // Check DBus to see if the Daemon is currently running
+ deskIceDaemon =
+ Bus.Session.GetObject<IDaemon> (DaemonNamespace, DaemonPath);
+ // Set up the daemon event handlers
+ deskIceDaemon.Authenticated += OnAuthenticated;
+ }
+ }
+}
diff --git a/plugins/sharepoint-account-setup/SharepointAccountSetup.cs b/plugins/sharepoint-account-setup/SharepointAccountSetup.cs
new file mode 100644
index 0000000..70d6b15
--- /dev/null
+++ b/plugins/sharepoint-account-setup/SharepointAccountSetup.cs
@@ -0,0 +1,22 @@
+using System;
+using Sharepoint;
+using Evolution;
+using GLib;
+using Gtk;
+
+public class SharePointAccountSetup
+{
+ public static IntPtr SetupAccount (IntPtr pluginPtr)
+ {
+ SharepointAccount account = new SharepointAccount ();
+ account.CreateAccount ();
+ return (IntPtr) 0;
+ }
+
+ public static IntPtr RemoveAccount (IntPtr pluginPtr)
+ {
+ SharepointAccount account = new SharepointAccount ();
+ account.DeleteAccount ();
+ return (IntPtr) 0;
+ }
+}
diff --git a/plugins/sharepoint-account-setup/SharepointSource.cs b/plugins/sharepoint-account-setup/SharepointSource.cs
new file mode 100644
index 0000000..c61fcf0
--- /dev/null
+++ b/plugins/sharepoint-account-setup/SharepointSource.cs
@@ -0,0 +1,97 @@
+// SharepointSource.cs created with MonoDevelop
+// User: chen at 1:38 AM 10/21/2008
+//
+// To change standard headers go to Edit->Preferences->Coding->Standard Headers
+//
+
+using System;
+using Evolution;
+using Novell.IceDesktop;
+using GConf;
+using System.Collections.Generic;
+
+namespace Sharepoint
+{
+
+
+ public class SharepointSource
+ {
+ public CalSourceType srcType;
+ readonly string calPath = "/apps/evolution/calendar/sources";
+ readonly string taskPath = "/apps/evolution/tasks/sources";
+ static Client client;
+ SourceList srcList;
+ readonly string baseUri = "sharepoint://";
+ string username;
+ string hostUrl;
+
+ public SharepointSource(CalSourceType type, string userName, string hosturl)
+ {
+ srcType = type;
+ client = new Client ();
+ username = userName;
+ hostUrl = hosturl;
+
+ if (type == CalSourceType.Event)
+ srcList = new SourceList (calPath);
+ else
+ srcList = new SourceList (taskPath);
+ }
+
+ public bool AccountExists
+ {
+ get
+ {
+ foreach (SourceGroup group in srcList.Groups)
+ {
+ if (group.BaseUri == baseUri)
+ return true;
+ }
+
+ return false;
+ }
+ }
+
+ public void CreateSources (FileInfo workspace, FileInfo [] folders)
+ {
+ SourceGroup group = new SourceGroup (workspace.DisplayName, baseUri);
+
+ foreach (FileInfo folder in folders)
+ {
+ Console.WriteLine (workspace.DisplayName + " folder " + folder.DisplayName);
+ string relativeUri = hostUrl + ":" + folder.Id;
+ Source source= new Source (folder.DisplayName, relativeUri);
+ source.SetProperty ("username", username);
+ source.SetProperty ("workspaceid", workspace.Id);
+ source.SetProperty ("Id", folder.Id);
+ source.SetProperty ("Auth","True");
+ group.AddSource (source, -1);
+ }
+ group.SetProperty ("username", username);
+ srcList.AddGroup (group, -1);
+ }
+
+ public void Sync ()
+ {
+ srcList.Sync ();
+ }
+
+ public void DeleteSources ()
+ {
+ List<SourceGroup> groupsToRemove = new List<SourceGroup> ();
+ foreach (SourceGroup group in srcList.Groups)
+ {
+ if (group.BaseUri.StartsWith (baseUri))
+ {
+ /// Currently we remove all sharepoint calendars
+ groupsToRemove.Add (group);
+ }
+ }
+
+ foreach (SourceGroup group in groupsToRemove)
+ {
+ srcList.RemoveGroup (group);
+ }
+ }
+ }
+}
diff --git a/plugins/sharepoint-account-setup/org-gnome-sharepoint-account-setup.eplug.xml b/plugins/sharepoint-account-setup/org-gnome-sharepoint-account-setup.eplug.xml
new file mode 100644
index 0000000..80cdeb8
--- /dev/null
+++ b/plugins/sharepoint-account-setup/org-gnome-sharepoint-account-setup.eplug.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<e-plugin-list>
+ <e-plugin id="org.gnome.evolution.sharepoint.account.setup" type="mono"
+ _name="Sharepoint account setup"
+ location="@PLUGINDIR@/SharepointAccountSetup.dll" handler="SharePointAccountSetup">
+ <author name="Chenthill Palanisamy" email="pchenthill@novell.com"/>
+ <_description>Create a sharepoint account for calendar and tasks</_description>
+
+ <hook class="org.gnome.evolution.shell.bonobomenu:1.0">
+ <menu id="org.gnome.evolution.shell" target="shell">
+ <!-- the path to the bonobo menu description -->
+ <ui file="@PLUGINDIR@/org-gnome-sharepoint-ui.xml"/>
+ <item
+ type="item"
+ verb="SharepointSetup"
+ path="/commands/SharepointSetup"
+ enable="all"
+ activate="SetupAccount"/>
+ </menu>
+ </hook>
+
+ <hook class="org.gnome.evolution.shell.bonobomenu:1.0">
+ <menu id="org.gnome.evolution.shell" target="shell">
+ <!-- the path to the bonobo menu description -->
+ <ui file="@PLUGINDIR@/org-gnome-sharepoint-disconnect-ui.xml"/>
+ <item
+ type="item"
+ verb="SharepointDisconnect"
+ path="/commands/SharepointDisconnect"
+ enable="all"
+ activate="RemoveAccount"/>
+ </menu>
+ </hook>
+
+ </e-plugin>
+</e-plugin-list>
diff --git a/plugins/sharepoint-account-setup/org-gnome-sharepoint-disconnect-ui.xml b/plugins/sharepoint-account-setup/org-gnome-sharepoint-disconnect-ui.xml
new file mode 100644
index 0000000..d2545f8
--- /dev/null
+++ b/plugins/sharepoint-account-setup/org-gnome-sharepoint-disconnect-ui.xml
@@ -0,0 +1,16 @@
+<Root>
+ <commands>
+ <cmd name="SharepointDisconnect" _label="Disconnect SharePoint"
+ _tip="Remove sharepoint account"
+ pixtype="stock"
+ pixname="gtk-disconnect"/>
+ </commands>
+
+ <menu>
+ <placeholder name="ActionsPlaceholder">
+ <submenu name="Actions">
+ <menuitem name="SharepointDisconnect" verb="" />
+ </submenu>
+ </placeholder>
+ </menu>
+</Root>
diff --git a/plugins/sharepoint-account-setup/org-gnome-sharepoint-ui.xml b/plugins/sharepoint-account-setup/org-gnome-sharepoint-ui.xml
new file mode 100644
index 0000000..f92e097
--- /dev/null
+++ b/plugins/sharepoint-account-setup/org-gnome-sharepoint-ui.xml
@@ -0,0 +1,16 @@
+<Root>
+ <commands>
+ <cmd name="SharepointSetup" _label="Connect to SharePoint"
+ _tip="Setup sharepoint account"
+ pixtype="stock"
+ pixname="gtk-connect"/>
+ </commands>
+
+ <menu>
+ <placeholder name="ActionsPlaceholder">
+ <submenu name="Actions">
+ <menuitem name="SharepointSetup" verb="" />
+ </submenu>
+ </placeholder>
+ </menu>
+</Root>
diff --git a/ui/evolution.xml b/ui/evolution.xml
index 9b4231e..4008c95 100644
--- a/ui/evolution.xml
+++ b/ui/evolution.xml
@@ -66,6 +66,8 @@
<placeholder name="ComponentItems"/>
</submenu>
+ <placeholder name="FileNewItems"/>
+
<menuitem name="OpenNewWindow" verb="" pixtype="pixbuf"/>
<separator f="" name="eshell4"/>
--- a/configure.in 2008-11-05 16:29:35.000000000 +0530
+++ b/configure.in 2008-11-06 18:48:19.000000000 +0530
@@ -900,7 +900,27 @@ if test "x${enable_mono}" = "xyes"; then
AC_DEFINE(ENABLE_MONO,1,[Define if Mono embedding should be enabled])
mono_package="mono"
MONO_PLUGIN="mono"
+ PKG_CHECK_MODULES(MONO_PLATFORM,
+ [glib-sharp-2.0, gtk-sharp-2.0, gconf-sharp-2.0, gnome-sharp-2.0,
+ evolution-sharp, ndesk-dbus-1.0, ndesk-dbus-glib-1.0, solvent])
+ AC_SUBST(MONO_PLATFORM_CFLAGS)
+ AC_SUBST(MONO_PLATFORM_LIBS)
+ MONO_BASED_PLUGINS=""
+
+ dnl Sharepoint account setup
+ AC_ARG_ENABLE([icedesktop],
+ AC_HELP_STRING([--enable-icedesktop],
+ [Build sharepoint provider]),
+ [enable_icedesktop=$enableval],[enable_icedesktop=no])
+ if test "x${enable_icedesktop}" = "xyes"; then
+ PKG_CHECK_MODULES(ICE_DESKTOP, [Novell.IceDesktop])
+ AC_SUBST(ICE_DESKTOP_CFLAGS)
+ AC_SUBST(ICE_DESKTOP_LIBS)
+ MONO_BASED_PLUGINS="$MONO_BASED_PLUGINS sharepoint-account-setup"
+ fi
fi
+AC_SUBST(MONO_CFLAGS)
+AC_SUBST(MONO_LIBS)
dnl Python hooks
dnl This should just define python CFLAGS etc here, it is used later to
@@ -1732,7 +1752,7 @@ AC_ARG_ENABLE([plugins],
dnl Add any new plugins here
plugins_base_always="calendar-file calendar-http calendar-weather itip-formatter plugin-manager default-source addressbook-file startup-wizard mark-all-read groupwise-features groupwise-account-setup mail-account-disable publish-calendar caldav imap-features google-account-setup webdav-account-setup"
-plugins_base="$plugins_base_always $SA_JUNK_PLUGIN $BF_JUNK_PLUGIN $EXCHANGE_PLUGIN $MONO_PLUGIN "
+plugins_base="$plugins_base_always $SA_JUNK_PLUGIN $BF_JUNK_PLUGIN $EXCHANGE_PLUGIN $MONO_PLUGIN $MONO_BASED_PLUGINS"
all_plugins_base="$plugins_base_always sa-junk-plugin bogo-junk-plugin exchange-operations mono"
plugins_standard_always="bbdb subject-thread save-calendar select-one-source copy-tool mail-to-task mark-calendar-offline audio-inline mailing-list-actions default-mailer import-ics-attachments prefer-plain mail-notification attachment-reminder face backup-restore email-custom-header templates pst-import"
@@ -1784,6 +1804,11 @@ if test "x${enable_mono}" = "xyes"; then
msg_plugins="$msg_plugins (and mono)"
fi
+if test "x${enable_icedesktop}" = "xyes"; then
+ plugins_enabled="$plugins_enabled sharepoint-account-setup"
+ msg_plugins="$msg_plugins (and sharepoint)"
+fi
+
if test "x${enable_python}" = "xyes"; then
plugins_enabled="$plugins_enabled python"
@@ -2072,6 +2097,7 @@ plugins/pst-import/Makefile
plugins/face/Makefile
plugins/external-editor/Makefile
plugins/webdav-account-setup/Makefile
+plugins/sharepoint-account-setup/Makefile
smime/Makefile
smime/lib/Makefile
smime/gui/Makefile