diff options
-rw-r--r-- | calendar/ChangeLog | 12 | ||||
-rw-r--r-- | calendar/gui/dialogs/meeting-page.c | 8 | ||||
-rw-r--r-- | calendar/gui/e-meeting-model.c | 20 | ||||
-rw-r--r-- | calendar/gui/e-meeting-time-sel.c | 7 |
4 files changed, 30 insertions, 17 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog index 5fbc144e6a..da804df125 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,15 @@ +2001-10-22 JP Rosevear <jpr@ximian.com> + + * gui/dialogs/meeting-page.c (meeting_page_destroy): we don't need + to save the state + + * gui/e-meeting-time-sel.c (e_meeting_time_selector_destroy): + ditto + + * gui/e-meeting-model.c (build_etable): listen for the etable + being destroyed + (table_destroy_cb): save the state when the etable is destroyed + 2001-10-21 JP Rosevear <jpr@ximian.com> * gui/dialogs/schedule-page.c (init_widgets): listen for changes diff --git a/calendar/gui/dialogs/meeting-page.c b/calendar/gui/dialogs/meeting-page.c index fbef04d18e..447022e81c 100644 --- a/calendar/gui/dialogs/meeting-page.c +++ b/calendar/gui/dialogs/meeting-page.c @@ -242,7 +242,6 @@ meeting_page_destroy (GtkObject *object) MeetingPage *mpage; MeetingPagePrivate *priv; ETable *real_table; - char *filename; g_return_if_fail (object != NULL); g_return_if_fail (IS_MEETING_PAGE (object)); @@ -260,13 +259,6 @@ meeting_page_destroy (GtkObject *object) g_list_free (priv->address_strings); gtk_object_unref (GTK_OBJECT (priv->model)); - - /* Save state */ - filename = g_strdup_printf ("%s/config/et-header-meeting-page", - evolution_dir); - real_table = e_table_scrolled_get_table (priv->etable); - e_table_save_state (real_table, filename); - g_free (filename); if (priv->xml) { gtk_object_unref (GTK_OBJECT (priv->xml)); diff --git a/calendar/gui/e-meeting-model.c b/calendar/gui/e-meeting-model.c index 472c12ce4e..0271d7bd0c 100644 --- a/calendar/gui/e-meeting-model.c +++ b/calendar/gui/e-meeting-model.c @@ -116,6 +116,8 @@ static void invite_entry_changed_cb (BonoboListener *listener, CORBA_Environment *ev, gpointer data); +static void table_destroy_cb (ETableScrolled *etable, gpointer data); + static ETableModelClass *parent_class = NULL; GtkType @@ -747,10 +749,11 @@ build_etable (ETableModel *model, const gchar *spec_file, const gchar *state_fil #if 0 gtk_signal_connect (GTK_OBJECT (real_table), "right_click", GTK_SIGNAL_FUNC (right_click_cb), mpage); - gtk_signal_connect (GTK_OBJECT (real_table->sort_info), - "sort_info_changed", GTK_SIGNAL_FUNC (sort_info_changed_cb), mts); #endif + gtk_signal_connect (GTK_OBJECT (etable), "destroy", + GTK_SIGNAL_FUNC (table_destroy_cb), g_strdup (state_file)); + gtk_object_unref (GTK_OBJECT (extras)); return E_TABLE_SCROLLED (etable); @@ -1494,3 +1497,16 @@ attendee_changed_cb (EMeetingAttendee *ia, gpointer data) e_table_model_row_changed (E_TABLE_MODEL (im), row); } + +static void +table_destroy_cb (ETableScrolled *etable, gpointer data) +{ + ETable *real_table; + char *filename = data; + + real_table = e_table_scrolled_get_table (etable); + e_table_save_state (real_table, filename); + + g_free (data); +} + diff --git a/calendar/gui/e-meeting-time-sel.c b/calendar/gui/e-meeting-time-sel.c index aba83f9cf8..74cb9bcf12 100644 --- a/calendar/gui/e-meeting-time-sel.c +++ b/calendar/gui/e-meeting-time-sel.c @@ -819,7 +819,6 @@ e_meeting_time_selector_destroy (GtkObject *object) { EMeetingTimeSelector *mts; ETable *real_table; - char *filename; mts = E_MEETING_TIME_SELECTOR (object); @@ -827,12 +826,6 @@ e_meeting_time_selector_destroy (GtkObject *object) gdk_color_context_free (mts->color_context); gdk_bitmap_unref (mts->stipple); - - filename = g_strdup_printf ("%s/config/et-header-meeting-time-sel", - evolution_dir); - real_table = e_table_scrolled_get_table (E_TABLE_SCROLLED (mts->etable)); - e_table_save_state (real_table, filename); - g_free (filename); if (GTK_OBJECT_CLASS (parent_class)->destroy) (*GTK_OBJECT_CLASS (parent_class)->destroy)(object); |