From bb883db7760581e47b1544681bcc84df5708edc9 Mon Sep 17 00:00:00 2001 From: David Zeuthen Date: Fri, 27 Feb 2009 21:03:47 +0000 Subject: =?UTF-8?q?Bug=20573383=20=E2=80=93=20GtkMountOperation=20fixes=20?= =?UTF-8?q?for=20ask=5Fpassword()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2009-02-27 David Zeuthen Bug 573383 – GtkMountOperation fixes for ask_password() * gtk/gtkmountoperation.c (gtk_mount_operation_ask_password): Split the message from GMountOperation into primary/secondary like we also do in gtk_mount_operation_ask_question() svn path=/trunk/; revision=22415 --- gtk/gtkmountoperation.c | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) (limited to 'gtk/gtkmountoperation.c') diff --git a/gtk/gtkmountoperation.c b/gtk/gtkmountoperation.c index b4802edd84..66563eeec5 100644 --- a/gtk/gtkmountoperation.c +++ b/gtk/gtkmountoperation.c @@ -434,6 +434,7 @@ gtk_mount_operation_ask_password (GMountOperation *mount_op, GtkWidget *message_label; gboolean can_anonymous; guint rows; + const gchar *secondary; operation = GTK_MOUNT_OPERATION (mount_op); priv = operation->priv; @@ -482,11 +483,33 @@ gtk_mount_operation_ask_password (GMountOperation *mount_op, main_vbox = gtk_vbox_new (FALSE, 18); gtk_box_pack_start (GTK_BOX (hbox), main_vbox, TRUE, TRUE, 0); - message_label = gtk_label_new (message); - gtk_misc_set_alignment (GTK_MISC (message_label), 0.0, 0.5); - gtk_label_set_line_wrap (GTK_LABEL (message_label), TRUE); - gtk_box_pack_start (GTK_BOX (main_vbox), GTK_WIDGET (message_label), - FALSE, FALSE, 0); + secondary = strstr (message, "\n"); + if (secondary != NULL) + { + gchar *s; + gchar *primary; + + primary = g_strndup (message, secondary - message + 1); + s = g_strdup_printf ("%s%s", primary, secondary); + + message_label = gtk_label_new (NULL); + gtk_label_set_markup (GTK_LABEL (message_label), s); + gtk_misc_set_alignment (GTK_MISC (message_label), 0.0, 0.5); + gtk_label_set_line_wrap (GTK_LABEL (message_label), TRUE); + gtk_box_pack_start (GTK_BOX (main_vbox), GTK_WIDGET (message_label), + FALSE, TRUE, 0); + + g_free (s); + g_free (primary); + } + else + { + message_label = gtk_label_new (message); + gtk_misc_set_alignment (GTK_MISC (message_label), 0.0, 0.5); + gtk_label_set_line_wrap (GTK_LABEL (message_label), TRUE); + gtk_box_pack_start (GTK_BOX (main_vbox), GTK_WIDGET (message_label), + FALSE, FALSE, 0); + } vbox = gtk_vbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (main_vbox), vbox, FALSE, FALSE, 0); -- cgit v1.2.1