Daniel Brötzmann pushed to branch master at gajim / gajim
Commits:
1eb3116b by wurstsalat at 2025-02-01T13:41:29+01:00
refactor: DataForm: Replace Combo with Dropdown
- - - - -
dbdf6b6b by wurstsalat at 2025-02-01T13:41:29+01:00
refactor: Utils: Remove obsolete MaxWidthComboBoxText
- - - - -
2 changed files:
- gajim/gtk/dataform.py
- gajim/gtk/util.py
Changes:
=====================================
gajim/gtk/dataform.py
=====================================
@@ -22,8 +22,8 @@
from gajim.common.util.image import get_texture_from_data
from gajim.common.util.uri import open_uri
+from gajim.gtk.dropdown import GajimDropDown
from gajim.gtk.util import make_href_markup
-from gajim.gtk.util import MaxWidthComboBoxText
from gajim.gtk.util import MultiLineLabel
from gajim.gtk.util import process_non_spacing_marks
from gajim.gtk.util import SignalManager
@@ -492,18 +492,21 @@ def destroy(self) -> None:
del self._treeview
def _setup_dropdown(self, field: DataField) -> None:
- self._widget = MaxWidthComboBoxText()
- self._widget.set_valign(Gtk.Align.CENTER)
+ data: dict[str, str] = {}
for value, label in field.iter_options():
if not label:
label = value
- self._widget.append(value, label)
+ data[value] = label
- self._widget.set_active_id(field.value)
- self._connect(self._widget, "changed", self._changed)
+ self._widget = GajimDropDown(data=data)
+ self._widget.set_valign(Gtk.Align.CENTER)
+ self._widget.select_key(field.value)
+ self._connect(self._widget, "notify::selected", self._changed)
- def _changed(self, widget: MaxWidthComboBoxText) -> None:
- self._field.value = widget.get_active_id()
+ def _changed(self, dropdown: GajimDropDown, *args: Any) -> None:
+ item = dropdown.get_selected_item()
+ assert item is not None
+ self._field.value = item.props.key
self._validate()
def _setup_treeview(self, field: DataField) -> None:
=====================================
gajim/gtk/util.py
=====================================
@@ -406,21 +406,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None:
self.set_selectable(True)
-class MaxWidthComboBoxText(Gtk.ComboBoxText):
- def __init__(self, *args: Any, **kwargs: Any) -> None:
- Gtk.ComboBoxText.__init__(self, *args, **kwargs)
- text_renderer = self.get_cells()[0]
- text_renderer.set_property("ellipsize", Pango.EllipsizeMode.END)
-
- def do_unroot(self) -> None:
- Gtk.ComboBoxText.do_unroot(self)
- app.check_finalize(self)
-
- def set_max_width_chars(self, count: int) -> None:
- text_renderer = self.get_cells()[0]
- text_renderer.set_property("max-width-chars", count)
-
-
def text_to_color(text: str) -> tuple[float, float, float]:
if app.css_config.prefer_dark:
lightness = 60
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/compare/ecf2eecaa5d63233d2083f008576bfc27ee198c1...dbdf6b6bab8e2ddebec9304c1362aea44e636790
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/compare/ecf2eecaa5d63233d2083f008576bfc27ee198c1...dbdf6b6bab8e2ddebec9304c1362aea44e636790
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]