r15084 - gnucash/trunk/src/gnome - Improve error reporting of QSF import a little bit. Patch provided by Georgi Mirchev, bug#343724.

Christian Stimming cstim at cvs.gnucash.org
Sat Nov 4 16:57:16 EST 2006


Author: cstim
Date: 2006-11-04 16:57:16 -0500 (Sat, 04 Nov 2006)
New Revision: 15084
Trac: http://svn.gnucash.org/trac/changeset/15084

Modified:
   gnucash/trunk/src/gnome/druid-merge.c
   gnucash/trunk/src/gnome/gnc-plugin-basic-commands.c
Log:
Improve error reporting of QSF import a little bit. Patch provided by Georgi Mirchev, bug#343724.

Modified: gnucash/trunk/src/gnome/druid-merge.c
===================================================================
--- gnucash/trunk/src/gnome/druid-merge.c	2006-11-04 21:50:17 UTC (rev 15083)
+++ gnucash/trunk/src/gnome/druid-merge.c	2006-11-04 21:57:16 UTC (rev 15084)
@@ -220,7 +220,7 @@
 	gnc_suspend_gui_refresh ();
 	result = qof_book_merge_commit(mergeData);
 	if(result != 0) {
-		message = _("Error: the Commit operation failed.");
+		message = g_strdup_printf(_("Error: the Commit operation failed, error code %d."), result);
 		top = gtk_widget_get_toplevel (GTK_WIDGET (gnomedruidpage));
 		gnc_error_dialog(top, message);
 	}

Modified: gnucash/trunk/src/gnome/gnc-plugin-basic-commands.c
===================================================================
--- gnucash/trunk/src/gnome/gnc-plugin-basic-commands.c	2006-11-04 21:50:17 UTC (rev 15083)
+++ gnucash/trunk/src/gnome/gnc-plugin-basic-commands.c	2006-11-04 21:57:16 UTC (rev 15084)
@@ -364,8 +364,9 @@
 qsf_file_select_ok(GtkWidget *w, GtkFileSelection *fs )
 {
   QofSession *qsf_session, *first_session;
-  const gchar *filename;
+  const gchar *filename, *message, *error_message;
   QofBook *original;
+  QofBackendError err;
 
   ENTER (" ");
   qof_event_suspend();
@@ -376,6 +377,20 @@
   qsf_session = qof_session_new();
   qof_session_begin(qsf_session, filename, TRUE, FALSE);
   qof_session_load(qsf_session, NULL);
+  err = qof_session_get_error(qsf_session);
+  if (err != ERR_BACKEND_NO_ERR) {
+    error_message = qof_session_get_error_message(qsf_session);
+    if (!error_message)
+	error_message = "";
+    message = g_strdup_printf(_("Error: Loading failed, error code %d - %s."), err, error_message);
+    PERR("%s", message);
+    qof_session_destroy(qsf_session);
+    qof_event_resume();
+    gnc_error_dialog(gnc_ui_get_toplevel(), message);
+    LEAVE (" ");
+    return;
+  }
+
   qof_event_resume();
   gnc_ui_qsf_import_merge_druid(first_session, qsf_session);
   LEAVE (" ");



More information about the gnucash-changes mailing list