From c7d3c9f95609123035ebaa267f9d2e6ecfa8c2e8 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Mon, 12 Jan 2009 04:12:01 +0000 Subject: Merge revisions 36866:37046 from trunk. svn path=/branches/kill-bonobo/; revision=37050 --- calendar/gui/Makefile.am | 1 + calendar/gui/alarm-notify/alarm-queue.c | 4 +- calendar/gui/calendar-commands.c | 4 -- calendar/gui/calendar-component.c | 5 +- calendar/gui/calendar-config.c | 61 --------------------- calendar/gui/calendar-config.h | 3 -- calendar/gui/dialogs/alarm-dialog.c | 2 +- calendar/gui/dialogs/cal-attachment-select-file.c | 1 - calendar/gui/dialogs/cancel-comp.c | 1 - calendar/gui/dialogs/changed-comp.c | 1 - calendar/gui/dialogs/comp-editor.c | 53 +++++++++++++++++-- calendar/gui/dialogs/delete-error.c | 1 - calendar/gui/dialogs/event-editor.c | 15 ++++-- calendar/gui/dialogs/memo-editor.c | 22 +++++--- calendar/gui/dialogs/recur-comp.c | 1 - calendar/gui/dialogs/recurrence-page.c | 2 +- calendar/gui/dialogs/schedule-page.c | 1 - calendar/gui/e-cal-list-view.c | 1 - calendar/gui/e-cal-model.c | 2 +- calendar/gui/e-cal-popup.c | 2 +- calendar/gui/e-calendar-table.c | 3 +- calendar/gui/e-calendar-view.c | 6 +-- calendar/gui/e-calendar-view.h | 2 +- calendar/gui/e-cell-date-edit-text.c | 2 - calendar/gui/e-day-view.c | 1 - calendar/gui/e-itip-control.c | 7 +-- calendar/gui/e-meeting-attendee.c | 11 +++- calendar/gui/e-meeting-list-view.c | 18 ++++++- calendar/gui/e-meeting-store.c | 5 +- calendar/gui/e-meeting-time-sel.c | 1 + calendar/gui/e-meeting-types.h | 5 +- calendar/gui/e-select-names-editable.c | 64 ++++++++++++----------- calendar/gui/e-week-view.c | 1 - calendar/gui/gnome-cal.c | 3 -- calendar/gui/goto.c | 2 - calendar/gui/itip-utils.c | 49 +++++++++++++---- calendar/gui/memos-component.c | 2 +- calendar/gui/print.c | 3 -- calendar/gui/tasks-component.c | 6 ++- calendar/gui/tasks-control.c | 10 ---- 40 files changed, 206 insertions(+), 178 deletions(-) (limited to 'calendar/gui') diff --git a/calendar/gui/Makefile.am b/calendar/gui/Makefile.am index cf514f251e..16f59136d1 100644 --- a/calendar/gui/Makefile.am +++ b/calendar/gui/Makefile.am @@ -29,6 +29,7 @@ INCLUDES = \ -DEVOLUTION_GLADEDIR=\""$(gladedir)"\" \ -DEVOLUTION_ETSPECDIR=\""$(etspecdir)"\" \ -DEVOLUTION_GALVIEWSDIR=\""$(viewsdir)"\" \ + -DEVOLUTION_LOCALEDIR=\""$(localedir)"\" \ -DEVOLUTION_UIDIR=\""$(evolutionuidir)"\" \ -DPREFIX=\""$(prefix)"\" \ $(LIBSOUP_CFLAGS) \ diff --git a/calendar/gui/alarm-notify/alarm-queue.c b/calendar/gui/alarm-notify/alarm-queue.c index 062c3acab5..77a5574157 100644 --- a/calendar/gui/alarm-notify/alarm-queue.c +++ b/calendar/gui/alarm-notify/alarm-queue.c @@ -36,8 +36,6 @@ #include #include #include -#include -#include #include #include @@ -991,7 +989,7 @@ free_tray_icon_data (TrayIconData *tray_data) } if (tray_data->location){ - g_free (tray_data->description); + g_free (tray_data->location); tray_data->location = NULL; } diff --git a/calendar/gui/calendar-commands.c b/calendar/gui/calendar-commands.c index 6fcada753e..e4b72d2299 100644 --- a/calendar/gui/calendar-commands.c +++ b/calendar/gui/calendar-commands.c @@ -37,10 +37,6 @@ #include #include -#include -#include -#include -#include #include #include #include diff --git a/calendar/gui/calendar-component.c b/calendar/gui/calendar-component.c index eafdd8c4b2..5b8f40a1b8 100644 --- a/calendar/gui/calendar-component.c +++ b/calendar/gui/calendar-component.c @@ -27,7 +27,7 @@ #include #include -#include +#include #include #include #include @@ -609,6 +609,9 @@ calendar_component_class_init (CalendarComponentClass *class) POA_GNOME_Evolution_Component__epv *epv = &class->epv; GObjectClass *object_class = G_OBJECT_CLASS (class); + bindtextdomain (GETTEXT_PACKAGE, EVOLUTION_LOCALEDIR); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + parent_class = g_type_class_peek_parent (class); epv->handleURI = impl_handleURI; diff --git a/calendar/gui/calendar-config.c b/calendar/gui/calendar-config.c index b6a2ee5619..1816f50dcc 100644 --- a/calendar/gui/calendar-config.c +++ b/calendar/gui/calendar-config.c @@ -32,7 +32,6 @@ #include #include #include -#include #include #include #include @@ -47,13 +46,6 @@ static GConfClient *config = NULL; /* Store the zones here, this is not destroyed as the ical timezones */ static GHashTable *custom_zones = NULL; -static void on_timezone_set (GnomeDialog *dialog, - int button, - ETimezoneDialog *etd); -static gboolean on_timezone_dialog_delete_event (GnomeDialog *dialog, - GdkEvent *event, - ETimezoneDialog *etd); - static void do_cleanup (void) { @@ -1240,59 +1232,6 @@ calendar_config_set_confirm_purge (gboolean confirm) gconf_client_set_bool (config, CALENDAR_CONFIG_PROMPT_PURGE, confirm, NULL); } -void -calendar_config_check_timezone_set (void) -{ - ETimezoneDialog *timezone_dialog; - GtkWidget *dialog; - GList *elem; - char *zone; - - zone = calendar_config_get_timezone (); - if (zone && zone[0]) - return; - - /* Show timezone dialog. */ - timezone_dialog = e_timezone_dialog_new (); - dialog = e_timezone_dialog_get_toplevel (timezone_dialog); - - /* Hide the cancel button, which is the 2nd button. */ - elem = g_list_nth (GNOME_DIALOG (dialog)->buttons, 1); - gtk_widget_hide (elem->data); - - g_signal_connect (dialog, "clicked", - G_CALLBACK (on_timezone_set), timezone_dialog); - g_signal_connect (dialog, "delete-event", - G_CALLBACK (on_timezone_dialog_delete_event), timezone_dialog); - - gtk_widget_show (dialog); -} - - -static void -on_timezone_set (GnomeDialog *dialog, - int button, - ETimezoneDialog *etd) -{ - icaltimezone *zone; - - zone = e_timezone_dialog_get_timezone (etd); - if (zone) - calendar_config_set_timezone (icaltimezone_get_location (zone)); - - g_object_unref (etd); -} - - -static gboolean -on_timezone_dialog_delete_event (GnomeDialog *dialog, - GdkEvent *event, - ETimezoneDialog *etd) -{ - g_object_unref (etd); - return TRUE; -} - /** * calendar_config_get_tasks_due_today_color: diff --git a/calendar/gui/calendar-config.h b/calendar/gui/calendar-config.h index 03a9a6e461..72a5560dd5 100644 --- a/calendar/gui/calendar-config.h +++ b/calendar/gui/calendar-config.h @@ -247,9 +247,6 @@ void calendar_config_set_free_busy_template (const gchar *template); guint calendar_config_add_notification_free_busy_template (GConfClientNotifyFunc func, gpointer data); -/* Shows the timezone dialog if the user hasn't set a default timezone. */ -void calendar_config_check_timezone_set (void); - /* Returns TRUE if the locale has 'am' and 'pm' strings defined, i.e. it supports 12-hour time format. */ gboolean calendar_config_locale_supports_12_hour_format(void); diff --git a/calendar/gui/dialogs/alarm-dialog.c b/calendar/gui/dialogs/alarm-dialog.c index 7e429a28b2..bf78f70011 100644 --- a/calendar/gui/dialogs/alarm-dialog.c +++ b/calendar/gui/dialogs/alarm-dialog.c @@ -642,7 +642,7 @@ populate_widgets_from_alarm (Dialog *dialog) /* Alarm options */ e_dialog_option_menu_set (dialog->action, *action, action_map); - action_selection_done_cb (GTK_MENU_SHELL (dialog->action), dialog); + action_selection_done_cb (GTK_MENU_SHELL (gtk_option_menu_get_menu (GTK_OPTION_MENU (dialog->action))), dialog); switch (*action) { case E_CAL_COMPONENT_ALARM_AUDIO: diff --git a/calendar/gui/dialogs/cal-attachment-select-file.c b/calendar/gui/dialogs/cal-attachment-select-file.c index 8d968a84a9..5de8ea669b 100644 --- a/calendar/gui/dialogs/cal-attachment-select-file.c +++ b/calendar/gui/dialogs/cal-attachment-select-file.c @@ -32,7 +32,6 @@ #include -#include #include #include "cal-attachment-select-file.h" diff --git a/calendar/gui/dialogs/cancel-comp.c b/calendar/gui/dialogs/cancel-comp.c index 547f70348e..2548d5ba2d 100644 --- a/calendar/gui/dialogs/cancel-comp.c +++ b/calendar/gui/dialogs/cancel-comp.c @@ -28,7 +28,6 @@ #include #include -#include #include "e-util/e-error.h" #include "cancel-comp.h" diff --git a/calendar/gui/dialogs/changed-comp.c b/calendar/gui/dialogs/changed-comp.c index ae215463be..9a0665d763 100644 --- a/calendar/gui/dialogs/changed-comp.c +++ b/calendar/gui/dialogs/changed-comp.c @@ -27,7 +27,6 @@ #endif #include -#include #include "changed-comp.h" diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c index 3b7f2c5385..5d9298cd18 100644 --- a/calendar/gui/dialogs/comp-editor.c +++ b/calendar/gui/dialogs/comp-editor.c @@ -26,15 +26,15 @@ #include #endif +#include #include #include #include #include #include -#include +#include #include #include -#include #include #include #include @@ -163,6 +163,7 @@ static const gchar *ui = " " " " " " +" " " " ""; @@ -1111,6 +1112,24 @@ action_print_preview_cb (GtkAction *action, 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) @@ -1162,9 +1181,33 @@ action_save_cb (GtkAction *action, 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 @@ -2410,6 +2453,7 @@ comp_editor_set_summary (CompEditor *editor, show_warning = !editor->priv->warned && + !(editor->priv->flags & COMP_EDITOR_DELEGATE) && editor->priv->existing_org && !editor->priv->user_org; @@ -2458,6 +2502,7 @@ comp_editor_set_changed (CompEditor *editor, show_warning = changed && !editor->priv->warned && + !(editor->priv->flags & COMP_EDITOR_DELEGATE) && editor->priv->existing_org && !editor->priv->user_org; if (show_warning) { diff --git a/calendar/gui/dialogs/delete-error.c b/calendar/gui/dialogs/delete-error.c index d42ef1af91..b151ef8068 100644 --- a/calendar/gui/dialogs/delete-error.c +++ b/calendar/gui/dialogs/delete-error.c @@ -28,7 +28,6 @@ #include #include -#include #include "delete-error.h" diff --git a/calendar/gui/dialogs/event-editor.c b/calendar/gui/dialogs/event-editor.c index 2a4883cdfd..ef94f631d0 100644 --- a/calendar/gui/dialogs/event-editor.c +++ b/calendar/gui/dialogs/event-editor.c @@ -78,20 +78,21 @@ static const gchar *ui = " " " " " " +" " " " +" " " " " " " " " " " " -" " -" " " " " " " " " " -" " +" " " " +" " " " " " ""; @@ -148,9 +149,15 @@ action_all_day_event_cb (GtkToggleAction *action, 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 @@ -222,7 +229,7 @@ static GtkToggleActionEntry event_toggle_entries[] = { FALSE }, { "show-time-busy", - NULL, + GTK_STOCK_DIALOG_ERROR, N_("Show Time as _Busy"), NULL, N_("Toggles whether to show time as busy"), diff --git a/calendar/gui/dialogs/memo-editor.c b/calendar/gui/dialogs/memo-editor.c index c76c96b94c..90c77f2349 100644 --- a/calendar/gui/dialogs/memo-editor.c +++ b/calendar/gui/dialogs/memo-editor.c @@ -95,6 +95,21 @@ memo_editor_dispose (GObject *object) G_OBJECT_CLASS (memo_editor_parent_class)->dispose (object); } +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) { @@ -105,6 +120,7 @@ memo_editor_class_init (MemoEditorClass *class) 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); @@ -131,12 +147,6 @@ memo_editor_init (MemoEditor *me) g_critical ("%s: %s", G_STRFUNC, error->message); g_error_free (error); } - - me->priv->memo_page = memo_page_new (editor); - comp_editor_append_page ( - COMP_EDITOR (me), - COMP_EDITOR_PAGE (me->priv->memo_page), - _("Memo"), TRUE); } /** diff --git a/calendar/gui/dialogs/recur-comp.c b/calendar/gui/dialogs/recur-comp.c index e90cfd237f..e57c0c8aa7 100644 --- a/calendar/gui/dialogs/recur-comp.c +++ b/calendar/gui/dialogs/recur-comp.c @@ -27,7 +27,6 @@ #endif #include -#include #include "recur-comp.h" diff --git a/calendar/gui/dialogs/recurrence-page.c b/calendar/gui/dialogs/recurrence-page.c index 6c879ae8e3..8a93c4dfee 100644 --- a/calendar/gui/dialogs/recurrence-page.c +++ b/calendar/gui/dialogs/recurrence-page.c @@ -1377,7 +1377,7 @@ make_ending_count_special (RecurrencePage *rpage) hbox = gtk_hbox_new (FALSE, 2); gtk_container_add (GTK_CONTAINER (priv->ending_special), hbox); - adj = GTK_ADJUSTMENT (gtk_adjustment_new (1, 1, 10000, 1, 10, 10)); + adj = GTK_ADJUSTMENT (gtk_adjustment_new (1, 1, 10000, 1, 10, 0)); priv->ending_count_spin = gtk_spin_button_new (adj, 1, 0); gtk_spin_button_set_numeric ((GtkSpinButton *)priv->ending_count_spin, TRUE); gtk_box_pack_start (GTK_BOX (hbox), priv->ending_count_spin, diff --git a/calendar/gui/dialogs/schedule-page.c b/calendar/gui/dialogs/schedule-page.c index 534923a853..e1137be3a0 100644 --- a/calendar/gui/dialogs/schedule-page.c +++ b/calendar/gui/dialogs/schedule-page.c @@ -31,7 +31,6 @@ #include #include -#include #include #include #include diff --git a/calendar/gui/e-cal-list-view.c b/calendar/gui/e-cal-list-view.c index 25ad6fb852..ea583a6edb 100644 --- a/calendar/gui/e-cal-list-view.c +++ b/calendar/gui/e-cal-list-view.c @@ -43,7 +43,6 @@ #include #include #include -#include #include #include #include diff --git a/calendar/gui/e-cal-model.c b/calendar/gui/e-cal-model.c index 9074c7e0ed..9fd6acb54a 100644 --- a/calendar/gui/e-cal-model.c +++ b/calendar/gui/e-cal-model.c @@ -1655,7 +1655,7 @@ try_again: goto try_again; } - g_warning (G_STRLOC ": Unable to get query"); + g_warning (G_STRLOC ": Unable to get query, %s", error->message); return; } diff --git a/calendar/gui/e-cal-popup.c b/calendar/gui/e-cal-popup.c index 6a5c5b3fa5..784e90b424 100644 --- a/calendar/gui/e-cal-popup.c +++ b/calendar/gui/e-cal-popup.c @@ -139,7 +139,7 @@ temp_save_part(CamelMimePart *part, char *path, gboolean file) 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); diff --git a/calendar/gui/e-calendar-table.c b/calendar/gui/e-calendar-table.c index 3e9dae9f78..e82a62216e 100644 --- a/calendar/gui/e-calendar-table.c +++ b/calendar/gui/e-calendar-table.c @@ -440,7 +440,8 @@ calendar_table_query_tooltip_cb (ECalendarTable *cal_table, 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_data->client); if (tmp) { l = gtk_label_new (tmp); gtk_misc_set_alignment (GTK_MISC (l), 0.0, 0.5); diff --git a/calendar/gui/e-calendar-view.c b/calendar/gui/e-calendar-view.c index d8d517c9d9..633291adc4 100644 --- a/calendar/gui/e-calendar-view.c +++ b/calendar/gui/e-calendar-view.c @@ -2116,7 +2116,7 @@ e_calendar_view_move_tip (GtkWidget *widget, int x, int y) * 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; @@ -2137,7 +2137,7 @@ e_calendar_view_get_attendees_status_info (ECalComponent *comp) 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); @@ -2333,7 +2333,7 @@ e_calendar_view_get_tooltips (ECalendarViewEventData *data) 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); diff --git a/calendar/gui/e-calendar-view.h b/calendar/gui/e-calendar-view.h index 0d577a9f24..9f196a5b15 100644 --- a/calendar/gui/e-calendar-view.h +++ b/calendar/gui/e-calendar-view.h @@ -172,7 +172,7 @@ gboolean e_calendar_view_get_tooltips (ECalendarViewEventData *data); 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, diff --git a/calendar/gui/e-cell-date-edit-text.c b/calendar/gui/e-cell-date-edit-text.c index 56ffc9ce69..b56d070559 100644 --- a/calendar/gui/e-cell-date-edit-text.c +++ b/calendar/gui/e-cell-date-edit-text.c @@ -29,8 +29,6 @@ #include #include #include -#include -#include #include #include #include diff --git a/calendar/gui/e-day-view.c b/calendar/gui/e-day-view.c index 7235c8dc58..21a3102e9f 100644 --- a/calendar/gui/e-day-view.c +++ b/calendar/gui/e-day-view.c @@ -39,7 +39,6 @@ #include #include #include -#include #include #include diff --git a/calendar/gui/e-itip-control.c b/calendar/gui/e-itip-control.c index 5cafb4a106..bf8ceec3be 100644 --- a/calendar/gui/e-itip-control.c +++ b/calendar/gui/e-itip-control.c @@ -31,11 +31,6 @@ #include #include #include -#include -#include -#include -#include -#include #include #include #include @@ -2282,7 +2277,7 @@ insert_rsvp (GtkWidget *hbox, EItipControl *itip) priv = itip->priv; /* To translators: RSVP means "please reply" */ - btn = gtk_check_button_new_with_label ("RSVP"); + btn = gtk_check_button_new_with_label (_("RSVP")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (btn), TRUE); priv->rsvp = TRUE; diff --git a/calendar/gui/e-meeting-attendee.c b/calendar/gui/e-meeting-attendee.c index 3ecee9dd78..413c83894a 100644 --- a/calendar/gui/e-meeting-attendee.c +++ b/calendar/gui/e-meeting-attendee.c @@ -845,6 +845,10 @@ e_meeting_attendee_add_busy_period (EMeetingAttendee *ia, 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 @@ e_meeting_attendee_add_busy_period (EMeetingAttendee *ia, } } } + 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 @@ e_meeting_attendee_add_busy_period (EMeetingAttendee *ia, } 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; } diff --git a/calendar/gui/e-meeting-list-view.c b/calendar/gui/e-meeting-list-view.c index 8d747a7be1..95bdcdff19 100644 --- a/calendar/gui/e-meeting-list-view.c +++ b/calendar/gui/e-meeting-list-view.c @@ -31,7 +31,6 @@ #include #include #include -#include #include #include #include @@ -470,6 +469,21 @@ status_edited_cb (GtkCellRenderer *renderer, const gchar *path, const gchar *tex value_edited (view, E_MEETING_STORE_STATUS_COL, path, text); } +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) { @@ -501,6 +515,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 (); diff --git a/calendar/gui/e-meeting-store.c b/calendar/gui/e-meeting-store.c index 218dbad7e3..663de70ba8 100644 --- a/calendar/gui/e-meeting-store.c +++ b/calendar/gui/e-meeting-store.c @@ -27,7 +27,6 @@ #include #include -#include #include #include #include @@ -1017,6 +1016,10 @@ process_free_busy_comp (EMeetingAttendee *attendee, busy_type = E_MEETING_FREE_BUSY_TENTATIVE; break; + case ICAL_FBTYPE_FREE: + busy_type = E_MEETING_FREE_BUSY_FREE; + break; + default: break; } diff --git a/calendar/gui/e-meeting-time-sel.c b/calendar/gui/e-meeting-time-sel.c index 798d6508b0..9871e15ea9 100644 --- a/calendar/gui/e-meeting-time-sel.c +++ b/calendar/gui/e-meeting-time-sel.c @@ -648,6 +648,7 @@ e_meeting_time_selector_construct (EMeetingTimeSelector * mts, EMeetingStore *em 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]); diff --git a/calendar/gui/e-meeting-types.h b/calendar/gui/e-meeting-types.h index 86c0edc04e..4f7d41eabf 100644 --- a/calendar/gui/e-meeting-types.h +++ b/calendar/gui/e-meeting-types.h @@ -48,11 +48,12 @@ typedef struct _EMeetingFreeBusyPeriod EMeetingFreeBusyPeriod; 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, diff --git a/calendar/gui/e-select-names-editable.c b/calendar/gui/e-select-names-editable.c index 5ec94a0fc6..dea9dd469d 100644 --- a/calendar/gui/e-select-names-editable.c +++ b/calendar/gui/e-select-names-editable.c @@ -129,7 +129,7 @@ GList * 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 @@ e_select_names_editable_get_emails (ESelectNamesEditable *esne) if (!destinations) return NULL; - destination = destinations->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))); + 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))); + } + } 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 @@ GList * 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 @@ e_select_names_editable_get_names (ESelectNamesEditable *esne) if (!destinations) return NULL; - destination = destinations->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))); + 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))); + } + } 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; diff --git a/calendar/gui/e-week-view.c b/calendar/gui/e-week-view.c index eeddc93ce4..e531a133fa 100644 --- a/calendar/gui/e-week-view.c +++ b/calendar/gui/e-week-view.c @@ -36,7 +36,6 @@ #include #include #include -#include #include #include #include diff --git a/calendar/gui/gnome-cal.c b/calendar/gui/gnome-cal.c index a5ff34aa4f..3ff2944752 100644 --- a/calendar/gui/gnome-cal.c +++ b/calendar/gui/gnome-cal.c @@ -36,9 +36,6 @@ #include #include #include -#include -#include -#include #include #include #include diff --git a/calendar/gui/goto.c b/calendar/gui/goto.c index 14f9901a38..d0fe71b1d2 100644 --- a/calendar/gui/goto.c +++ b/calendar/gui/goto.c @@ -26,7 +26,6 @@ #include #include -#include #include #include "e-util/e-util-private.h" #include "calendar-config.h" @@ -112,7 +111,6 @@ ecal_event (ECalendarItem *calitem, gpointer user_data) gnome_calendar_goto (dlg->gcal, et); gtk_dialog_response (GTK_DIALOG (dlg->dialog), GTK_RESPONSE_NONE); - /* gnome_dialog_close (GNOME_DIALOG (dlg->dialog)); */ #endif } diff --git a/calendar/gui/itip-utils.c b/calendar/gui/itip-utils.c index 5b292e1901..3de75cf3d3 100644 --- a/calendar/gui/itip-utils.c +++ b/calendar/gui/itip-utils.c @@ -661,16 +661,32 @@ comp_subject (ECalComponentItipMethod method, ECalComponent *comp) switch (a->status) { case ICAL_PARTSTAT_ACCEPTED: - prefix = _("Accepted"); + /* Translators: This is part of the subject + * line of a meeting request or update email. + * The full subject line would be: + * "Accepted: Meeting Name". */ + prefix = C_("Meeting", "Accepted"); break; case ICAL_PARTSTAT_TENTATIVE: - prefix = _("Tentatively Accepted"); + /* Translators: This is part of the subject + * line of a meeting request or update email. + * The full subject line would be: + * "Tentatively Accepted: Meeting Name". */ + prefix = C_("Meeting", "Tentatively Accepted"); break; case ICAL_PARTSTAT_DECLINED: - prefix = _("Declined"); + /* Translators: This is part of the subject + * line of a meeting request or update email. + * The full subject line would be: + * "Declined: Meeting Name". */ + prefix = C_("Meeting", "Declined"); break; case ICAL_PARTSTAT_DELEGATED: - prefix = _("Delegated"); + /* Translators: This is part of the subject + * line of a meeting request or update email. + * The full subject line would be: + * "Delegated: Meeting Name". */ + prefix = C_("Meeting", "Delegated"); break; default: break; @@ -680,23 +696,38 @@ comp_subject (ECalComponentItipMethod method, ECalComponent *comp) break; case E_CAL_COMPONENT_METHOD_ADD: - prefix = _("Updated"); + /* Translators: This is part of the subject line of a + * meeting request or update email. The full subject + * line would be: "Updated: Meeting Name". */ + prefix = C_("Meeting", "Updated"); break; case E_CAL_COMPONENT_METHOD_CANCEL: - prefix = _("Cancel"); + /* Translators: This is part of the subject line of a + * meeting request or update email. The full subject + * line would be: "Cancel: Meeting Name". */ + prefix = C_("Meeting", "Cancel"); break; case E_CAL_COMPONENT_METHOD_REFRESH: - prefix = _("Refresh"); + /* Translators: This is part of the subject line of a + * meeting request or update email. The full subject + * line would be: "Refresh: Meeting Name". */ + prefix = C_("Meeting", "Refresh"); break; case E_CAL_COMPONENT_METHOD_COUNTER: - prefix = _("Counter-proposal"); + /* Translators: This is part of the subject line of a + * meeting request or update email. The full subject + * line would be: "Counter-proposal: Meeting Name". */ + prefix = C_("Meeting", "Counter-proposal"); break; case E_CAL_COMPONENT_METHOD_DECLINECOUNTER: - prefix = _("Declined"); + /* Translators: This is part of the subject line of a + * meeting request or update email. The full subject + * line would be: "Declined: Meeting Name". */ + prefix = C_("Meeting", "Declined"); break; default: diff --git a/calendar/gui/memos-component.c b/calendar/gui/memos-component.c index 4edce662a6..ec9dc18571 100644 --- a/calendar/gui/memos-component.c +++ b/calendar/gui/memos-component.c @@ -27,7 +27,7 @@ #include #include -#include +#include #include #include #include diff --git a/calendar/gui/print.c b/calendar/gui/print.c index f3c6312e3f..dcd9672ec7 100644 --- a/calendar/gui/print.c +++ b/calendar/gui/print.c @@ -36,9 +36,6 @@ #include #include #include -#include -#include -#include #include #include #include diff --git a/calendar/gui/tasks-component.c b/calendar/gui/tasks-component.c index d2424ed158..f61100c34f 100644 --- a/calendar/gui/tasks-component.c +++ b/calendar/gui/tasks-component.c @@ -26,7 +26,7 @@ #include #include -#include +#include #include #include #include @@ -691,7 +691,6 @@ destroy_component_view (TasksComponentView *component_view) { GList *l; - g_signal_handlers_disconnect_by_func (component_view->table, G_CALLBACK (table_selection_change_cb), component_view); g_signal_handlers_disconnect_matched (component_view->model, G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, component_view); if (component_view->source_list) @@ -885,6 +884,9 @@ tasks_component_class_init (TasksComponentClass *klass) POA_GNOME_Evolution_Component__epv *epv = &klass->epv; GObjectClass *object_class = G_OBJECT_CLASS (klass); + bindtextdomain (GETTEXT_PACKAGE, EVOLUTION_LOCALEDIR); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + parent_class = g_type_class_peek_parent (klass); epv->requestCreateItem = impl_requestCreateItem; diff --git a/calendar/gui/tasks-control.c b/calendar/gui/tasks-control.c index 0d2888efdf..01604628f9 100644 --- a/calendar/gui/tasks-control.c +++ b/calendar/gui/tasks-control.c @@ -27,10 +27,6 @@ #include #include -#include -#include -#include -#include #include #include #include @@ -228,12 +224,6 @@ tasks_control_activate (BonoboControl *control, ETasks *tasks) bonobo_ui_component_add_listener(uic, "ViewPreview", tasks_control_view_preview, tasks); bonobo_ui_component_set_prop(uic, "/commands/ViewPreview", "state", state?"1":"0", NULL); - /* Show the dialog for setting the timezone if the user hasn't chosen - a default timezone already. This is done in the startup wizard now, - so we don't do it here. */ -#if 0 - calendar_config_check_timezone_set (); -#endif } -- cgit v1.2.3