aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-account-gui.c
diff options
context:
space:
mode:
authorLarry Ewing <lewing@ximian.com>2001-09-11 14:02:43 +0800
committerLarry Ewing <lewing@src.gnome.org>2001-09-11 14:02:43 +0800
commit44968e072f3298bb59af4e51a804998ef1690894 (patch)
tree2abec97271995042cea214338e7bed01fc9b2d8d /mail/mail-account-gui.c
parentbf121d6ddbd8f42cc6e3aed60acc7b09a6e650c3 (diff)
downloadgsoc2013-evolution-44968e072f3298bb59af4e51a804998ef1690894.tar
gsoc2013-evolution-44968e072f3298bb59af4e51a804998ef1690894.tar.gz
gsoc2013-evolution-44968e072f3298bb59af4e51a804998ef1690894.tar.bz2
gsoc2013-evolution-44968e072f3298bb59af4e51a804998ef1690894.tar.lz
gsoc2013-evolution-44968e072f3298bb59af4e51a804998ef1690894.tar.xz
gsoc2013-evolution-44968e072f3298bb59af4e51a804998ef1690894.tar.zst
gsoc2013-evolution-44968e072f3298bb59af4e51a804998ef1690894.zip
call menu_file_save_error when there is an exception while saving.
2001-09-11 Larry Ewing <lewing@ximian.com> * mail-account-gui.c (menu_file_save_cb): call menu_file_save_error when there is an exception while saving. (menu_file_save_error): pop up a dialog telling the user the file has not been saved. svn path=/trunk/; revision=12765
Diffstat (limited to 'mail/mail-account-gui.c')
-rw-r--r--mail/mail-account-gui.c26
1 files changed, 19 insertions, 7 deletions
diff --git a/mail/mail-account-gui.c b/mail/mail-account-gui.c
index c08538e55c..b65398731d 100644
--- a/mail/mail-account-gui.c
+++ b/mail/mail-account-gui.c
@@ -940,6 +940,15 @@ destroy_editor (ESignatureEditor *editor)
}
static void
+menu_file_save_error (BonoboUIComponent *uic, CORBA_Environment *ev) {
+ e_notice (GTK_WINDOW (uic), GNOME_MESSAGE_BOX_ERROR,
+ _("Could not save signature file."));
+
+ g_warning ("Exception while saving signature (%s)",
+ bonobo_exception_get_text (ev));
+}
+
+static void
menu_file_save_cb (BonoboUIComponent *uic,
void *data,
const char *path)
@@ -955,8 +964,10 @@ menu_file_save_cb (BonoboUIComponent *uic,
pfile_iface = bonobo_object_client_query_interface (bonobo_widget_get_server (BONOBO_WIDGET (editor->control)),
"IDL:Bonobo/PersistFile:1.0", NULL);
Bonobo_PersistFile_save (pfile_iface, editor->filename, &ev);
+
if (ev._major != CORBA_NO_EXCEPTION)
- g_warning ("Cannot save.");
+ menu_file_save_error (uic, &ev);
+
CORBA_exception_free (&ev);
} else {
BonoboStream *stream;
@@ -967,16 +978,17 @@ menu_file_save_cb (BonoboUIComponent *uic,
stream = bonobo_stream_open (BONOBO_IO_DRIVER_FS, editor->filename,
Bonobo_Storage_WRITE | Bonobo_Storage_CREATE, 0);
+
pstream_iface = bonobo_object_client_query_interface
(bonobo_widget_get_server (BONOBO_WIDGET (editor->control)),
"IDL:Bonobo/PersistStream:1.0", NULL);
- Bonobo_PersistStream_save (pstream_iface, (Bonobo_Stream) bonobo_object_corba_objref (BONOBO_OBJECT (stream)),
+
+ Bonobo_PersistStream_save (pstream_iface,
+ (Bonobo_Stream) bonobo_object_corba_objref (BONOBO_OBJECT (stream)),
"text/plain", &ev);
- if (ev._major != CORBA_NO_EXCEPTION) {
- g_warning ("Exception while saving signature (%s)",
- bonobo_exception_get_text (&ev));
- return;
- }
+
+ if (ev._major != CORBA_NO_EXCEPTION)
+ menu_file_save_error (uic, &ev);
CORBA_exception_free (&ev);
bonobo_object_unref (BONOBO_OBJECT (stream));