aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-week-view.h
diff options
context:
space:
mode:
authorDamon Chaplin <damon@helixcode.com>2000-05-01 08:27:17 +0800
committerDamon Chaplin <damon@src.gnome.org>2000-05-01 08:27:17 +0800
commitc4f6855cebd5b13deca8109e79f0beb7dabdd0ce (patch)
tree95937961c0290907b5a469618c1b137f97c94480 /calendar/gui/e-week-view.h
parent165bf85c4d07928acf01c43c49c7e65c16b28ac8 (diff)
downloadgsoc2013-evolution-c4f6855cebd5b13deca8109e79f0beb7dabdd0ce.tar
gsoc2013-evolution-c4f6855cebd5b13deca8109e79f0beb7dabdd0ce.tar.gz
gsoc2013-evolution-c4f6855cebd5b13deca8109e79f0beb7dabdd0ce.tar.bz2
gsoc2013-evolution-c4f6855cebd5b13deca8109e79f0beb7dabdd0ce.tar.lz
gsoc2013-evolution-c4f6855cebd5b13deca8109e79f0beb7dabdd0ce.tar.xz
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.h29
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 */