aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/tasks-control.c
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2003-03-25 23:49:44 +0800
committerDan Winship <danw@src.gnome.org>2003-03-25 23:49:44 +0800
commitd8cac9eeafdd511b5de38f3da47dd25582c0e33f (patch)
tree83d008e1bbf930d717adc54be845ae74efbe3c02 /calendar/gui/tasks-control.c
parentfea6083abffc47a4f9fd2d8988e924ad19a394c3 (diff)
downloadgsoc2013-evolution-d8cac9eeafdd511b5de38f3da47dd25582c0e33f.tar
gsoc2013-evolution-d8cac9eeafdd511b5de38f3da47dd25582c0e33f.tar.gz
gsoc2013-evolution-d8cac9eeafdd511b5de38f3da47dd25582c0e33f.tar.bz2
gsoc2013-evolution-d8cac9eeafdd511b5de38f3da47dd25582c0e33f.tar.lz
gsoc2013-evolution-d8cac9eeafdd511b5de38f3da47dd25582c0e33f.tar.xz
gsoc2013-evolution-d8cac9eeafdd511b5de38f3da47dd25582c0e33f.tar.zst
gsoc2013-evolution-d8cac9eeafdd511b5de38f3da47dd25582c0e33f.zip
Update for e_notice move
* gui/itip-utils.c: Update for e_notice move * gui/tasks-control.c (confirm_expunge): Move the code that used to be e_gnome_dialog_set_parent here, since it was marked deprecated and this was the only place using it. * gui/dialogs/comp-editor.c: Update for e_notice move (page_changed_cb, page_summary_changed_cb, page_dates_changed_cb): Pass a parent_window to e_notice. * gui/dialogs/meeting-page.c: Update for e_notice move. (meeting_page_fill_component, meeting_page_fill_component, popup_delegate_cb): Pass a parent_window to e_notice svn path=/trunk/; revision=20503
Diffstat (limited to 'calendar/gui/tasks-control.c')
-rw-r--r--calendar/gui/tasks-control.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/calendar/gui/tasks-control.c b/calendar/gui/tasks-control.c
index 31d1e2b984..41ff698fce 100644
--- a/calendar/gui/tasks-control.c
+++ b/calendar/gui/tasks-control.c
@@ -445,10 +445,16 @@ tasks_control_complete_cmd (BonoboUIComponent *uic,
e_tasks_complete_selected (tasks);
}
+static void
+parent_destroyed (GnomeDialog *dialog, GObject *deadbeef)
+{
+ gnome_dialog_close (GNOME_DIALOG (dialog));
+}
+
static gboolean
confirm_expunge (ETasks *tasks)
{
- GtkWidget *dialog, *label, *checkbox;
+ GtkWidget *dialog, *label, *checkbox, *parent;
int button;
if (!calendar_config_get_confirm_expunge ())
@@ -458,9 +464,10 @@ confirm_expunge (ETasks *tasks)
GNOME_STOCK_BUTTON_YES,
GNOME_STOCK_BUTTON_NO,
NULL);
- e_gnome_dialog_set_parent (GNOME_DIALOG (dialog),
- GTK_WINDOW (gtk_widget_get_ancestor (GTK_WIDGET (tasks),
- GTK_TYPE_WINDOW)));
+
+ parent = gtk_widget_get_toplevel (GTK_WIDGET (tasks));
+ gnome_dialog_set_parent (GNOME_DIALOG (dialog), GTK_WINDOW (parent));
+ g_object_weak_ref ((GObject *) parent, (GWeakNotify) parent_destroyed, dialog);
label = gtk_label_new (_("This operation will permanently erase all tasks marked as completed. If you continue, you will not be able to recover these tasks.\n\nReally erase these tasks?"));