[gtk/wip/otte/for-master: 2/4] label: max-width-chars should be ignored sometimes
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/otte/for-master: 2/4] label: max-width-chars should be ignored sometimes
- Date: Sat, 6 Nov 2021 17:30:42 +0000 (UTC)
commit 3dab836a169095b95fc778fb05d51cda85879c63
Author: Benjamin Otte <otte redhat com>
Date: Sat Nov 6 16:25:11 2021 +0100
label: max-width-chars should be ignored sometimes
When a widget is neither wrappable nor ellipsizable, we cannot modify
the label to fit into any size. So we cannot respect max-width-chars.
gtk/gtklabel.c | 2 +-
testsuite/reftests/label-small-max-width-chars.ref.ui | 11 +++++++++++
testsuite/reftests/label-small-max-width-chars.ui | 12 ++++++++++++
testsuite/reftests/meson.build | 2 ++
4 files changed, 26 insertions(+), 1 deletion(-)
---
diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c
index 46af2fb174..a82ec7bb77 100644
--- a/gtk/gtklabel.c
+++ b/gtk/gtklabel.c
@@ -1082,7 +1082,7 @@ get_static_size (GtkLabel *self,
get_default_widths (self, &minimum_default, &natural_default);
- layout = gtk_label_get_measuring_layout (self, NULL, natural_default);
+ layout = gtk_label_get_measuring_layout (self, NULL, self->ellipsize ? natural_default : -1);
if (orientation == GTK_ORIENTATION_HORIZONTAL)
{
diff --git a/testsuite/reftests/label-small-max-width-chars.ref.ui
b/testsuite/reftests/label-small-max-width-chars.ref.ui
new file mode 100644
index 0000000000..ec722f56ce
--- /dev/null
+++ b/testsuite/reftests/label-small-max-width-chars.ref.ui
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <object class="GtkWindow" id="window1">
+ <property name="decorated">0</property>
+ <child>
+ <object class="GtkLabel" id="label1">
+ <property name="label">Hello World</property>
+ </object>
+ </child>
+ </object>
+</interface>
diff --git a/testsuite/reftests/label-small-max-width-chars.ui
b/testsuite/reftests/label-small-max-width-chars.ui
new file mode 100644
index 0000000000..d3236e8035
--- /dev/null
+++ b/testsuite/reftests/label-small-max-width-chars.ui
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <object class="GtkWindow" id="window1">
+ <property name="decorated">0</property>
+ <child>
+ <object class="GtkLabel" id="label1">
+ <property name="label">Hello World</property>
+ <property name="max-width-chars">2</property>
+ </object>
+ </child>
+ </object>
+</interface>
diff --git a/testsuite/reftests/meson.build b/testsuite/reftests/meson.build
index d6857190cf..9f40c0f3a0 100644
--- a/testsuite/reftests/meson.build
+++ b/testsuite/reftests/meson.build
@@ -359,6 +359,8 @@ testdata = [
'label-sizing.ui',
'label-small-ellipsized.ref.ui',
'label-small-ellipsized.ui',
+ 'label-small-max-width-chars.ref.ui',
+ 'label-small-max-width-chars.ui',
'label-text-shadow-clipping.css',
'label-text-shadow-clipping.ref.ui',
'label-text-shadow-clipping.ui',
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]