diff options
author | JP Rosevear <jpr@novell.com> | 2004-07-14 10:20:55 +0800 |
---|---|---|
committer | JP Rosevear <jpr@src.gnome.org> | 2004-07-14 10:20:55 +0800 |
commit | 1dcf7c2a308edb953759b4abd5e0f8e1f94050dd (patch) | |
tree | d0332500c39648a5d0160b5568b321ff587eca75 /calendar/gui/e-calendar-view.c | |
parent | 4fd6c59d453fd305aef077cff76fee715a44a7a7 (diff) | |
download | gsoc2013-evolution-1dcf7c2a308edb953759b4abd5e0f8e1f94050dd.tar.gz gsoc2013-evolution-1dcf7c2a308edb953759b4abd5e0f8e1f94050dd.tar.zst gsoc2013-evolution-1dcf7c2a308edb953759b4abd5e0f8e1f94050dd.zip |
Fixes #57287, 58748
2004-07-12 JP Rosevear <jpr@novell.com>
Fixes #57287, 58748
* gui/tasks-component.c (source_added_cb): if the source was
added in the main calendar, select it because the user caused this
to happen by creating a task
(create_component_view): listen for source_added signal on the
tasks
* gui/gnome-cal.c (view_selection_changed_cb): if the user created
a task, make sure we are displaying the relevant event list
(set_timezone): set the default zone of the default client
(setup_widgets): listen for the user_created signal
(gnome_calendar_destroy): clean up default client
(client_cal_opened_cb): disconnect from the open signal
(default_client_cal_opened_cb): set the default client on the
models
(open_ecal): make the callback function a param
(gnome_calendar_add_source): include the default client when
searching for an existing client
(gnome_calendar_set_default_source): make the default client
independent of the rest of the clients
* gui/e-week-view.c (e_week_view_on_editing_stopped): emit
user_created signal
* gui/e-tasks.c (user_created_cb): if the user created a task,
make sure we are displaying the relevant task list
(set_timezone): set the timezone on the client
(setup_widgets): listen for user_created signal
(e_tasks_destroy): unref default client
(default_client_cal_opened_cb): set the default on the model when
it opens
(open_ecal): open a task list
(e_tasks_add_todo_source): include the default client when
searching for an existing client
(e_tasks_set_default_source): make the default client independent
of the rest of the clients
* gui/e-day-view.c (e_day_view_on_editing_stopped): emit
user_created signal
* gui/e-calendar-view.h: add signal proto
* gui/e-calendar-view.c (e_calendar_view_class_init): add
user_created signal
* gui/e-calendar-table.h: add signal proto
* gui/e-calendar-table.c (e_calendar_table_class_init): add
user_created signal
(row_appended_cb): if row is appended, emit user_created signal
(e_calendar_table_init): listen for row_appended signal
* gui/e-cal-model.h: add signal proto
* gui/e-cal-model.c (e_cal_model_class_init): add row_appended
signal
(ecm_append_row): don't leak, emit row appended signal
(e_cal_model_set_default_client): remove the existing default if
it was only used as the default
(update_e_cal_view_for_client): short circuit query create
(add_new_client): look for an existing client and update its
record if found, handle opening things here
(e_cal_model_add_client): just call add_new_client
(remove_client_objects): just remove a client's objects
(remove_client): use above, handle removal of client if its
default
* gui/calendar-component.c (source_added_cb): if the source was
added in the main calendar, select it because the user caused this
to happen by creating an appointment
(create_component_view): listen for source_added signal on the
calendar
svn path=/trunk/; revision=26644
Diffstat (limited to 'calendar/gui/e-calendar-view.c')
-rw-r--r-- | calendar/gui/e-calendar-view.c | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/calendar/gui/e-calendar-view.c b/calendar/gui/e-calendar-view.c index 2150ca0993..00cce026b4 100644 --- a/calendar/gui/e-calendar-view.c +++ b/calendar/gui/e-calendar-view.c @@ -103,6 +103,7 @@ enum { TIMEZONE_CHANGED, EVENT_CHANGED, EVENT_ADDED, + USER_CREATED, OPEN_EVENT, LAST_SIGNAL }; @@ -166,6 +167,7 @@ e_calendar_view_class_init (ECalendarViewClass *klass) klass->selected_time_changed = NULL; klass->event_changed = NULL; klass->event_added = NULL; + klass->user_created = NULL; klass->get_selected_events = NULL; klass->get_selected_time_range = NULL; @@ -214,15 +216,6 @@ e_calendar_view_class_init (ECalendarViewClass *klass) G_TYPE_NONE, 1, G_TYPE_POINTER); - e_calendar_view_signals[OPEN_EVENT] = - g_signal_new ("open_event", - G_TYPE_FROM_CLASS (klass), - G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET (ECalendarViewClass, open_event), - NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); - e_calendar_view_signals[EVENT_ADDED] = g_signal_new ("event_added", G_TYPE_FROM_CLASS (object_class), @@ -233,6 +226,24 @@ e_calendar_view_class_init (ECalendarViewClass *klass) G_TYPE_NONE, 1, G_TYPE_POINTER); + e_calendar_view_signals[USER_CREATED] = + g_signal_new ("user_created", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (ECalendarViewClass, user_created), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); + + e_calendar_view_signals[OPEN_EVENT] = + g_signal_new ("open_event", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET (ECalendarViewClass, open_event), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); + /* clipboard atom */ if (!clipboard_atom) clipboard_atom = gdk_atom_intern ("CLIPBOARD", FALSE); |