]> spindle.queued.net Git - midori/commitdiff
Resize the label in the crash dialogue for proper wrapping
authorChristian Dywan <christian@twotoasts.de>
Thu, 5 Feb 2009 21:43:24 +0000 (22:43 +0100)
committerChristian Dywan <christian@twotoasts.de>
Thu, 5 Feb 2009 21:43:24 +0000 (22:43 +0100)
midori/main.c

index c10459115ad6420eea49a3b6b452861396b9ab3d..e728215cd909eb1e24599cdfff984727c66ebc57 100644 (file)
@@ -1810,6 +1810,30 @@ midori_create_diagnostic_dialog (MidoriWebSettings* settings,
     gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 4);
     gtk_widget_show_all (box);
     gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), box);
+    if (1)
+    {
+        /* GtkLabel can't wrap the text properly. Until some day
+           this works, we implement this hack to do it ourselves. */
+        GtkWidget* content_area;
+        GtkWidget* hbox;
+        GtkWidget* vbox;
+        GtkWidget* label;
+        GList* ch;
+        GtkRequisition req;
+
+        content_area = GTK_DIALOG (dialog)->vbox;
+        ch = gtk_container_get_children (GTK_CONTAINER (content_area));
+        hbox = (GtkWidget*)g_list_nth_data (ch, 0);
+        g_list_free (ch);
+        ch = gtk_container_get_children (GTK_CONTAINER (hbox));
+        vbox = (GtkWidget*)g_list_nth_data (ch, 1);
+        g_list_free (ch);
+        ch = gtk_container_get_children (GTK_CONTAINER (vbox));
+        label = (GtkWidget*)g_list_nth_data (ch, 0);
+        g_list_free (ch);
+        gtk_widget_size_request (content_area, &req);
+        gtk_widget_set_size_request (label, req.width * 0.9, -1);
+    }
     return dialog;
 }