This commit is contained in:
parent
071221ee00
commit
8974917ca2
270
bgo-558354-alarm-notify-improved.patch
Normal file
270
bgo-558354-alarm-notify-improved.patch
Normal 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>
|
17
bnc-435668-hide-accept.patch
Normal file
17
bnc-435668-hide-accept.patch
Normal 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) &&
|
27
bnc-435722-book-uri-long.patch
Normal file
27
bnc-435722-book-uri-long.patch
Normal 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 (
|
48
bnc-441763-diff-meeting-icon.patch
Normal file
48
bnc-441763-diff-meeting-icon.patch
Normal 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));
|
1168
bnc-441770-non-intrusive-calendar.patch
Normal file
1168
bnc-441770-non-intrusive-calendar.patch
Normal file
File diff suppressed because it is too large
Load Diff
76
bnc-442135-exchange-settings-offline.patch
Normal file
76
bnc-442135-exchange-settings-offline.patch
Normal 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 ();
|
3
evolution-2.24.1.1.tar.bz2
Normal file
3
evolution-2.24.1.1.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bd27ffd7a86e619cfa1e23b88cdd234040c2324bf54c2361070a200619d37434
|
||||
size 32617635
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8d9b5989e0c380e2c24efc836b3c12c006c85a55f994608c849c747679509203
|
||||
size 32487183
|
@ -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
|
||||
|
||||
|
109
evolution.spec
109
evolution.spec
@ -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.
|
||||
#
|
||||
@ -34,6 +34,7 @@ BuildRequires: gnome-pilot-devel
|
||||
BuildRequires: gtk-doc
|
||||
BuildRequires: gtkhtml2-devel
|
||||
BuildRequires: intltool
|
||||
BuildRequires: dice
|
||||
BuildRequires: libidl
|
||||
BuildRequires: libnotify
|
||||
BuildRequires: libnotify-devel
|
||||
@ -51,12 +52,15 @@ BuildRequires: shared-mime-info
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: sqlite3-devel
|
||||
BuildRequires: libpst-devel
|
||||
BuildRequires: dice-devel
|
||||
BuildRequires: ndesk-dbus-glib-devel
|
||||
BuildRequires: mono-devel
|
||||
License: GPL v2 or later
|
||||
Group: Productivity/Networking/Email/Clients
|
||||
# This should be updated upon major version changes; it should match BASE_VERSION as defined in configure.in.
|
||||
%define evolution_base_version 2.24
|
||||
Version: 2.24.1
|
||||
Release: 3
|
||||
Version: 2.24.1.1
|
||||
Release: 1
|
||||
Summary: The Integrated GNOME Mail, Calendar, and Address Book Suite
|
||||
Source0: %{name}-%{version}.tar.bz2
|
||||
Source1: summerdance-about2.png
|
||||
@ -68,11 +72,26 @@ Patch6: remove-nm-dep.patch
|
||||
Patch7: calendar-sendbutton.patch
|
||||
Patch8: fix-exchange-menuitem.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
|
||||
# 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
|
||||
# PATCH-FEATURE-OPENSUSE evolution-shared-nss-db.patch hpj@novell.com -- Migrate to shared NSS database.
|
||||
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.
|
||||
Patch100: evo-core-mapi-changes.diff
|
||||
Url: http://gnome.org/projects/evolution/
|
||||
@ -311,6 +330,13 @@ Authors:
|
||||
%patch13
|
||||
%patch15 -p1
|
||||
%patch16 -p1
|
||||
%patch17
|
||||
%patch18
|
||||
%patch19
|
||||
%patch20
|
||||
%patch21
|
||||
%patch22
|
||||
%patch23 -p1
|
||||
%patch100 -p1
|
||||
|
||||
%build
|
||||
@ -332,7 +358,9 @@ export FFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fstack-protector"
|
||||
--with-static-ldap=no \
|
||||
--enable-nss=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.
|
||||
pushd help
|
||||
%{__make}
|
||||
@ -366,7 +394,7 @@ done
|
||||
%fdupes $RPM_BUILD_ROOT
|
||||
%if %suse_version > 1100
|
||||
%{__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
|
||||
%endif
|
||||
|
||||
@ -423,6 +451,29 @@ fi
|
||||
%{_libdir}/evolution/*/conduits
|
||||
|
||||
%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
|
||||
- Clean up the spec file to use proper RPM macros.
|
||||
- Archive the SUSE specific desktop and pixmap files, unclutter the
|
||||
@ -440,7 +491,7 @@ fi
|
||||
* Mon Oct 27 2008 hpj@novell.com
|
||||
- Add evolution-shared-nss-db.patch, which migrates the old NSS
|
||||
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
|
||||
+ Bugs fixed: bgo#364542, bgo#438155, bgo#497928, bgo#511918,
|
||||
bgo#511947, bgo#514989, bgo#519491, bgo#528816, bgo#530606,
|
||||
@ -476,7 +527,7 @@ fi
|
||||
- Update to version 2.23.92:
|
||||
+ Bug fixed: bgo#549968
|
||||
+ Updated translations.
|
||||
* Wed Sep 03 2008 maw@suse.de
|
||||
* Tue Sep 02 2008 maw@suse.de
|
||||
- Update to version 2.23.91:
|
||||
+ Bugs fixed: bgo#458512, bgo#509647, bgo#523327, bgo#525555,
|
||||
bgo#534762, bgo#544430, bgo#546926, bgo#547822, bgo#547822,
|
||||
@ -583,7 +634,7 @@ fi
|
||||
bug-394641_evo-CVE-2008-1109.diff
|
||||
- bnc#395708 - bgo-395708_prefer-plain.patch - Outlook meeting invites look as text messages
|
||||
- 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
|
||||
+ bgo-534012-backup-permission.patch (Sankar P)
|
||||
+ 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
|
||||
- Update to version 2.10.0
|
||||
- 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
|
||||
- Remove upstreamed bnc-214647-add-prefer-plain-plugin.patch
|
||||
- fix-security-gtkhtml-moreui.diff is now much smaller
|
||||
@ -1153,7 +1204,7 @@ fi
|
||||
* Sat Oct 28 2006 kharish@suse.de
|
||||
- Add bnc-214647-add-prefer-plain-plugin.patch to
|
||||
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
|
||||
- translation updates
|
||||
- many bug fixes
|
||||
@ -1274,7 +1325,7 @@ fi
|
||||
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-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
|
||||
survive-dbus-restarts.patch (it solves the same problem plus more
|
||||
instances of the same)
|
||||
@ -1310,7 +1361,7 @@ fi
|
||||
- Fixes (bnc)
|
||||
160049 changed G/W password - no calendar prompt ...
|
||||
158107 No notification of cancelled meetings
|
||||
* Fri Mar 24 2006 vvaradhan@novell.com
|
||||
* Thu Mar 23 2006 vvaradhan@novell.com
|
||||
- Fixes (bnc)
|
||||
150427 evo 1.6 hang on calendar
|
||||
153807 msg composer seems to lower instead of raise
|
||||
@ -1593,17 +1644,17 @@ fi
|
||||
- Fixed Send as iCalendar (#72795).
|
||||
* Tue Mar 15 2005 sbrabec@suse.cz
|
||||
- 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).
|
||||
* Wed Mar 09 2005 gekker@suse.de
|
||||
* Tue Mar 08 2005 gekker@suse.de
|
||||
- Update to version 2.2.0 (GNOME 2.10).
|
||||
* Wed Mar 02 2005 gekker@suse.de
|
||||
- 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
|
||||
* Sat Feb 05 2005 gekker@suse.de
|
||||
-Update to version 2.1.4
|
||||
* Fri Jan 21 2005 ro@suse.de
|
||||
* Thu Jan 20 2005 ro@suse.de
|
||||
- fixed file list
|
||||
* Sat Jan 15 2005 clahey@suse.de
|
||||
- Updated to version 2.1.3.
|
||||
@ -1615,7 +1666,7 @@ fi
|
||||
- update to version 2.0.3 (Ximian 70057)
|
||||
* Tue Nov 30 2004 ro@suse.de
|
||||
- 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
|
||||
- Remove patches that are upstream
|
||||
- Change the no-groupwise-docs patch to actually apply
|
||||
@ -1626,9 +1677,9 @@ fi
|
||||
* Thu Oct 07 2004 dobey@suse.de
|
||||
- Update default Inbox patch to not mention Groupwise support
|
||||
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
|
||||
* 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 to disable groupwise docs
|
||||
* Tue Sep 28 2004 dobey@suse.de
|
||||
@ -1636,7 +1687,7 @@ fi
|
||||
* Mon Sep 27 2004 ke@suse.de
|
||||
- Fix German translation: keep the "DN" string for Distinguished Name
|
||||
[#44959].
|
||||
* Sat Sep 25 2004 dobey@suse.de
|
||||
* Fri Sep 24 2004 dobey@suse.de
|
||||
- Update to version 2.0.1
|
||||
- Add shared-mime-info to Prereq
|
||||
* Wed Sep 15 2004 dobey@suse.de
|
||||
@ -1654,16 +1705,16 @@ fi
|
||||
- Cache evolution help files and show evolution in khelpcenter.
|
||||
* Wed Aug 18 2004 dobey@suse.de
|
||||
- Comment out %%debug_package
|
||||
* Wed Aug 18 2004 dobey@suse.de
|
||||
* Tue Aug 17 2004 dobey@suse.de
|
||||
- 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
|
||||
- Split pilot conduits out into evolution-pilot package
|
||||
- Update dependencies for new versions
|
||||
- Remove 64-bit patches that are now in CVS
|
||||
- Remove patch for com_err.h checks as it is in CVS now
|
||||
- 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.
|
||||
* Mon Aug 09 2004 dobey@suse.de
|
||||
- Update dependencies to pull in new versions
|
||||
@ -1752,7 +1803,7 @@ fi
|
||||
- updated to version 1.4.4 (GTK2/GNOME2 ported)
|
||||
* Mon Jul 14 2003 sbrabec@suse.cz
|
||||
- GNOME prefix change to /opt/gnome.
|
||||
* Mon Jun 30 2003 ro@suse.de
|
||||
* Sun Jun 29 2003 ro@suse.de
|
||||
- added directories to filelist
|
||||
* Thu Jun 05 2003 ro@suse.de
|
||||
- remove unpackaged files from buildroot
|
||||
@ -1782,11 +1833,11 @@ fi
|
||||
* Thu Aug 22 2002 hhetter@suse.de
|
||||
- build with rpath /opt/mozilla/%%_lib to correctly link
|
||||
wombat (Bug Id#18195)
|
||||
* Sat Jul 27 2002 adrian@suse.de
|
||||
* Fri Jul 26 2002 adrian@suse.de
|
||||
- fix neededforbuild
|
||||
* Tue Jul 16 2002 hhetter@suse.de
|
||||
- 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
|
||||
* Mon Jun 17 2002 jordi@suse.de
|
||||
- Updated to version 1.0.7
|
||||
@ -1807,7 +1858,7 @@ fi
|
||||
- update to version 1.0.5
|
||||
- build and link with db 3.1.17, required by
|
||||
evolution contacts
|
||||
* Wed Apr 24 2002 ro@suse.de
|
||||
* Tue Apr 23 2002 ro@suse.de
|
||||
- fix build with latest autoconf
|
||||
(AM_CONDITIONAL must appear in mainline)
|
||||
* Tue Mar 26 2002 hhetter@suse.de
|
||||
@ -1894,11 +1945,11 @@ fi
|
||||
- Fixed it a little more....
|
||||
* Mon Sep 25 2000 egger@suse.de
|
||||
- Removed a thinko....
|
||||
* Mon Sep 25 2000 egger@suse.de
|
||||
* Sun Sep 24 2000 egger@suse.de
|
||||
- Restructuring of the package.
|
||||
- Use the splitted packages oafdev and bonobod.
|
||||
- Buildproofed on i386.
|
||||
* Fri Sep 22 2000 egger@suse.de
|
||||
* Thu Sep 21 2000 egger@suse.de
|
||||
- Use BuildRoot.
|
||||
- Buildproofed on i386.
|
||||
* Tue Sep 19 2000 egger@suse.de
|
||||
|
532
sharepoint-account-setup.patch
Normal file
532
sharepoint-account-setup.patch
Normal 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
|
Loading…
Reference in New Issue
Block a user