diff --git a/bgo-558354-alarm-notify-improved.patch b/bgo-558354-alarm-notify-improved.patch new file mode 100644 index 0000000..5216bb8 --- /dev/null +++ b/bgo-558354-alarm-notify-improved.patch @@ -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 @@ + True + True + True +- gtk-close +- True + GTK_RELIEF_NORMAL + True + -7 ++ ++ ++ ++ True ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ ++ ++ ++ True ++ False ++ 2 ++ ++ ++ ++ True ++ gtk-close ++ 4 ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ Dismiss _all ++ True ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ + + + +@@ -527,6 +589,84 @@ + False + + ++ ++ ++ ++ True ++ True ++ GTK_RELIEF_NORMAL ++ True ++ ++ ++ ++ True ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ ++ ++ ++ True ++ False ++ 2 ++ ++ ++ ++ True ++ gtk-apply ++ 4 ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ _Dismiss ++ True ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ ++ ++ ++ 0 ++ False ++ False ++ ++ + + + 0 diff --git a/bnc-435668-hide-accept.patch b/bnc-435668-hide-accept.patch new file mode 100644 index 0000000..32bd5af --- /dev/null +++ b/bnc-435668-hide-accept.patch @@ -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) && diff --git a/bnc-435722-book-uri-long.patch b/bnc-435722-book-uri-long.patch new file mode 100644 index 0000000..9f82afe --- /dev/null +++ b/bnc-435722-book-uri-long.patch @@ -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 ( diff --git a/bnc-441763-diff-meeting-icon.patch b/bnc-441763-diff-meeting-icon.patch new file mode 100644 index 0000000..9c310f2 --- /dev/null +++ b/bnc-441763-diff-meeting-icon.patch @@ -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)); diff --git a/bnc-441770-non-intrusive-calendar.patch b/bnc-441770-non-intrusive-calendar.patch new file mode 100644 index 0000000..1498799 --- /dev/null +++ b/bnc-441770-non-intrusive-calendar.patch @@ -0,0 +1,1168 @@ +--- calendar/calendar.error.xml 2008-10-13 14:13:56.000000000 +0530 ++++ calendar/calendar.error.xml 2008-11-05 16:53:41.000000000 +0530 +@@ -176,6 +176,23 @@ + <_secondary>Your memos will not be available until Evolution is restarted. + + ++ ++ <_primary>The Evolution calendars have quit unexpectedly. ++ <_secondary>Your calendars will not be available until Evolution is restarted. ++ ++ ++ ++ <_primary>Unable to load the calendar ++ <_secondary>Calendar repository is offline. ++