Author: ckornacker
Date: Thu Feb 7 17:39:36 2008
New Revision: 8537
URL: http://svn.opensuse.org/viewcvs/zypp?rev=8537&view=rev
Log:
added error message on update failure
Modified:
trunk/updater-gnome/src/zypp/updater-zypper-gui.c
Modified: trunk/updater-gnome/src/zypp/updater-zypper-gui.c
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/updater-gnome/src/zypp/updater-zypper-gui.c?rev=8537&r1=8536&r2=8537&view=diff
==============================================================================
--- trunk/updater-gnome/src/zypp/updater-zypper-gui.c (original)
+++ trunk/updater-gnome/src/zypp/updater-zypper-gui.c Thu Feb 7 17:39:36 2008
@@ -20,6 +20,7 @@
guint16 package_count;
gboolean security_patches_done = FALSE;
gboolean recommended_patches_done = FALSE;
+gboolean goterror = FALSE;
GtkWidget *dialog;
GtkWidget *progressbar;
@@ -267,46 +268,13 @@
/* Parse for message line */
else if (g_ascii_strncasecmp (*ptr, "", 22) == 0)
{
- GString *msg;
- msg = g_string_new(*ptr);
- msg = g_string_erase(msg, 0, 22);
- msg = g_string_truncate(msg, (msg->len)-10);
-
- GtkWidget *errordialog, *errorlabel, *vbox;
-
- errordialog = gtk_dialog_new_with_buttons (_("Error"),
- NULL,
- GTK_DIALOG_MODAL,
- GTK_STOCK_OK, GTK_RESPONSE_OK,
- NULL);
- gtk_dialog_set_has_separator (GTK_DIALOG (errordialog), FALSE);
-
- vbox = gtk_vbox_new (FALSE, 6);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), 6);
- gtk_container_add (GTK_CONTAINER (GTK_DIALOG (errordialog)->vbox), vbox);
-
- errorlabel = gtk_label_new (NULL);
- gchar *markup;
- markup = g_markup_printf_escaped ("%s</span>\n\n%s",
- _("Error"),
- msg->str);
- gtk_label_set_markup (GTK_LABEL (errorlabel), markup);
- g_free (markup);
- g_string_free (msg, TRUE);
-
- gtk_container_add (GTK_CONTAINER (vbox),
- errorlabel);
-
- gtk_widget_show_all(errordialog);
- gtk_dialog_run (GTK_DIALOG (errordialog));
- gtk_main_quit();
-
+ goterror = TRUE;
}
/* Parse for ending line */
else if (g_ascii_strncasecmp (*ptr, "</stream>", 9) == 0)
{
- if (security_patches_done)
+ if (security_patches_done && !goterror)
{
if (recommended_patches_done || !packages_included || (packages_included && !recommended_included))
{
@@ -409,7 +377,7 @@
gtk_progress_bar_set_text (GTK_PROGRESS_BAR (progressbar), _("Checking for additional package updates"));
}
}
- else
+ else if(!goterror)
{
gtk_image_set_from_stock (GTK_IMAGE (imageSecurity), GTK_STOCK_APPLY, GTK_ICON_SIZE_MENU);
gtk_progress_bar_set_text (GTK_PROGRESS_BAR (progressbar), _("Mandatory updates done."));
@@ -503,6 +471,38 @@
}
}
}
+ else
+ {
+ GtkWidget *errordialog, *errorlabel, *vbox;
+
+ errordialog = gtk_dialog_new_with_buttons (_("Error"),
+ NULL,
+ GTK_DIALOG_MODAL,
+ GTK_STOCK_OK, GTK_RESPONSE_OK,
+ NULL);
+ gtk_dialog_set_has_separator (GTK_DIALOG (errordialog), FALSE);
+
+ vbox = gtk_vbox_new (FALSE, 6);
+ gtk_container_set_border_width (GTK_CONTAINER (vbox), 6);
+ gtk_container_add (GTK_CONTAINER (GTK_DIALOG (errordialog)->vbox), vbox);
+
+ errorlabel = gtk_label_new (NULL);
+ gchar *markup;
+ markup = g_markup_printf_escaped ("%s</span>\n\n%s\n%s",
+ _("Error"),
+ _("Failed to apply the updates."),
+ _("Please consider running the Package Manager manually."));
+ gtk_label_set_markup (GTK_LABEL (errorlabel), markup);
+ g_free (markup);
+
+ gtk_container_add (GTK_CONTAINER (vbox),
+ errorlabel);
+
+ gtk_widget_show_all(errordialog);
+ gtk_dialog_run (GTK_DIALOG (errordialog));
+
+ gtk_main_quit();
+ }
while (gtk_events_pending ())
gtk_main_iteration();
}
--
To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org
For additional commands, e-mail: zypp-commit+help@opensuse.org