[gtk/wip/oholy/gtkmountoperation-newline] gtkmountoperation: Drop the new line character when splitting a message




commit 517a34bdc8724535cb3d8cdc2e405257a6686e3c
Author: Ondrej Holy <oholy redhat com>
Date:   Fri Aug 7 09:38:37 2020 +0200

    gtkmountoperation: Drop the new line character when splitting a message
    
    When asking for a password, the message string is split on primary
    and secondary if it contains a newline character. However, the newline
    character is currently part of both strings, which creates weird
    spacing between the GtkLabels. I suppose this is bug, which was not
    visible as in most cases (if not all) the message string hasn't
    contained the new line characters so far. But we are going to change
    that now, see GNOME/gvfs!82. Let's drop the new line character similarly
    as it is done when asking for a question, or showing processes in order
    to fix the weird spacing.

 gtk/gtkmountoperation.c | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)
---
diff --git a/gtk/gtkmountoperation.c b/gtk/gtkmountoperation.c
index 20dc09b097..674ab15192 100644
--- a/gtk/gtkmountoperation.c
+++ b/gtk/gtkmountoperation.c
@@ -576,7 +576,7 @@ gtk_mount_operation_ask_password_do_gtk (GtkMountOperation *operation,
   gboolean   can_anonymous;
   guint      rows;
   char *primary;
-  const char *secondary;
+  const char *secondary = NULL;
   PangoAttrList *attrs;
   gboolean use_header;
 
@@ -625,17 +625,14 @@ gtk_mount_operation_ask_password_do_gtk (GtkMountOperation *operation,
   main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 18);
   gtk_box_append (GTK_BOX (hbox), main_vbox);
 
-  secondary = strstr (message, "\n");
-  if (secondary != NULL)
-    {
-      primary = g_strndup (message, secondary - message + 1);
-    }
-  else
+  primary = strstr (message, "\n");
+  if (primary)
     {
-      primary = g_strdup (message);
+      secondary = primary + 1;
+      primary = g_strndup (message, primary - message);
     }
 
-  label = gtk_label_new (primary);
+  label = gtk_label_new (primary != NULL ? primary : message);
   gtk_widget_set_halign (label, GTK_ALIGN_START);
   gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
   gtk_label_set_wrap (GTK_LABEL (label), TRUE);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]