diff options
author | Damon Chaplin <damon@helixcode.com> | 2000-05-01 08:27:17 +0800 |
---|---|---|
committer | Damon Chaplin <damon@src.gnome.org> | 2000-05-01 08:27:17 +0800 |
commit | c4f6855cebd5b13deca8109e79f0beb7dabdd0ce (patch) | |
tree | 95937961c0290907b5a469618c1b137f97c94480 /calendar/gui/e-week-view.h | |
parent | 165bf85c4d07928acf01c43c49c7e65c16b28ac8 (diff) | |
download | gsoc2013-evolution-c4f6855cebd5b13deca8109e79f0beb7dabdd0ce.tar.gz gsoc2013-evolution-c4f6855cebd5b13deca8109e79f0beb7dabdd0ce.tar.zst gsoc2013-evolution-c4f6855cebd5b13deca8109e79f0beb7dabdd0ce.zip |
new function to see if the event dates have changed (including any
2000-05-01 Damon Chaplin <damon@helixcode.com>
* cal-util/calobj.c (ical_object_compare_dates): new function to see
if the event dates have changed (including any recurrence rules).
It is used for optimization when we get the "object_changed" signal.
We have to do far less work if the dates are unchanged.
* gui/e-week-view.c:
* gui/e-day-view.c: only draw the selection when we have the keyboard
focus, since the user expects to be able to type in a new event when
the selection is shown. Also keep the selection when we lose focus,
but just don't show it.
Also quite a few changes to cope with the new client/server
architecture.
* gui/e-day-view-top-item.c (e_day_view_top_item_draw):
* gui/e-day-view-main-item.c (e_day_view_main_item_draw):
* gui/e-week-view-main-item.c (e_week_view_main_item_draw_day):
only draw the selection if the widget has the keyboard focus.
* gui/gnome-cal.c (mark_gtk_calendar_day): fixed so it works with
events longer than one day. And changed the code for updating events
in the new views.
svn path=/trunk/; revision=2701
Diffstat (limited to 'calendar/gui/e-week-view.h')
-rw-r--r-- | calendar/gui/e-week-view.h | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/calendar/gui/e-week-view.h b/calendar/gui/e-week-view.h index eac23565c2..c940f736d4 100644 --- a/calendar/gui/e-week-view.h +++ b/calendar/gui/e-week-view.h @@ -279,8 +279,12 @@ struct _EWeekView gint editing_event_num; gint editing_span_num; - /* The day or event that the context menu is for. */ - gint popup_event_day; + /* This is TRUE if we are editing an event which we have just created. + We ignore the "update_event" callback which we will get from the + server when the event is added. */ + gboolean editing_new_event; + + /* The event that the context menu is for. */ gint popup_event_num; /* The last mouse position when dragging, in the entire canvas. */ @@ -318,13 +322,18 @@ gboolean e_week_view_get_compress_weekend (EWeekView *week_view); void e_week_view_set_compress_weekend (EWeekView *week_view, gboolean compress); -/* This is called when one or more events have been updated, either within the - EWeekView itself, or via another calendar view or application. If only one - event has changed, it is passed in the ico argument and the flags indicate - the change - whether it is a new event, or just the summary has changed. */ +/* This reloads all calendar events. */ +void e_week_view_update_all_events (EWeekView *week_view); + +/* This is called when one event has been added or updated. */ void e_week_view_update_event (EWeekView *week_view, - iCalObject *ico, - int flags); + const gchar *uid); + +/* This removes all the events associated with the given uid. Note that for + recurring events there may be more than one. If any events are found and + removed we need to layout the events again. */ +void e_week_view_remove_event (EWeekView *week_view, + const gchar *uid); /* @@ -350,6 +359,10 @@ void e_week_view_start_editing_event (EWeekView *week_view, gchar *initial_text); void e_week_view_stop_editing_event (EWeekView *week_view); +void e_week_view_show_popup_menu (EWeekView *week_view, + GdkEventButton *event, + gint event_num); + #ifdef __cplusplus } #endif /* __cplusplus */ |