[gnome-control-center/gbsneto/fix-long-user-names] user-accounts: Adapt removal dialog for large user realnames



commit 1536dec0cbe19749ca71457e2f9d45bb16e2485d
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Wed Feb 13 10:59:09 2019 -0200

    user-accounts: Adapt removal dialog for large user realnames
    
    If an user has an outstandingly long real name, the removal dialog
    grows to obscenely large widths.
    
    Adapt the User Accounts dialog to wrap the title and subtitle labels.

 panels/user-accounts/cc-user-panel.c | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)
---
diff --git a/panels/user-accounts/cc-user-panel.c b/panels/user-accounts/cc-user-panel.c
index 4c3039d22..c491e4630 100644
--- a/panels/user-accounts/cc-user-panel.c
+++ b/panels/user-accounts/cc-user-panel.c
@@ -590,6 +590,28 @@ delete_enterprise_user_response (GtkWidget          *dialog,
                                              data);
 }
 
+static void
+adapt_message_dialog_for_large_names (GtkMessageDialog *message_dialog)
+{
+        g_autoptr(GList) children = NULL;
+        GtkWidget *message_area;
+        GList *l;
+
+        message_area = gtk_message_dialog_get_message_area (message_dialog);
+        g_assert (GTK_IS_CONTAINER (message_area));
+
+        children = gtk_container_get_children (GTK_CONTAINER (message_area));
+        g_assert (children != NULL);
+        g_assert (g_list_length (children) == 2);
+
+        for (l = children; l != NULL; l = g_list_next (l)) {
+                GtkLabel *label = GTK_LABEL (l->data);
+
+                gtk_label_set_max_width_chars (label, 100);
+                gtk_label_set_line_wrap_mode (label, PANGO_WRAP_WORD_CHAR);
+        }
+}
+
 static void
 delete_user (CcUserPanel *self)
 {
@@ -667,6 +689,7 @@ delete_user (CcUserPanel *self)
                           G_CALLBACK (gtk_widget_destroy), NULL);
 
         gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
+        adapt_message_dialog_for_large_names (GTK_MESSAGE_DIALOG (dialog));
 
         gtk_window_present (GTK_WINDOW (dialog));
 }


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