[gimp] app: remove insane sizing hacks and boxes from GimpThumbBox



commit dba00b031b3d9c243f7579cf931c973b56c14ea7
Author: Michael Natterer <mitch gimp org>
Date:   Wed May 23 02:21:38 2018 +0200

    app: remove insane sizing hacks and boxes from GimpThumbBox
    
    and set the widget's width the right way.

 app/widgets/gimpthumbbox.c |   30 ++++++++----------------------
 1 files changed, 8 insertions(+), 22 deletions(-)
---
diff --git a/app/widgets/gimpthumbbox.c b/app/widgets/gimpthumbbox.c
index 7a139de..c6896c5 100644
--- a/app/widgets/gimpthumbbox.c
+++ b/app/widgets/gimpthumbbox.c
@@ -298,13 +298,10 @@ gimp_thumb_box_new (GimpContext *context)
   GtkWidget      *vbox;
   GtkWidget      *vbox2;
   GtkWidget      *ebox;
-  GtkWidget      *hbox;
   GtkWidget      *button;
   GtkWidget      *label;
   gchar          *str;
   gint            h, v;
-  GtkRequisition  info_requisition;
-  GtkRequisition  progress_requisition;
 
   g_return_val_if_fail (GIMP_IS_CONTEXT (context), NULL);
 
@@ -363,15 +360,10 @@ gimp_thumb_box_new (GimpContext *context)
                     NULL);
 
   vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox2), 2);
+  gtk_container_set_border_width (GTK_CONTAINER (vbox2), 4);
   gtk_box_pack_start (GTK_BOX (vbox), vbox2, TRUE, TRUE, 0);
   gtk_widget_show (vbox2);
 
-  hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
-  gtk_box_set_homogeneous (GTK_BOX (hbox), TRUE);
-  gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, FALSE, 0);
-  gtk_widget_show (hbox);
-
   box->imagefile = gimp_imagefile_new (context->gimp, NULL);
 
   g_signal_connect (box->imagefile, "info-changed",
@@ -394,7 +386,7 @@ gimp_thumb_box_new (GimpContext *context)
 
   gtk_style_context_add_class (gtk_widget_get_style_context (box->preview),
                                GTK_STYLE_CLASS_VIEW);
-  gtk_box_pack_start (GTK_BOX (hbox), box->preview, TRUE, FALSE, 2);
+  gtk_box_pack_start (GTK_BOX (vbox2), box->preview, FALSE, FALSE, 0);
   gtk_widget_show (box->preview);
 
   gtk_label_set_mnemonic_widget (GTK_LABEL (label), box->preview);
@@ -404,6 +396,7 @@ gimp_thumb_box_new (GimpContext *context)
                     box);
 
   box->filename = gtk_label_new (_("No selection"));
+  gtk_label_set_max_width_chars (GTK_LABEL (box->filename), 1);
   gtk_label_set_ellipsize (GTK_LABEL (box->filename), PANGO_ELLIPSIZE_MIDDLE);
   gtk_label_set_justify (GTK_LABEL (box->filename), GTK_JUSTIFY_CENTER);
   gimp_label_set_attributes (GTK_LABEL (box->filename),
@@ -427,18 +420,11 @@ gimp_thumb_box_new (GimpContext *context)
   gtk_widget_set_no_show_all (box->progress, TRUE);
   /* don't gtk_widget_show (box->progress); */
 
-  /* eek */
-  gtk_widget_get_preferred_size (box->info,     &info_requisition,     NULL);
-  gtk_widget_get_preferred_size (box->progress, &progress_requisition, NULL);
-
-  gtk_widget_set_size_request (box->info,
-                               -1, info_requisition.height);
-  gtk_widget_set_size_request (box->filename,
-                               progress_requisition.width, -1);
-
-  gtk_widget_set_size_request (box->progress,
-                               -1, progress_requisition.height);
-  gtk_progress_bar_set_text (GTK_PROGRESS_BAR (box->progress), "");
+  gtk_widget_set_size_request (GTK_WIDGET (box),
+                               MAX ((gint) GIMP_THUMB_SIZE_NORMAL,
+                                    (gint) context->gimp->config->thumbnail_size) +
+                               2 * MAX (h, v),
+                               -1);
 
   return GTK_WIDGET (box);
 }


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