diff options
author | Matthias Clasen <mclasen@redhat.com> | 2020-06-05 09:37:59 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2020-06-05 10:42:20 -0400 |
commit | 11a18bd61a8434b0bb0029a6eee7a798b10a137c (patch) | |
tree | 429f72e49dcdb5b7102e20d00bdef9e209389898 /gtk/gtkcolumnviewtitle.c | |
parent | 9e55cd68e4b47196a6334c9feea86870bb603e54 (diff) | |
download | gtk+-11a18bd61a8434b0bb0029a6eee7a798b10a137c.tar.gz |
columnview: Take column width into account for measuring
When measuring the height of a cell, we need to give
it it the width of its column, if we expect realistic
results.
Diffstat (limited to 'gtk/gtkcolumnviewtitle.c')
-rw-r--r-- | gtk/gtkcolumnviewtitle.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gtk/gtkcolumnviewtitle.c b/gtk/gtkcolumnviewtitle.c index 53dc56df8f..12c39d9ba3 100644 --- a/gtk/gtkcolumnviewtitle.c +++ b/gtk/gtkcolumnviewtitle.c @@ -63,13 +63,24 @@ gtk_column_view_title_measure (GtkWidget *widget, { GtkColumnViewTitle *self = GTK_COLUMN_VIEW_TITLE (widget); GtkWidget *child = gtk_widget_get_first_child (widget); + int fixed_width = gtk_column_view_column_get_fixed_width (self->column); + + if (orientation == GTK_ORIENTATION_VERTICAL) + { + if (fixed_width > -1) + { + if (for_size == -1) + for_size = fixed_width; + else + for_size = MIN (for_size, fixed_width); + } + } if (child) gtk_widget_measure (child, orientation, for_size, minimum, natural, minimum_baseline, natural_baseline); if (orientation == GTK_ORIENTATION_HORIZONTAL) { - int fixed_width = gtk_column_view_column_get_fixed_width (self->column); if (fixed_width > -1) *minimum = *natural = fixed_width; } |