aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-week-view.c
diff options
context:
space:
mode:
authorFederico Mena Quintero <federico@helixcode.com>2000-06-01 08:48:01 +0800
committerFederico Mena Quintero <federico@src.gnome.org>2000-06-01 08:48:01 +0800
commit19150e7c7b614544188f93dbffd748a2846d2a1b (patch)
tree038bed0dd7a7d6921d19cc0a992910ea5c1144fa /calendar/gui/e-week-view.c
parentebdac7989a6fcb20ddd3ecf7b875d7c16b75cabb (diff)
downloadgsoc2013-evolution-19150e7c7b614544188f93dbffd748a2846d2a1b.tar
gsoc2013-evolution-19150e7c7b614544188f93dbffd748a2846d2a1b.tar.gz
gsoc2013-evolution-19150e7c7b614544188f93dbffd748a2846d2a1b.tar.bz2
gsoc2013-evolution-19150e7c7b614544188f93dbffd748a2846d2a1b.tar.lz
gsoc2013-evolution-19150e7c7b614544188f93dbffd748a2846d2a1b.tar.xz
gsoc2013-evolution-19150e7c7b614544188f93dbffd748a2846d2a1b.tar.zst
gsoc2013-evolution-19150e7c7b614544188f93dbffd748a2846d2a1b.zip
Added a hash table to map calendar objects to their respective event
2000-05-31 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.h (GnomeCalendar): Added a hash table to map calendar objects to their respective event editors. * gui/gnome-cal.c (gnome_calendar_init): Create the object_editor_hash. (gnome_calendar_destroy): Free the object_editor_hash. (gnome_calendar_edit_object): New function to centralize the launching of event editors; if one already exists for a particular calendar object, we just raise its window. (edit): Use gnome_calendar_edit_object(). * gui/calendar-commands.c (display_objedit): Use gnome_calendar_edit_object(). (display_objedit_today): Likewise. * gui/e-day-view.c (e_day_view_on_new_appointment): Likewise. (e_day_view_on_edit_appointment): Likewise. * gui/e-week-view.c (e_week_view_on_new_appointment): Likewise. (e_week_view_on_edit_appointment): Likewise. * gui/event-editor.c (event_editor_new): Do not take in an iCalObject; rather provide an event_editor_set_ical_object() function. We need this because a single editor may be switched between different calendar objects. Also, do not show the event editor; leave it up to the client code. (event_editor_construct): Likewise. (clear_widgets): New function to clear the widgets to default values. (fill_widgets): New function to fill in the widgets from the iCalObject. We don't do this in init_widgets() anymore. (free_exception_clist_data): New function to free the exceptions clist data. We were leaking the row data. (init_widgets): Hook to the destroy signal of the exceptions clist. (event_editor_set_ical_object): New function. Now it also makes a copy of the calendar object for the event editor; clients do not need to copy it anymore. (event_editor_destroy): Unref the UI handler as well. (event_editor_class_init): New "ical_object_released" signal to notify the parent that we are no longer editing the calendar object. (make_title_from_ico): Handle NULL objects. * gui/event-editor.h (EventEditor): Removed fields that are no longer used. svn path=/trunk/; revision=3317
Diffstat (limited to 'calendar/gui/e-week-view.c')
-rw-r--r--calendar/gui/e-week-view.c15
1 files changed, 2 insertions, 13 deletions
diff --git a/calendar/gui/e-week-view.c b/calendar/gui/e-week-view.c
index e45efdf908..3dd20e4e48 100644
--- a/calendar/gui/e-week-view.c
+++ b/calendar/gui/e-week-view.c
@@ -36,7 +36,6 @@
#include "e-week-view-titles-item.h"
#include <cal-util/timeutil.h>
#include "popup-menu.h"
-#include "eventedit.h"
#include "../e-util/e-canvas.h"
#include "../widgets/e-text/e-text.h"
@@ -2611,7 +2610,6 @@ static void
e_week_view_on_new_appointment (GtkWidget *widget, gpointer data)
{
EWeekView *week_view;
- GtkWidget *event_editor;
iCalObject *ico;
week_view = E_WEEK_VIEW (data);
@@ -2621,9 +2619,8 @@ e_week_view_on_new_appointment (GtkWidget *widget, gpointer data)
ico->dtstart = week_view->day_starts[week_view->selection_start_day];
ico->dtend = week_view->day_starts[week_view->selection_end_day + 1];
- event_editor = event_editor_new (week_view->calendar, ico);
+ gnome_calendar_edit_object (week_view->calendar, ico);
ical_object_unref (ico);
- gtk_widget_show (event_editor);
}
@@ -2632,8 +2629,6 @@ e_week_view_on_edit_appointment (GtkWidget *widget, gpointer data)
{
EWeekView *week_view;
EWeekViewEvent *event;
- GtkWidget *event_editor;
- iCalObject *ico;
week_view = E_WEEK_VIEW (data);
@@ -2643,13 +2638,7 @@ e_week_view_on_edit_appointment (GtkWidget *widget, gpointer data)
event = &g_array_index (week_view->events, EWeekViewEvent,
week_view->popup_event_num);
- /* We must duplicate the iCalObject, since the event editor will
- change the fields. */
- ico = ical_object_duplicate (event->ico);
-
- event_editor = event_editor_new (week_view->calendar, ico);
- ical_object_unref (ico);
- gtk_widget_show (event_editor);
+ gnome_calendar_edit_object (week_view->calendar, event->ico);
}