Philipp Hörist pushed to branch master at gajim / gajim
Commits:
fc8b11fa by Philipp Hörist at 2024-09-24T19:09:36+02:00
fix: Dataforms: Don’t try to calculate label size
Fixes #11990
- - - - -
5a98774b by Philipp Hörist at 2024-09-24T19:09:36+02:00
imprv: Datafroms: Display text-multi fields without scrolled window
Only in read-only mode
- - - - -
2 changed files:
- gajim/gtk/dataform.py
- gajim/gtk/util.py
Changes:
=====================================
gajim/gtk/dataform.py
=====================================
@@ -846,24 +846,27 @@ def __init__(self,
Field.__init__(self, field, form_grid, options)
self._label.set_valign(Gtk.Align.START)
- self._widget = Gtk.ScrolledWindow()
- self._widget.set_policy(Gtk.PolicyType.NEVER,
- Gtk.PolicyType.AUTOMATIC)
- self._widget.set_propagate_natural_height(True)
- self._widget.set_min_content_height(100)
- self._widget.set_max_content_height(300)
+ length = len(field.value)
if self.read_only:
- self._textview = MultiLineLabel(label=field.value)
- self._textview.set_xalign(0)
- self._textview.set_yalign(0)
+ self._textview = MultiLineLabel(label=field.value, xalign=0)
+
else:
self._textview = Gtk.TextView()
self._textview.set_wrap_mode(Gtk.WrapMode.WORD_CHAR)
self._textview.get_buffer().set_text(field.value)
self._textview.get_buffer().connect('changed', self._changed)
- self._widget.add(self._textview)
+ if self.read_only and length < 500:
+ self._widget = self._textview
+ else:
+ self._widget = Gtk.ScrolledWindow()
+ self._widget.set_policy(Gtk.PolicyType.NEVER,
+ Gtk.PolicyType.AUTOMATIC)
+ self._widget.set_propagate_natural_height(True)
+ self._widget.set_min_content_height(100)
+
+ self._widget.add(self._textview)
def _changed(self, widget: Gtk.TextBuffer) -> None:
self._field.value = widget.get_text(*widget.get_bounds(), False)
=====================================
gajim/gtk/util.py
=====================================
@@ -491,13 +491,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None:
self.set_single_line_mode(False)
self.set_selectable(True)
- # make sure full width is used when fitting into GtkGrid
- def do_get_preferred_width(self):
- layout = self.get_layout()
- layout.set_width(-1)
- width, _ = layout.get_pixel_size()
- return width, width
-
class MaxWidthComboBoxText(Gtk.ComboBoxText):
def __init__(self, *args: Any, **kwargs: Any) -> None:
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/compare/cacdbb07af29f7f43f1ff9ab958db9b6e3db5455...5a98774b23edd69340e557d5d49793bfe10c752c
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/compare/cacdbb07af29f7f43f1ff9ab958db9b6e3db5455...5a98774b23edd69340e557d5d49793bfe10c752c
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]