This commit is contained in:
parent
8a3412e6ae
commit
7f96199b98
@ -1,15 +0,0 @@
|
||||
Index: e-util/e-config.c
|
||||
===================================================================
|
||||
--- e-util/e-config.c (revision 36811)
|
||||
+++ e-util/e-config.c (working copy)
|
||||
@@ -122,6 +122,10 @@ ep_finalise(GObject *o)
|
||||
}
|
||||
|
||||
while ( (wn = (struct _widget_node *)e_dlist_remhead(&p->widgets)) ) {
|
||||
+ /* disconnect the gtk_widget_destroyed function from the widget */
|
||||
+ if (wn->widget)
|
||||
+ g_signal_handlers_disconnect_matched (wn->widget, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, &wn->widget);
|
||||
+
|
||||
g_free(wn);
|
||||
}
|
||||
|
@ -1,105 +0,0 @@
|
||||
Index: calendar/gui/gnome-cal.c
|
||||
===================================================================
|
||||
--- calendar/gui/gnome-cal.c (revision 36783)
|
||||
+++ calendar/gui/gnome-cal.c (working copy)
|
||||
@@ -194,6 +194,9 @@ struct _GnomeCalendarPrivate {
|
||||
/* We should know which calendar has been used to create object, so store it here
|
||||
before emitting "user_created" signal and make it NULL just after the emit. */
|
||||
ECal *user_created_cal;
|
||||
+
|
||||
+ /* used in update_todo_view, to prevent interleaving when called in separate thread */
|
||||
+ GMutex *todo_update_lock;
|
||||
};
|
||||
|
||||
/* Signal IDs */
|
||||
@@ -885,6 +888,8 @@ update_query_async (struct _date_query_m
|
||||
|
||||
real_sexp = adjust_e_cal_view_sexp (gcal, priv->sexp);
|
||||
if (!real_sexp) {
|
||||
+ g_object_unref (msg->gcal);
|
||||
+ g_slice_free (struct _date_query_msg, msg);
|
||||
return; /* No time range is set, so don't start a query */
|
||||
}
|
||||
|
||||
@@ -1304,18 +1309,30 @@ timezone_changed_cb (GConfClient *client
|
||||
set_timezone (calendar);
|
||||
}
|
||||
|
||||
+struct _mupdate_todo_msg {
|
||||
+ Message header;
|
||||
+ GnomeCalendar *gcal;
|
||||
+};
|
||||
+
|
||||
static void
|
||||
-update_todo_view (GnomeCalendar *gcal)
|
||||
+update_todo_view_async (struct _mupdate_todo_msg *msg)
|
||||
{
|
||||
+ GnomeCalendar *gcal;
|
||||
GnomeCalendarPrivate *priv;
|
||||
ECalModel *model;
|
||||
char *sexp = NULL;
|
||||
|
||||
+ g_return_if_fail (msg != NULL);
|
||||
+
|
||||
+ gcal = msg->gcal;
|
||||
priv = gcal->priv;
|
||||
|
||||
+ g_mutex_lock (priv->todo_update_lock);
|
||||
+
|
||||
/* Set the query on the task pad */
|
||||
if (priv->todo_sexp) {
|
||||
g_free (priv->todo_sexp);
|
||||
+ priv->todo_sexp = NULL;
|
||||
}
|
||||
|
||||
model = e_calendar_table_get_model (E_CALENDAR_TABLE (priv->todo));
|
||||
@@ -1330,6 +1347,22 @@ update_todo_view (GnomeCalendar *gcal)
|
||||
e_cal_model_set_search_query (model, priv->todo_sexp);
|
||||
}
|
||||
|
||||
+ g_mutex_unlock (priv->todo_update_lock);
|
||||
+
|
||||
+ g_object_unref (msg->gcal);
|
||||
+ g_slice_free (struct _mupdate_todo_msg, msg);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+update_todo_view (GnomeCalendar *gcal)
|
||||
+{
|
||||
+ struct _mupdate_todo_msg *msg;
|
||||
+
|
||||
+ msg = g_slice_new0 (struct _mupdate_todo_msg);
|
||||
+ msg->header.func = (MessageFunc) update_todo_view_async;
|
||||
+ msg->gcal = g_object_ref (gcal);
|
||||
+
|
||||
+ message_push ((Message *) msg);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1661,7 +1694,7 @@ setup_widgets (GnomeCalendar *gcal)
|
||||
"TaskPad", NULL);
|
||||
e_calendar_table_load_state (E_CALENDAR_TABLE (priv->todo), filename);
|
||||
|
||||
- update_todo_view (gcal);
|
||||
+ /* update_todo_view (gcal); */
|
||||
g_free (filename);
|
||||
|
||||
etable = e_calendar_table_get_table (E_CALENDAR_TABLE (priv->todo));
|
||||
@@ -1828,6 +1861,8 @@ gnome_calendar_init (GnomeCalendar *gcal
|
||||
|
||||
e_categories_register_change_listener (G_CALLBACK (categories_changed_cb), gcal);
|
||||
|
||||
+ priv->todo_update_lock = g_mutex_new ();
|
||||
+
|
||||
priv->current_view_type = GNOME_CAL_DAY_VIEW;
|
||||
priv->range_selected = FALSE;
|
||||
priv->lview_select_daten_range = TRUE;
|
||||
@@ -2004,6 +2039,8 @@ gnome_calendar_destroy (GtkObject *objec
|
||||
g_signal_handlers_disconnect_by_func (cal_model,
|
||||
G_CALLBACK (view_done_cb), gcal);
|
||||
|
||||
+ g_mutex_free (priv->todo_update_lock);
|
||||
+
|
||||
g_free (priv);
|
||||
gcal->priv = NULL;
|
||||
}
|
@ -1,270 +0,0 @@
|
||||
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>
|
@ -1,57 +0,0 @@
|
||||
Index: calendar/gui/e-calendar-table.c
|
||||
===================================================================
|
||||
--- calendar/gui/e-calendar-table.c (revision 36811)
|
||||
+++ calendar/gui/e-calendar-table.c (working copy)
|
||||
@@ -432,7 +432,7 @@ query_tooltip_cb (GtkWidget *widget, gin
|
||||
e_cal_component_free_datetime (&dtstart);
|
||||
e_cal_component_free_datetime (&dtdue);
|
||||
|
||||
- tmp = e_calendar_view_get_attendees_status_info (new_comp);
|
||||
+ tmp = e_calendar_view_get_attendees_status_info (new_comp, comp->client);
|
||||
if (tmp) {
|
||||
l = gtk_label_new (tmp);
|
||||
gtk_misc_set_alignment (GTK_MISC (l), 0.0, 0.5);
|
||||
Index: calendar/gui/e-calendar-view.c
|
||||
===================================================================
|
||||
--- calendar/gui/e-calendar-view.c (revision 36811)
|
||||
+++ calendar/gui/e-calendar-view.c (working copy)
|
||||
@@ -2137,7 +2137,7 @@ e_calendar_view_move_tip (GtkWidget *wid
|
||||
* Free returned pointer with g_free.
|
||||
**/
|
||||
char *
|
||||
-e_calendar_view_get_attendees_status_info (ECalComponent *comp)
|
||||
+e_calendar_view_get_attendees_status_info (ECalComponent *comp, ECal *client)
|
||||
{
|
||||
struct _values {
|
||||
icalparameter_partstat status;
|
||||
@@ -2158,7 +2158,7 @@ e_calendar_view_get_attendees_status_inf
|
||||
char *res = NULL;
|
||||
int i;
|
||||
|
||||
- if (!comp || !e_cal_component_has_attendees (comp))
|
||||
+ if (!comp || !e_cal_component_has_attendees (comp) || !itip_organizer_is_user (comp, client))
|
||||
return NULL;
|
||||
|
||||
e_cal_component_get_attendee_list (comp, &attendees);
|
||||
@@ -2354,7 +2354,7 @@ e_calendar_view_get_tooltips (ECalendarV
|
||||
g_free (tmp2);
|
||||
g_free (tmp1);
|
||||
|
||||
- tmp = e_calendar_view_get_attendees_status_info (newcomp);
|
||||
+ tmp = e_calendar_view_get_attendees_status_info (newcomp, pevent->comp_data->client);
|
||||
if (tmp) {
|
||||
hbox = gtk_hbox_new (FALSE, 0);
|
||||
gtk_box_pack_start ((GtkBox *)hbox, gtk_label_new (tmp), FALSE, FALSE, 0);
|
||||
Index: calendar/gui/e-calendar-view.h
|
||||
===================================================================
|
||||
--- calendar/gui/e-calendar-view.h (revision 36811)
|
||||
+++ calendar/gui/e-calendar-view.h (working copy)
|
||||
@@ -175,7 +175,7 @@ gboolean e_calendar_view_get_tooltips (E
|
||||
void e_calendar_view_move_tip (GtkWidget *widget, int x, int y);
|
||||
|
||||
const gchar *e_calendar_view_get_icalcomponent_summary (ECal *ecal, icalcomponent *icalcomp, gboolean *free_text);
|
||||
-char *e_calendar_view_get_attendees_status_info (ECalComponent *comp);
|
||||
+char *e_calendar_view_get_attendees_status_info (ECalComponent *comp, ECal *client);
|
||||
|
||||
void draw_curved_rectangle (cairo_t *cr,
|
||||
double x0,
|
@ -1,58 +0,0 @@
|
||||
Index: calendar/gui/itip-utils.c
|
||||
===================================================================
|
||||
--- calendar/gui/itip-utils.c (revision 37007)
|
||||
+++ calendar/gui/itip-utils.c (working copy)
|
||||
@@ -83,13 +83,13 @@ itip_addresses_get_default (void)
|
||||
}
|
||||
|
||||
gboolean
|
||||
-itip_organizer_is_user (ECalComponent *comp, ECal *client)
|
||||
+itip_organizer_is_user_ex (ECalComponent *comp, ECal *client, gboolean skip_cap_test)
|
||||
{
|
||||
ECalComponentOrganizer organizer;
|
||||
const char *strip;
|
||||
gboolean user_org = FALSE;
|
||||
|
||||
- if (!e_cal_component_has_organizer (comp) || e_cal_get_static_capability (client, CAL_STATIC_CAPABILITY_NO_ORGANIZER))
|
||||
+ if (!e_cal_component_has_organizer (comp) || (!skip_cap_test && e_cal_get_static_capability (client, CAL_STATIC_CAPABILITY_NO_ORGANIZER)))
|
||||
return FALSE;
|
||||
|
||||
e_cal_component_get_organizer (comp, &organizer);
|
||||
@@ -117,6 +117,12 @@ itip_organizer_is_user (ECalComponent *c
|
||||
}
|
||||
|
||||
gboolean
|
||||
+itip_organizer_is_user (ECalComponent *comp, ECal *client)
|
||||
+{
|
||||
+ return itip_organizer_is_user_ex (comp, client, FALSE);
|
||||
+}
|
||||
+
|
||||
+gboolean
|
||||
itip_sentby_is_user (ECalComponent *comp)
|
||||
{
|
||||
ECalComponentOrganizer organizer;
|
||||
Index: calendar/gui/itip-utils.h
|
||||
===================================================================
|
||||
--- calendar/gui/itip-utils.h (revision 37007)
|
||||
+++ calendar/gui/itip-utils.h (working copy)
|
||||
@@ -51,6 +51,7 @@ EAccountList *itip_addresses_get (void);
|
||||
EAccount *itip_addresses_get_default (void);
|
||||
|
||||
gboolean itip_organizer_is_user (ECalComponent *comp, ECal *client);
|
||||
+gboolean itip_organizer_is_user_ex (ECalComponent *comp, ECal *client, gboolean skip_cap_test);
|
||||
gboolean itip_sentby_is_user (ECalComponent *comp);
|
||||
|
||||
const gchar *itip_strip_mailto (const gchar *address);
|
||||
Index: calendar/gui/e-calendar-view.c
|
||||
===================================================================
|
||||
--- calendar/gui/e-calendar-view.c (revision 37007)
|
||||
+++ calendar/gui/e-calendar-view.c (working copy)
|
||||
@@ -2234,7 +2234,7 @@ e_calendar_view_get_attendees_status_inf
|
||||
char *res = NULL;
|
||||
int i;
|
||||
|
||||
- if (!comp || !e_cal_component_has_attendees (comp) || !itip_organizer_is_user (comp, client))
|
||||
+ if (!comp || !e_cal_component_has_attendees (comp) || !itip_organizer_is_user_ex (comp, client, TRUE))
|
||||
return NULL;
|
||||
|
||||
e_cal_component_get_attendee_list (comp, &attendees);
|
@ -1,91 +0,0 @@
|
||||
--- plugins/exchange-operations/exchange-account-setup.c 2008/12/02 05:51:59 36824
|
||||
+++ plugins/exchange-operations/exchange-account-setup.c 2008/12/02 12:23:33 36825
|
||||
@@ -613,6 +613,30 @@
|
||||
update_mailbox_param_in_url (target->account, E_ACCOUNT_TRANSPORT_URL, mailbox);
|
||||
}
|
||||
|
||||
+static void
|
||||
+want_mailbox_toggled (GtkWidget *toggle, EConfig *config)
|
||||
+{
|
||||
+ GtkWidget *entry;
|
||||
+
|
||||
+ g_return_if_fail (toggle != NULL);
|
||||
+ g_return_if_fail (config != NULL);
|
||||
+
|
||||
+ entry = g_object_get_data (G_OBJECT (toggle), "mailbox-entry");
|
||||
+ if (entry) {
|
||||
+ gboolean is_active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (toggle));
|
||||
+ EMConfigTargetAccount *target;
|
||||
+ const char *mailbox;
|
||||
+
|
||||
+ gtk_widget_set_sensitive (entry, is_active);
|
||||
+
|
||||
+ target = (EMConfigTargetAccount *)config->target;
|
||||
+ mailbox = gtk_entry_get_text (GTK_ENTRY (entry));
|
||||
+
|
||||
+ update_mailbox_param_in_url (target->account, E_ACCOUNT_SOURCE_URL, is_active ? mailbox : NULL);
|
||||
+ update_mailbox_param_in_url (target->account, E_ACCOUNT_TRANSPORT_URL, is_active ? mailbox : NULL);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
static char *
|
||||
construct_owa_url (CamelURL *url)
|
||||
{
|
||||
@@ -645,8 +669,8 @@
|
||||
{
|
||||
EMConfigTargetAccount *target_account;
|
||||
const char *source_url;
|
||||
- char *owa_url = NULL, *mailbox_name;
|
||||
- GtkWidget *owa_entry, *mailbox_entry;
|
||||
+ char *owa_url = NULL, *mailbox_name, *username;
|
||||
+ GtkWidget *owa_entry, *mailbox_entry, *want_mailbox_check;
|
||||
CamelURL *url;
|
||||
int row;
|
||||
GtkWidget *hbox, *label, *button;
|
||||
@@ -679,6 +703,7 @@
|
||||
|
||||
owa_url = g_strdup (camel_url_get_param(url, "owa_url"));
|
||||
mailbox_name = g_strdup (camel_url_get_param (url, "mailbox"));
|
||||
+ username = g_strdup (url->user);
|
||||
|
||||
/* if the host is null, then user+other info is dropped silently, force it to be kept */
|
||||
if (url->host == NULL) {
|
||||
@@ -740,6 +765,19 @@
|
||||
owa_editor_entry_changed (owa_entry, data->config);
|
||||
|
||||
row++;
|
||||
+ want_mailbox_check = gtk_check_button_new_with_mnemonic (_("S_pecify the mailbox name"));
|
||||
+ gtk_widget_show (want_mailbox_check);
|
||||
+ gtk_table_attach (GTK_TABLE (data->parent), want_mailbox_check, 1, 2, row, row+1, GTK_FILL, GTK_FILL, 0, 0);
|
||||
+ if (!username || !*username || !mailbox_name || !*mailbox_name ||
|
||||
+ g_ascii_strcasecmp (username, mailbox_name) == 0 ||
|
||||
+ (strchr (username, '/') && g_ascii_strcasecmp (strchr (username, '/') + 1, mailbox_name) == 0)) {
|
||||
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (want_mailbox_check), FALSE);
|
||||
+ } else {
|
||||
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (want_mailbox_check), TRUE);
|
||||
+ }
|
||||
+ g_signal_connect (want_mailbox_check, "toggled", G_CALLBACK (want_mailbox_toggled), data->config);
|
||||
+
|
||||
+ row++;
|
||||
label = gtk_label_new_with_mnemonic (_("_Mailbox:"));
|
||||
gtk_widget_show (label);
|
||||
|
||||
@@ -750,14 +788,18 @@
|
||||
|
||||
gtk_label_set_mnemonic_widget (GTK_LABEL (label), mailbox_entry);
|
||||
|
||||
+ gtk_widget_set_sensitive (mailbox_entry, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (want_mailbox_check)));
|
||||
+
|
||||
g_signal_connect (mailbox_entry, "changed", G_CALLBACK (mailbox_editor_entry_changed), data->config);
|
||||
g_object_set_data (G_OBJECT (button), "mailbox-entry", mailbox_entry);
|
||||
+ g_object_set_data (G_OBJECT (want_mailbox_check), "mailbox-entry", mailbox_entry);
|
||||
|
||||
gtk_table_attach (GTK_TABLE (data->parent), label, 0, 1, row, row+1, 0, 0, 0, 0);
|
||||
gtk_table_attach (GTK_TABLE (data->parent), mailbox_entry, 1, 2, row, row+1, GTK_FILL|GTK_EXPAND, GTK_FILL, 0, 0);
|
||||
|
||||
g_free (owa_url);
|
||||
g_free (mailbox_name);
|
||||
+ g_free (username);
|
||||
|
||||
return hbox;
|
||||
}
|
@ -1,60 +0,0 @@
|
||||
Index: composer/e-msg-composer.c
|
||||
===================================================================
|
||||
--- composer/e-msg-composer.c (revision 36891)
|
||||
+++ composer/e-msg-composer.c (working copy)
|
||||
@@ -67,6 +67,7 @@
|
||||
#include "e-util/e-plugin-ui.h"
|
||||
#include "e-util/e-util-private.h"
|
||||
#include "e-util/e-util.h"
|
||||
+#include "e-util/e-mktemp.h"
|
||||
#include <mail/em-event.h>
|
||||
#include "e-signature-combo-box.h"
|
||||
|
||||
@@ -2454,6 +2455,7 @@ msg_composer_paste_clipboard (GtkhtmlEdi
|
||||
EMsgComposer *composer;
|
||||
GtkWidget *parent;
|
||||
GtkWidget *widget;
|
||||
+ GtkClipboard *clipboard;
|
||||
|
||||
composer = E_MSG_COMPOSER (editor);
|
||||
widget = gtk_window_get_focus (GTK_WINDOW (editor));
|
||||
@@ -2464,8 +2466,37 @@ msg_composer_paste_clipboard (GtkhtmlEdi
|
||||
return;
|
||||
}
|
||||
|
||||
- /* Chain up to parent's paste_clipboard() method. */
|
||||
- GTKHTML_EDITOR_CLASS (parent_class)->paste_clipboard (editor);
|
||||
+ clipboard = gtk_widget_get_clipboard (widget, GDK_SELECTION_CLIPBOARD);
|
||||
+ if (clipboard && gtk_clipboard_wait_is_image_available (clipboard)) {
|
||||
+ GdkPixbuf *pixbuf;
|
||||
+
|
||||
+ pixbuf = gtk_clipboard_wait_for_image (clipboard);
|
||||
+ if (pixbuf) {
|
||||
+ char *tmpl = g_strconcat (_("Image"), "-XXXXXX", NULL);
|
||||
+ char *filename = e_mktemp (tmpl);
|
||||
+
|
||||
+ g_free (tmpl);
|
||||
+
|
||||
+ if (filename && gdk_pixbuf_save (pixbuf, filename, "png", NULL, NULL)) {
|
||||
+ if (gtkhtml_editor_get_html_mode (editor)) {
|
||||
+ char *uri = g_strconcat ("file://", filename, NULL);
|
||||
+ /* this loads image async, thus cannot remove file from this */
|
||||
+ gtkhtml_editor_insert_image (editor, uri);
|
||||
+ g_free (uri);
|
||||
+ } else {
|
||||
+ /* this loads image immediately, remove file from cache to free up disk space */
|
||||
+ e_attachment_bar_attach (E_ATTACHMENT_BAR (composer->priv->attachment_bar), filename, "image/png");
|
||||
+ g_remove (filename);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ g_free (filename);
|
||||
+ g_object_unref (pixbuf);
|
||||
+ }
|
||||
+ } else {
|
||||
+ /* Chain up to parent's paste_clipboard() method. */
|
||||
+ GTKHTML_EDITOR_CLASS (parent_class)->paste_clipboard (editor);
|
||||
+ }
|
||||
}
|
||||
|
||||
static void
|
@ -1,51 +0,0 @@
|
||||
--- plugins/mail-notification/mail-notification.c
|
||||
+++ plugins/mail-notification/mail-notification.c
|
||||
@@ -56,6 +56,7 @@
|
||||
|
||||
static gboolean enabled = FALSE;
|
||||
static GtkWidget *get_cfg_widget (void);
|
||||
+static GStaticMutex mlock = G_STATIC_MUTEX_INIT;
|
||||
|
||||
/**
|
||||
* each part should "implement" its own "public" functions:
|
||||
@@ -441,6 +442,24 @@ popup_menu_status (GtkStatusIcon *status_icon, guint button, guint activate_time
|
||||
g_object_unref (menu);
|
||||
}
|
||||
|
||||
+static void
|
||||
+notifyActionCallback (NotifyNotification *n, gchar *label, gpointer a)
|
||||
+{
|
||||
+ g_static_mutex_lock (&mlock);
|
||||
+
|
||||
+ gtk_status_icon_set_visible (status_icon, FALSE);
|
||||
+ g_object_unref (status_icon);
|
||||
+
|
||||
+ if (blink_timeout_id) {
|
||||
+ g_source_remove (blink_timeout_id);
|
||||
+ blink_timeout_id = 0;
|
||||
+ }
|
||||
+
|
||||
+ status_icon = NULL;
|
||||
+ status_count = 0;
|
||||
+ g_static_mutex_unlock (&mlock);
|
||||
+}
|
||||
+
|
||||
static void
|
||||
new_notify_status (EMEventTargetFolder *t)
|
||||
{
|
||||
@@ -487,6 +506,7 @@ new_notify_status (EMEventTargetFolder *t)
|
||||
|
||||
notify_notification_set_urgency (notify, NOTIFY_URGENCY_NORMAL);
|
||||
notify_notification_set_timeout (notify, NOTIFY_EXPIRES_DEFAULT);
|
||||
+ notify_notification_add_action(notify, "default", "Default", notifyActionCallback, NULL, NULL);
|
||||
g_timeout_add (500, notification_callback, notify);
|
||||
}
|
||||
}
|
||||
@@ -835,7 +855,6 @@ void org_gnome_mail_read_notify (EPlugin *ep, EMEventTargetMessage *t);
|
||||
int e_plugin_lib_enable (EPluginLib *ep, int enable);
|
||||
GtkWidget *e_plugin_lib_get_configure_widget (EPlugin *epl);
|
||||
|
||||
-static GStaticMutex mlock = G_STATIC_MUTEX_INIT;
|
||||
|
||||
void
|
||||
org_gnome_mail_new_notify (EPlugin *ep, EMEventTargetFolder *t)
|
@ -1,33 +0,0 @@
|
||||
--- calendar/gui/e-meeting-list-view.c
|
||||
+++ calendar/gui/e-meeting-list-view.c
|
||||
@@ -471,6 +471,21 @@ status_edited_cb (GtkCellRenderer *renderer, const gchar *path, const gchar *tex
|
||||
}
|
||||
|
||||
static void
|
||||
+ense_update (GtkWidget *w, gpointer data1, gpointer user_data)
|
||||
+{
|
||||
+ gtk_cell_editable_editing_done ((GtkCellEditable *)w);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+editing_started_cb (GtkCellRenderer *renderer,
|
||||
+ GtkCellEditable *editable,
|
||||
+ gchar *path,
|
||||
+ gpointer user_data)
|
||||
+{
|
||||
+ g_signal_connect (editable, "updated", G_CALLBACK(ense_update), NULL);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
build_table (EMeetingListView *lview)
|
||||
{
|
||||
GtkCellRenderer *renderer;
|
||||
@@ -501,6 +516,8 @@ build_table (EMeetingListView *lview)
|
||||
g_object_set_data (G_OBJECT (col), "mtg-store-col", GINT_TO_POINTER (E_MEETING_STORE_ATTENDEE_COL));
|
||||
g_signal_connect (renderer, "cell_edited", G_CALLBACK (attendee_edited_cb), view);
|
||||
g_signal_connect (renderer, "editing-canceled", G_CALLBACK (attendee_editing_canceled_cb), view);
|
||||
+ g_signal_connect (renderer, "editing-started", G_CALLBACK (editing_started_cb), view);
|
||||
+
|
||||
g_hash_table_insert (edit_table, GINT_TO_POINTER (E_MEETING_STORE_ATTENDEE_COL), renderer);
|
||||
|
||||
renderer = e_cell_renderer_combo_new ();
|
@ -1,496 +0,0 @@
|
||||
Index: calendar/gui/e-day-view-main-item.c
|
||||
===================================================================
|
||||
--- calendar/gui/e-day-view-main-item.c (revision 36947)
|
||||
+++ calendar/gui/e-day-view-main-item.c (working copy)
|
||||
@@ -940,146 +940,18 @@
|
||||
if (day_view->resize_drag_pos != E_CALENDAR_VIEW_POS_NONE
|
||||
&& day_view->resize_event_day == day
|
||||
&& day_view->resize_event_num == event_num) {
|
||||
- resize_flag = TRUE;
|
||||
|
||||
+ /* If the item is being resized, don't resized it.
|
||||
+ I have removed code which are resized the meeting.
|
||||
+ It will block the resize or move the meeting in
|
||||
+ calendar UI from attendee side.*/
|
||||
if (day_view->resize_drag_pos == E_CALENDAR_VIEW_POS_TOP_EDGE)
|
||||
bar_y1 = item_y + 1;
|
||||
|
||||
- else if (day_view->resize_drag_pos == E_CALENDAR_VIEW_POS_BOTTOM_EDGE) {
|
||||
+ else if (day_view->resize_drag_pos == E_CALENDAR_VIEW_POS_BOTTOM_EDGE)
|
||||
bar_y2 = item_y + item_h - 1;
|
||||
-
|
||||
- end_minute = event->end_minute;
|
||||
-
|
||||
- end_hour = end_minute / 60;
|
||||
- end_minute = end_minute % 60;
|
||||
-
|
||||
- e_day_view_convert_time_to_display (day_view, end_hour,
|
||||
- &end_display_hour,
|
||||
- &end_resize_suffix,
|
||||
- &end_suffix_width);
|
||||
-
|
||||
- cairo_save (cr);
|
||||
- cairo_rectangle (cr, item_x + E_DAY_VIEW_BAR_WIDTH + 1.75, item_y + 2.75,
|
||||
- item_w - E_DAY_VIEW_BAR_WIDTH - 4.5,
|
||||
- item_h - 5.5);
|
||||
- cairo_clip (cr);
|
||||
- cairo_new_path (cr);
|
||||
-
|
||||
- if (e_calendar_view_get_use_24_hour_format (E_CALENDAR_VIEW (day_view))) {
|
||||
- cairo_translate (cr, item_x + item_w - E_DAY_VIEW_BAR_WIDTH - 32, item_y + item_h - 8);
|
||||
- end_resize_time = g_strdup_printf ("%2i:%02i",
|
||||
- end_display_hour, end_minute);
|
||||
-
|
||||
- } else {
|
||||
- cairo_translate (cr, item_x + item_w - E_DAY_VIEW_BAR_WIDTH - 48, item_y + item_h - 8);
|
||||
- end_resize_time = g_strdup_printf ("%2i:%02i%s",
|
||||
- end_display_hour, end_minute,
|
||||
- end_resize_suffix);
|
||||
- }
|
||||
- cairo_set_font_size (cr, 14);
|
||||
- if ((red/cc > 0.7) || (green/cc > 0.7) || (blue/cc > 0.7 ))
|
||||
- cairo_set_source_rgb (cr, 0, 0, 0);
|
||||
- else
|
||||
- cairo_set_source_rgb (cr, 1, 1, 1);
|
||||
- cairo_set_font_options (cr, font_options);
|
||||
- cairo_show_text (cr, end_resize_time);
|
||||
- cairo_close_path (cr);
|
||||
- cairo_restore (cr);
|
||||
- }
|
||||
}
|
||||
|
||||
- if (bar_y2 > scroll_flag)
|
||||
- event->end_minute += day_view->mins_per_row;
|
||||
- else if (bar_y2 < scroll_flag)
|
||||
- event->end_minute -= day_view->mins_per_row;
|
||||
-
|
||||
- if (!short_event)
|
||||
- {
|
||||
- if (event->start_minute % day_view->mins_per_row != 0
|
||||
- || (day_view->show_event_end_times
|
||||
- && event->end_minute % day_view->mins_per_row != 0)) {
|
||||
- offset = day_view->first_hour_shown * 60
|
||||
- + day_view->first_minute_shown;
|
||||
- show_span = TRUE;
|
||||
- } else {
|
||||
- offset = 0;
|
||||
- }
|
||||
- start_minute = offset + event->start_minute;
|
||||
- end_minute = offset + event->end_minute;
|
||||
-
|
||||
- format_time = (((end_minute - start_minute)/day_view->mins_per_row) >= 2) ? TRUE : FALSE;
|
||||
-
|
||||
- start_hour = start_minute / 60;
|
||||
- start_minute = start_minute % 60;
|
||||
-
|
||||
- end_hour = end_minute / 60;
|
||||
- end_minute = end_minute % 60;
|
||||
-
|
||||
- e_day_view_convert_time_to_display (day_view, start_hour,
|
||||
- &start_display_hour,
|
||||
- &start_suffix,
|
||||
- &start_suffix_width);
|
||||
- e_day_view_convert_time_to_display (day_view, end_hour,
|
||||
- &end_display_hour,
|
||||
- &end_suffix,
|
||||
- &end_suffix_width);
|
||||
-
|
||||
- if (e_calendar_view_get_use_24_hour_format (E_CALENDAR_VIEW (day_view))) {
|
||||
- if (day_view->show_event_end_times && show_span) {
|
||||
- /* 24 hour format with end time. */
|
||||
- text = g_strdup_printf
|
||||
- ("%2i:%02i-%2i:%02i",
|
||||
- start_display_hour, start_minute,
|
||||
- end_display_hour, end_minute);
|
||||
- } else {
|
||||
- if (format_time) {
|
||||
- /* 24 hour format without end time. */
|
||||
- text = g_strdup_printf
|
||||
- ("%2i:%02i",
|
||||
- start_display_hour, start_minute);
|
||||
- }
|
||||
- }
|
||||
- } else {
|
||||
- if (day_view->show_event_end_times && show_span) {
|
||||
- /* 12 hour format with end time. */
|
||||
- text = g_strdup_printf
|
||||
- ("%2i:%02i%s-%2i:%02i%s",
|
||||
- start_display_hour, start_minute,
|
||||
- start_suffix,
|
||||
- end_display_hour, end_minute, end_suffix);
|
||||
- } else {
|
||||
- /* 12 hour format without end time. */
|
||||
- text = g_strdup_printf
|
||||
- ("%2i:%02i%s",
|
||||
- start_display_hour, start_minute,
|
||||
- start_suffix);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- cairo_save (cr);
|
||||
- cairo_rectangle (cr, item_x + E_DAY_VIEW_BAR_WIDTH + 1.75, item_y + 2.75,
|
||||
- item_w - E_DAY_VIEW_BAR_WIDTH - 4.5,
|
||||
- 14);
|
||||
- cairo_clip (cr);
|
||||
- cairo_new_path (cr);
|
||||
- if (resize_flag)
|
||||
- cairo_move_to (cr, item_x + E_DAY_VIEW_BAR_WIDTH + 10, item_y + 13);
|
||||
- else
|
||||
- cairo_move_to (cr, item_x + E_DAY_VIEW_BAR_WIDTH + 14, item_y + 13);
|
||||
- if ((red/cc > 0.7) || (green/cc > 0.7) || (blue/cc > 0.7 ))
|
||||
- cairo_set_source_rgb (cr, 0, 0, 0);
|
||||
- else
|
||||
- cairo_set_source_rgb (cr, 1, 1, 1);
|
||||
- cairo_set_font_size (cr, 14.0);
|
||||
- cairo_set_font_options (cr, font_options);
|
||||
- cairo_show_text (cr, text);
|
||||
- cairo_close_path (cr);
|
||||
- cairo_restore (cr);
|
||||
- }
|
||||
-
|
||||
- if (font_options)
|
||||
- cairo_font_options_destroy (font_options);
|
||||
-
|
||||
comp = e_cal_component_new ();
|
||||
e_cal_component_set_icalcomponent (comp, icalcomponent_new_clone (event->comp_data->icalcomp));
|
||||
|
||||
@@ -1115,188 +987,181 @@
|
||||
&day_view->colors[E_DAY_VIEW_COLOR_EVENT_VBAR]);
|
||||
|
||||
/* Draw the reminder & recurrence icons, if needed. */
|
||||
- if (!resize_flag) {
|
||||
- num_icons = 0;
|
||||
- draw_reminder_icon = FALSE;
|
||||
- draw_recurrence_icon = FALSE;
|
||||
- draw_timezone_icon = FALSE;
|
||||
- draw_meeting_icon = FALSE;
|
||||
- draw_attach_icon = FALSE;
|
||||
- icon_x = item_x + E_DAY_VIEW_BAR_WIDTH + E_DAY_VIEW_ICON_X_PAD;
|
||||
- icon_y = item_y + E_DAY_VIEW_EVENT_BORDER_HEIGHT
|
||||
- + E_DAY_VIEW_ICON_Y_PAD;
|
||||
+ num_icons = 0;
|
||||
+ draw_reminder_icon = FALSE;
|
||||
+ draw_recurrence_icon = FALSE;
|
||||
+ draw_timezone_icon = FALSE;
|
||||
+ draw_meeting_icon = FALSE;
|
||||
+ draw_attach_icon = FALSE;
|
||||
+ icon_x = item_x + E_DAY_VIEW_BAR_WIDTH + E_DAY_VIEW_ICON_X_PAD;
|
||||
+ icon_y = item_y + E_DAY_VIEW_EVENT_BORDER_HEIGHT
|
||||
+ + E_DAY_VIEW_ICON_Y_PAD;
|
||||
|
||||
- if (e_cal_component_has_alarms (comp)) {
|
||||
- draw_reminder_icon = TRUE;
|
||||
- num_icons++;
|
||||
- }
|
||||
+ if (e_cal_component_has_alarms (comp)) {
|
||||
+ draw_reminder_icon = TRUE;
|
||||
+ num_icons++;
|
||||
+ }
|
||||
|
||||
- if (e_cal_component_has_recurrences (comp) || e_cal_component_is_instance (comp)) {
|
||||
- draw_recurrence_icon = TRUE;
|
||||
- num_icons++;
|
||||
- }
|
||||
- if (e_cal_component_has_attachments (comp)) {
|
||||
- draw_attach_icon = TRUE;
|
||||
- num_icons++;
|
||||
- }
|
||||
- /* If the DTSTART or DTEND are in a different timezone to our current
|
||||
- timezone, we display the timezone icon. */
|
||||
- if (event->different_timezone) {
|
||||
- draw_timezone_icon = TRUE;
|
||||
- num_icons++;
|
||||
- }
|
||||
+ if (e_cal_component_has_recurrences (comp) || e_cal_component_is_instance (comp)) {
|
||||
+ draw_recurrence_icon = TRUE;
|
||||
+ num_icons++;
|
||||
+ }
|
||||
+ if (e_cal_component_has_attachments (comp)) {
|
||||
+ draw_attach_icon = TRUE;
|
||||
+ num_icons++;
|
||||
+ }
|
||||
+ /* If the DTSTART or DTEND are in a different timezone to our current
|
||||
+ timezone, we display the timezone icon. */
|
||||
+ if (event->different_timezone) {
|
||||
+ draw_timezone_icon = TRUE;
|
||||
+ num_icons++;
|
||||
+ }
|
||||
|
||||
- if (e_cal_component_has_organizer (comp)) {
|
||||
- draw_meeting_icon = TRUE;
|
||||
- num_icons++;
|
||||
- }
|
||||
+ if (e_cal_component_has_organizer (comp)) {
|
||||
+ draw_meeting_icon = TRUE;
|
||||
+ num_icons++;
|
||||
+ }
|
||||
|
||||
- num_icons += cal_comp_util_get_n_icons (comp);
|
||||
- e_cal_component_get_categories_list (comp, &categories_list);
|
||||
+ num_icons += cal_comp_util_get_n_icons (comp);
|
||||
+ e_cal_component_get_categories_list (comp, &categories_list);
|
||||
|
||||
- if (num_icons != 0) {
|
||||
- if (item_h >= (E_DAY_VIEW_ICON_HEIGHT + E_DAY_VIEW_ICON_Y_PAD)
|
||||
- * num_icons) {
|
||||
- icon_x_inc = 0;
|
||||
- icon_y_inc = E_DAY_VIEW_ICON_HEIGHT
|
||||
- + E_DAY_VIEW_ICON_Y_PAD;
|
||||
- } else {
|
||||
- icon_x_inc = E_DAY_VIEW_ICON_WIDTH
|
||||
- + E_DAY_VIEW_ICON_X_PAD;
|
||||
- icon_y_inc = 0;
|
||||
- }
|
||||
+ if (num_icons != 0) {
|
||||
+ if (item_h >= (E_DAY_VIEW_ICON_HEIGHT + E_DAY_VIEW_ICON_Y_PAD)
|
||||
+ * num_icons) {
|
||||
+ icon_x_inc = 0;
|
||||
+ icon_y_inc = E_DAY_VIEW_ICON_HEIGHT
|
||||
+ + E_DAY_VIEW_ICON_Y_PAD;
|
||||
+ } else {
|
||||
+ icon_x_inc = E_DAY_VIEW_ICON_WIDTH
|
||||
+ + E_DAY_VIEW_ICON_X_PAD;
|
||||
+ icon_y_inc = 0;
|
||||
+ }
|
||||
|
||||
- if (draw_reminder_icon) {
|
||||
- max_icon_w = item_x + item_w - icon_x
|
||||
- - E_DAY_VIEW_EVENT_BORDER_WIDTH;
|
||||
- max_icon_h = item_y + item_h - icon_y
|
||||
- - E_DAY_VIEW_EVENT_BORDER_HEIGHT;
|
||||
+ if (draw_reminder_icon) {
|
||||
+ max_icon_w = item_x + item_w - icon_x
|
||||
+ - E_DAY_VIEW_EVENT_BORDER_WIDTH;
|
||||
+ max_icon_h = item_y + item_h - icon_y
|
||||
+ - E_DAY_VIEW_EVENT_BORDER_HEIGHT;
|
||||
|
||||
- cairo_save (cr);
|
||||
- cairo_rectangle (cr, icon_x, icon_y, max_icon_w, max_icon_h);
|
||||
- cairo_clip (cr);
|
||||
- cairo_new_path (cr);
|
||||
- gdk_cairo_set_source_pixbuf (cr, day_view->reminder_icon, icon_x, icon_y);
|
||||
- cairo_paint (cr);
|
||||
- cairo_close_path (cr);
|
||||
- cairo_restore (cr);
|
||||
+ cairo_save (cr);
|
||||
+ cairo_rectangle (cr, icon_x, icon_y, max_icon_w, max_icon_h);
|
||||
+ cairo_clip (cr);
|
||||
+ cairo_new_path (cr);
|
||||
+ gdk_cairo_set_source_pixbuf (cr, day_view->reminder_icon, icon_x, icon_y);
|
||||
+ cairo_paint (cr);
|
||||
+ cairo_close_path (cr);
|
||||
+ cairo_restore (cr);
|
||||
+ icon_x += icon_x_inc;
|
||||
+ icon_y += icon_y_inc;
|
||||
+ }
|
||||
|
||||
- icon_x += icon_x_inc;
|
||||
- icon_y += icon_y_inc;
|
||||
- }
|
||||
+ if (draw_recurrence_icon) {
|
||||
+ max_icon_w = item_x + item_w - icon_x
|
||||
+ - E_DAY_VIEW_EVENT_BORDER_WIDTH;
|
||||
+ max_icon_h = item_y + item_h - icon_y
|
||||
+ - E_DAY_VIEW_EVENT_BORDER_HEIGHT;
|
||||
|
||||
- if (draw_recurrence_icon) {
|
||||
- max_icon_w = item_x + item_w - icon_x
|
||||
- - E_DAY_VIEW_EVENT_BORDER_WIDTH;
|
||||
- max_icon_h = item_y + item_h - icon_y
|
||||
- - E_DAY_VIEW_EVENT_BORDER_HEIGHT;
|
||||
+ cairo_save (cr);
|
||||
+ cairo_rectangle (cr, icon_x, icon_y, max_icon_w, max_icon_h);
|
||||
+ cairo_clip (cr);
|
||||
+ cairo_new_path (cr);
|
||||
+ gdk_cairo_set_source_pixbuf (cr, day_view->recurrence_icon, icon_x, icon_y);
|
||||
+ cairo_paint (cr);
|
||||
+ cairo_close_path (cr);
|
||||
+ cairo_restore (cr);
|
||||
+ icon_x += icon_x_inc;
|
||||
+ icon_y += icon_y_inc;
|
||||
+ }
|
||||
+ if (draw_attach_icon) {
|
||||
+ max_icon_w = item_x + item_w - icon_x
|
||||
+ - E_DAY_VIEW_EVENT_BORDER_WIDTH;
|
||||
+ max_icon_h = item_y + item_h - icon_y
|
||||
+ - E_DAY_VIEW_EVENT_BORDER_HEIGHT;
|
||||
|
||||
- cairo_save (cr);
|
||||
- cairo_rectangle (cr, icon_x, icon_y, max_icon_w, max_icon_h);
|
||||
- cairo_clip (cr);
|
||||
- cairo_new_path (cr);
|
||||
- gdk_cairo_set_source_pixbuf (cr, day_view->recurrence_icon, icon_x, icon_y);
|
||||
- cairo_paint (cr);
|
||||
- cairo_close_path (cr);
|
||||
- cairo_restore (cr);
|
||||
+ cairo_save (cr);
|
||||
+ cairo_rectangle (cr, icon_x, icon_y, max_icon_w, max_icon_h);
|
||||
+ cairo_clip (cr);
|
||||
+ cairo_new_path (cr);
|
||||
+ gdk_cairo_set_source_pixbuf (cr, day_view->attach_icon, icon_x, icon_y);
|
||||
+ cairo_paint (cr);
|
||||
+ cairo_close_path (cr);
|
||||
+ cairo_restore (cr);
|
||||
+ icon_x += icon_x_inc;
|
||||
+ icon_y += icon_y_inc;
|
||||
+ }
|
||||
+ if (draw_timezone_icon) {
|
||||
+ max_icon_w = item_x + item_w - icon_x
|
||||
+ - E_DAY_VIEW_EVENT_BORDER_WIDTH;
|
||||
+ max_icon_h = item_y + item_h - icon_y
|
||||
+ - E_DAY_VIEW_EVENT_BORDER_HEIGHT;
|
||||
|
||||
- icon_x += icon_x_inc;
|
||||
- icon_y += icon_y_inc;
|
||||
- }
|
||||
- if (draw_attach_icon) {
|
||||
- max_icon_w = item_x + item_w - icon_x
|
||||
- - E_DAY_VIEW_EVENT_BORDER_WIDTH;
|
||||
- max_icon_h = item_y + item_h - icon_y
|
||||
- - E_DAY_VIEW_EVENT_BORDER_HEIGHT;
|
||||
+ cairo_save (cr);
|
||||
+ cairo_rectangle (cr, icon_x, icon_y, max_icon_w, max_icon_h);
|
||||
+ cairo_clip (cr);
|
||||
+ cairo_new_path (cr);
|
||||
+ gdk_cairo_set_source_pixbuf (cr, day_view->timezone_icon, icon_x, icon_y);
|
||||
+ cairo_paint (cr);
|
||||
+ cairo_close_path (cr);
|
||||
+ cairo_restore (cr);
|
||||
+ icon_x += icon_x_inc;
|
||||
+ icon_y += icon_y_inc;
|
||||
+ }
|
||||
|
||||
- cairo_save (cr);
|
||||
- cairo_rectangle (cr, icon_x, icon_y, max_icon_w, max_icon_h);
|
||||
- cairo_clip (cr);
|
||||
- cairo_new_path (cr);
|
||||
- gdk_cairo_set_source_pixbuf (cr, day_view->attach_icon, icon_x, icon_y);
|
||||
- cairo_paint (cr);
|
||||
- cairo_close_path (cr);
|
||||
- cairo_restore (cr);
|
||||
- icon_x += icon_x_inc;
|
||||
- icon_y += icon_y_inc;
|
||||
- }
|
||||
- if (draw_timezone_icon) {
|
||||
- max_icon_w = item_x + item_w - icon_x
|
||||
- - E_DAY_VIEW_EVENT_BORDER_WIDTH;
|
||||
- max_icon_h = item_y + item_h - icon_y
|
||||
- - E_DAY_VIEW_EVENT_BORDER_HEIGHT;
|
||||
+ if (draw_meeting_icon) {
|
||||
+ max_icon_w = item_x + item_w - icon_x
|
||||
+ - E_DAY_VIEW_EVENT_BORDER_WIDTH;
|
||||
+ max_icon_h = item_y + item_h - icon_y
|
||||
+ - E_DAY_VIEW_EVENT_BORDER_HEIGHT;
|
||||
|
||||
- cairo_save (cr);
|
||||
- cairo_rectangle (cr, icon_x, icon_y, max_icon_w, max_icon_h);
|
||||
- cairo_clip (cr);
|
||||
- cairo_new_path (cr);
|
||||
- gdk_cairo_set_source_pixbuf (cr, day_view->timezone_icon, icon_x, icon_y);
|
||||
- cairo_paint (cr);
|
||||
- cairo_close_path (cr);
|
||||
- cairo_restore (cr);
|
||||
+ cairo_save (cr);
|
||||
+ gdk_cairo_set_source_pixbuf (cr, day_view->meeting_icon, icon_x, icon_y);
|
||||
+ cairo_paint (cr);
|
||||
+ cairo_restore (cr);
|
||||
|
||||
- icon_x += icon_x_inc;
|
||||
- icon_y += icon_y_inc;
|
||||
- }
|
||||
+ icon_x += icon_x_inc;
|
||||
+ icon_y += icon_y_inc;
|
||||
+ }
|
||||
|
||||
+ /* draw categories icons */
|
||||
+ for (elem = categories_list; elem; elem = elem->next) {
|
||||
+ char *category;
|
||||
+ GdkPixmap *pixmap = NULL;
|
||||
+ GdkBitmap *mask = NULL;
|
||||
|
||||
- if (draw_meeting_icon) {
|
||||
- max_icon_w = item_x + item_w - icon_x
|
||||
- - E_DAY_VIEW_EVENT_BORDER_WIDTH;
|
||||
- max_icon_h = item_y + item_h - icon_y
|
||||
- - E_DAY_VIEW_EVENT_BORDER_HEIGHT;
|
||||
+ category = (char *) elem->data;
|
||||
+ if (!e_categories_config_get_icon_for (category, &pixmap, &mask))
|
||||
+ continue;
|
||||
|
||||
- cairo_save (cr);
|
||||
- gdk_cairo_set_source_pixbuf (cr, day_view->meeting_icon, icon_x, icon_y);
|
||||
- cairo_paint (cr);
|
||||
- cairo_restore (cr);
|
||||
+ max_icon_w = item_x + item_w - icon_x
|
||||
+ - E_DAY_VIEW_EVENT_BORDER_WIDTH;
|
||||
+ max_icon_h = item_y + item_h - icon_y
|
||||
+ - E_DAY_VIEW_EVENT_BORDER_HEIGHT;
|
||||
|
||||
- icon_x += icon_x_inc;
|
||||
- icon_y += icon_y_inc;
|
||||
- }
|
||||
+ gdk_gc_set_clip_origin (gc, icon_x, icon_y);
|
||||
+ if (mask != NULL)
|
||||
+ gdk_gc_set_clip_mask (gc, mask);
|
||||
+ gdk_draw_drawable (drawable, gc,
|
||||
+ pixmap,
|
||||
+ 0, 0, icon_x, icon_y,
|
||||
+ MIN (E_DAY_VIEW_ICON_WIDTH,
|
||||
+ max_icon_w),
|
||||
+ MIN (E_DAY_VIEW_ICON_HEIGHT,
|
||||
+ max_icon_h));
|
||||
|
||||
- /* draw categories icons */
|
||||
- for (elem = categories_list; elem; elem = elem->next) {
|
||||
- char *category;
|
||||
- GdkPixmap *pixmap = NULL;
|
||||
- GdkBitmap *mask = NULL;
|
||||
+ g_object_unref (pixmap);
|
||||
+ if (mask != NULL)
|
||||
+ g_object_unref (mask);
|
||||
|
||||
- category = (char *) elem->data;
|
||||
- if (!e_categories_config_get_icon_for (category, &pixmap, &mask))
|
||||
- continue;
|
||||
-
|
||||
- max_icon_w = item_x + item_w - icon_x
|
||||
- - E_DAY_VIEW_EVENT_BORDER_WIDTH;
|
||||
- max_icon_h = item_y + item_h - icon_y
|
||||
- - E_DAY_VIEW_EVENT_BORDER_HEIGHT;
|
||||
-
|
||||
- gdk_gc_set_clip_origin (gc, icon_x, icon_y);
|
||||
- if (mask != NULL)
|
||||
- gdk_gc_set_clip_mask (gc, mask);
|
||||
- gdk_draw_drawable (drawable, gc,
|
||||
- pixmap,
|
||||
- 0, 0, icon_x, icon_y,
|
||||
- MIN (E_DAY_VIEW_ICON_WIDTH,
|
||||
- max_icon_w),
|
||||
- MIN (E_DAY_VIEW_ICON_HEIGHT,
|
||||
- max_icon_h));
|
||||
-
|
||||
- g_object_unref (pixmap);
|
||||
- if (mask != NULL)
|
||||
- g_object_unref (mask);
|
||||
-
|
||||
- icon_x += icon_x_inc;
|
||||
- icon_y += icon_y_inc;
|
||||
- }
|
||||
-
|
||||
- gdk_gc_set_clip_mask (gc, NULL);
|
||||
+ icon_x += icon_x_inc;
|
||||
+ icon_y += icon_y_inc;
|
||||
}
|
||||
|
||||
- /* free memory */
|
||||
- e_cal_component_free_categories_list (categories_list);
|
||||
+ gdk_gc_set_clip_mask (gc, NULL);
|
||||
}
|
||||
|
||||
- g_free (text);
|
||||
+ /* free memory */
|
||||
+ e_cal_component_free_categories_list (categories_list);
|
||||
+
|
||||
g_object_unref (comp);
|
||||
cairo_destroy (cr);
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
Index: plugins/groupwise-features/mail-retract.c
|
||||
===================================================================
|
||||
--- plugins/groupwise-features/mail-retract.c (revision 36818)
|
||||
+++ plugins/groupwise-features/mail-retract.c (working copy)
|
||||
@@ -104,8 +104,8 @@
|
||||
|
||||
/* for translation*/
|
||||
if (!first) {
|
||||
- popup_items[0].label = _(popup_items[0].label);
|
||||
- popup_items[0].user_data = g_strdup((char *) g_ptr_array_index(uids, 0));
|
||||
+ popup_items[1].label = _(popup_items[1].label);
|
||||
+ popup_items[1].user_data = g_strdup((char *) g_ptr_array_index(uids, 0));
|
||||
}
|
||||
|
||||
first++;
|
@ -1,96 +0,0 @@
|
||||
--- plugins/bogo-junk-plugin/Makefile.am
|
||||
+++ plugins/bogo-junk-plugin/Makefile.am
|
||||
@@ -1,5 +1,6 @@
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir) \
|
||||
+ -DWELCOME_MESSAGE=\""$(privdatadir)/default/C/mail/local/Inbox"\" \
|
||||
$(EVOLUTION_MAIL_CFLAGS)
|
||||
|
||||
@EVO_PLUGIN_RULE@
|
||||
--- plugins/bogo-junk-plugin/bf-junk-filter.c
|
||||
+++ plugins/bogo-junk-plugin/bf-junk-filter.c
|
||||
@@ -40,6 +40,8 @@
|
||||
#include "mail/em-config.h"
|
||||
#include <mail/em-junk-hook.h>
|
||||
#include <camel/camel-data-wrapper.h>
|
||||
+#include <camel/camel-mime-message.h>
|
||||
+#include <camel/camel-mime-parser.h>
|
||||
#include <camel/camel-stream-fs.h>
|
||||
#include <camel/camel-debug.h>
|
||||
#include <gconf/gconf-client.h>
|
||||
@@ -69,6 +71,7 @@ void *em_junk_bf_validate_binary (EPlugin *ep, EMJunkHookTarget *target);
|
||||
void em_junk_bf_report_junk (EPlugin *ep, EMJunkHookTarget *target);
|
||||
void em_junk_bf_report_non_junk (EPlugin *ep, EMJunkHookTarget *target);
|
||||
void em_junk_bf_commit_reports (EPlugin *ep, EMJunkHookTarget *target);
|
||||
+static gint pipe_to_bogofilter (CamelMimeMessage *msg, gchar **argv, GError **error);
|
||||
|
||||
/* eplugin stuff */
|
||||
int e_plugin_lib_enable (EPluginLib *ep, int enable);
|
||||
@@ -78,6 +81,37 @@ int e_plugin_lib_enable (EPluginLib *ep, int enable);
|
||||
|
||||
static gboolean em_junk_bf_unicode = TRUE;
|
||||
|
||||
+static void
|
||||
+init_db ()
|
||||
+{
|
||||
+ CamelStream *stream = camel_stream_fs_new_with_name (WELCOME_MESSAGE, O_RDONLY, 0);
|
||||
+ CamelMimeParser *parser = camel_mime_parser_new ();
|
||||
+ CamelMimeMessage *msg = camel_mime_message_new ();
|
||||
+ gchar *argv[] = {
|
||||
+ em_junk_bf_binary,
|
||||
+ "-n",
|
||||
+ NULL,
|
||||
+ NULL
|
||||
+ };
|
||||
+
|
||||
+ camel_mime_parser_init_with_stream (parser, stream);
|
||||
+ camel_mime_parser_scan_from (parser, FALSE);
|
||||
+ camel_object_unref (stream);
|
||||
+
|
||||
+ camel_mime_part_construct_from_parser ((CamelMimePart *) msg, parser);
|
||||
+ camel_object_unref (parser);
|
||||
+
|
||||
+ d(fprintf (stderr, "Initing the bogofilter DB with Welcome message\n"));
|
||||
+
|
||||
+ if (em_junk_bf_unicode) {
|
||||
+ argv[2] = "--unicode=yes";
|
||||
+ }
|
||||
+
|
||||
+ pipe_to_bogofilter (msg, argv, NULL);
|
||||
+ camel_object_unref (msg);
|
||||
+
|
||||
+}
|
||||
+
|
||||
static gint
|
||||
pipe_to_bogofilter (CamelMimeMessage *msg, gchar **argv, GError **error)
|
||||
{
|
||||
@@ -88,7 +122,9 @@ pipe_to_bogofilter (CamelMimeMessage *msg, gchar **argv, GError **error)
|
||||
gint status;
|
||||
gint waitres;
|
||||
gint res;
|
||||
+ static gboolean only_once = FALSE;
|
||||
|
||||
+retry:
|
||||
if (camel_debug_start ("junk")) {
|
||||
int i;
|
||||
|
||||
@@ -153,8 +189,17 @@ pipe_to_bogofilter (CamelMimeMessage *msg, gchar **argv, GError **error)
|
||||
res = BOGOFILTER_ERROR;
|
||||
}
|
||||
|
||||
- if (res < 0 || res > 2)
|
||||
+ if (res < 0 || res > 2) {
|
||||
+ if (!only_once) {
|
||||
+ /* Create wordlist.db */
|
||||
+ only_once = TRUE;
|
||||
+ init_db();
|
||||
+
|
||||
+ goto retry;
|
||||
+ }
|
||||
g_set_error (error, EM_JUNK_ERROR, res, _("Pipe to Bogofilter failed, error code: %d."), res);
|
||||
+
|
||||
+ }
|
||||
|
||||
return res;
|
||||
}
|
||||
|
@ -1,26 +0,0 @@
|
||||
--- calendar/gui/dialogs/comp-editor.c
|
||||
+++ calendar/gui/dialogs/comp-editor.c
|
||||
@@ -1771,6 +1771,14 @@ comp_editor_class_init (CompEditorClass *class)
|
||||
G_TYPE_NONE, 0);
|
||||
}
|
||||
|
||||
+static void
|
||||
+on_classification_changed (GtkRadioAction *action, GtkRadioAction *current, gpointer *data)
|
||||
+{
|
||||
+ CompEditor *editor = COMP_EDITOR (data);
|
||||
+
|
||||
+ comp_editor_set_changed (editor, TRUE);
|
||||
+}
|
||||
+
|
||||
static void
|
||||
comp_editor_init (CompEditor *editor)
|
||||
{
|
||||
@@ -1820,7 +1828,7 @@ comp_editor_init (CompEditor *editor)
|
||||
action_group, classification_radio_entries,
|
||||
G_N_ELEMENTS (classification_radio_entries),
|
||||
E_CAL_COMPONENT_CLASS_PUBLIC,
|
||||
- NULL, NULL); /* no callback */
|
||||
+ G_CALLBACK (on_classification_changed), editor); /* no callback */
|
||||
action = e_attachment_bar_recent_action_new (
|
||||
E_ATTACHMENT_BAR (priv->attachment_bar),
|
||||
"attach-recent", _("Recent _Documents"));
|
@ -1,65 +0,0 @@
|
||||
Index: calendar/gui/dialogs/comp-editor.c
|
||||
===================================================================
|
||||
--- calendar/gui/dialogs/comp-editor.c (revision 36884)
|
||||
+++ calendar/gui/dialogs/comp-editor.c (working copy)
|
||||
@@ -1102,6 +1102,24 @@
|
||||
g_object_unref (comp);
|
||||
}
|
||||
|
||||
+static gboolean
|
||||
+remove_event_dialog (ECal *client,
|
||||
+ ECalComponent *comp,
|
||||
+ GtkWindow *parent)
|
||||
+{
|
||||
+ GtkWidget *dialog;
|
||||
+ gboolean ret;
|
||||
+
|
||||
+ g_return_val_if_fail (E_IS_CAL_COMPONENT (comp), TRUE);
|
||||
+
|
||||
+ dialog = gtk_message_dialog_new (parent, 0, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, "%s", _("Keep original item?"));
|
||||
+ gtk_window_set_resizable (GTK_WINDOW (dialog), TRUE);
|
||||
+ ret = gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_YES;
|
||||
+ gtk_widget_destroy (dialog);
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
static void
|
||||
action_save_cb (GtkAction *action,
|
||||
CompEditor *editor)
|
||||
@@ -1153,9 +1171,33 @@
|
||||
if (!text.value)
|
||||
if (!send_component_prompt_subject ((GtkWindow *) editor, priv->client, priv->comp))
|
||||
return;
|
||||
- if (save_comp_with_send (editor))
|
||||
- close_dialog (editor);
|
||||
|
||||
+ if (save_comp_with_send (editor)) {
|
||||
+ CompEditorFlags flags;
|
||||
+ gboolean delegate;
|
||||
+
|
||||
+ flags = comp_editor_get_flags (editor);
|
||||
+ delegate = flags & COMP_EDITOR_DELEGATE;
|
||||
+
|
||||
+ if (delegate && !remove_event_dialog (priv->client, priv->comp, GTK_WINDOW (editor))) {
|
||||
+ const char *uid = NULL;
|
||||
+ GError *error = NULL;
|
||||
+
|
||||
+ e_cal_component_get_uid (priv->comp, &uid);
|
||||
+
|
||||
+ if (e_cal_component_is_instance (priv->comp) || e_cal_component_has_recurrences (priv->comp)) {
|
||||
+ gchar *rid;
|
||||
+ rid = e_cal_component_get_recurid_as_string (priv->comp);
|
||||
+ e_cal_remove_object_with_mod (priv->client, uid, rid, priv->mod, &error);
|
||||
+ g_free (rid);
|
||||
+ } else
|
||||
+ e_cal_remove_object (priv->client, uid, &error);
|
||||
+
|
||||
+ g_clear_error (&error);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ close_dialog (editor);
|
||||
}
|
||||
|
||||
static void
|
@ -1,441 +0,0 @@
|
||||
Index: calendar/gui/e-day-view.c
|
||||
===================================================================
|
||||
--- calendar/gui/e-day-view.c (revision 35721)
|
||||
+++ calendar/gui/e-day-view.c (working copy)
|
||||
@@ -186,8 +186,6 @@ static void e_day_view_top_scroll (EDayV
|
||||
|
||||
static void e_day_view_update_top_scroll (EDayView *day_view, gboolean scroll_to_top);
|
||||
|
||||
-static gboolean e_day_view_check_if_new_event_fits (EDayView *day_view);
|
||||
-
|
||||
static void e_day_view_on_canvas_realized (GtkWidget *widget,
|
||||
EDayView *day_view);
|
||||
|
||||
@@ -953,6 +951,10 @@ e_day_view_init (EDayView *day_view)
|
||||
/*
|
||||
* Scrollbar.
|
||||
*/
|
||||
+ day_view->mc_hscrollbar = gtk_hscrollbar_new (GTK_LAYOUT (day_view->main_canvas)->hadjustment);
|
||||
+ gtk_table_attach (GTK_TABLE (day_view), day_view->mc_hscrollbar, 1, 2, 2, 3, GTK_FILL, 0, 0, 0);
|
||||
+ gtk_widget_show (day_view->mc_hscrollbar);
|
||||
+
|
||||
day_view->tc_vscrollbar = gtk_vscrollbar_new (GTK_LAYOUT (day_view->top_canvas)->vadjustment);
|
||||
gtk_table_attach (GTK_TABLE (day_view), day_view->tc_vscrollbar,
|
||||
2, 3, 0, 1, 0, GTK_FILL, 0, 0);
|
||||
@@ -1423,28 +1425,19 @@ e_day_view_style_set (GtkWidget *widget,
|
||||
pango_font_metrics_unref (font_metrics);
|
||||
}
|
||||
|
||||
-/* This recalculates the sizes of each column. */
|
||||
static void
|
||||
-e_day_view_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
|
||||
+e_day_view_recalc_main_canvas_size (EDayView *day_view)
|
||||
{
|
||||
- EDayView *day_view;
|
||||
gint day, scroll_y;
|
||||
gboolean need_reshape;
|
||||
|
||||
-#if 0
|
||||
- g_print ("In e_day_view_size_allocate\n");
|
||||
-#endif
|
||||
- day_view = E_DAY_VIEW (widget);
|
||||
-
|
||||
- (*GTK_WIDGET_CLASS (e_day_view_parent_class)->size_allocate) (widget, allocation);
|
||||
-
|
||||
- e_day_view_recalc_cell_sizes (day_view);
|
||||
-
|
||||
/* Set the scroll region of the top canvas */
|
||||
e_day_view_update_top_scroll (day_view, TRUE);
|
||||
|
||||
need_reshape = e_day_view_update_scroll_regions (day_view);
|
||||
|
||||
+ e_day_view_recalc_cell_sizes (day_view);
|
||||
+
|
||||
/* Scroll to the start of the working day, if this is the initial
|
||||
allocation. */
|
||||
if (day_view->scroll_to_work_day) {
|
||||
@@ -1465,6 +1458,17 @@ e_day_view_size_allocate (GtkWidget *wid
|
||||
}
|
||||
}
|
||||
|
||||
+/* This recalculates the sizes of each column. */
|
||||
+static void
|
||||
+e_day_view_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
|
||||
+{
|
||||
+#if 0
|
||||
+ g_print ("In e_day_view_size_allocate\n");
|
||||
+#endif
|
||||
+ (*GTK_WIDGET_CLASS (e_day_view_parent_class)->size_allocate) (widget, allocation);
|
||||
+
|
||||
+ e_day_view_recalc_main_canvas_size (E_DAY_VIEW (widget));
|
||||
+}
|
||||
|
||||
static void
|
||||
e_day_view_recalc_cell_sizes (EDayView *day_view)
|
||||
@@ -1491,6 +1495,8 @@ e_day_view_recalc_cell_sizes (EDayView *
|
||||
get divided evenly. Note that we use one more element than the
|
||||
number of columns, to make it easy to get the column widths. */
|
||||
width = day_view->main_canvas->allocation.width;
|
||||
+ if (day_view->days_shown == 1)
|
||||
+ width = MAX (width, day_view->max_cols * (E_DAY_VIEW_MIN_DAY_COL_WIDTH + E_DAY_VIEW_GAP_WIDTH) - E_DAY_VIEW_MIN_DAY_COL_WIDTH - 1);
|
||||
width /= day_view->days_shown;
|
||||
offset = 0;
|
||||
for (day = 0; day <= day_view->days_shown; day++) {
|
||||
@@ -2638,12 +2644,21 @@ e_day_view_update_scroll_regions (EDayVi
|
||||
gnome_canvas_get_scroll_region (GNOME_CANVAS (day_view->main_canvas),
|
||||
NULL, NULL, &old_x2, &old_y2);
|
||||
new_x2 = day_view->main_canvas->allocation.width - 1;
|
||||
+
|
||||
+ if (day_view->days_shown == 1)
|
||||
+ new_x2 = MAX (new_x2, day_view->max_cols * (E_DAY_VIEW_MIN_DAY_COL_WIDTH + E_DAY_VIEW_GAP_WIDTH) - E_DAY_VIEW_MIN_DAY_COL_WIDTH - 1);
|
||||
+
|
||||
if (old_x2 != new_x2 || old_y2 != new_y2) {
|
||||
need_reshape = TRUE;
|
||||
gnome_canvas_set_scroll_region (GNOME_CANVAS (day_view->main_canvas),
|
||||
0, 0, new_x2, new_y2);
|
||||
}
|
||||
|
||||
+ if (new_x2 <= day_view->main_canvas->allocation.width - 1)
|
||||
+ gtk_widget_hide (day_view->mc_hscrollbar);
|
||||
+ else
|
||||
+ gtk_widget_show (day_view->mc_hscrollbar);
|
||||
+
|
||||
return need_reshape;
|
||||
}
|
||||
|
||||
@@ -4232,13 +4247,13 @@ e_day_view_add_event (ECalComponent *com
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
-
|
||||
/* This lays out the short (less than 1 day) events in the columns.
|
||||
Any long events are simply skipped. */
|
||||
void
|
||||
e_day_view_check_layout (EDayView *day_view)
|
||||
{
|
||||
gint day, rows_in_top_display;
|
||||
+ gint max_cols = -1;
|
||||
|
||||
/* Don't bother if we aren't visible. */
|
||||
if (!GTK_WIDGET_VISIBLE (day_view))
|
||||
@@ -4248,11 +4263,17 @@ e_day_view_check_layout (EDayView *day_v
|
||||
e_day_view_ensure_events_sorted (day_view);
|
||||
|
||||
for (day = 0; day < day_view->days_shown; day++) {
|
||||
- if (day_view->need_layout[day])
|
||||
- e_day_view_layout_day_events (day_view->events[day],
|
||||
+ if (day_view->need_layout[day]) {
|
||||
+ gint cols;
|
||||
+
|
||||
+ cols = e_day_view_layout_day_events (day_view->events[day],
|
||||
day_view->rows,
|
||||
day_view->mins_per_row,
|
||||
- day_view->cols_per_row[day]);
|
||||
+ day_view->cols_per_row[day],
|
||||
+ day_view->days_shown == 1 ? -1 : E_DAY_VIEW_MULTI_DAY_MAX_COLUMNS);
|
||||
+
|
||||
+ max_cols = MAX (cols, max_cols);
|
||||
+ }
|
||||
|
||||
if (day_view->need_layout[day]
|
||||
|| day_view->need_reshape[day]) {
|
||||
@@ -4278,13 +4299,17 @@ e_day_view_check_layout (EDayView *day_v
|
||||
}
|
||||
}
|
||||
|
||||
-
|
||||
if (day_view->long_events_need_layout
|
||||
|| day_view->long_events_need_reshape)
|
||||
e_day_view_reshape_long_events (day_view);
|
||||
|
||||
day_view->long_events_need_layout = FALSE;
|
||||
day_view->long_events_need_reshape = FALSE;
|
||||
+
|
||||
+ if (max_cols != -1 && max_cols != day_view->max_cols) {
|
||||
+ day_view->max_cols = max_cols;
|
||||
+ e_day_view_recalc_main_canvas_size (day_view);
|
||||
+ }
|
||||
}
|
||||
|
||||
|
||||
@@ -4826,13 +4851,6 @@ e_day_view_do_key_press (GtkWidget *widg
|
||||
if (day_view->selection_start_day == -1)
|
||||
return FALSE;
|
||||
|
||||
- /* Check if there is room for a new event to be typed in. If there
|
||||
- isn't we don't want to add an event as we will then add a new
|
||||
- event for every key press. */
|
||||
- if (!e_day_view_check_if_new_event_fits (day_view)) {
|
||||
- return FALSE;
|
||||
- }
|
||||
-
|
||||
/* Check if the client is read only */
|
||||
model = e_calendar_view_get_model (E_CALENDAR_VIEW (day_view));
|
||||
ecal = e_cal_model_get_default_client (model);
|
||||
@@ -5543,33 +5561,6 @@ e_day_view_top_scroll (EDayView *day_vie
|
||||
gtk_adjustment_set_value (adj, new_value);
|
||||
}
|
||||
|
||||
-static gboolean
|
||||
-e_day_view_check_if_new_event_fits (EDayView *day_view)
|
||||
-{
|
||||
- gint day, start_row, end_row, row;
|
||||
-
|
||||
- day = day_view->selection_start_day;
|
||||
- start_row = day_view->selection_start_row;
|
||||
- end_row = day_view->selection_end_row;
|
||||
-
|
||||
- /* Long events always fit, since we keep adding rows to the top
|
||||
- canvas. */
|
||||
- if (day != day_view->selection_end_day)
|
||||
- return TRUE;
|
||||
- if (start_row == 0 && end_row == day_view->rows)
|
||||
- return TRUE;
|
||||
-
|
||||
- /* If any of the rows already have E_DAY_VIEW_MAX_COLUMNS columns,
|
||||
- return FALSE. */
|
||||
- for (row = start_row; row <= end_row; row++) {
|
||||
- if (day_view->cols_per_row[day][row] >= E_DAY_VIEW_MAX_COLUMNS)
|
||||
- return FALSE;
|
||||
- }
|
||||
-
|
||||
- return TRUE;
|
||||
-}
|
||||
-
|
||||
-
|
||||
void
|
||||
e_day_view_ensure_rows_visible (EDayView *day_view,
|
||||
gint start_row,
|
||||
Index: calendar/gui/e-day-view.h
|
||||
===================================================================
|
||||
--- calendar/gui/e-day-view.h (revision 35721)
|
||||
+++ calendar/gui/e-day-view.h (working copy)
|
||||
@@ -45,8 +45,11 @@ G_BEGIN_DECLS
|
||||
of a normal event. */
|
||||
#define E_DAY_VIEW_LONG_EVENT E_DAY_VIEW_MAX_DAYS
|
||||
|
||||
-/* The maximum number of columns of appointments within a day. */
|
||||
-#define E_DAY_VIEW_MAX_COLUMNS 6
|
||||
+/* The maximum number of columns of appointments within a day in multi-day view. */
|
||||
+#define E_DAY_VIEW_MULTI_DAY_MAX_COLUMNS 6
|
||||
+
|
||||
+/* minimum width of the event in one-day view in pixels */
|
||||
+#define E_DAY_VIEW_MIN_DAY_COL_WIDTH 60
|
||||
|
||||
/* The width of the gap between appointments. This should be at least
|
||||
E_DAY_VIEW_BAR_WIDTH, since in the top canvas we use this space to draw
|
||||
@@ -204,6 +207,9 @@ struct _EDayView
|
||||
/* scrollbar for top_canvas */
|
||||
GtkWidget *tc_vscrollbar;
|
||||
|
||||
+ /* horizontal scrollbar for main_canvas */
|
||||
+ GtkWidget *mc_hscrollbar;
|
||||
+
|
||||
/* The main canvas where the rest of the appointments are shown. */
|
||||
GtkWidget *main_canvas;
|
||||
GnomeCanvasItem *main_canvas_item;
|
||||
@@ -310,6 +316,8 @@ struct _EDayView
|
||||
Note that there are a maximum of 12 * 24 rows (when a row is 5 mins)
|
||||
but we don't always have that many rows. */
|
||||
guint8 cols_per_row[E_DAY_VIEW_MAX_DAYS][12 * 24];
|
||||
+ /* The maximum number of columns from all rows in cols_per_row */
|
||||
+ gint max_cols;
|
||||
|
||||
/* Sizes of the various time strings. */
|
||||
gint small_hour_widths[24];
|
||||
Index: calendar/gui/e-day-view-layout.c
|
||||
===================================================================
|
||||
--- calendar/gui/e-day-view-layout.c (revision 35721)
|
||||
+++ calendar/gui/e-day-view-layout.c (working copy)
|
||||
@@ -29,6 +29,7 @@
|
||||
#include <config.h>
|
||||
|
||||
#include "e-day-view-layout.h"
|
||||
+#include "e-util/e-bit-array.h"
|
||||
|
||||
static void e_day_view_layout_long_event (EDayViewEvent *event,
|
||||
guint8 *grid,
|
||||
@@ -37,13 +38,14 @@ static void e_day_view_layout_long_event
|
||||
gint *rows_in_top_display);
|
||||
|
||||
static void e_day_view_layout_day_event (EDayViewEvent *event,
|
||||
- guint8 *grid,
|
||||
+ EBitArray **grid,
|
||||
guint16 *group_starts,
|
||||
guint8 *cols_per_row,
|
||||
gint rows,
|
||||
- gint mins_per_row);
|
||||
+ gint mins_per_row,
|
||||
+ gint max_cols);
|
||||
static void e_day_view_expand_day_event (EDayViewEvent *event,
|
||||
- guint8 *grid,
|
||||
+ EBitArray **grid,
|
||||
guint8 *cols_per_row,
|
||||
gint mins_per_row);
|
||||
static void e_day_view_recalc_cols_per_row (gint rows,
|
||||
@@ -127,15 +129,17 @@ e_day_view_layout_long_event (EDayViewEv
|
||||
}
|
||||
|
||||
|
||||
-void
|
||||
+/* returns maximum number of columns among all rows */
|
||||
+gint
|
||||
e_day_view_layout_day_events (GArray *events,
|
||||
gint rows,
|
||||
gint mins_per_row,
|
||||
- guint8 *cols_per_row)
|
||||
+ guint8 *cols_per_row,
|
||||
+ gint max_cols)
|
||||
{
|
||||
EDayViewEvent *event;
|
||||
- gint row, event_num;
|
||||
- guint8 *grid;
|
||||
+ gint row, event_num, res;
|
||||
+ EBitArray **grid;
|
||||
|
||||
/* This is a temporary array which keeps track of rows which are
|
||||
connected. When an appointment spans multiple rows then the number
|
||||
@@ -145,18 +149,20 @@ e_day_view_layout_day_events (GArray
|
||||
rows. */
|
||||
guint16 group_starts[12 * 24];
|
||||
|
||||
+ /* This is a temporary 2-d grid which is used to place events.
|
||||
+ Each element is 0 if the position is empty, or 1 if occupied. */
|
||||
+ grid = g_new0 (EBitArray *, rows);
|
||||
+
|
||||
/* Reset the cols_per_row array, and initialize the connected rows so
|
||||
that all rows are not connected - each row is the start of a new
|
||||
group. */
|
||||
for (row = 0; row < rows; row++) {
|
||||
cols_per_row[row] = 0;
|
||||
group_starts[row] = row;
|
||||
- }
|
||||
-
|
||||
- /* This is a temporary 2-d grid which is used to place events.
|
||||
- Each element is 0 if the position is empty, or 1 if occupied. */
|
||||
- grid = g_new0 (guint8, rows * E_DAY_VIEW_MAX_COLUMNS);
|
||||
|
||||
+ /* row doesn't contain any event at the moment */
|
||||
+ grid [row] = e_bit_array_new (0);
|
||||
+ }
|
||||
|
||||
/* Iterate over the events, finding which rows they cover, and putting
|
||||
them in the first free column available. Increment the number of
|
||||
@@ -166,7 +172,7 @@ e_day_view_layout_day_events (GArray
|
||||
event = &g_array_index (events, EDayViewEvent, event_num);
|
||||
|
||||
e_day_view_layout_day_event (event, grid, group_starts,
|
||||
- cols_per_row, rows, mins_per_row);
|
||||
+ cols_per_row, rows, mins_per_row, max_cols);
|
||||
}
|
||||
|
||||
/* Recalculate the number of columns needed in each row. */
|
||||
@@ -180,8 +186,15 @@ e_day_view_layout_day_events (GArray
|
||||
mins_per_row);
|
||||
}
|
||||
|
||||
- /* Free the grid. */
|
||||
+ /* Free the grid and compute maximum number of columns used. */
|
||||
+ res = 0;
|
||||
+ for (row = 0; row < rows; row++) {
|
||||
+ res = MAX (res, e_bit_array_bit_count (grid [row]));
|
||||
+ g_object_unref (grid [row]);
|
||||
+ }
|
||||
g_free (grid);
|
||||
+
|
||||
+ return res;
|
||||
}
|
||||
|
||||
|
||||
@@ -190,11 +203,12 @@ e_day_view_layout_day_events (GArray
|
||||
sure they are all in one group. */
|
||||
static void
|
||||
e_day_view_layout_day_event (EDayViewEvent *event,
|
||||
- guint8 *grid,
|
||||
+ EBitArray **grid,
|
||||
guint16 *group_starts,
|
||||
guint8 *cols_per_row,
|
||||
gint rows,
|
||||
- gint mins_per_row)
|
||||
+ gint mins_per_row,
|
||||
+ gint max_cols)
|
||||
{
|
||||
gint start_row, end_row, free_col, col, row, group_start;
|
||||
|
||||
@@ -214,10 +228,11 @@ e_day_view_layout_day_event (EDayViewEve
|
||||
end_row = CLAMP (end_row, 0, rows - 1);
|
||||
|
||||
/* Try each column until we find a free one. */
|
||||
- for (col = 0; col < E_DAY_VIEW_MAX_COLUMNS; col++) {
|
||||
+ for (col = 0; max_cols <= 0 || col < max_cols; col++) {
|
||||
free_col = col;
|
||||
for (row = start_row; row <= end_row; row++) {
|
||||
- if (grid[row * E_DAY_VIEW_MAX_COLUMNS + col]) {
|
||||
+ if (e_bit_array_bit_count (grid [row]) > col &&
|
||||
+ e_bit_array_value_at (grid [row], col)) {
|
||||
free_col = -1;
|
||||
break;
|
||||
}
|
||||
@@ -243,7 +258,11 @@ e_day_view_layout_day_event (EDayViewEve
|
||||
all the events have been layed out. Also make sure all the rows that
|
||||
the event covers are in one group. */
|
||||
for (row = start_row; row <= end_row; row++) {
|
||||
- grid[row * E_DAY_VIEW_MAX_COLUMNS + free_col] = 1;
|
||||
+ /* resize the array if necessary */
|
||||
+ if (e_bit_array_bit_count (grid [row]) <= free_col)
|
||||
+ e_bit_array_insert (grid [row], e_bit_array_bit_count (grid [row]), free_col - e_bit_array_bit_count (grid [row]) + 1);
|
||||
+
|
||||
+ e_bit_array_change_one_row (grid [row], free_col, TRUE);
|
||||
cols_per_row[row]++;
|
||||
group_starts[row] = group_start;
|
||||
}
|
||||
@@ -284,7 +303,7 @@ e_day_view_recalc_cols_per_row (gint
|
||||
/* Expands the event horizontally to fill any free space. */
|
||||
static void
|
||||
e_day_view_expand_day_event (EDayViewEvent *event,
|
||||
- guint8 *grid,
|
||||
+ EBitArray **grid,
|
||||
guint8 *cols_per_row,
|
||||
gint mins_per_row)
|
||||
{
|
||||
@@ -300,7 +319,8 @@ e_day_view_expand_day_event (EDayViewEve
|
||||
clashed = FALSE;
|
||||
for (col = event->start_row_or_col + 1; col < cols_per_row[start_row]; col++) {
|
||||
for (row = start_row; row <= end_row; row++) {
|
||||
- if (grid[row * E_DAY_VIEW_MAX_COLUMNS + col]) {
|
||||
+ if (e_bit_array_bit_count (grid [row]) > col &&
|
||||
+ e_bit_array_value_at (grid [row], col)) {
|
||||
clashed = TRUE;
|
||||
break;
|
||||
}
|
||||
Index: calendar/gui/e-day-view-layout.h
|
||||
===================================================================
|
||||
--- calendar/gui/e-day-view-layout.h (revision 35721)
|
||||
+++ calendar/gui/e-day-view-layout.h (working copy)
|
||||
@@ -38,10 +38,11 @@ void e_day_view_layout_long_events (GArr
|
||||
gint *rows_in_top_display);
|
||||
|
||||
|
||||
-void e_day_view_layout_day_events (GArray *events,
|
||||
+gint e_day_view_layout_day_events (GArray *events,
|
||||
gint rows,
|
||||
gint mins_per_row,
|
||||
- guint8 *cols_per_row);
|
||||
+ guint8 *cols_per_row,
|
||||
+ gint max_cols);
|
||||
|
||||
gboolean e_day_view_find_long_event_days (EDayViewEvent *event,
|
||||
gint days_shown,
|
||||
Index: calendar/gui/print.c
|
||||
===================================================================
|
||||
--- calendar/gui/print.c (revision 35721)
|
||||
+++ calendar/gui/print.c (working copy)
|
||||
@@ -1320,7 +1320,7 @@ print_day_details (GtkPrintContext *cont
|
||||
|
||||
/* lay out the short events, within the day. */
|
||||
e_day_view_layout_day_events (pdi.events[0], DAY_VIEW_ROWS,
|
||||
- DAY_VIEW_MINS_PER_ROW, pdi.cols_per_row);
|
||||
+ DAY_VIEW_MINS_PER_ROW, pdi.cols_per_row, -1);
|
||||
|
||||
/* print the short events. */
|
||||
if (top > bottom )
|
@ -1,11 +0,0 @@
|
||||
--- plugins/groupwise-account-setup/camel-gw-listener.c 2008/11/11 08:14:34 36770
|
||||
+++ plugins/groupwise-account-setup/camel-gw-listener.c 2008/11/11 10:52:26 36771
|
||||
@@ -559,7 +559,7 @@
|
||||
|
||||
url = camel_url_new (info->source_url, NULL);
|
||||
|
||||
- color = g_strdup_printf ("%u", g_random_int_range (0x100000, 0xffffaa));
|
||||
+ color = g_strdup_printf ("#%06X", g_random_int_range (0x100000, 0xffffaa));
|
||||
/* The above range is chosen so that the colors are neither too light nor too dark
|
||||
and appealing in all the themes */
|
||||
|
@ -1,152 +0,0 @@
|
||||
Index: calendar/gui/e-day-view.c
|
||||
===================================================================
|
||||
--- calendar/gui/e-day-view.c (revision 36769)
|
||||
+++ calendar/gui/e-day-view.c (working copy)
|
||||
@@ -1775,41 +1775,38 @@
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
-#if 0
|
||||
-/* Checks if the users participation status is Needs action and shows the summary as bold text*/
|
||||
+/* Checks if the users participation status is NEEDS-ACTION and shows the summary as bold text */
|
||||
static void
|
||||
set_text_as_bold (EDayViewEvent *event)
|
||||
{
|
||||
ECalComponent *comp;
|
||||
- char *address;
|
||||
- GSList *attendees, *l;
|
||||
+ GSList *attendees = NULL, *l;
|
||||
+ gchar *address;
|
||||
ECalComponentAttendee *at = NULL;
|
||||
|
||||
comp = e_cal_component_new ();
|
||||
e_cal_component_set_icalcomponent (comp, icalcomponent_new_clone (event->comp_data->icalcomp));
|
||||
address = itip_get_comp_attendee (comp, event->comp_data->client);
|
||||
e_cal_component_get_attendee_list (comp, &attendees);
|
||||
-
|
||||
for (l = attendees; l; l = l->next) {
|
||||
ECalComponentAttendee *attendee = l->data;
|
||||
|
||||
- if (g_str_equal (itip_strip_mailto (attendee->value), address)) {
|
||||
+ if ((g_str_equal (itip_strip_mailto (attendee->value), address))
|
||||
+ || (attendee->sentby && g_str_equal (itip_strip_mailto (attendee->sentby), address))) {
|
||||
at = attendee;
|
||||
break;
|
||||
}
|
||||
}
|
||||
-
|
||||
- /* The attendee has not yet accepted the meeting, display the summary as bolded .
|
||||
- If the attendee is not present, it might have come through a mailing list*/
|
||||
- if (!at || (at->status == ICAL_PARTSTAT_NEEDSACTION)) {
|
||||
- gnome_canvas_item_set (event->canvas_item, "bold", TRUE, NULL);
|
||||
- }
|
||||
-
|
||||
e_cal_component_free_attendee_list (attendees);
|
||||
- g_object_unref (comp);
|
||||
g_free (address);
|
||||
+ g_object_unref (comp);
|
||||
+
|
||||
+ /* The attendee has not yet accepted the meeting, display the summary as bolded.
|
||||
+ If the attendee is not present, it might have come through a mailing list.
|
||||
+ In that case, we never show the meeting as bold even if it is unaccepted. */
|
||||
+ if (at && (at->status == ICAL_PARTSTAT_NEEDSACTION))
|
||||
+ gnome_canvas_item_set (event->canvas_item, "bold", TRUE, NULL);
|
||||
}
|
||||
-#endif
|
||||
|
||||
/* This updates the text shown for an event. If the event start or end do not
|
||||
lie on a row boundary, the time is displayed before the summary. */
|
||||
@@ -1859,9 +1856,9 @@
|
||||
"text", text,
|
||||
NULL);
|
||||
|
||||
-/* if (e_cal_get_static_capability (event->comp_data->client, CAL_STATIC_CAPABILITY_HAS_UNACCEPTED_MEETING)
|
||||
+ if (e_cal_get_static_capability (event->comp_data->client, CAL_STATIC_CAPABILITY_HAS_UNACCEPTED_MEETING)
|
||||
&& e_cal_util_component_has_attendee (event->comp_data->icalcomp))
|
||||
- set_text_as_bold (event); */
|
||||
+ set_text_as_bold (event);
|
||||
|
||||
if (free_text)
|
||||
g_free (text);
|
||||
@@ -1891,9 +1888,9 @@
|
||||
if (free_text)
|
||||
g_free ((gchar*)summary);
|
||||
|
||||
-/* if (e_cal_get_static_capability (event->comp_data->client, CAL_STATIC_CAPABILITY_HAS_UNACCEPTED_MEETING)
|
||||
+ if (e_cal_get_static_capability (event->comp_data->client, CAL_STATIC_CAPABILITY_HAS_UNACCEPTED_MEETING)
|
||||
&& e_cal_util_component_has_attendee (event->comp_data->icalcomp))
|
||||
- set_text_as_bold (event); */
|
||||
+ set_text_as_bold (event);
|
||||
}
|
||||
|
||||
|
||||
Index: calendar/gui/e-week-view.c
|
||||
===================================================================
|
||||
--- calendar/gui/e-week-view.c (revision 36769)
|
||||
+++ calendar/gui/e-week-view.c (working copy)
|
||||
@@ -1877,41 +1877,38 @@
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
-#if 0
|
||||
-/* Checks if the users participation status is Needs action and shows the summary as bold text*/
|
||||
+/* Checks if the users participation status is NEEDS-ACTION and shows the summary as bold text */
|
||||
static void
|
||||
set_text_as_bold (EWeekViewEvent *event, EWeekViewEventSpan *span)
|
||||
{
|
||||
ECalComponent *comp;
|
||||
- char *address;
|
||||
- GSList *attendees, *l;
|
||||
+ GSList *attendees = NULL, *l;
|
||||
+ gchar *address;
|
||||
ECalComponentAttendee *at = NULL;
|
||||
|
||||
comp = e_cal_component_new ();
|
||||
e_cal_component_set_icalcomponent (comp, icalcomponent_new_clone (event->comp_data->icalcomp));
|
||||
address = itip_get_comp_attendee (comp, event->comp_data->client);
|
||||
e_cal_component_get_attendee_list (comp, &attendees);
|
||||
-
|
||||
for (l = attendees; l; l = l->next) {
|
||||
ECalComponentAttendee *attendee = l->data;
|
||||
|
||||
- if (g_str_equal (itip_strip_mailto (attendee->value), address)) {
|
||||
+ if ((g_str_equal (itip_strip_mailto (attendee->value), address))
|
||||
+ || (attendee->sentby && g_str_equal (itip_strip_mailto (attendee->sentby), address))) {
|
||||
at = attendee;
|
||||
break;
|
||||
}
|
||||
}
|
||||
+ e_cal_component_free_attendee_list (attendees);
|
||||
+ g_free (address);
|
||||
+ g_object_unref (comp);
|
||||
|
||||
/* The attendee has not yet accepted the meeting, display the summary as bolded.
|
||||
- If the attendee is not present, it might have come through a mailing list*/
|
||||
- if (!at || (at->status == ICAL_PARTSTAT_NEEDSACTION)) {
|
||||
+ If the attendee is not present, it might have come through a mailing list.
|
||||
+ In that case, we never show the meeting as bold even if it is unaccepted. */
|
||||
+ if (at && (at->status == ICAL_PARTSTAT_NEEDSACTION))
|
||||
gnome_canvas_item_set (span->text_item, "bold", TRUE, NULL);
|
||||
- }
|
||||
-
|
||||
- e_cal_component_free_attendee_list (attendees);
|
||||
- g_object_unref (comp);
|
||||
- g_free (address);
|
||||
}
|
||||
-#endif
|
||||
|
||||
/* This calls a given function for each event instance that matches the given
|
||||
uid. Note that it is safe for the callback to remove the event (since we
|
||||
@@ -2816,11 +2813,10 @@
|
||||
if (free_text)
|
||||
g_free ((gchar*)summary);
|
||||
|
||||
-/* Uncomment once the pango fix is in
|
||||
if (e_cal_get_static_capability (event->comp_data->client, CAL_STATIC_CAPABILITY_HAS_UNACCEPTED_MEETING)
|
||||
&& e_cal_util_component_has_attendee (event->comp_data->icalcomp)) {
|
||||
set_text_as_bold (event, span);
|
||||
- } */
|
||||
+ }
|
||||
g_object_set_data (G_OBJECT (span->text_item), "event-num", GINT_TO_POINTER (event_num));
|
||||
g_signal_connect (span->text_item, "event",
|
||||
G_CALLBACK (e_week_view_on_text_item_event),
|
@ -1,48 +0,0 @@
|
||||
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
@ -1,76 +0,0 @@
|
||||
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 ();
|
@ -1,28 +0,0 @@
|
||||
--- calendar/gui/dialogs/comp-editor.c 2008/11/09 21:25:02 36767
|
||||
+++ calendar/gui/dialogs/comp-editor.c 2008/11/10 10:29:17 36768
|
||||
@@ -2903,7 +2903,9 @@
|
||||
if (e_cal_component_has_attachments (priv->comp)) {
|
||||
GSList *attachment_list = NULL;
|
||||
e_cal_component_get_attachment_list (priv->comp, &attachment_list);
|
||||
+ g_signal_handlers_block_by_func(priv->attachment_bar, G_CALLBACK (attachment_bar_changed_cb), editor);
|
||||
set_attachment_list (editor, attachment_list);
|
||||
+ g_signal_handlers_unblock_by_func(priv->attachment_bar, G_CALLBACK (attachment_bar_changed_cb), editor);
|
||||
g_slist_foreach (attachment_list, (GFunc)g_free, NULL);
|
||||
g_slist_free (attachment_list);
|
||||
}
|
||||
@@ -2916,7 +2918,6 @@
|
||||
real_edit_comp (CompEditor *editor, ECalComponent *comp)
|
||||
{
|
||||
CompEditorPrivate *priv;
|
||||
- const char *uid;
|
||||
|
||||
g_return_if_fail (IS_COMP_EDITOR (editor));
|
||||
|
||||
@@ -2935,7 +2936,6 @@
|
||||
priv->warned = FALSE;
|
||||
|
||||
update_window_border (editor, NULL);
|
||||
- e_cal_component_get_uid (comp, &uid);
|
||||
|
||||
fill_widgets (editor);
|
||||
|
@ -1,86 +0,0 @@
|
||||
Index: calendar/gui/e-meeting-store.c
|
||||
===================================================================
|
||||
--- calendar/gui/e-meeting-store.c (revision 36995)
|
||||
+++ calendar/gui/e-meeting-store.c (working copy)
|
||||
@@ -1017,6 +1017,10 @@
|
||||
busy_type = E_MEETING_FREE_BUSY_TENTATIVE;
|
||||
break;
|
||||
|
||||
+ case ICAL_FBTYPE_FREE:
|
||||
+ busy_type = E_MEETING_FREE_BUSY_FREE;
|
||||
+ break;
|
||||
+
|
||||
default:
|
||||
break;
|
||||
}
|
||||
Index: calendar/gui/e-meeting-types.h
|
||||
===================================================================
|
||||
--- calendar/gui/e-meeting-types.h (revision 36995)
|
||||
+++ calendar/gui/e-meeting-types.h (working copy)
|
||||
@@ -48,11 +48,12 @@
|
||||
used as for loop counters, so they should start at 0 and be ordered. */
|
||||
typedef enum
|
||||
{
|
||||
- E_MEETING_FREE_BUSY_TENTATIVE = 0,
|
||||
+ E_MEETING_FREE_BUSY_TENTATIVE = 0,
|
||||
E_MEETING_FREE_BUSY_OUT_OF_OFFICE = 1,
|
||||
E_MEETING_FREE_BUSY_BUSY = 2,
|
||||
+ E_MEETING_FREE_BUSY_FREE = 3,
|
||||
|
||||
- E_MEETING_FREE_BUSY_LAST = 3
|
||||
+ E_MEETING_FREE_BUSY_LAST = 4
|
||||
} EMeetingFreeBusyType;
|
||||
|
||||
/* This is our representation of a time. We use a GDate to store the day,
|
||||
Index: calendar/gui/e-meeting-attendee.c
|
||||
===================================================================
|
||||
--- calendar/gui/e-meeting-attendee.c (revision 36995)
|
||||
+++ calendar/gui/e-meeting-attendee.c (working copy)
|
||||
@@ -845,6 +845,10 @@
|
||||
if (compare_times (&period.start, &period.end) > 0)
|
||||
return FALSE;
|
||||
|
||||
+ /* If the busy_type is FREE, then there is no need to render it in UI */
|
||||
+ if (busy_type == E_MEETING_FREE_BUSY_FREE)
|
||||
+ goto done;
|
||||
+
|
||||
/* If the busy range is not set elsewhere, track it as best we can */
|
||||
if (!priv->start_busy_range_set) {
|
||||
if (!g_date_valid (&priv->busy_periods_start.date)) {
|
||||
@@ -871,6 +875,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
+
|
||||
if (!priv->end_busy_range_set) {
|
||||
if (!g_date_valid (&priv->busy_periods_end.date)) {
|
||||
priv->busy_periods_end.date = period.end.date;
|
||||
@@ -898,12 +903,14 @@
|
||||
}
|
||||
|
||||
g_array_append_val (priv->busy_periods, period);
|
||||
- priv->has_calendar_info = TRUE;
|
||||
- priv->busy_periods_sorted = FALSE;
|
||||
|
||||
period_in_days = g_date_get_julian (&period.end.date) - g_date_get_julian (&period.start.date) + 1;
|
||||
priv->longest_period_in_days = MAX (priv->longest_period_in_days, period_in_days);
|
||||
|
||||
+done:
|
||||
+ priv->has_calendar_info = TRUE;
|
||||
+ priv->busy_periods_sorted = FALSE;
|
||||
+
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
Index: calendar/gui/e-meeting-time-sel.c
|
||||
===================================================================
|
||||
--- calendar/gui/e-meeting-time-sel.c (revision 36995)
|
||||
+++ calendar/gui/e-meeting-time-sel.c (working copy)
|
||||
@@ -649,6 +649,7 @@
|
||||
e_meeting_time_selector_alloc_named_color (mts, "white", &mts->attendee_list_bg_color);
|
||||
|
||||
e_meeting_time_selector_alloc_named_color (mts, "snow4", &mts->meeting_time_bg_color);
|
||||
+ e_meeting_time_selector_alloc_named_color (mts, "snow", &mts->busy_colors[E_MEETING_FREE_BUSY_FREE]);
|
||||
e_meeting_time_selector_alloc_named_color (mts, "yellow", &mts->busy_colors[E_MEETING_FREE_BUSY_TENTATIVE]);
|
||||
e_meeting_time_selector_alloc_named_color (mts, "blue", &mts->busy_colors[E_MEETING_FREE_BUSY_BUSY]);
|
||||
e_meeting_time_selector_alloc_named_color (mts, "orange4", &mts->busy_colors[E_MEETING_FREE_BUSY_OUT_OF_OFFICE]);
|
@ -1,141 +0,0 @@
|
||||
--- calendar/gui/e-calendar-table.c 2008-10-20 08:58:33.000000000 +0530
|
||||
+++ calendar/gui/e-calendar-table.c 2008-11-19 12:56:42.000000000 +0530
|
||||
@@ -432,6 +432,16 @@ query_tooltip_cb (GtkWidget *widget, gin
|
||||
e_cal_component_free_datetime (&dtstart);
|
||||
e_cal_component_free_datetime (&dtdue);
|
||||
|
||||
+ tmp = e_calendar_view_get_attendees_status_info (new_comp);
|
||||
+ if (tmp) {
|
||||
+ l = gtk_label_new (tmp);
|
||||
+ gtk_misc_set_alignment (GTK_MISC (l), 0.0, 0.5);
|
||||
+ gtk_box_pack_start (GTK_BOX (w), l, FALSE, FALSE, 0);
|
||||
+
|
||||
+ g_free (tmp);
|
||||
+ tmp = NULL;
|
||||
+ }
|
||||
+
|
||||
tmp2 = g_string_new ("");
|
||||
e_cal_component_get_description_list (new_comp, &desc);
|
||||
for (len = 0, p = desc; p != NULL; p = p->next) {
|
||||
--- calendar/gui/e-calendar-view.c 2008-11-19 12:02:10.000000000 +0530
|
||||
+++ calendar/gui/e-calendar-view.c 2008-11-19 12:56:59.000000000 +0530
|
||||
@@ -2131,6 +2131,83 @@ e_calendar_view_move_tip (GtkWidget *wid
|
||||
gtk_widget_show (widget);
|
||||
}
|
||||
|
||||
+/**
|
||||
+ * Returns information about attendees in the component. If no attendees, then returns NULL.
|
||||
+ * The information is like "Status: Accepted: X Declined: Y ...".
|
||||
+ * Free returned pointer with g_free.
|
||||
+ **/
|
||||
+char *
|
||||
+e_calendar_view_get_attendees_status_info (ECalComponent *comp)
|
||||
+{
|
||||
+ struct _values {
|
||||
+ icalparameter_partstat status;
|
||||
+ const char *caption;
|
||||
+ int count;
|
||||
+ } values[] = {
|
||||
+ { ICAL_PARTSTAT_ACCEPTED, N_("Accepted"), 0 },
|
||||
+ { ICAL_PARTSTAT_DECLINED, N_("Declined"), 0 },
|
||||
+ { ICAL_PARTSTAT_TENTATIVE, N_("Tentative"), 0 },
|
||||
+ { ICAL_PARTSTAT_DELEGATED, N_("Delegated"), 0 },
|
||||
+ { ICAL_PARTSTAT_NEEDSACTION, N_("Needs action"), 0 },
|
||||
+ { ICAL_PARTSTAT_NONE, N_("Other"), 0 },
|
||||
+ { ICAL_PARTSTAT_X, NULL, -1 }
|
||||
+ };
|
||||
+
|
||||
+ GSList *attendees = NULL, *a;
|
||||
+ gboolean have = FALSE;
|
||||
+ char *res = NULL;
|
||||
+ int i;
|
||||
+
|
||||
+ if (!comp || !e_cal_component_has_attendees (comp))
|
||||
+ return NULL;
|
||||
+
|
||||
+ e_cal_component_get_attendee_list (comp, &attendees);
|
||||
+
|
||||
+ for (a = attendees; a; a = a->next) {
|
||||
+ ECalComponentAttendee *att = a->data;
|
||||
+
|
||||
+ if (att && att->cutype == ICAL_CUTYPE_INDIVIDUAL &&
|
||||
+ (att->role == ICAL_ROLE_CHAIR ||
|
||||
+ att->role == ICAL_ROLE_REQPARTICIPANT ||
|
||||
+ att->role == ICAL_ROLE_OPTPARTICIPANT)) {
|
||||
+ have = TRUE;
|
||||
+
|
||||
+ for (i = 0; values[i].count != -1; i++) {
|
||||
+ if (att->status == values[i].status || values[i].status == ICAL_PARTSTAT_NONE) {
|
||||
+ values[i].count++;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (have) {
|
||||
+ GString *str = g_string_new ("");
|
||||
+
|
||||
+ for (i = 0; values[i].count != -1; i++) {
|
||||
+ if (values[i].count > 0) {
|
||||
+ if (str->str && *str->str)
|
||||
+ g_string_append (str, " ");
|
||||
+
|
||||
+ g_string_append_printf (str, "%s: %d", _(values[i].caption), values[i].count);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ g_string_prepend (str, ": ");
|
||||
+
|
||||
+ /* To Translators: 'Status' here means the state of the attendees, the resulting string will be in a form:
|
||||
+ Status: Accepted: X Declined: Y ... */
|
||||
+ g_string_prepend (str, _("Status"));
|
||||
+
|
||||
+ res = g_string_free (str, FALSE);
|
||||
+ }
|
||||
+
|
||||
+ if (attendees)
|
||||
+ e_cal_component_free_attendee_list (attendees);
|
||||
+
|
||||
+ return res;
|
||||
+}
|
||||
+
|
||||
/*
|
||||
* It is expected to show the tooltips in this below format
|
||||
*
|
||||
@@ -2138,6 +2215,7 @@ e_calendar_view_move_tip (GtkWidget *wid
|
||||
* Organiser: NameOfTheUser<email@ofuser.com>
|
||||
* Location: PlaceOfTheMeeting
|
||||
* Time : DateAndTime (xx Minutes)
|
||||
+ * Status: Accepted: X Declined: Y ...
|
||||
*/
|
||||
|
||||
gboolean
|
||||
@@ -2276,6 +2354,17 @@ e_calendar_view_get_tooltips (ECalendarV
|
||||
g_free (tmp2);
|
||||
g_free (tmp1);
|
||||
|
||||
+ tmp = e_calendar_view_get_attendees_status_info (newcomp);
|
||||
+ if (tmp) {
|
||||
+ hbox = gtk_hbox_new (FALSE, 0);
|
||||
+ gtk_box_pack_start ((GtkBox *)hbox, gtk_label_new (tmp), FALSE, FALSE, 0);
|
||||
+ ebox = gtk_event_box_new ();
|
||||
+ gtk_container_add ((GtkContainer *)ebox, hbox);
|
||||
+ gtk_box_pack_start ((GtkBox *)box, ebox, FALSE, FALSE, 0);
|
||||
+
|
||||
+ g_free (tmp);
|
||||
+ }
|
||||
+
|
||||
pevent->tooltip = gtk_window_new (GTK_WINDOW_POPUP);
|
||||
frame = gtk_frame_new (NULL);
|
||||
gtk_frame_set_shadow_type ((GtkFrame *)frame, GTK_SHADOW_IN);
|
||||
--- calendar/gui/e-calendar-view.h 2008-11-19 12:02:10.000000000 +0530
|
||||
+++ calendar/gui/e-calendar-view.h 2008-11-19 12:57:07.000000000 +0530
|
||||
@@ -175,6 +175,7 @@ gboolean e_calendar_view_get_tooltips (E
|
||||
void e_calendar_view_move_tip (GtkWidget *widget, int x, int y);
|
||||
|
||||
const gchar *e_calendar_view_get_icalcomponent_summary (ECal *ecal, icalcomponent *icalcomp, gboolean *free_text);
|
||||
+char *e_calendar_view_get_attendees_status_info (ECalComponent *comp);
|
||||
|
||||
void draw_curved_rectangle (cairo_t *cr,
|
||||
double x0,
|
@ -1,97 +0,0 @@
|
||||
Index: calendar/gui/e-select-names-editable.c
|
||||
===================================================================
|
||||
--- calendar/gui/e-select-names-editable.c (revision 36818)
|
||||
+++ calendar/gui/e-select-names-editable.c (working copy)
|
||||
@@ -129,7 +129,7 @@
|
||||
e_select_names_editable_get_emails (ESelectNamesEditable *esne)
|
||||
{
|
||||
EDestinationStore *destination_store;
|
||||
- GList *destinations;
|
||||
+ GList *destinations, *l;
|
||||
EDestination *destination;
|
||||
GList *result = NULL;
|
||||
|
||||
@@ -140,25 +140,27 @@
|
||||
if (!destinations)
|
||||
return NULL;
|
||||
|
||||
- destination = destinations->data;
|
||||
- if (e_destination_is_evolution_list (destination)) {
|
||||
- const GList *list_dests, *l;
|
||||
+ for (l = destinations; l != NULL; l = l->next) {
|
||||
+ destination = l->data;
|
||||
+ if (e_destination_is_evolution_list (destination)) {
|
||||
+ const GList *list_dests, *l;
|
||||
|
||||
- list_dests = e_destination_list_get_dests (destination);
|
||||
- for (l = list_dests; l != NULL; l = g_list_next (l)) {
|
||||
- result = g_list_append (result, g_strdup (e_destination_get_email (l->data)));
|
||||
+ list_dests = e_destination_list_get_dests (destination);
|
||||
+ for (l = list_dests; l != NULL; l = g_list_next (l)) {
|
||||
+ result = g_list_append (result, g_strdup (e_destination_get_email (l->data)));
|
||||
+ }
|
||||
+ } else {
|
||||
+ /* check if the contact is contact list, it does not contain all the email ids */
|
||||
+ /* we dont expand it currently, TODO do we need to expand it by getting it from addressbook*/
|
||||
+ if (e_destination_get_contact (destination) &&
|
||||
+ e_contact_get (e_destination_get_contact (destination), E_CONTACT_IS_LIST)) {
|
||||
+ /* If its a contact_list which is not expanded, it wont have a email id,
|
||||
+ so we can use the name as the email id */
|
||||
+
|
||||
+ result = g_list_append (result, g_strdup (e_destination_get_name (destination)));
|
||||
+ } else
|
||||
+ result = g_list_append (result, g_strdup (e_destination_get_email (destination)));
|
||||
}
|
||||
- } else {
|
||||
- /* check if the contact is contact list, it does not contain all the email ids */
|
||||
- /* we dont expand it currently, TODO do we need to expand it by getting it from addressbook*/
|
||||
- if (e_destination_get_contact (destination) &&
|
||||
- e_contact_get (e_destination_get_contact (destination), E_CONTACT_IS_LIST)) {
|
||||
- /* If its a contact_list which is not expanded, it wont have a email id,
|
||||
- so we can use the name as the email id */
|
||||
-
|
||||
- result = g_list_append (result, g_strdup (e_destination_get_name (destination)));
|
||||
- } else
|
||||
- result = g_list_append (result, g_strdup (e_destination_get_email (destination)));
|
||||
}
|
||||
|
||||
g_list_free (destinations);
|
||||
@@ -191,7 +193,7 @@
|
||||
e_select_names_editable_get_names (ESelectNamesEditable *esne)
|
||||
{
|
||||
EDestinationStore *destination_store;
|
||||
- GList *destinations;
|
||||
+ GList *destinations, *l;
|
||||
EDestination *destination;
|
||||
GList *result = NULL;
|
||||
|
||||
@@ -202,18 +204,20 @@
|
||||
if (!destinations)
|
||||
return NULL;
|
||||
|
||||
- destination = destinations->data;
|
||||
- if (e_destination_is_evolution_list (destination)) {
|
||||
- const GList *list_dests, *l;
|
||||
+ for (l = destinations; l != NULL; l = l->next) {
|
||||
+ destination = l->data;
|
||||
+ if (e_destination_is_evolution_list (destination)) {
|
||||
+ const GList *list_dests, *l;
|
||||
|
||||
- list_dests = e_destination_list_get_dests (destination);
|
||||
- for (l = list_dests; l != NULL; l = g_list_next (l)) {
|
||||
- result = g_list_append (result, g_strdup (e_destination_get_name (l->data)));
|
||||
+ list_dests = e_destination_list_get_dests (destination);
|
||||
+ for (l = list_dests; l != NULL; l = g_list_next (l)) {
|
||||
+ result = g_list_append (result, g_strdup (e_destination_get_name (l->data)));
|
||||
+ }
|
||||
+ } else {
|
||||
+ result = g_list_append (result, g_strdup (e_destination_get_name (destination)));
|
||||
}
|
||||
- } else {
|
||||
- result = g_list_append (result, g_strdup (e_destination_get_name (destination)));
|
||||
}
|
||||
-
|
||||
+
|
||||
g_list_free (destinations);
|
||||
|
||||
return result;
|
@ -1,28 +0,0 @@
|
||||
Index: plugins/groupwise-features/status-track.c
|
||||
===================================================================
|
||||
--- plugins/groupwise-features/status-track.c (revision 36806)
|
||||
+++ plugins/groupwise-features/status-track.c (working copy)
|
||||
@@ -79,8 +79,6 @@
|
||||
|
||||
gchar *boldmsg;
|
||||
|
||||
- const char *status = NULL ;
|
||||
-
|
||||
int row = 0;
|
||||
|
||||
EGwConnection *cnc;
|
||||
@@ -93,14 +91,6 @@
|
||||
return ;
|
||||
}
|
||||
|
||||
- status = camel_medium_get_header ( CAMEL_MEDIUM(msg), "X-gw-status-opt") ;
|
||||
- if (!status) {
|
||||
- g_print ("Error!! No header\n");
|
||||
- /* No need to make any call if this header is not available.
|
||||
- This is the server side identifier for sent-items */
|
||||
- return ;
|
||||
- }
|
||||
-
|
||||
/*Create the dialog*/
|
||||
d = (GtkDialog *) gtk_dialog_new ();
|
||||
gtk_dialog_add_button (d, GTK_STOCK_OK, GTK_RESPONSE_OK);
|
@ -1,227 +0,0 @@
|
||||
--- mail//em-format-html-display.c 2008-10-13 14:07:24.000000000 +0530
|
||||
+++ mail//em-format-html-display.c 2008-12-22 15:19:01.000000000 +0530
|
||||
@@ -49,6 +49,7 @@
|
||||
#include <bonobo/bonobo-control-frame.h>
|
||||
#include <bonobo/bonobo-stream-memory.h>
|
||||
#include <bonobo/bonobo-widget.h>
|
||||
+#include <bonobo-activation/bonobo-activation-mime.h>
|
||||
|
||||
#include <camel/camel-stream.h>
|
||||
#include <camel/camel-stream-filter.h>
|
||||
@@ -188,6 +189,8 @@ static void efhd_format_secure(EMFormat
|
||||
static void efhd_complete(EMFormat *);
|
||||
gboolean efhd_mnemonic_show_bar (GtkWidget *widget, gboolean focus, GtkWidget *efhd);
|
||||
|
||||
+static gboolean efhd_bonobo_object(EMFormatHTML *efh, GtkHTMLEmbedded *eb, EMFormatHTMLPObject *pobject);
|
||||
+static gboolean efhd_use_component(const char *mime_type);
|
||||
static void efhd_builtin_init(EMFormatHTMLDisplayClass *efhc);
|
||||
|
||||
enum {
|
||||
@@ -1303,10 +1306,37 @@ efhd_builtin_init(EMFormatHTMLDisplayCla
|
||||
}
|
||||
|
||||
/* ********************************************************************** */
|
||||
-
|
||||
+static void
|
||||
+efhd_bonobo_unknown(EMFormat *emf, CamelStream *stream, CamelMimePart *part, const EMFormatHandler *info)
|
||||
+{
|
||||
+ char *classid;
|
||||
+
|
||||
+ classid = g_strdup_printf("bonobo-unknown:///em-format-html-display/%s", emf->part_id->str);
|
||||
+ em_format_html_add_pobject((EMFormatHTML *)emf, sizeof(EMFormatHTMLPObject), classid, part, efhd_bonobo_object);
|
||||
+ camel_stream_printf(stream, "<object classid=\"%s\" type=\"%s\"></object><br>\n", classid, info->mime_type);
|
||||
+ g_free(classid);
|
||||
+}
|
||||
+
|
||||
+ /* ********************************************************************** */
|
||||
static const EMFormatHandler *efhd_find_handler(EMFormat *emf, const char *mime_type)
|
||||
{
|
||||
- return ((EMFormatClass *)efhd_parent)->find_handler(emf, mime_type);
|
||||
+ const EMFormatHandler *handle;
|
||||
+
|
||||
+ if ( (handle = ((EMFormatClass *)efhd_parent)->find_handler(emf, mime_type)) == NULL
|
||||
+ && efhd_use_component(mime_type)
|
||||
+ && (handle = g_hash_table_lookup(efhd_bonobo_handlers, mime_type)) == NULL) {
|
||||
+
|
||||
+ EMFormatHandler *h = g_malloc0(sizeof(*h));
|
||||
+
|
||||
+ h->mime_type = g_strdup(mime_type);
|
||||
+ h->handler = efhd_bonobo_unknown;
|
||||
+ h->flags = EM_FORMAT_HANDLER_INLINE_DISPOSITION;
|
||||
+ g_hash_table_insert(efhd_bonobo_handlers, h->mime_type, h);
|
||||
+
|
||||
+ handle = h;
|
||||
+ }
|
||||
+
|
||||
+ return handle;
|
||||
}
|
||||
|
||||
static void efhd_format_clone(EMFormat *emf, CamelFolder *folder, const char *uid, CamelMimeMessage *msg, EMFormat *src)
|
||||
@@ -1956,6 +1986,154 @@ efhd_attachment_frame(EMFormat *emf, Cam
|
||||
}
|
||||
}
|
||||
|
||||
+static gboolean
|
||||
+efhd_bonobo_object(EMFormatHTML *efh, GtkHTMLEmbedded *eb, EMFormatHTMLPObject *pobject)
|
||||
+{
|
||||
+ CamelDataWrapper *wrapper;
|
||||
+ Bonobo_ServerInfo *component;
|
||||
+ GtkWidget *embedded;
|
||||
+ Bonobo_PersistStream persist;
|
||||
+ CORBA_Environment ev;
|
||||
+ CamelStreamMem *cstream;
|
||||
+ BonoboStream *bstream;
|
||||
+ BonoboControlFrame *control_frame;
|
||||
+ Bonobo_PropertyBag prop_bag;
|
||||
+
|
||||
+ component = bonobo_activation_get_default_component_for_mime_type (eb->type);
|
||||
+ if (component == NULL)
|
||||
+ return FALSE;
|
||||
+
|
||||
+ embedded = bonobo_widget_new_control(component->iid, NULL);
|
||||
+ CORBA_free(component);
|
||||
+ if (embedded == NULL)
|
||||
+ return FALSE;
|
||||
+
|
||||
+ CORBA_exception_init(&ev);
|
||||
+
|
||||
+ control_frame = bonobo_widget_get_control_frame((BonoboWidget *)embedded);
|
||||
+ prop_bag = bonobo_control_frame_get_control_property_bag(control_frame, NULL);
|
||||
+ if (prop_bag != CORBA_OBJECT_NIL) {
|
||||
+ /*
|
||||
+ * Now we can take care of business. Currently, the only control
|
||||
+ * that needs something passed to it through a property bag is
|
||||
+ * the iTip control, and it needs only the From email address,
|
||||
+ * but perhaps in the future we can generalize this section of code
|
||||
+ * to pass a bunch of useful things to all embedded controls.
|
||||
+ */
|
||||
+ const CamelInternetAddress *from;
|
||||
+ char *from_address;
|
||||
+
|
||||
+ from = camel_mime_message_get_from((CamelMimeMessage *)((EMFormat *)efh)->message);
|
||||
+ from_address = camel_address_encode((CamelAddress *)from);
|
||||
+ bonobo_property_bag_client_set_value_string(prop_bag, "from_address", from_address, &ev);
|
||||
+ g_free(from_address);
|
||||
+
|
||||
+ Bonobo_Unknown_unref(prop_bag, &ev);
|
||||
+ }
|
||||
+
|
||||
+ persist = (Bonobo_PersistStream)Bonobo_Unknown_queryInterface(bonobo_widget_get_objref((BonoboWidget *)embedded),
|
||||
+ "IDL:Bonobo/PersistStream:1.0", &ev);
|
||||
+ if (persist == CORBA_OBJECT_NIL) {
|
||||
+ g_object_ref_sink(embedded);
|
||||
+ CORBA_exception_free(&ev);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ /* Write the data to a CamelStreamMem... */
|
||||
+ cstream = (CamelStreamMem *)camel_stream_mem_new();
|
||||
+ wrapper = camel_medium_get_content_object((CamelMedium *)pobject->part);
|
||||
+ if (FALSE && !g_ascii_strncasecmp (eb->type, "text/", 5)) {
|
||||
+ /* do charset conversion, etc */
|
||||
+ d(printf("performing charset conversion for %s component\n", eb->type));
|
||||
+ em_format_format_text((EMFormat *)efh, (CamelStream *)cstream, wrapper);
|
||||
+ } else {
|
||||
+ camel_data_wrapper_decode_to_stream (wrapper, (CamelStream *) cstream);
|
||||
+ }
|
||||
+
|
||||
+ /* ...convert the CamelStreamMem to a BonoboStreamMem... */
|
||||
+ bstream = bonobo_stream_mem_create((char *)cstream->buffer->data, cstream->buffer->len, TRUE, FALSE);
|
||||
+ camel_object_unref(cstream);
|
||||
+
|
||||
+ /* ...and hydrate the PersistStream from the BonoboStream. */
|
||||
+ Bonobo_PersistStream_load(persist,
|
||||
+ bonobo_object_corba_objref(BONOBO_OBJECT (bstream)),
|
||||
+ eb->type, &ev);
|
||||
+ bonobo_object_unref(BONOBO_OBJECT (bstream));
|
||||
+ Bonobo_Unknown_unref(persist, &ev);
|
||||
+ CORBA_Object_release(persist, &ev);
|
||||
+
|
||||
+ if (ev._major != CORBA_NO_EXCEPTION) {
|
||||
+ g_object_ref_sink(embedded);
|
||||
+ CORBA_exception_free(&ev);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+ CORBA_exception_free(&ev);
|
||||
+
|
||||
+ gtk_widget_show(embedded);
|
||||
+ gtk_container_add(GTK_CONTAINER (eb), embedded);
|
||||
+
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
+static gboolean
|
||||
+efhd_check_server_prop(Bonobo_ServerInfo *component, const char *propname, const char *value)
|
||||
+{
|
||||
+ CORBA_sequence_CORBA_string stringv;
|
||||
+ Bonobo_ActivationProperty *prop;
|
||||
+ int i;
|
||||
+
|
||||
+ prop = bonobo_server_info_prop_find(component, propname);
|
||||
+ if (!prop || prop->v._d != Bonobo_ACTIVATION_P_STRINGV)
|
||||
+ return FALSE;
|
||||
+
|
||||
+ stringv = prop->v._u.value_stringv;
|
||||
+ for (i = 0; i < stringv._length; i++) {
|
||||
+ if (!g_ascii_strcasecmp(value, stringv._buffer[i]))
|
||||
+ return TRUE;
|
||||
+ }
|
||||
+
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+static gboolean
|
||||
+efhd_use_component(const char *mime_type)
|
||||
+{
|
||||
+ GList *components, *iter;
|
||||
+ Bonobo_ServerInfo *component = NULL;
|
||||
+
|
||||
+ /* should this cache it? */
|
||||
+
|
||||
+ if (g_ascii_strcasecmp(mime_type, "text/x-vcard") != 0
|
||||
+ && g_ascii_strcasecmp(mime_type, "text/calendar") != 0) {
|
||||
+ const char **mime_types;
|
||||
+ int i;
|
||||
+
|
||||
+ mime_types = mail_config_get_allowable_mime_types();
|
||||
+ for (i = 0; mime_types[i]; i++) {
|
||||
+ if (!g_ascii_strcasecmp(mime_types[i], mime_type))
|
||||
+ goto type_ok;
|
||||
+ }
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+type_ok:
|
||||
+ components = bonobo_activation_get_all_components_for_mime_type (mime_type);
|
||||
+ for (iter = components; iter; iter = iter->next) {
|
||||
+ Bonobo_ServerInfo *comp = iter->data;
|
||||
+
|
||||
+ comp = iter->data;
|
||||
+ if (efhd_check_server_prop(comp, "repo_ids", "IDL:Bonobo/PersistStream:1.0")
|
||||
+ && efhd_check_server_prop(comp, "bonobo:supported_mime_types", mime_type)) {
|
||||
+ component = comp;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /* FIXME: How should I free the Bonobo_ServerInfo's ? */
|
||||
+ g_list_free (components);
|
||||
+
|
||||
+ return component != NULL;
|
||||
+}
|
||||
+
|
||||
static void
|
||||
attachment_bar_arrow_clicked(GtkWidget *w, EMFormatHTMLDisplay *efhd)
|
||||
{
|
||||
@@ -2329,6 +2507,12 @@ efhd_format_attachment(EMFormat *emf, Ca
|
||||
if (handle) {
|
||||
if (info->shown)
|
||||
handle->handler(emf, stream, part, handle);
|
||||
+ } else if (efhd_use_component(mime_type)) {
|
||||
+ g_free(classid); /* messy */
|
||||
+
|
||||
+ classid = g_strdup_printf("bonobo-unknown:///em-format-html-display/%s", emf->part_id->str);
|
||||
+ em_format_html_add_pobject((EMFormatHTML *)emf, sizeof(EMFormatHTMLPObject), classid, part, efhd_bonobo_object);
|
||||
+ camel_stream_printf(stream, "<object classid=\"%s\" type=\"%s\"></object><br>>\n", classid, mime_type);
|
||||
}
|
||||
|
||||
g_free(classid);
|
@ -1,13 +0,0 @@
|
||||
Index: a11y/calendar/ea-cal-view.c
|
||||
===================================================================
|
||||
--- a11y/calendar/ea-cal-view.c (revision 36795)
|
||||
+++ a11y/calendar/ea-cal-view.c (working copy)
|
||||
@@ -277,7 +277,7 @@
|
||||
}
|
||||
g_object_notify (G_OBJECT (ea_cal_view), "accessible-name");
|
||||
g_signal_emit_by_name (ea_cal_view, "visible_data_changed");
|
||||
- g_signal_emit_by_name (ea_cal_view, "children_changed", NULL);
|
||||
+ g_signal_emit_by_name (ea_cal_view, "children_changed", NULL, NULL, NULL);
|
||||
#ifdef ACC_DEBUG
|
||||
printf ("AccDebug: cal view date changed\n");
|
||||
#endif
|
@ -1,14 +0,0 @@
|
||||
--- mail/mail-vfolder.c
|
||||
+++ mail/mail-vfolder.c
|
||||
@@ -266,6 +266,11 @@ vfolder_adduri_exec (struct _adduri_msg *m)
|
||||
g_warning("Folder '%s' disappeared while I was adding/remove it to/from my vfolder", m->uri);
|
||||
return;
|
||||
}
|
||||
+ if (strncmp(m->uri, "vfolder:/", 9) == 0 ||
|
||||
+ strncmp(m->uri, "email://vfolder@local", 21) == 0) {
|
||||
+ printf("Ignoring loading vfolder as a subfolder \n");
|
||||
+ return;
|
||||
+ }
|
||||
|
||||
if (folder == NULL)
|
||||
folder = mail_tool_uri_to_folder (m->uri, 0, &m->base.ex);
|
@ -1,11 +0,0 @@
|
||||
--- mail/em-account-editor.c
|
||||
+++ mail/em-account-editor.c
|
||||
@@ -2001,7 +2001,7 @@ emae_option_checkspin(EMAccountEditorService *service, CamelURL *url, const char
|
||||
|
||||
spin = gtk_spin_button_new((GtkAdjustment *)gtk_adjustment_new(def, min, max, 1, 1, 1), 1, 0);
|
||||
if (post)
|
||||
- label = gtk_label_new(post);
|
||||
+ label = gtk_label_new_with_mnemonic(post);
|
||||
gtk_box_pack_start((GtkBox *)hbox, check, FALSE, TRUE, 0);
|
||||
gtk_box_pack_start((GtkBox *)hbox, spin, FALSE, TRUE, 0);
|
||||
if (label)
|
@ -1,10 +0,0 @@
|
||||
--- mail/mail-folder-cache.c
|
||||
+++ mail/mail-folder-cache.c
|
||||
@@ -420,6 +420,7 @@ folder_changed (CamelObject *o, gpointer event_data, gpointer user_data)
|
||||
((flags & CAMEL_MESSAGE_DELETED) == 0) &&
|
||||
(camel_message_info_date_received (info) > last_newmail))
|
||||
new++;
|
||||
+ camel_message_info_free (info);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,66 +0,0 @@
|
||||
Index: calendar/gui/dialogs/comp-editor.c
|
||||
===================================================================
|
||||
--- calendar/gui/dialogs/comp-editor.c (revision 36987)
|
||||
+++ calendar/gui/dialogs/comp-editor.c (working copy)
|
||||
@@ -164,6 +164,7 @@
|
||||
" <toolitem action='close'/>"
|
||||
" <separator/>"
|
||||
" <toolitem action='attach'/>"
|
||||
+" <separator/>"
|
||||
" </toolbar>"
|
||||
"</ui>";
|
||||
|
||||
Index: calendar/gui/dialogs/event-editor.c
|
||||
===================================================================
|
||||
--- calendar/gui/dialogs/event-editor.c (revision 36987)
|
||||
+++ calendar/gui/dialogs/event-editor.c (working copy)
|
||||
@@ -79,20 +79,21 @@
|
||||
" <menu action='options-menu'>"
|
||||
" <menuitem action='alarms'/>"
|
||||
" <menuitem action='show-time-busy'/>"
|
||||
+" <menuitem action='recurrence'/>"
|
||||
" <menuitem action='all-day-event'/>"
|
||||
+" <menuitem action='free-busy'/>"
|
||||
" <menu action='classification-menu'>"
|
||||
" <menuitem action='classify-public'/>"
|
||||
" <menuitem action='classify-private'/>"
|
||||
" <menuitem action='classify-confidential'/>"
|
||||
" </menu>"
|
||||
-" <menuitem action='recurrence'/>"
|
||||
-" <menuitem action='free-busy'/>"
|
||||
" </menu>"
|
||||
" </menubar>"
|
||||
" <toolbar name='main-toolbar'>"
|
||||
" <toolitem action='alarms'/>"
|
||||
+" <toolitem action='show-time-busy'/>"
|
||||
+" <toolitem action='recurrence'/>"
|
||||
" <toolitem action='all-day-event'/>"
|
||||
-" <toolitem action='recurrence'/>"
|
||||
" <toolitem action='free-busy'/>"
|
||||
" </toolbar>"
|
||||
"</ui>";
|
||||
@@ -149,9 +150,15 @@
|
||||
EventEditor *editor)
|
||||
{
|
||||
gboolean active;
|
||||
+ GtkAction *action_show_busy;
|
||||
+ CompEditor *comp_editor = COMP_EDITOR (editor);
|
||||
|
||||
active = gtk_toggle_action_get_active (action);
|
||||
event_page_set_all_day_event (editor->priv->event_page, active);
|
||||
+
|
||||
+ action_show_busy = comp_editor_get_action (comp_editor, "show-time-busy");
|
||||
+ gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action_show_busy), !active);
|
||||
+ event_page_set_show_time_busy (editor->priv->event_page, !active);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -223,7 +230,7 @@
|
||||
FALSE },
|
||||
|
||||
{ "show-time-busy",
|
||||
- NULL,
|
||||
+ GTK_STOCK_DIALOG_ERROR,
|
||||
N_("Show Time as _Busy"),
|
||||
NULL,
|
||||
N_("Toggles whether to show time as busy"),
|
@ -1,20 +0,0 @@
|
||||
Index: calendar/gui/dialogs/comp-editor.c
|
||||
===================================================================
|
||||
--- calendar/gui/dialogs/comp-editor.c (revision 36992)
|
||||
+++ calendar/gui/dialogs/comp-editor.c (working copy)
|
||||
@@ -2433,6 +2433,7 @@
|
||||
editor->priv->summary = g_strdup (summary);
|
||||
|
||||
show_warning =
|
||||
+ !(editor->priv->flags & COMP_EDITOR_DELEGATE) &&
|
||||
!editor->priv->warned &&
|
||||
editor->priv->existing_org &&
|
||||
!editor->priv->user_org;
|
||||
@@ -2482,6 +2483,7 @@
|
||||
|
||||
show_warning =
|
||||
changed && !editor->priv->warned &&
|
||||
+ !(editor->priv->flags & COMP_EDITOR_DELEGATE) &&
|
||||
editor->priv->existing_org && !editor->priv->user_org;
|
||||
|
||||
if (show_warning) {
|
@ -1,48 +0,0 @@
|
||||
Index: calendar/gui/dialogs/memo-editor.c
|
||||
===================================================================
|
||||
--- calendar/gui/dialogs/memo-editor.c (revision 36948)
|
||||
+++ calendar/gui/dialogs/memo-editor.c (revision 36949)
|
||||
@@ -97,6 +97,21 @@
|
||||
}
|
||||
|
||||
static void
|
||||
+memo_editor_constructed (GObject *object)
|
||||
+{
|
||||
+ MemoEditorPrivate *priv;
|
||||
+ CompEditor *editor;
|
||||
+
|
||||
+ priv = MEMO_EDITOR_GET_PRIVATE (object);
|
||||
+ editor = COMP_EDITOR (object);
|
||||
+
|
||||
+ priv->memo_page = memo_page_new (editor);
|
||||
+ comp_editor_append_page (
|
||||
+ editor, COMP_EDITOR_PAGE (priv->memo_page),
|
||||
+ _("Memo"), TRUE);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
memo_editor_class_init (MemoEditorClass *class)
|
||||
{
|
||||
GObjectClass *object_class;
|
||||
@@ -106,6 +121,7 @@
|
||||
|
||||
object_class = G_OBJECT_CLASS (class);
|
||||
object_class->dispose = memo_editor_dispose;
|
||||
+ object_class->constructed = memo_editor_constructed;
|
||||
|
||||
/* TODO Add a help section for memos. */
|
||||
editor_class = COMP_EDITOR_CLASS (class);
|
||||
@@ -132,13 +148,6 @@
|
||||
g_critical ("%s: %s", G_STRFUNC, error->message);
|
||||
g_error_free (error);
|
||||
}
|
||||
-
|
||||
- me->priv->memo_page = memo_page_new (editor);
|
||||
- g_object_ref_sink (me->priv->memo_page);
|
||||
- comp_editor_append_page (
|
||||
- COMP_EDITOR (me),
|
||||
- COMP_EDITOR_PAGE (me->priv->memo_page),
|
||||
- _("Memo"), TRUE);
|
||||
}
|
||||
|
||||
/**
|
@ -1,13 +0,0 @@
|
||||
Index: calendar/gui/e-cal-popup.c
|
||||
===================================================================
|
||||
--- calendar/gui/e-cal-popup.c (revision 36995)
|
||||
+++ calendar/gui/e-cal-popup.c (working copy)
|
||||
@@ -139,7 +139,7 @@
|
||||
usepath = g_strjoin (NULL, "file://", path, NULL);
|
||||
|
||||
wrapper = camel_medium_get_content_object (CAMEL_MEDIUM (part));
|
||||
- stream = camel_stream_vfs_new_with_uri (path, CAMEL_STREAM_VFS_CREATE);
|
||||
+ stream = camel_stream_vfs_new_with_uri (usepath, CAMEL_STREAM_VFS_CREATE);
|
||||
|
||||
if (usepath != path)
|
||||
g_free (usepath);
|
@ -1,97 +0,0 @@
|
||||
Index: calendar/gui/print.c
|
||||
===================================================================
|
||||
--- calendar/gui/print.c (revision 36992)
|
||||
+++ calendar/gui/print.c (working copy)
|
||||
@@ -129,9 +129,9 @@
|
||||
|
||||
/* The width of the small calendar months, the space from the right edge of
|
||||
the header rectangle, and the space between the months. */
|
||||
-#define SMALL_MONTH_WIDTH 80
|
||||
-#define SMALL_MONTH_PAD 4
|
||||
-#define SMALL_MONTH_SPACING 12
|
||||
+#define SMALL_MONTH_WIDTH 100
|
||||
+#define SMALL_MONTH_PAD 5
|
||||
+#define SMALL_MONTH_SPACING 20
|
||||
|
||||
/* The minimum number of rows we leave space for for the long events in the
|
||||
day view. */
|
||||
@@ -502,7 +502,7 @@
|
||||
*x1 += 2;
|
||||
*x2 -= 2;
|
||||
*y2 += 2;
|
||||
- print_text (context, font, text, alignment, *x1, *x2, *y1, *y1 + size * 1.4);
|
||||
+ print_text (context, font, text, alignment, *x1, *x2, *y1 + 1.0, *y1 + size * 1.4);
|
||||
*y1 += size * 1.4;
|
||||
}
|
||||
|
||||
@@ -841,10 +841,10 @@
|
||||
sprintf (buf, "%d", hour);
|
||||
print_text (context, font_hour, buf, PANGO_ALIGN_RIGHT,
|
||||
left, hour_minute_x,
|
||||
- y - yinc + yinc / 2, y - yinc + yinc / 2 + hour_font_size);
|
||||
+ y - yinc, y - yinc + hour_font_size);
|
||||
print_text (context, font_minute, minute, PANGO_ALIGN_LEFT,
|
||||
hour_minute_x, left + width - 3,
|
||||
- y - yinc + yinc / 2, y - yinc + yinc / 2 + minute_font_size);
|
||||
+ y - yinc, y - yinc + minute_font_size);
|
||||
|
||||
/* Draw the horizontal line between hours, across the entire
|
||||
width of the day view. */
|
||||
@@ -2082,7 +2082,7 @@
|
||||
|
||||
/* Print the filled border around the header. */
|
||||
print_border (context, 0.0, width,
|
||||
- 0.0, HEADER_HEIGHT + 2.0, 1.0, 0.9);
|
||||
+ 0.0, HEADER_HEIGHT + 3.5, 1.0, 0.9);
|
||||
|
||||
/* Print the 2 mini calendar-months. */
|
||||
l = width - SMALL_MONTH_PAD - SMALL_MONTH_WIDTH * 2 - SMALL_MONTH_SPACING;
|
||||
@@ -2167,14 +2167,14 @@
|
||||
l = width - SMALL_MONTH_PAD - SMALL_MONTH_WIDTH * 2
|
||||
- SMALL_MONTH_SPACING;
|
||||
print_month_small (context, gcal, when,
|
||||
- l, 4, l + SMALL_MONTH_WIDTH, HEADER_HEIGHT + 30,
|
||||
+ l, 4, l + SMALL_MONTH_WIDTH, HEADER_HEIGHT + 10,
|
||||
DATE_MONTH | DATE_YEAR, when,
|
||||
time_add_week_with_zone (when, 1, zone), FALSE);
|
||||
|
||||
l += SMALL_MONTH_SPACING + SMALL_MONTH_WIDTH;
|
||||
print_month_small (context, gcal,
|
||||
time_add_month_with_zone (when, 1, zone),
|
||||
- l, 4, l + SMALL_MONTH_WIDTH, HEADER_HEIGHT + 30,
|
||||
+ l, 4, l + SMALL_MONTH_WIDTH, HEADER_HEIGHT + 10,
|
||||
DATE_MONTH | DATE_YEAR, when,
|
||||
time_add_week_with_zone (when, 1, zone), FALSE);
|
||||
|
||||
@@ -2200,6 +2200,7 @@
|
||||
icaltimezone *zone = calendar_config_get_icaltimezone ();
|
||||
char buf[100];
|
||||
gdouble width, height;
|
||||
+ double l;
|
||||
|
||||
setup = gtk_print_context_get_page_setup (context);
|
||||
|
||||
@@ -2210,17 +2211,19 @@
|
||||
print_month_summary (context, gcal, date, 0.0, width, HEADER_HEIGHT, height);
|
||||
|
||||
/* Print the border around the header. */
|
||||
- print_border (context, 0.0, width, 0.0, HEADER_HEIGHT, 1.0, 0.9);
|
||||
+ print_border (context, 0.0, width, 0.0, HEADER_HEIGHT + 10, 1.0, 0.9);
|
||||
|
||||
+ l = width - SMALL_MONTH_PAD - SMALL_MONTH_WIDTH;
|
||||
+
|
||||
/* Print the 2 mini calendar-months. */
|
||||
print_month_small (context, gcal,
|
||||
time_add_month_with_zone (date, 1, zone),
|
||||
- width - width / 7 + 2, 4,
|
||||
- width - 8, HEADER_HEIGHT,
|
||||
+ l, 4, l + SMALL_MONTH_WIDTH, HEADER_HEIGHT + 4,
|
||||
DATE_MONTH | DATE_YEAR, 0, 0, FALSE);
|
||||
+
|
||||
print_month_small (context, gcal,
|
||||
time_add_month_with_zone (date, -1, zone),
|
||||
- 8, 4, width / 7 - 2, HEADER_HEIGHT,
|
||||
+ 8, 4, width / 7 + 20, HEADER_HEIGHT + 4,
|
||||
DATE_MONTH | DATE_YEAR, 0, 0, FALSE);
|
||||
|
||||
/* Print the month, e.g. 'May 2001'. */
|
12
compiler-warnings.diff
Normal file
12
compiler-warnings.diff
Normal file
@ -0,0 +1,12 @@
|
||||
Index: plugins/mono/mono-plugin.c
|
||||
===================================================================
|
||||
--- plugins/mono/mono-plugin.c (revision 37224)
|
||||
+++ plugins/mono/mono-plugin.c (working copy)
|
||||
@@ -29,6 +29,7 @@
|
||||
#include <mono/metadata/appdomain.h>
|
||||
#include <mono/metadata/assembly.h>
|
||||
#include <mono/metadata/threads.h>
|
||||
+#include <mono/metadata/mono-config.h>
|
||||
#include <mono/jit/jit.h>
|
||||
|
||||
#define d(x) (x)
|
@ -1,111 +0,0 @@
|
||||
diff -Nupr 1-evo/calendar/ChangeLog 2-evo/calendar/ChangeLog
|
||||
--- 1-evo/calendar/ChangeLog 2008-10-22 10:27:20.000000000 +0530
|
||||
+++ 2-evo/calendar/ChangeLog 2008-10-22 09:44:22.000000000 +0530
|
||||
@@ -534,6 +534,11 @@ License Changes
|
||||
(gnome_calendar_on_date_navigator_selection_changed): Use a
|
||||
single model for all the views.
|
||||
|
||||
+2008-08-13 Suman Manjunath <msuman@novell.com>
|
||||
+
|
||||
+ * gui/dialogs/comp-editor.c (real_send_comp): Don't replace
|
||||
+ attachment list if backend can CREATE_MESSAGES
|
||||
+
|
||||
2008-08-12 Matthew Barnes <mbarnes@redhat.com>
|
||||
|
||||
* gui/migration.c:
|
||||
diff -Nupr 1-evo/calendar/gui/dialogs/comp-editor.c 2-evo/calendar/gui/dialogs/comp-editor.c
|
||||
--- 1-evo/calendar/gui/dialogs/comp-editor.c 2008-10-22 10:27:20.000000000 +0530
|
||||
+++ 2-evo/calendar/gui/dialogs/comp-editor.c 2008-10-22 09:44:22.000000000 +0530
|
||||
@@ -3046,7 +3046,8 @@ real_send_comp (CompEditor *editor, ECal
|
||||
set_attendees_for_delegation (send_comp, address, method);
|
||||
}
|
||||
|
||||
- if (!e_cal_component_has_attachments (priv->comp)) {
|
||||
+ if (!e_cal_component_has_attachments (priv->comp)
|
||||
+ || e_cal_get_static_capability (priv->client, CAL_STATIC_CAPABILITY_CREATE_MESSAGES)) {
|
||||
if (itip_send_comp (method, send_comp, priv->client,
|
||||
NULL, NULL, users)) {
|
||||
g_object_unref (send_comp);
|
||||
diff -Nupr 1-evo/calendar/gui/itip-utils.c 2-evo/calendar/gui/itip-utils.c
|
||||
--- 1-evo/calendar/gui/itip-utils.c 2008-10-07 09:00:09.000000000 +0530
|
||||
+++ 2-evo/calendar/gui/itip-utils.c 2008-10-20 16:04:33.000000000 +0530
|
||||
@@ -1147,7 +1147,7 @@ itip_send_comp (ECalComponentItipMethod
|
||||
gchar *subject = NULL;
|
||||
gboolean retval = FALSE;
|
||||
|
||||
- /* check whether backend could handle sending requests/updates */
|
||||
+ /* check whether backend could handle auto-saving requests/updates */
|
||||
if (method != E_CAL_COMPONENT_METHOD_PUBLISH && e_cal_get_save_schedules (client))
|
||||
return TRUE;
|
||||
|
||||
@@ -1157,6 +1157,15 @@ itip_send_comp (ECalComponentItipMethod
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
+ /* check whether backend could handle sending requests/updates */
|
||||
+ if (method != E_CAL_COMPONENT_METHOD_PUBLISH && e_cal_get_static_capability (client, CAL_STATIC_CAPABILITY_CREATE_MESSAGES)) {
|
||||
+ if (users) {
|
||||
+ g_list_foreach (users, (GFunc) g_free, NULL);
|
||||
+ g_list_free (users);
|
||||
+ }
|
||||
+ return TRUE;
|
||||
+ }
|
||||
+
|
||||
/* Tidy up the comp */
|
||||
comp = comp_compliant (method, send_comp, client, zones);
|
||||
|
||||
diff -Nupr 1-evo/plugins/itip-formatter/ChangeLog 2-evo/plugins/itip-formatter/ChangeLog
|
||||
--- 1-evo/plugins/itip-formatter/ChangeLog 2008-10-20 09:19:46.000000000 +0530
|
||||
+++ 2-evo/plugins/itip-formatter/ChangeLog 2008-10-20 16:04:33.000000000 +0530
|
||||
@@ -66,6 +66,12 @@ License Changes
|
||||
|
||||
* itip-view.h:
|
||||
|
||||
+2008-08-14 Suman Manjunath <msuman@novell.com>
|
||||
+
|
||||
+ * itip-formatter.c (update_x), (update_attendee_status): Copy
|
||||
+ required X-* properties . This might be needed for special cases
|
||||
+ in certain backends.
|
||||
+
|
||||
2008-08-11 Matthew Barnes <mbarnes@redhat.com>
|
||||
|
||||
** Fixes part of bug #546892
|
||||
diff -Nupr 1-evo/plugins/itip-formatter/itip-formatter.c 2-evo/plugins/itip-formatter/itip-formatter.c
|
||||
--- 1-evo/plugins/itip-formatter/itip-formatter.c 2008-10-20 09:13:02.000000000 +0530
|
||||
+++ 2-evo/plugins/itip-formatter/itip-formatter.c 2008-10-20 16:04:33.000000000 +0530
|
||||
@@ -1183,6 +1183,26 @@ remove_delegate (struct _itip_puri *piti
|
||||
|
||||
}
|
||||
|
||||
+static void
|
||||
+update_x (ECalComponent *pitip_comp, ECalComponent *comp)
|
||||
+{
|
||||
+ icalcomponent *itip_icalcomp = e_cal_component_get_icalcomponent (pitip_comp);
|
||||
+ icalcomponent *icalcomp = e_cal_component_get_icalcomponent (comp);
|
||||
+
|
||||
+ icalproperty *prop = icalcomponent_get_first_property (itip_icalcomp, ICAL_X_PROPERTY);
|
||||
+ while (prop) {
|
||||
+ const char *name = icalproperty_get_x_name (prop);
|
||||
+ if (!g_ascii_strcasecmp (name, "X-EVOLUTION-IS-REPLY")) {
|
||||
+ icalproperty *new_prop = icalproperty_new_x (icalproperty_get_x (prop));
|
||||
+ icalproperty_set_x_name (new_prop, "X-EVOLUTION-IS-REPLY");
|
||||
+ icalcomponent_add_property (icalcomp, new_prop);
|
||||
+ }
|
||||
+ prop = icalcomponent_get_next_property (itip_icalcomp, ICAL_X_PROPERTY);
|
||||
+ }
|
||||
+
|
||||
+ e_cal_component_set_icalcomponent (comp, icalcomp);
|
||||
+}
|
||||
+
|
||||
static void
|
||||
update_attendee_status (struct _itip_puri *pitip)
|
||||
{
|
||||
@@ -1283,6 +1303,8 @@ update_attendee_status (struct _itip_pur
|
||||
}
|
||||
}
|
||||
|
||||
+ update_x (pitip->comp, comp);
|
||||
+
|
||||
if (itip_view_get_update (ITIP_VIEW (pitip->view))) {
|
||||
e_cal_component_commit_sequence (comp);
|
||||
itip_send_comp (E_CAL_COMPONENT_METHOD_REQUEST, comp, pitip->current_ecal, NULL, NULL, NULL);
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bd27ffd7a86e619cfa1e23b88cdd234040c2324bf54c2361070a200619d37434
|
||||
size 32617635
|
3
evolution-2.25.90.tar.bz2
Normal file
3
evolution-2.25.90.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0823c676b04f9094dce87b89907573fb818ff419316ee0e630da69ac0f9f2e8b
|
||||
size 30219567
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b21d448e1a6f19783b0b368fcb55a7d4c59e3a81fe2641fa155154543d10d59a
|
||||
size 1227255
|
||||
oid sha256:c6284072f563e62533642dffe590e32b299a0d5fcd90bcd48a0afe78e3e39b40
|
||||
size 1356658
|
||||
|
@ -1,9 +1,111 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 5 19:21:24 CET 2009 - vuntz@novell.com
|
||||
|
||||
- Respinned sharepoint-account-setup.patch and
|
||||
sp-meetingworkspace-ui.patch so that they actually apply. And
|
||||
disable them -- something is definitely broken there. Maybe I
|
||||
didn't respinned them correctly :/
|
||||
- Also disable sp-tasks-setup.diff,
|
||||
bnc-449888-handle-no-workspace.patch and
|
||||
sharepoint-account-setup.patch: the whole sharepoint stuff breaks
|
||||
the build.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 5 15:12:24 CET 2009 - sbrabec@suse.cz
|
||||
|
||||
- Added support for gnome-patch-translation (bnc#464770).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 4 15:09:15 IST 2009 - msuman@suse.de
|
||||
|
||||
- Update to version 2.25.90:
|
||||
+ Bugs fixed: bgo#208426, bgo#245156, bgo#246313, bgo#303738,
|
||||
bgo#310844, bgo#339879, bgo#360813, bgo#489437, bgo#554454,
|
||||
bgo#555310, bgo#563364, bgo#563867, bgo#565376, bgo#565681,
|
||||
bgo#566011, bgo#566572, bgo#566599, bgo#566653, bgo#567031,
|
||||
bgo#567045, bgo#567129, bgo#567148, bgo#567270, bgo#567276,
|
||||
bgo#567280, bgo#567281, bgo#567282, bgo#567285, bgo#567409,
|
||||
bgo#567687, bgo#567744, bgo#318003, bgo#342446, bgo#362754,
|
||||
bgo#442869, bgo#539467, bgo#546637, bgo#559604, bgo#561628,
|
||||
bgo#562449, bgo#567654, bgo#567824, bgo#347287, bnc#443544,
|
||||
bnc#458968, bnc#462372, bnc#450554, bnc#470474, bnc#450535,
|
||||
bnc#463602
|
||||
+ Some fixes to use newer non-deprecated Gtk+ APIs, headers.
|
||||
+ Updated translations.
|
||||
- Disable the Novell ICEDesktop plugin.
|
||||
- Added:
|
||||
+ compiler-warnings.diff: Fixes a few compiler warnings
|
||||
- Dropped these patches already fixed upstream:
|
||||
+ bgo-559604-tooltip-for-gw.patch
|
||||
+ bnc-435455-attendees-meeting-resize.patch
|
||||
+ bnc-439987-classify-sensitivity.patch
|
||||
+ bnc-440624-six-appts-timeslot.patch
|
||||
+ bnc-443544-evo-free-busy.patch
|
||||
+ bnc-456481-evolution-eats-memory.patch
|
||||
+ bnc-458153-busy-button.patch
|
||||
+ bnc-458968-warning-on-delegating.patch
|
||||
+ bnc-462372-open-attachment-event.patch
|
||||
+ bnc-463599-header-print-issues.patch
|
||||
+ pst-import.patch
|
||||
|
||||
------------------------------------------------------------------
|
||||
Wed Feb 4 15:09:15 IST 2009 - msuman@suse.de
|
||||
|
||||
- Update to version 2.25.90:
|
||||
+ Bugs fixed: bgo#208426, bgo#245156, bgo#246313, bgo#303738,
|
||||
bgo#310844, bgo#339879, bgo#360813, bgo#489437, bgo#554454,
|
||||
bgo#555310, bgo#563364, bgo#563867, bgo#565376, bgo#565681,
|
||||
bgo#566011, bgo#566572, bgo#566599, bgo#566653, bgo#567031,
|
||||
bgo#567045, bgo#567129, bgo#567148, bgo#567270, bgo#567276,
|
||||
bgo#567280, bgo#567281, bgo#567282, bgo#567285, bgo#567409,
|
||||
bgo#567687, bgo#567744, bgo#318003, bgo#342446, bgo#362754,
|
||||
bgo#442869, bgo#539467, bgo#546637, bgo#559604, bgo#561628,
|
||||
bgo#562449, bgo#567654, bgo#567824, bgo#347287, bnc#443544,
|
||||
bnc#458968, bnc#462372, bnc#450554, bnc#470474, bnc#450535,
|
||||
bnc#463602
|
||||
+ Some fixes to use newer non-deprecated Gtk+ APIs, headers.
|
||||
+ Updated translations.
|
||||
- Disable the Novell ICEDesktop plugin.
|
||||
- Added:
|
||||
+ compiler-warnings.diff: Fixes a few compiler warnings
|
||||
- Dropped these patches already fixed upstream:
|
||||
+ bgo-559604-tooltip-for-gw.patch
|
||||
+ bnc-435455-attendees-meeting-resize.patch
|
||||
+ bnc-439987-classify-sensitivity.patch
|
||||
+ bnc-440624-six-appts-timeslot.patch
|
||||
+ bnc-443544-evo-free-busy.patch
|
||||
+ bnc-456481-evolution-eats-memory.patch
|
||||
+ bnc-458153-busy-button.patch
|
||||
+ bnc-458968-warning-on-delegating.patch
|
||||
+ bnc-462372-open-attachment-event.patch
|
||||
+ bnc-463599-header-print-issues.patch
|
||||
+ pst-import.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 12 15:25:27 EST 2009 - mauro@suse.de
|
||||
|
||||
- Translations update.
|
||||
|
||||
------------------------------------------------------------------
|
||||
Mon Jan 12 13:49:48 CET 2009 - pchenthill@suse.de
|
||||
|
||||
- + bnc #449899 - sp-process-meetings.diff - show accept/decline
|
||||
options for sharepoint meetings.
|
||||
|
||||
------------------------------------------------------------------
|
||||
Sun Jan 11 16:40:44 IST 2009 - msuman@suse.de
|
||||
|
||||
- Pruning changes from the factory submission:
|
||||
+ Dropped these patches already fixed upstream:
|
||||
+ bgo-559604-calendar-tooltip-updated.patch
|
||||
+ bgo-564248-evo-copy-paste-images.patch
|
||||
+ bnc-435694-retract-feature-broken.patch
|
||||
+ bnc-446285-traverse-all-entries.patch
|
||||
+ bnc-446287-missing-vcf-reader.patch
|
||||
+ bnc-449952-hotkey-evo-preferences.patch
|
||||
+ bnc-439998-delete-delegated-events.patch
|
||||
+ bnc-462349-shared-memo-editor.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 9 00:18:22 CET 2009 - mauro@suse.de
|
||||
|
||||
@ -67,6 +169,60 @@ Wed Jan 7 11:27:13 CET 2009 - abharath@suse.de
|
||||
+ bnc#463587 - [PATCH] evolution --force-shutdown Tries To Kill All
|
||||
Users.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 6 13:34:55 IST 2009 - msuman@suse.de
|
||||
|
||||
- Update to version 2.25.4:
|
||||
+ Bugs fixed: bnc#435694, bnc#439998, bnc#446285, bgo#546437,
|
||||
bgo#546860, bgo#558337, bgo#559153, bgo#559604, bgo#562091,
|
||||
bgo#562155, bgo#564248, bgo#565628, bgo#565857, bgo#566206
|
||||
+ Updated translations
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 30 09:36:10 IST 2008 - msuman@suse.de
|
||||
|
||||
- Split out the mono stuff into a separate evolution-mono subpackage
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 24 15:24:56 IST 2008 - msuman@suse.de
|
||||
|
||||
- Update to version 2.25.3.1:
|
||||
+ Bugs fixed: bgo#332729, bgo#359745, bgo#386036, bgo#490503,
|
||||
bgo#503662, bgo#524377, bgo#541121, bgo#552583, bgo#552850,
|
||||
bgo#554450, bgo#554464, bgo#555276, bgo#556224, bgo#557246,
|
||||
bgo#557581, bgo#557726, bgo#557818, bgo#558322, bgo#558354,
|
||||
bgo#559371, bgo#559518, bgo#559604, bgo#559701, bgo#559810,
|
||||
bgo#560138, bgo#560329, bgo#560882, bgo#561467, bgo#332629,
|
||||
bgo#332629, bgo#333224, bgo#337082, bgo#348299, bgo#350725,
|
||||
bgo#352287, bgo#549964, bgo#551599, bgo#552357, bgo#552583,
|
||||
bgo#552583, bgo#555371, bgo#555663, bgo#556303, bgo#558498,
|
||||
bgo#560420, bgo#562228, bgo#562990, bgo#563077, bgo#563250,
|
||||
bgo#563369, bgo#563633, bgo#563669, bgo#563870, bgo#564351,
|
||||
bnc#434320, bnc#437226, bnc#440007, bnc#440646, bnc#443190,
|
||||
bnc#446286
|
||||
+ Updated translations
|
||||
- Re-based old patches.
|
||||
- Dropped these patches fixed upstream:
|
||||
+ bgo-332729-invalid-write-econfig.patch
|
||||
+ bgo-556224-search-events-offline.patch
|
||||
+ bgo-558354-alarm-notify-improved.patch
|
||||
+ bgo-562228-evo-mailbox-field.patch
|
||||
+ bnc-434320-mail-notify-fix.patch
|
||||
+ bnc-435452-lose-attendees-busy-search.patch
|
||||
+ bnc-439733-bogofilter-junk-training.patch
|
||||
+ bnc-440646-set-color-proxy.patch
|
||||
+ bnc-440649-display-meeting-bold.patch
|
||||
+ bnc-441763-diff-meeting-icon.patch
|
||||
+ bnc-441770-non-intrusive-calendar.patch
|
||||
+ bnc-442135-exchange-settings-offline.patch
|
||||
+ bnc-443190-warning-before-editing-appt.patch
|
||||
+ bnc-443851-calendar-tooltip-info.patch
|
||||
+ bnc-446286-message-tracking-status.patch
|
||||
+ bnc-446356-a11y-crash.diff
|
||||
+ bnc-446390-corrupted-vfolders.patch
|
||||
+ evo-core-mapi-changes.diff
|
||||
+ remove-nm-dep.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 4 12:13:42 CET 2008 - abharath@suse.de
|
||||
|
||||
|
465
evolution.spec
465
evolution.spec
@ -1,5 +1,5 @@
|
||||
#
|
||||
# spec file for package evolution (Version 2.24.1.1)
|
||||
# spec file for package evolution (Version 2.25.90)
|
||||
#
|
||||
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
@ -20,7 +20,6 @@
|
||||
|
||||
Name: evolution
|
||||
BuildRequires: bison
|
||||
BuildRequires: dice-devel
|
||||
%if %suse_version > 1100
|
||||
BuildRequires: evoldap2-devel
|
||||
%else
|
||||
@ -31,18 +30,18 @@ BuildRequires: fdupes
|
||||
BuildRequires: gnome-common
|
||||
BuildRequires: gnome-doc-utils-devel
|
||||
BuildRequires: gnome-icon-theme-devel
|
||||
BuildRequires: gnome-patch-translation
|
||||
BuildRequires: gnome-pilot-devel
|
||||
BuildRequires: gtk-doc
|
||||
BuildRequires: gtkhtml2-devel
|
||||
BuildRequires: intltool
|
||||
BuildRequires: libgweather-devel >= 2.25.4
|
||||
BuildRequires: libidl
|
||||
BuildRequires: libnotify-devel
|
||||
BuildRequires: libpisock-devel
|
||||
BuildRequires: libpisync-devel
|
||||
BuildRequires: libpst-devel
|
||||
BuildRequires: mono-devel
|
||||
BuildRequires: mozilla-nss-devel
|
||||
BuildRequires: ndesk-dbus-glib-devel
|
||||
BuildRequires: notification-daemon
|
||||
BuildRequires: nss-shared-helper-devel
|
||||
BuildRequires: perl-XML-Parser
|
||||
@ -56,130 +55,53 @@ BuildRequires: update-desktop-files
|
||||
License: LGPL v2.0 only; LGPL v3 only
|
||||
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.1
|
||||
Release: 10
|
||||
%define evolution_base_version 2.26
|
||||
Version: 2.25.90
|
||||
Release: 1
|
||||
Summary: The Integrated GNOME Mail, Calendar, and Address Book Suite
|
||||
Source0: %{name}-%{version}.tar.bz2
|
||||
Source0: ftp://ftp.gnome.org/pub/gnome/sources/evolution/2.25/%{name}-%{version}.tar.bz2
|
||||
Source1: summerdance-about2.png
|
||||
Source2: ximian-evolution-desktop-files.tar.bz2
|
||||
Source3: ximian-evolution-pixmaps.tar.bz2
|
||||
Source4: %{name}-po.tar.gz
|
||||
Patch4: evolution-desktop.patch
|
||||
Patch6: remove-nm-dep.patch
|
||||
# PATCH-NEEDS-REBASE calendar-sendbutton.patch -- It also needs a proper description and a bug number
|
||||
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 abharath@suse.de -- 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 bgo-556224-search-events-offline.patch bgo556224 -- Fix has been submitted upstream.
|
||||
Patch24: bgo-556224-search-events-offline.patch
|
||||
# PATCH-FIX-OPENSUSE bnc-433448-backup-restore-fails.patch bnc433448 abharath@suse.de -- Not required upstream.
|
||||
Patch25: bnc-433448-backup-restore-fails.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-434320-mail-notify-fix.patch bnc434320 sragavan@novell.com -- Fix has been submitted upstream.
|
||||
Patch26: bnc-434320-mail-notify-fix.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-440624-six-appts-timeslot.patch bnc440624 bgo246313 -- Fix has been submitted upstream.
|
||||
Patch27: bnc-440624-six-appts-timeslot.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-440646-set-color-proxy.patch bnc440646 msuman@suse.de -- Fix is upstream since 2.24.2
|
||||
Patch28: bnc-440646-set-color-proxy.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-440649-display-meeting-bold.patch bnc440649 bgo490503 -- Fix is upstream since 2.25.3
|
||||
Patch29: bnc-440649-display-meeting-bold.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-443190-warning-before-editing-appt.patch bnc443190 msuman@suse.de -- Fix is upstream since 2.24.2
|
||||
Patch30: bnc-443190-warning-before-editing-appt.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-443851-calendar-tooltip-info.patch bnc443851 bgo559604 -- Fix has been submitted upstream.
|
||||
Patch31: bnc-443851-calendar-tooltip-info.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-446356-a11y-crash.diff bnc446356 bgo560329 -- Fix is upstream since 2.24.2
|
||||
Patch32: bnc-446356-a11y-crash.diff
|
||||
# PATCH-FIX-UPSTREAM bnc-446390-corrupted-vfolders.patch bnc446390 bgo559604 sragavan@novell.com -- Fix has been submitted upstream.
|
||||
Patch33: bnc-446390-corrupted-vfolders.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-446286-message-tracking-status.patch bnc446286 abharath@suse.de -- Fix has been submitted upstream.
|
||||
Patch34: bnc-446286-message-tracking-status.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-210959-evo-accept-ics.patch bnc210959 pchenthill@novell.com -- Patch yet to be pushed upstream.
|
||||
Patch35: bnc-210959-evo-accept-ics.patch
|
||||
# PATCH-FIX-UPSTREAM sp-tasks-setup.diff pchenthill@suse.de -- Patch needs to be upstreamed.
|
||||
Patch36: sp-tasks-setup.diff
|
||||
# PATCH-FIX-UPSTREAM bgo-332729-invalid-write-econfig.patch bgo332729 -- Fix has been submitted upstream.
|
||||
Patch37: bgo-332729-invalid-write-econfig.patch
|
||||
# PATCH-FIX-UPSTREAM bgo-562228-evo-mailbox-field.patch bgo562228 -- Fix has been submitted upstream.
|
||||
Patch38: bgo-562228-evo-mailbox-field.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-435452-lose-attendees-busy-search.patch bnc435452 sragavan@novell.com -- Patch is part of GNOME 2.25.5 release.
|
||||
Patch39: bnc-435452-lose-attendees-busy-search.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-439733-bogofilter-junk-training.patch bnc439733 sragavan@novell.com -- Patch is part of GNOME 2.25.5 release.
|
||||
Patch40: bnc-439733-bogofilter-junk-training.patch
|
||||
# PATCH-FIX-UPSTREAM sp-meetingworkspace-ui.patch pchenthill@suse.de -- Patch needs to be upstreamed.
|
||||
Patch41: sp-meetingworkspace-ui.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-449888-handle-no-workspace.patch bnc449888 pchenthill@suse.de -- Patch needs to be upstreamed.
|
||||
Patch42: bnc-449888-handle-no-workspace.patch
|
||||
# PATCH-FIX-UPSTREAM bgo-559153-evo-migration.patch bgo559153 psankar@suse.de -- Patch is part of GNOME 2.25.5 release.
|
||||
# PATCH-NEEDS-REBASE bgo-559153-evo-migration.patch bgo559153 psankar@suse.de -- Patch is part of GNOME 2.25.5 release.
|
||||
Patch43: bgo-559153-evo-migration.patch
|
||||
# PATCH-FIX-UPSTREAM bgo-559604-calendar-tooltip-updated.patch bgo559604 -- Patch is part of GNOME 2.25.5 release.
|
||||
Patch44: bgo-559604-calendar-tooltip-updated.patch
|
||||
# PATCH-FIX-UPSTREAM bgo-564248-evo-copy-paste-images.patch bgo564248 -- Patch is part of GNOME 2.25.5 release.
|
||||
Patch45: bgo-564248-evo-copy-paste-images.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-435694-retract-feature-broken.patch bnc435694 abharath@suse.de -- Patch is part of GNOME 2.25.5 release.
|
||||
Patch46: bnc-435694-retract-feature-broken.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-446285-traverse-all-entries.patch bnc446285 abharath@suse.de -- Patch is part of GNOME 2.25.5 release.
|
||||
Patch47: bnc-446285-traverse-all-entries.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-446287-missing-vcf-reader.patch sragavan@novell.com -- Patch is part of GNOME 2.25.5 release.
|
||||
Patch48: bnc-446287-missing-vcf-reader.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-449952-hotkey-evo-preferences.patch bnc449952 sragavan@novell.com -- Patch needs to be upstreamed.
|
||||
Patch49: bnc-449952-hotkey-evo-preferences.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-443544-evo-free-busy.patch bnc443544 abharath@suse.de -- Patch is part of GNOME 2.25.5 release.
|
||||
Patch50: bnc-443544-evo-free-busy.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-435455-attendees-meeting-resize.patch bnc435455 shashish@suse.de -- Patch needs to be upstreamed.
|
||||
Patch51: bnc-435455-attendees-meeting-resize.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-439998-delete-delegated-events.patch bnc439998 abharath@suse.de -- Patch is part of GNOME 2.25.5 release.
|
||||
Patch52: bnc-439998-delete-delegated-events.patch
|
||||
# PATCH-FIX-SLED bnc-440634-forwarded-hide-accept-decline.patch bnc440634 abharath@suse.de -- Make GW understand folders better.
|
||||
Patch53: bnc-440634-forwarded-hide-accept-decline.patch
|
||||
# PATCH-FIX-SLED bnc-445996-address-conflict.patch bnc445996 shashish@suse.de -- Needs to be moved out of glade files.
|
||||
Patch54: bnc-445996-address-conflict.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-458153-busy-button.patch bnc458153 shashish@suse.de -- Patch is part of GNOME 2.25.5 release.
|
||||
Patch55: bnc-458153-busy-button.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-462349-shared-memo-editor.patch bnc462349 -- Patch is part of GNOME 2.25.5 release.
|
||||
Patch56: bnc-462349-shared-memo-editor.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-463599-header-print-issues.patch bnc463599 abharath@suse.de -- Patch needs to be upstreamed.
|
||||
Patch57: bnc-463599-header-print-issues.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-439987-classify-sensitivity.patch bnc439987 pchenthill@suse.de -- Patch needs to be upstreamed.
|
||||
Patch58: bnc-439987-classify-sensitivity.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-456481-evolution-eats-memory.patch bnc456481 sragavan@novell.com -- Patch needs to be upstreamed.
|
||||
Patch59: bnc-456481-evolution-eats-memory.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-462372-open-attachment-event.patch bnc462372 shashish@suse.de -- Patch is part of GNOME 2.25.5 release.
|
||||
Patch60: bnc-462372-open-attachment-event.patch
|
||||
# PATCH-FIX-UPSTREAM bnc-458968-warning-on-delegating.patch bnc458968 msuman@suse.de -- Patch is part of GNOME 2.25.5 release.
|
||||
Patch61: bnc-458968-warning-on-delegating.patch
|
||||
# PATCH-FIX-UPSTREAM bgo-559604-tooltip-for-gw.patch bgo559604 -- Patch needs to be upstreamed.
|
||||
Patch62: bgo-559604-tooltip-for-gw.patch
|
||||
# PATCH-FIX-UPSTREAM evo-core-mapi-changes.diff msuman@suse.de -- Fix is upstream since 2.25.3
|
||||
Patch100: evo-core-mapi-changes.diff
|
||||
# PATCH-FIX-UPSTREAM compiler-warnings.diff msuman@suse.de -- Fix for a few compiler warnings, available upstream in 2.25.91
|
||||
Patch63: compiler-warnings.diff
|
||||
# PATCH-FIX-SLED sp-process-meetings.diff pchenthill@suse.de -- Fix for bug 449899 (bnc)
|
||||
Patch101: sp-process-meetings.diff
|
||||
Url: http://gnome.org/projects/evolution/
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Requires: yelp
|
||||
Recommends: bogofilter
|
||||
Requires: gtkhtml2 >= 3.10.0
|
||||
Requires: evolution-data-server >= 2.24.1.1
|
||||
Requires: gnome-icon-theme >= 2.10.0
|
||||
Requires: %{name}-lang = %{version}
|
||||
%gconf_schemas_prereq
|
||||
|
||||
@ -287,6 +209,7 @@ Requires: gtkhtml2-devel
|
||||
Requires: libbonoboui-devel
|
||||
Requires: libgnome-devel
|
||||
Requires: libgnomeui-devel
|
||||
Requires: libgweather-devel >= 2.25.4
|
||||
Requires: libnotify-devel
|
||||
Requires: libopenssl-devel
|
||||
Requires: libxml2-devel
|
||||
@ -313,6 +236,114 @@ embed the existing ones in other applications.
|
||||
|
||||
|
||||
|
||||
Authors:
|
||||
--------
|
||||
Addressbook
|
||||
Arturo Esponosa <arturo@nuclecu.unam.mx> (Original Gnomecard author)
|
||||
Nat Friedman <nat@ximian.com>
|
||||
Chris Lahey <clahey@ximian.com>
|
||||
Chris Toshok <toshok@ximian.com>
|
||||
Jon Trowbridge <trow@ximian.com>
|
||||
|
||||
Artwork
|
||||
Tuomas Kuosmanen <tigert@ximian.com>
|
||||
Jakub Steiner <jimmac@ximian.com>
|
||||
|
||||
Calendar
|
||||
Seth Alves <seth@ximian.com>
|
||||
Eric Busboom <eric@softwarestudio.org> (libical author)
|
||||
Arturo Esponosa <arturo@nuclecu.unam.mx> (Gnomecal contributor)
|
||||
Damon Chaplin <damon@ximian.com>
|
||||
Federico Mena-Quintero <federico@ximian.com>
|
||||
Rodrigo Moya <rodrigo@ximian.com>
|
||||
Jesse Pavel <jesse@ximian.com>
|
||||
JP Rosevear <jpr@ximian.com>
|
||||
Russell Steinthal <rms39@columbia.edu> (Gnomecal maintainer)
|
||||
|
||||
Documentation
|
||||
Kevin Breit <mrproper@ximian.com>
|
||||
Aaron Weber <aaron@ximian.com>
|
||||
|
||||
Mailer
|
||||
Radek Doulik <rodo@ximian.com>
|
||||
Larry Ewing <lewing@ximian.com>
|
||||
Bertrand Guiheneuf <bertrand@ximian.com>
|
||||
Jason Leach <jleach@ximian.com>
|
||||
Matt Loper <matt@ximian.com>
|
||||
Ettore Perazzoli <ettore@ximian.com>
|
||||
Jeffrey Stedfast <fejj@ximian.com>
|
||||
Jon Trowbridge <trow@ximian.com>
|
||||
Peter Williams <peterw@ximian.com>
|
||||
Dan Winship <danw@ximian.com>
|
||||
Michael Zucchi <notzed@ximian.com>
|
||||
|
||||
Notes
|
||||
Anders Carlsson <andersca@gnu.org>
|
||||
|
||||
Pilot
|
||||
JP Rosevear <jpr@ximian.com>
|
||||
|
||||
Shell
|
||||
Miguel de Icaza <miguel@ximian.com>
|
||||
Jason Leach <jleach@ximian.com>
|
||||
Ettore Perazzoli <ettore@ximian.com>
|
||||
|
||||
Translations
|
||||
Akira TAGOH <tagoh@gnome.gr.jp>
|
||||
Andraz Tori <andraz.tori1@guest.arnes.si>
|
||||
Andreas Hyden <a.hyden@cyberpoint.se>
|
||||
Arjan Scherpenisse <acscherp@wins.uva.nl>
|
||||
Clara Tattoni <clara.tattoni@libero.it>
|
||||
Fatih Demir <kabalak@gmx.net>
|
||||
Gediminas Paulauskas <menesis@delfi.lt>
|
||||
GNOME PL Team <translators@gnome.pl>
|
||||
Gustavo Maciel Dias Vieira <gdvieira@zaz.com.br>
|
||||
Héctor García Alvarez <hector@scouts-es.org>
|
||||
Jesús Bravo Álvarez <jba@pobox.com>
|
||||
Keld Simonsen <keld@dkuug.dk>
|
||||
Kjartan Maraas <kmaraas@gnome.org>
|
||||
Matthias Warkus <mawa@iname.com>
|
||||
Spiros Papadimitriou <spapadim+@cs.cmu.edu>
|
||||
Sung-Hyun Nam <namsh@kldp.org>
|
||||
Szabolcs BAN <shooby@gnome.hu>
|
||||
Tiago Antão <tiagoantao@bigfoot.com>
|
||||
Valek Filippov <frob@df.ru>
|
||||
Vincent Renardias <vincent@redhat.com>
|
||||
Yuri Syrota <rasta@renome.rovno.ua>
|
||||
|
||||
UI
|
||||
Anna Dirks <anna@ximian.com>
|
||||
|
||||
Widgets
|
||||
Damon Chaplin <damon@ximian.com>
|
||||
Miguel de Icaza <miguel@ximian.com>
|
||||
Chris Lahey <clahey@ximian.com>
|
||||
Federico Mena-Quintero <federico@ximian.com>
|
||||
Chris Toshok <toshok@ximian.com>
|
||||
|
||||
%package mono-plugins
|
||||
License: LGPL v2.0 only; LGPL v3 only
|
||||
Summary: The Integrated GNOME Mail, Calendar, and Address Book Suite
|
||||
Group: Productivity/Networking/Email/Clients
|
||||
Requires: evolution = %{?epoch:}%{version}-%{release}
|
||||
# Dice support is disabled
|
||||
#BuildRequires: dice-devel
|
||||
BuildRequires: evolution-sharp
|
||||
BuildRequires: gconf-sharp2
|
||||
BuildRequires: glib-sharp2
|
||||
BuildRequires: gnome-sharp2
|
||||
BuildRequires: gtk-sharp2
|
||||
BuildRequires: mono-devel
|
||||
BuildRequires: ndesk-dbus-glib-devel
|
||||
|
||||
%description mono-plugins
|
||||
Evolution consists of modular components (at the moment: mailer,
|
||||
calendar, and address book) that should make daily life easier. Because
|
||||
of the modular design, it is possible to plug new components into
|
||||
Evolution or embed the existing ones in other applications.
|
||||
|
||||
|
||||
|
||||
Authors:
|
||||
--------
|
||||
Addressbook
|
||||
@ -401,62 +432,32 @@ Authors:
|
||||
%lang_package
|
||||
%prep
|
||||
%setup -q -a4
|
||||
gnome-patch-translation-prepare
|
||||
%patch4
|
||||
%patch6
|
||||
# %patch7
|
||||
%patch8
|
||||
%patch9
|
||||
%patch13
|
||||
%patch15 -p1
|
||||
%patch16 -p1
|
||||
%patch17
|
||||
%patch18
|
||||
%patch19
|
||||
%patch20
|
||||
%patch21
|
||||
%patch22
|
||||
%patch23 -p1
|
||||
%patch24
|
||||
# Disable: breaks the build
|
||||
#%patch23 -p1
|
||||
%patch25
|
||||
%patch26
|
||||
%patch27
|
||||
%patch28
|
||||
%patch29
|
||||
%patch30
|
||||
%patch31
|
||||
%patch32
|
||||
%patch33
|
||||
%patch34
|
||||
%patch35
|
||||
%patch36 -p1
|
||||
%patch37
|
||||
%patch38
|
||||
%patch39
|
||||
%patch40
|
||||
%patch41 -p1
|
||||
%patch42 -p1
|
||||
%patch43
|
||||
%patch44
|
||||
%patch45
|
||||
%patch46
|
||||
%patch47
|
||||
%patch48
|
||||
%patch49
|
||||
%patch50
|
||||
%patch51
|
||||
%patch52
|
||||
# Disable: breaks the build
|
||||
#%patch36 -p1
|
||||
# Disable: breaks the build
|
||||
#%patch41 -p1
|
||||
# Disable: breaks the build
|
||||
#%patch42 -p1
|
||||
###%patch43
|
||||
%patch53
|
||||
%patch54
|
||||
%patch55
|
||||
%patch56
|
||||
%patch57
|
||||
%patch58
|
||||
%patch59
|
||||
%patch60
|
||||
%patch61
|
||||
%patch62
|
||||
%patch100 -p1
|
||||
%patch101 -p1
|
||||
%patch63
|
||||
# Disable: breaks the build
|
||||
#%patch101 -p1
|
||||
gnome-patch-translation-update
|
||||
|
||||
%build
|
||||
autoreconf -f -i
|
||||
@ -473,13 +474,16 @@ export FFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fstack-protector"
|
||||
%endif
|
||||
--with-pisock \
|
||||
--enable-pilot-conduits=yes \
|
||||
--with-krb5=/usr \
|
||||
--with-static-ldap=no \
|
||||
--with-krb4=%{_prefix} \
|
||||
--with-krb5=%{_prefix} \
|
||||
--enable-nss=yes \
|
||||
--enable-smime=yes \
|
||||
--enable-exchange=yes \
|
||||
--enable-ipv6=yes \
|
||||
--enable-default-binary=yes \
|
||||
--enable-mono=yes \
|
||||
--enable-icedesktop=yes
|
||||
--enable-icedesktop=no \
|
||||
--disable-static
|
||||
# Processing the files in help uses _lots_ of memory, so running that part in parallel is bad.
|
||||
pushd help
|
||||
%{__make}
|
||||
@ -487,9 +491,11 @@ popd
|
||||
%{__make} %{?jobs:-j%jobs}
|
||||
|
||||
%install
|
||||
%{__make} DESTDIR=$RPM_BUILD_ROOT install
|
||||
%{makeinstall}
|
||||
# Remove the libtool archive files
|
||||
%{__rm} $RPM_BUILD_ROOT/%{_libdir}/evolution/*/*.la
|
||||
%{__rm} $RPM_BUILD_ROOT/%{_libdir}/evolution/*/*/*.la
|
||||
%{__cp} %{SOURCE1} $RPM_BUILD_ROOT/%{_datadir}/evolution/%evolution_base_version/images/about-box.png
|
||||
%suse_update_desktop_file -G "Mail and Calendar" -D "evolution-%evolution_base_version" evolution Core-Office
|
||||
for xml in $RPM_BUILD_ROOT/%{_datadir}/gnome/help/evolution-*/*/evolution-*.xml; do
|
||||
meinproc --check --cache `echo $xml | sed 's/xml$/cache.bz2/'` $xml || :
|
||||
done
|
||||
@ -499,6 +505,7 @@ done
|
||||
%suse_update_desktop_file -G "Address Book" -D "evolution-%evolution_base_version/evolution-%evolution_base_version.xml?usage-contact" evolution-addressbook
|
||||
%suse_update_desktop_file -G "Schedule Manager" -D "evolution-%evolution_base_version/evolution-%evolution_base_version.xml?usage-calendar" evolution-calendar
|
||||
%suse_update_desktop_file -G "Task List" -D "evolution-%evolution_base_version/evolution-%evolution_base_version.xml?usage-calendar-todo" evolution-tasklist
|
||||
%suse_update_desktop_file -G "Mail and Calendar" -D "evolution-%evolution_base_version" evolution Core-Office
|
||||
# Install the Ximian pixmaps.
|
||||
%{__mkdir_p} $RPM_BUILD_ROOT/%{_datadir}/pixmaps
|
||||
%{__tar} --bzip2 -xf %{SOURCE3} -C $RPM_BUILD_ROOT/%{_datadir}/pixmaps/
|
||||
@ -506,14 +513,11 @@ done
|
||||
%find_lang evolution evolution-%evolution_base_version.lang
|
||||
%find_gconf_schemas
|
||||
%{__cat} %{name}.schemas_list >%{name}.lst
|
||||
#%{__rm} $RPM_BUILD_ROOT/%{_libdir}/*.*a
|
||||
%{__rm} $RPM_BUILD_ROOT/%{_libdir}/evolution/*/*.*a
|
||||
%{__rm} $RPM_BUILD_ROOT/%{_libdir}/evolution/*/*/*.*a
|
||||
%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/mime-info
|
||||
%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\ncase \$1 in\n\t\"--force-shutdown\")\n\t\tLD_LIBRARY_PATH=%{_libdir}/evoldap/lib MONO_PATH=%{_libdir}/mono:%{_libdir}/dice exec -a \"%{_bindir}/evolution\" %{_bindir}/evolution.bin \$@ &\n\t\tpkill -u \$LOGNAME evolution.bin\n\t\t;;\n\t*)\n\t\tLD_LIBRARY_PATH=%{_libdir}/evoldap/lib MONO_PATH=%{_libdir}/mono:%{_libdir}/dice exec -a \"%{_bindir}/evolution\" %{_bindir}/evolution.bin \$@\n\t\t;;\n\nesac\n\nexit \$?" > $RPM_BUILD_ROOT/%{_bindir}/evolution
|
||||
echo -e "#!/bin/sh\n\nLD_LIBRARY_PATH=%{_libdir}/evoldap/lib exec -a \"%{_bindir}/evolution\" %{_bindir}/evolution.bin \$@\n" > $RPM_BUILD_ROOT/%{_bindir}/evolution
|
||||
%{__chmod} +x $RPM_BUILD_ROOT/%{_bindir}/evolution
|
||||
%endif
|
||||
|
||||
@ -551,7 +555,49 @@ fi
|
||||
%dir %{_libdir}/evolution/*
|
||||
%{_libdir}/evolution/*/*.so.*
|
||||
%{_libdir}/evolution/*/components
|
||||
%{_libdir}/evolution/*/plugins
|
||||
%dir %{_libdir}/evolution/*/plugins
|
||||
%{_libdir}/evolution/*/plugins/attachment-reminder.glade
|
||||
%{_libdir}/evolution/*/plugins/templates.glade
|
||||
%{_libdir}/evolution/*/plugins/*-account-disable.*
|
||||
%{_libdir}/evolution/*/plugins/*-addressbook-file.*
|
||||
%{_libdir}/evolution/*/plugins/*-backup-restore.*
|
||||
%{_libdir}/evolution/*/plugins/*-bogo-junk-plugin.*
|
||||
%{_libdir}/evolution/*/plugins/*-calendar-file.*
|
||||
%{_libdir}/evolution/*/plugins/*-calendar-http.*
|
||||
%{_libdir}/evolution/*/plugins/*-calendar-weather.*
|
||||
%{_libdir}/evolution/*/plugins/*-compose-send-options.*
|
||||
%{_libdir}/evolution/*/plugins/*-copy-tool.*
|
||||
%{_libdir}/evolution/*/plugins/*-default-mailer.*
|
||||
%{_libdir}/evolution/*/plugins/*-default-source.*
|
||||
%{_libdir}/evolution/*/plugins/*-email-custom-header.*
|
||||
%{_libdir}/evolution/*/plugins/*-evolution-attachment-reminder.*
|
||||
%{_libdir}/evolution/*/plugins/*-evolution-bbdb.*
|
||||
%{_libdir}/evolution/*/plugins/*-evolution-caldav.*
|
||||
%{_libdir}/evolution/*/plugins/*-evolution-google.*
|
||||
%{_libdir}/evolution/*/plugins/*-evolution-mail-attachments-import-ics.*
|
||||
%{_libdir}/evolution/*/plugins/*-evolution-startup-wizard.*
|
||||
%{_libdir}/evolution/*/plugins/*-evolution-webdav.*
|
||||
%{_libdir}/evolution/*/plugins/*-exchange-*-subscription.*
|
||||
%{_libdir}/evolution/*/plugins/*-exchange-operations.*
|
||||
%{_libdir}/evolution/*/plugins/*-face.*
|
||||
%{_libdir}/evolution/*/plugins/*-folder-*.*
|
||||
%{_libdir}/evolution/*/plugins/*-groupwise-features.*
|
||||
%{_libdir}/evolution/*/plugins/*-gw-account-setup.*
|
||||
%{_libdir}/evolution/*/plugins/*-imap-features.*
|
||||
%{_libdir}/evolution/*/plugins/*-itip-formatter.*
|
||||
%{_libdir}/evolution/*/plugins/*-mailing-list-actions.*
|
||||
%{_libdir}/evolution/*/plugins/*-mail-notification.*
|
||||
%{_libdir}/evolution/*/plugins/*-mail-to-task.*
|
||||
%{_libdir}/evolution/*/plugins/*-mark-all-read.*
|
||||
%{_libdir}/evolution/*/plugins/*-plugin-manager.*
|
||||
%{_libdir}/evolution/*/plugins/*-prefer-plain.*
|
||||
%{_libdir}/evolution/*/plugins/*-pst-import.*
|
||||
%{_libdir}/evolution/*/plugins/*-publish-calendar.*
|
||||
%{_libdir}/evolution/*/plugins/*-sa-junk-plugin.*
|
||||
%{_libdir}/evolution/*/plugins/*-save-calendar.*
|
||||
%{_libdir}/evolution/*/plugins/*-select-one-source.*
|
||||
%{_libdir}/evolution/*/plugins/*-subject-thread.*
|
||||
%{_libdir}/evolution/*/plugins/*-templates.*
|
||||
%{_libdir}/evolution/*/csv2vcard
|
||||
%{_libdir}/evolution/*/evolution-*
|
||||
%{_libdir}/evolution/*/killev
|
||||
@ -569,10 +615,100 @@ fi
|
||||
%{_datadir}/gnome-pilot/conduits/*.conduit
|
||||
%{_libdir}/evolution/*/conduits
|
||||
|
||||
%files mono-plugins
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/evolution/*/plugins/*-evolution-mono.*
|
||||
# Dice support is disabled
|
||||
#%{_libdir}/evolution/*/plugins/*-sharepoint-*
|
||||
#%{_libdir}/evolution/*/plugins/*.dll
|
||||
|
||||
%changelog
|
||||
* Thu Feb 05 2009 vuntz@novell.com
|
||||
- Respinned sharepoint-account-setup.patch and
|
||||
sp-meetingworkspace-ui.patch so that they actually apply. And
|
||||
disable them -- something is definitely broken there. Maybe I
|
||||
didn't respinned them correctly :/
|
||||
- Also disable sp-tasks-setup.diff,
|
||||
bnc-449888-handle-no-workspace.patch and
|
||||
sharepoint-account-setup.patch: the whole sharepoint stuff breaks
|
||||
the build.
|
||||
* Thu Feb 05 2009 sbrabec@suse.cz
|
||||
- Added support for gnome-patch-translation (bnc#464770).
|
||||
* Wed Feb 04 2009 msuman@suse.de
|
||||
- Update to version 2.25.90:
|
||||
+ Bugs fixed: bgo#208426, bgo#245156, bgo#246313, bgo#303738,
|
||||
bgo#310844, bgo#339879, bgo#360813, bgo#489437, bgo#554454,
|
||||
bgo#555310, bgo#563364, bgo#563867, bgo#565376, bgo#565681,
|
||||
bgo#566011, bgo#566572, bgo#566599, bgo#566653, bgo#567031,
|
||||
bgo#567045, bgo#567129, bgo#567148, bgo#567270, bgo#567276,
|
||||
bgo#567280, bgo#567281, bgo#567282, bgo#567285, bgo#567409,
|
||||
bgo#567687, bgo#567744, bgo#318003, bgo#342446, bgo#362754,
|
||||
bgo#442869, bgo#539467, bgo#546637, bgo#559604, bgo#561628,
|
||||
bgo#562449, bgo#567654, bgo#567824, bgo#347287, bnc#443544,
|
||||
bnc#458968, bnc#462372, bnc#450554, bnc#470474, bnc#450535,
|
||||
bnc#463602
|
||||
+ Some fixes to use newer non-deprecated Gtk+ APIs, headers.
|
||||
+ Updated translations.
|
||||
- Disable the Novell ICEDesktop plugin.
|
||||
- Added:
|
||||
+ compiler-warnings.diff: Fixes a few compiler warnings
|
||||
- Dropped these patches already fixed upstream:
|
||||
+ bgo-559604-tooltip-for-gw.patch
|
||||
+ bnc-435455-attendees-meeting-resize.patch
|
||||
+ bnc-439987-classify-sensitivity.patch
|
||||
+ bnc-440624-six-appts-timeslot.patch
|
||||
+ bnc-443544-evo-free-busy.patch
|
||||
+ bnc-456481-evolution-eats-memory.patch
|
||||
+ bnc-458153-busy-button.patch
|
||||
+ bnc-458968-warning-on-delegating.patch
|
||||
+ bnc-462372-open-attachment-event.patch
|
||||
+ bnc-463599-header-print-issues.patch
|
||||
+ pst-import.patch
|
||||
- Update to version 2.25.90:
|
||||
+ Bugs fixed: bgo#208426, bgo#245156, bgo#246313, bgo#303738,
|
||||
bgo#310844, bgo#339879, bgo#360813, bgo#489437, bgo#554454,
|
||||
bgo#555310, bgo#563364, bgo#563867, bgo#565376, bgo#565681,
|
||||
bgo#566011, bgo#566572, bgo#566599, bgo#566653, bgo#567031,
|
||||
bgo#567045, bgo#567129, bgo#567148, bgo#567270, bgo#567276,
|
||||
bgo#567280, bgo#567281, bgo#567282, bgo#567285, bgo#567409,
|
||||
bgo#567687, bgo#567744, bgo#318003, bgo#342446, bgo#362754,
|
||||
bgo#442869, bgo#539467, bgo#546637, bgo#559604, bgo#561628,
|
||||
bgo#562449, bgo#567654, bgo#567824, bgo#347287, bnc#443544,
|
||||
bnc#458968, bnc#462372, bnc#450554, bnc#470474, bnc#450535,
|
||||
bnc#463602
|
||||
+ Some fixes to use newer non-deprecated Gtk+ APIs, headers.
|
||||
+ Updated translations.
|
||||
- Disable the Novell ICEDesktop plugin.
|
||||
- Added:
|
||||
+ compiler-warnings.diff: Fixes a few compiler warnings
|
||||
- Dropped these patches already fixed upstream:
|
||||
+ bgo-559604-tooltip-for-gw.patch
|
||||
+ bnc-435455-attendees-meeting-resize.patch
|
||||
+ bnc-439987-classify-sensitivity.patch
|
||||
+ bnc-440624-six-appts-timeslot.patch
|
||||
+ bnc-443544-evo-free-busy.patch
|
||||
+ bnc-456481-evolution-eats-memory.patch
|
||||
+ bnc-458153-busy-button.patch
|
||||
+ bnc-458968-warning-on-delegating.patch
|
||||
+ bnc-462372-open-attachment-event.patch
|
||||
+ bnc-463599-header-print-issues.patch
|
||||
+ pst-import.patch
|
||||
* Mon Jan 12 2009 mauro@suse.de
|
||||
- Translations update.
|
||||
* Mon Jan 12 2009 pchenthill@suse.de
|
||||
- + bnc #449899 - sp-process-meetings.diff - show accept/decline
|
||||
options for sharepoint meetings.
|
||||
* Sun Jan 11 2009 msuman@suse.de
|
||||
- Pruning changes from the factory submission:
|
||||
+ Dropped these patches already fixed upstream:
|
||||
+ bgo-559604-calendar-tooltip-updated.patch
|
||||
+ bgo-564248-evo-copy-paste-images.patch
|
||||
+ bnc-435694-retract-feature-broken.patch
|
||||
+ bnc-446285-traverse-all-entries.patch
|
||||
+ bnc-446287-missing-vcf-reader.patch
|
||||
+ bnc-449952-hotkey-evo-preferences.patch
|
||||
+ bnc-439998-delete-delegated-events.patch
|
||||
+ bnc-462349-shared-memo-editor.patch
|
||||
* Fri Jan 09 2009 mauro@suse.de
|
||||
- Translations update.
|
||||
* Wed Jan 07 2009 abharath@suse.de
|
||||
@ -628,6 +764,51 @@ fi
|
||||
- Changes to the spec
|
||||
+ bnc#463587 - [PATCH] evolution --force-shutdown Tries To Kill All
|
||||
Users.
|
||||
* Tue Jan 06 2009 msuman@suse.de
|
||||
- Update to version 2.25.4:
|
||||
+ Bugs fixed: bnc#435694, bnc#439998, bnc#446285, bgo#546437,
|
||||
bgo#546860, bgo#558337, bgo#559153, bgo#559604, bgo#562091,
|
||||
bgo#562155, bgo#564248, bgo#565628, bgo#565857, bgo#566206
|
||||
+ Updated translations
|
||||
* Tue Dec 30 2008 msuman@suse.de
|
||||
- Split out the mono stuff into a separate evolution-mono subpackage
|
||||
* Wed Dec 24 2008 msuman@suse.de
|
||||
- Update to version 2.25.3.1:
|
||||
+ Bugs fixed: bgo#332729, bgo#359745, bgo#386036, bgo#490503,
|
||||
bgo#503662, bgo#524377, bgo#541121, bgo#552583, bgo#552850,
|
||||
bgo#554450, bgo#554464, bgo#555276, bgo#556224, bgo#557246,
|
||||
bgo#557581, bgo#557726, bgo#557818, bgo#558322, bgo#558354,
|
||||
bgo#559371, bgo#559518, bgo#559604, bgo#559701, bgo#559810,
|
||||
bgo#560138, bgo#560329, bgo#560882, bgo#561467, bgo#332629,
|
||||
bgo#332629, bgo#333224, bgo#337082, bgo#348299, bgo#350725,
|
||||
bgo#352287, bgo#549964, bgo#551599, bgo#552357, bgo#552583,
|
||||
bgo#552583, bgo#555371, bgo#555663, bgo#556303, bgo#558498,
|
||||
bgo#560420, bgo#562228, bgo#562990, bgo#563077, bgo#563250,
|
||||
bgo#563369, bgo#563633, bgo#563669, bgo#563870, bgo#564351,
|
||||
bnc#434320, bnc#437226, bnc#440007, bnc#440646, bnc#443190,
|
||||
bnc#446286
|
||||
+ Updated translations
|
||||
- Re-based old patches.
|
||||
- Dropped these patches fixed upstream:
|
||||
+ bgo-332729-invalid-write-econfig.patch
|
||||
+ bgo-556224-search-events-offline.patch
|
||||
+ bgo-558354-alarm-notify-improved.patch
|
||||
+ bgo-562228-evo-mailbox-field.patch
|
||||
+ bnc-434320-mail-notify-fix.patch
|
||||
+ bnc-435452-lose-attendees-busy-search.patch
|
||||
+ bnc-439733-bogofilter-junk-training.patch
|
||||
+ bnc-440646-set-color-proxy.patch
|
||||
+ bnc-440649-display-meeting-bold.patch
|
||||
+ bnc-441763-diff-meeting-icon.patch
|
||||
+ bnc-441770-non-intrusive-calendar.patch
|
||||
+ bnc-442135-exchange-settings-offline.patch
|
||||
+ bnc-443190-warning-before-editing-appt.patch
|
||||
+ bnc-443851-calendar-tooltip-info.patch
|
||||
+ bnc-446286-message-tracking-status.patch
|
||||
+ bnc-446356-a11y-crash.diff
|
||||
+ bnc-446390-corrupted-vfolders.patch
|
||||
+ evo-core-mapi-changes.diff
|
||||
+ remove-nm-dep.patch
|
||||
* Thu Dec 04 2008 abharath@suse.de
|
||||
- Patches added
|
||||
+ bgo#332729 - bgo-332729-invalid-write-econfig.patch - invalid
|
||||
|
1934
pst-import.patch
1934
pst-import.patch
File diff suppressed because it is too large
Load Diff
@ -1,49 +0,0 @@
|
||||
=== modified file 'configure.in'
|
||||
--- configure.in 2007-12-18 20:23:31 +0000
|
||||
+++ configure.in 2007-12-18 20:28:43 +0000
|
||||
@@ -1456,23 +1456,17 @@
|
||||
dnl --- evolution (shell) flags
|
||||
|
||||
NM_SUPPORT_PACKAGES=""
|
||||
+NM_SUPPORT_GLIB="no"
|
||||
|
||||
-PKG_CHECK_MODULES(NM, dbus-glib-1 libnm_glib, NM_SUPPORT_GLIB="yes", NM_SUPPORT_GLIB="no")
|
||||
-if test "x$NM_SUPPORT_GLIB" = "xyes"; then
|
||||
- AC_DEFINE(NM_SUPPORT_GLIB, 1, [network manager available])
|
||||
- NM_SUPPORT_PACKAGES="dbus-1 dbus-glib-1 libnm_glib"
|
||||
-else
|
||||
PKG_CHECK_MODULES(NM, dbus-glib-1, NM_SUPPORT="yes", NM_SUPPORT="no")
|
||||
- AC_CHECK_HEADER(NetworkManager/NetworkManager.h, [ nm_header="yes" ] )
|
||||
- if test "x$NM_SUPPORT" = "xyes" -a "x$nm_header" = "xyes"; then
|
||||
+ if test "x$NM_SUPPORT" = "xyes"; then
|
||||
AC_DEFINE(NM_SUPPORT, 1, [network manager available])
|
||||
NM_SUPPORT_PACKAGES="dbus-1 dbus-glib-1"
|
||||
else
|
||||
- NM_SUPPORT=no
|
||||
- fi
|
||||
+ NM_SUPPORT="no"
|
||||
fi
|
||||
|
||||
-AM_CONDITIONAL(NM_SUPPORT_GLIB, test x$NM_SUPPORT_GLIB = xyes)
|
||||
+AM_CONDITIONAL(NM_SUPPORT_GLIB, test x$NM_SUPPORT_GLIB = xyes)
|
||||
AM_CONDITIONAL(NM_SUPPORT, test x$NM_SUPPORT = xyes)
|
||||
|
||||
|
||||
|
||||
=== modified file 'shell/e-shell-nm.c'
|
||||
--- shell/e-shell-nm.c 2007-12-18 20:23:31 +0000
|
||||
+++ shell/e-shell-nm.c 2007-12-18 20:28:43 +0000
|
||||
@@ -33,7 +33,11 @@
|
||||
#include <dbus/dbus.h>
|
||||
#include <dbus/dbus-glib-lowlevel.h>
|
||||
#include <dbus/dbus-glib.h>
|
||||
-#include <NetworkManager/NetworkManager.h>
|
||||
+
|
||||
+#define NM_DBUS_SERVICE "org.freedesktop.NetworkManager"
|
||||
+#define NM_DBUS_PATH "/org/freedesktop/NetworkManager"
|
||||
+#define NM_DBUS_INTERFACE "org.freedesktop.NetworkManager"
|
||||
+
|
||||
|
||||
typedef enum _ShellLineStatus {
|
||||
E_SHELL_LINE_DOWN,
|
||||
|
@ -1,8 +1,8 @@
|
||||
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)
|
||||
Index: evolution-2.25.90/plugins/mono/mono-plugin.c
|
||||
===================================================================
|
||||
--- evolution-2.25.90.orig/plugins/mono/mono-plugin.c
|
||||
+++ evolution-2.25.90/plugins/mono/mono-plugin.c
|
||||
@@ -80,9 +80,14 @@ epm_invoke(EPlugin *ep, const char *name
|
||||
MonoObject *x = NULL, *res;
|
||||
void **params;
|
||||
|
||||
@ -18,7 +18,7 @@ index 5c5182e..542e6f0 100644
|
||||
mono_thread_attach(domain);
|
||||
|
||||
if (p->assembly == NULL) {
|
||||
@@ -230,8 +235,6 @@ load_plugin_type_register_function (void *a, void *b)
|
||||
@@ -231,8 +236,6 @@ load_plugin_type_register_function (void
|
||||
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"));
|
||||
@ -27,11 +27,10 @@ index 5c5182e..542e6f0 100644
|
||||
}
|
||||
|
||||
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
|
||||
Index: evolution-2.25.90/plugins/sharepoint-account-setup/Makefile.am
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ b/plugins/sharepoint-account-setup/Makefile.am
|
||||
+++ evolution-2.25.90/plugins/sharepoint-account-setup/Makefile.am
|
||||
@@ -0,0 +1,37 @@
|
||||
+CSC = gmcs
|
||||
+
|
||||
@ -70,11 +69,10 @@ index 0000000..b01f3df
|
||||
+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
|
||||
Index: evolution-2.25.90/plugins/sharepoint-account-setup/SharepointAccount.cs
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ b/plugins/sharepoint-account-setup/SharepointAccount.cs
|
||||
+++ evolution-2.25.90/plugins/sharepoint-account-setup/SharepointAccount.cs
|
||||
@@ -0,0 +1,165 @@
|
||||
+// SharepointAccount.cs created with MonoDevelop
|
||||
+// User: chen at 12:30 PM 10/21/2008
|
||||
@ -241,11 +239,10 @@ index 0000000..5009e98
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
diff --git a/plugins/sharepoint-account-setup/SharepointAccountSetup.cs b/plugins/sharepoint-account-setup/SharepointAccountSetup.cs
|
||||
new file mode 100644
|
||||
index 0000000..70d6b15
|
||||
Index: evolution-2.25.90/plugins/sharepoint-account-setup/SharepointAccountSetup.cs
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ b/plugins/sharepoint-account-setup/SharepointAccountSetup.cs
|
||||
+++ evolution-2.25.90/plugins/sharepoint-account-setup/SharepointAccountSetup.cs
|
||||
@@ -0,0 +1,22 @@
|
||||
+using System;
|
||||
+using Sharepoint;
|
||||
@ -269,11 +266,10 @@ index 0000000..70d6b15
|
||||
+ 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
|
||||
Index: evolution-2.25.90/plugins/sharepoint-account-setup/SharepointSource.cs
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ b/plugins/sharepoint-account-setup/SharepointSource.cs
|
||||
+++ evolution-2.25.90/plugins/sharepoint-account-setup/SharepointSource.cs
|
||||
@@ -0,0 +1,97 @@
|
||||
+// SharepointSource.cs created with MonoDevelop
|
||||
+// User: chen at 1:38 AM 10/21/2008
|
||||
@ -372,11 +368,10 @@ index 0000000..c61fcf0
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
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
|
||||
Index: evolution-2.25.90/plugins/sharepoint-account-setup/org-gnome-sharepoint-account-setup.eplug.xml
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ b/plugins/sharepoint-account-setup/org-gnome-sharepoint-account-setup.eplug.xml
|
||||
+++ evolution-2.25.90/plugins/sharepoint-account-setup/org-gnome-sharepoint-account-setup.eplug.xml
|
||||
@@ -0,0 +1,36 @@
|
||||
+<?xml version="1.0"?>
|
||||
+<e-plugin-list>
|
||||
@ -414,11 +409,10 @@ index 0000000..80cdeb8
|
||||
+
|
||||
+ </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
|
||||
Index: evolution-2.25.90/plugins/sharepoint-account-setup/org-gnome-sharepoint-disconnect-ui.xml
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ b/plugins/sharepoint-account-setup/org-gnome-sharepoint-disconnect-ui.xml
|
||||
+++ evolution-2.25.90/plugins/sharepoint-account-setup/org-gnome-sharepoint-disconnect-ui.xml
|
||||
@@ -0,0 +1,16 @@
|
||||
+<Root>
|
||||
+ <commands>
|
||||
@ -436,11 +430,10 @@ index 0000000..d2545f8
|
||||
+ </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
|
||||
Index: evolution-2.25.90/plugins/sharepoint-account-setup/org-gnome-sharepoint-ui.xml
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ b/plugins/sharepoint-account-setup/org-gnome-sharepoint-ui.xml
|
||||
+++ evolution-2.25.90/plugins/sharepoint-account-setup/org-gnome-sharepoint-ui.xml
|
||||
@@ -0,0 +1,16 @@
|
||||
+<Root>
|
||||
+ <commands>
|
||||
@ -458,10 +451,10 @@ index 0000000..f92e097
|
||||
+ </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
|
||||
Index: evolution-2.25.90/ui/evolution.xml
|
||||
===================================================================
|
||||
--- evolution-2.25.90.orig/ui/evolution.xml
|
||||
+++ evolution-2.25.90/ui/evolution.xml
|
||||
@@ -66,6 +66,8 @@
|
||||
<placeholder name="ComponentItems"/>
|
||||
</submenu>
|
||||
@ -471,46 +464,45 @@ index 9b4231e..4008c95 100644
|
||||
<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
|
||||
Index: evolution-2.25.90/configure.in
|
||||
===================================================================
|
||||
--- evolution-2.25.90.orig/configure.in
|
||||
+++ evolution-2.25.90/configure.in
|
||||
@@ -923,6 +923,24 @@ if test "x${enable_mono}" = "xyes"; then
|
||||
PKG_CHECK_MODULES(MONO, "mono")
|
||||
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
|
||||
+ 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],
|
||||
AC_SUBST(MONO_CFLAGS)
|
||||
AC_SUBST(MONO_LIBS)
|
||||
@@ -1775,7 +1793,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_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
|
||||
plugins_standard_always="bbdb subject-thread save-calendar select-one-source copy-tool mail-to-task 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"
|
||||
@@ -1827,6 +1845,11 @@ if test "x${enable_mono}" = "xyes"; then
|
||||
msg_plugins="$msg_plugins (and mono)"
|
||||
fi
|
||||
|
||||
@ -522,7 +514,7 @@ index 9b4231e..4008c95 100644
|
||||
|
||||
if test "x${enable_python}" = "xyes"; then
|
||||
plugins_enabled="$plugins_enabled python"
|
||||
@@ -2072,6 +2097,7 @@ plugins/pst-import/Makefile
|
||||
@@ -2115,6 +2138,7 @@ plugins/pst-import/Makefile
|
||||
plugins/face/Makefile
|
||||
plugins/external-editor/Makefile
|
||||
plugins/webdav-account-setup/Makefile
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c
|
||||
index 16bdb97..5818165 100644
|
||||
--- a/calendar/gui/dialogs/comp-editor.c
|
||||
+++ b/calendar/gui/dialogs/comp-editor.c
|
||||
Index: evolution-2.25.90/calendar/gui/dialogs/comp-editor.c
|
||||
===================================================================
|
||||
--- evolution-2.25.90.orig/calendar/gui/dialogs/comp-editor.c
|
||||
+++ evolution-2.25.90/calendar/gui/dialogs/comp-editor.c
|
||||
@@ -63,6 +63,7 @@
|
||||
#include "../e-cal-popup.h"
|
||||
#include "../calendar-config-keys.h"
|
||||
@ -19,7 +19,7 @@ index 16bdb97..5818165 100644
|
||||
gchar *summary;
|
||||
|
||||
guint32 attachment_bar_visible : 1;
|
||||
@@ -2179,29 +2180,28 @@ setup_widgets (CompEditor *editor)
|
||||
@@ -2228,29 +2229,28 @@ setup_widgets (CompEditor *editor)
|
||||
CompEditorPrivate *priv;
|
||||
GtkWidget *expander_hbox;
|
||||
GtkWidget *widget;
|
||||
@ -55,7 +55,7 @@ index 16bdb97..5818165 100644
|
||||
gtk_widget_show (widget);
|
||||
priv->notebook = GTK_NOTEBOOK (widget);
|
||||
|
||||
@@ -2254,7 +2254,7 @@ setup_widgets (CompEditor *editor)
|
||||
@@ -2303,7 +2303,7 @@ setup_widgets (CompEditor *editor)
|
||||
atk_object_set_description (gtk_widget_get_accessible (priv->attachment_expander), _("Press space key to toggle attachment bar"));
|
||||
gtk_container_add (GTK_CONTAINER (priv->attachment_expander), priv->attachment_scrolled_window);
|
||||
|
||||
@ -64,7 +64,7 @@ index 16bdb97..5818165 100644
|
||||
gtk_widget_show (priv->attachment_expander);
|
||||
e_expander_set_expanded (E_EXPANDER (priv->attachment_expander), FALSE);
|
||||
g_signal_connect_after (priv->attachment_expander, "activate",
|
||||
@@ -2495,6 +2495,22 @@ comp_editor_get_ui_manager (CompEditor *editor)
|
||||
@@ -2546,6 +2546,22 @@ comp_editor_get_ui_manager (CompEditor *
|
||||
return editor->priv->manager;
|
||||
}
|
||||
|
||||
@ -87,7 +87,7 @@ index 16bdb97..5818165 100644
|
||||
GtkAction *
|
||||
comp_editor_get_action (CompEditor *editor,
|
||||
const gchar *action_name)
|
||||
@@ -2670,9 +2686,15 @@ comp_editor_append_page (CompEditor *editor,
|
||||
@@ -2721,9 +2737,15 @@ comp_editor_append_page (CompEditor *edi
|
||||
|
||||
priv->pages = g_list_append (priv->pages, page);
|
||||
|
||||
@ -104,10 +104,10 @@ index 16bdb97..5818165 100644
|
||||
/* Listen for things happening on the page */
|
||||
g_signal_connect_swapped (
|
||||
page, "dates_changed",
|
||||
diff --git a/calendar/gui/dialogs/event-editor.c b/calendar/gui/dialogs/event-editor.c
|
||||
index 5f7f14c..e7a681a 100644
|
||||
--- a/calendar/gui/dialogs/event-editor.c
|
||||
+++ b/calendar/gui/dialogs/event-editor.c
|
||||
Index: evolution-2.25.90/calendar/gui/dialogs/event-editor.c
|
||||
===================================================================
|
||||
--- evolution-2.25.90.orig/calendar/gui/dialogs/event-editor.c
|
||||
+++ evolution-2.25.90/calendar/gui/dialogs/event-editor.c
|
||||
@@ -38,6 +38,7 @@
|
||||
#include <e-util/e-util-private.h>
|
||||
#include <evolution-shell-component-utils.h>
|
||||
@ -125,7 +125,7 @@ index 5f7f14c..e7a681a 100644
|
||||
" <menuitem action='view-status'/>"
|
||||
" <menuitem action='view-role'/>"
|
||||
" <menuitem action='view-rsvp'/>"
|
||||
@@ -102,6 +103,17 @@ static gboolean event_editor_send_comp (CompEditor *editor, ECalComponentItipMet
|
||||
@@ -103,6 +104,17 @@ static gboolean event_editor_send_comp (
|
||||
|
||||
G_DEFINE_TYPE (EventEditor, event_editor, TYPE_COMP_EDITOR)
|
||||
|
||||
@ -143,15 +143,7 @@ index 5f7f14c..e7a681a 100644
|
||||
static void
|
||||
create_schedule_page (CompEditor *editor)
|
||||
{
|
||||
@@ -290,6 +302,7 @@ event_editor_constructor (GType type,
|
||||
gtk_action_group_set_visible (action_group, is_meeting);
|
||||
|
||||
priv->event_page = event_page_new (priv->model, editor);
|
||||
+
|
||||
g_object_ref_sink (priv->event_page);
|
||||
comp_editor_append_page (
|
||||
editor, COMP_EDITOR_PAGE (priv->event_page),
|
||||
@@ -330,6 +343,11 @@ event_editor_constructor (GType type,
|
||||
@@ -334,6 +346,11 @@ event_editor_constructor (GType type,
|
||||
event_page_set_meeting (priv->event_page, TRUE);
|
||||
priv->meeting_shown=TRUE;
|
||||
}
|
||||
@ -163,7 +155,7 @@ index 5f7f14c..e7a681a 100644
|
||||
|
||||
return object;
|
||||
}
|
||||
@@ -492,7 +510,6 @@ event_editor_init (EventEditor *ee)
|
||||
@@ -496,7 +513,6 @@ event_editor_init (EventEditor *ee)
|
||||
}
|
||||
|
||||
/* Hide send options. */
|
||||
@ -171,10 +163,10 @@ index 5f7f14c..e7a681a 100644
|
||||
gtk_action_set_visible (action, FALSE);
|
||||
|
||||
g_signal_connect (
|
||||
diff --git a/calendar/gui/dialogs/event-editor.h b/calendar/gui/dialogs/event-editor.h
|
||||
index c050b92..7e804d1 100644
|
||||
--- a/calendar/gui/dialogs/event-editor.h
|
||||
+++ b/calendar/gui/dialogs/event-editor.h
|
||||
Index: evolution-2.25.90/calendar/gui/dialogs/event-editor.h
|
||||
===================================================================
|
||||
--- evolution-2.25.90.orig/calendar/gui/dialogs/event-editor.h
|
||||
+++ evolution-2.25.90/calendar/gui/dialogs/event-editor.h
|
||||
@@ -68,6 +68,7 @@ GType event_editor_get_type (void);
|
||||
CompEditor * event_editor_new (ECal *client,
|
||||
CompEditorFlags flags);
|
||||
@ -183,11 +175,11 @@ index c050b92..7e804d1 100644
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
diff --git a/calendar/gui/dialogs/event-page.c b/calendar/gui/dialogs/event-page.c
|
||||
index 4a36f8c..ae33090 100644
|
||||
--- a/calendar/gui/dialogs/event-page.c
|
||||
+++ b/calendar/gui/dialogs/event-page.c
|
||||
@@ -700,6 +700,26 @@ create_image_event_box (const char *image_text, const char *tip_text)
|
||||
Index: evolution-2.25.90/calendar/gui/dialogs/event-page.c
|
||||
===================================================================
|
||||
--- evolution-2.25.90.orig/calendar/gui/dialogs/event-page.c
|
||||
+++ evolution-2.25.90/calendar/gui/dialogs/event-page.c
|
||||
@@ -701,6 +701,26 @@ create_image_event_box (const char *imag
|
||||
return box;
|
||||
}
|
||||
|
||||
@ -214,24 +206,24 @@ index 4a36f8c..ae33090 100644
|
||||
static void
|
||||
sensitize_widgets (EventPage *epage)
|
||||
{
|
||||
diff --git a/calendar/gui/dialogs/event-page.h b/calendar/gui/dialogs/event-page.h
|
||||
index 7c868f1..6c47ae5 100644
|
||||
--- a/calendar/gui/dialogs/event-page.h
|
||||
+++ b/calendar/gui/dialogs/event-page.h
|
||||
@@ -109,6 +109,8 @@ ENameSelector * event_page_get_name_selector (EventPage *epage);
|
||||
void event_page_add_attendee (EventPage *epage,
|
||||
Index: evolution-2.25.90/calendar/gui/dialogs/event-page.h
|
||||
===================================================================
|
||||
--- evolution-2.25.90.orig/calendar/gui/dialogs/event-page.h
|
||||
+++ evolution-2.25.90/calendar/gui/dialogs/event-page.h
|
||||
@@ -110,6 +110,8 @@ void event_page_add_attendee (EventPag
|
||||
EMeetingAttendee *attendee);
|
||||
void event_page_remove_all_attendees (EventPage *epage);
|
||||
|
||||
+GtkWidget * get_event_page_widget (EventPage *epage);
|
||||
+
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
||||
diff --git a/calendar/gui/e-cal-event.c b/calendar/gui/e-cal-event.c
|
||||
index 6e295ab..a30ce49 100644
|
||||
--- a/calendar/gui/e-cal-event.c
|
||||
+++ b/calendar/gui/e-cal-event.c
|
||||
@@ -103,6 +103,16 @@ e_cal_event_target_new_component (ECalEvent *ece, struct _CalendarComponent *com
|
||||
Index: evolution-2.25.90/calendar/gui/e-cal-event.c
|
||||
===================================================================
|
||||
--- evolution-2.25.90.orig/calendar/gui/e-cal-event.c
|
||||
+++ evolution-2.25.90/calendar/gui/e-cal-event.c
|
||||
@@ -103,6 +103,16 @@ e_cal_event_target_new_component (ECalEv
|
||||
return t;
|
||||
}
|
||||
|
||||
@ -248,7 +240,7 @@ index 6e295ab..a30ce49 100644
|
||||
/* ********************************************************************** */
|
||||
|
||||
static void *eceh_parent_class;
|
||||
@@ -112,11 +122,18 @@ static const EEventHookTargetMask eceh_component_masks[] = {
|
||||
@@ -112,11 +122,18 @@ static const EEventHookTargetMask eceh_c
|
||||
{ NULL },
|
||||
};
|
||||
|
||||
@ -267,11 +259,11 @@ index 6e295ab..a30ce49 100644
|
||||
static void
|
||||
eceh_finalize (GObject *o)
|
||||
{
|
||||
diff --git a/calendar/gui/e-cal-event.h b/calendar/gui/e-cal-event.h
|
||||
index 4fbaa39..f131cb9 100644
|
||||
--- a/calendar/gui/e-cal-event.h
|
||||
+++ b/calendar/gui/e-cal-event.h
|
||||
@@ -38,6 +38,7 @@ typedef struct _ECalEventClass ECalEventClass;
|
||||
Index: evolution-2.25.90/calendar/gui/e-cal-event.h
|
||||
===================================================================
|
||||
--- evolution-2.25.90.orig/calendar/gui/e-cal-event.h
|
||||
+++ evolution-2.25.90/calendar/gui/e-cal-event.h
|
||||
@@ -38,6 +38,7 @@ typedef struct _ECalEventClass ECalEvent
|
||||
|
||||
enum _e_cal_event_target_t {
|
||||
E_CAL_EVENT_TARGET_COMPONENT,
|
||||
@ -314,40 +306,10 @@ index 4fbaa39..f131cb9 100644
|
||||
|
||||
/* ********************************************************************** */
|
||||
|
||||
diff --git a/configure.in b/configure.in
|
||||
index 13a5b2d..d147adf 100644
|
||||
--- a/configure.in 2008-12-04 07:44:04.865124000 +0100
|
||||
+++ b/configure.in 2008-12-04 07:49:16.324346000 +0100
|
||||
new file mode 100644
|
||||
index 0000000..f101059
|
||||
@@ -918,3 +918,7 @@ if test "x${enable_mono}" = "xyes"; then
|
||||
AC_SUBST(ICE_DESKTOP_LIBS)
|
||||
MONO_BASED_PLUGINS="$MONO_BASED_PLUGINS sharepoint-account-setup"
|
||||
+ SHAREPOINT_FEATURES=sharepoint-features
|
||||
+ PKG_CHECK_MODULES(DBUS, dbus-glib-1)
|
||||
+ AC_SUBST(DBUS_CFLAGS)
|
||||
+ AC_SUBST(DBUS_LIBS)
|
||||
fi
|
||||
@@ -1752,7 +1756,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 $MONO_BASED_PLUGINS"
|
||||
+plugins_base="$plugins_base_always $SA_JUNK_PLUGIN $BF_JUNK_PLUGIN $SHAREPOINT_FEATURES $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"
|
||||
@@ -2098,6 +2102,7 @@ plugins/face/Makefile
|
||||
plugins/external-editor/Makefile
|
||||
plugins/webdav-account-setup/Makefile
|
||||
plugins/sharepoint-account-setup/Makefile
|
||||
+plugins/sharepoint-features/Makefile
|
||||
smime/Makefile
|
||||
smime/lib/Makefile
|
||||
smime/gui/Makefile
|
||||
diff --git a/plugins/sharepoint-features/Makefile.am b/plugins/sharepoint-features/Makefile.am
|
||||
Index: evolution-2.25.90/plugins/sharepoint-features/Makefile.am
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ b/plugins/sharepoint-features/Makefile.am
|
||||
+++ evolution-2.25.90/plugins/sharepoint-features/Makefile.am
|
||||
@@ -0,0 +1,40 @@
|
||||
+INCLUDES = \
|
||||
+ -I$(top_srcdir) \
|
||||
@ -389,11 +351,10 @@ diff --git a/plugins/sharepoint-features/Makefile.am b/plugins/sharepoint-featur
|
||||
+BUILT_SOURCES = org-gnome-sharepoint-features.eplug
|
||||
+
|
||||
+CLEANFILES = $(BUILT_SOURCES)
|
||||
diff --git a/plugins/sharepoint-features/meetingworkspaces.glade b/plugins/sharepoint-features/meetingworkspaces.glade
|
||||
new file mode 100644
|
||||
index 0000000..d2c1106
|
||||
Index: evolution-2.25.90/plugins/sharepoint-features/meetingworkspaces.glade
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ b/plugins/sharepoint-features/meetingworkspaces.glade
|
||||
+++ evolution-2.25.90/plugins/sharepoint-features/meetingworkspaces.glade
|
||||
@@ -0,0 +1,324 @@
|
||||
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
|
||||
+<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
|
||||
@ -719,11 +680,10 @@ index 0000000..d2c1106
|
||||
+</widget>
|
||||
+
|
||||
+</glade-interface>
|
||||
diff --git a/plugins/sharepoint-features/org-gnome-sharepoint-features.eplug.xml b/plugins/sharepoint-features/org-gnome-sharepoint-features.eplug.xml
|
||||
new file mode 100644
|
||||
index 0000000..d59db73
|
||||
Index: evolution-2.25.90/plugins/sharepoint-features/org-gnome-sharepoint-features.eplug.xml
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ b/plugins/sharepoint-features/org-gnome-sharepoint-features.eplug.xml
|
||||
+++ evolution-2.25.90/plugins/sharepoint-features/org-gnome-sharepoint-features.eplug.xml
|
||||
@@ -0,0 +1,20 @@
|
||||
+<e-plugin-list>
|
||||
+ <e-plugin
|
||||
@ -745,11 +705,10 @@ index 0000000..d59db73
|
||||
+ </hook>
|
||||
+ </e-plugin>
|
||||
+</e-plugin-list>
|
||||
diff --git a/plugins/sharepoint-features/meeting-workspace.c b/plugins/sharepoint-features/meeting-workspace.c
|
||||
new file mode 100644
|
||||
index 0000000..791a87b
|
||||
Index: evolution-2.25.90/plugins/sharepoint-features/meeting-workspace.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ b/plugins/sharepoint-features/meeting-workspace.c
|
||||
+++ evolution-2.25.90/plugins/sharepoint-features/meeting-workspace.c
|
||||
@@ -0,0 +1,230 @@
|
||||
+#ifdef HAVE_CONFIG_H
|
||||
+#include <config.h>
|
||||
@ -981,3 +940,35 @@ index 0000000..791a87b
|
||||
+ g_error_free (error);
|
||||
+ }
|
||||
+}
|
||||
Index: evolution-2.25.90/configure.in
|
||||
===================================================================
|
||||
--- evolution-2.25.90.orig/configure.in
|
||||
+++ evolution-2.25.90/configure.in
|
||||
@@ -917,6 +917,10 @@ MONO_CFLAGS=
|
||||
MONO_LIBS=
|
||||
AC_ARG_ENABLE([mono],
|
||||
AC_HELP_STRING([--enable-mono],
|
||||
+ SHAREPOINT_FEATURES=sharepoint-features
|
||||
+ PKG_CHECK_MODULES(DBUS, dbus-glib-1)
|
||||
+ AC_SUBST(DBUS_CFLAGS)
|
||||
+ AC_SUBST(DBUS_LIBS)
|
||||
[Add Mono embedded hooks.]),
|
||||
[enable_mono=$enableval],[enable_mono=no])
|
||||
if test "x${enable_mono}" = "xyes"; then
|
||||
@@ -1793,7 +1797,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 $MONO_BASED_PLUGINS"
|
||||
+plugins_base="$plugins_base_always $SA_JUNK_PLUGIN $BF_JUNK_PLUGIN $SHAREPOINT_FEATURES $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 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"
|
||||
@@ -2139,6 +2143,7 @@ plugins/face/Makefile
|
||||
plugins/external-editor/Makefile
|
||||
plugins/webdav-account-setup/Makefile
|
||||
plugins/sharepoint-account-setup/Makefile
|
||||
+plugins/sharepoint-features/Makefile
|
||||
smime/Makefile
|
||||
smime/lib/Makefile
|
||||
smime/gui/Makefile
|
||||
|
Loading…
Reference in New Issue
Block a user