From b780e526cffbc1693f29e7d8056fc93733a1088a Mon Sep 17 00:00:00 2001 From: Nokse22 <44558032+Nokse22@users.noreply.github.com> Date: Mon, 7 Oct 2024 17:31:04 +0200 Subject: [PATCH 1/2] translated list view to python --- src/List View/main.py | 50 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/List View/main.py diff --git a/src/List View/main.py b/src/List View/main.py new file mode 100644 index 00000000..41a1d694 --- /dev/null +++ b/src/List View/main.py @@ -0,0 +1,50 @@ +import gi + +gi.require_version("Gtk", "4.0") +gi.require_version("Adw", "1") +from gi.repository import Gtk +import workbench + +list_view = workbench.builder.get_object("list_view") +add = workbench.builder.get_object("add") +remove = workbench.builder.get_object("remove") + +string_model = Gtk.StringList.new( + ["Default Item 1", "Default Item 2", "Default Item 3"] +) + +item = 4 + +model = Gtk.SingleSelection(model=string_model) + + +def on_item_changed(_list, position, removed, added): + print(f"position: {position}, Item removed? {removed != 0}, Item added? {added != 0}") + + +def on_selection_changed(*_): + selected_item = model.get_selected() + print(f"Model item selected from view: {string_model.get_string(selected_item)}") + + +string_model.connect("items-changed", on_item_changed) +model.connect("selection-changed", on_selection_changed) + +list_view.set_model(model) + + +def on_add_clicked(*_): + global item + new_item = f"New item {item}" + string_model.append(new_item) + item += 1 + + +def on_remove_clicked(*_): + selected_item = model.get_selected() + string_model.remove(selected_item) + + +add.connect("clicked", on_add_clicked) +remove.connect("clicked", on_remove_clicked) + From 409be01881c4109e5514b539bf967cd0da353fc9 Mon Sep 17 00:00:00 2001 From: Sonny Piers Date: Tue, 8 Oct 2024 10:37:45 +0200 Subject: [PATCH 2/2] f --- src/List View/main.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/List View/main.py b/src/List View/main.py index 41a1d694..10e17647 100644 --- a/src/List View/main.py +++ b/src/List View/main.py @@ -13,13 +13,15 @@ ["Default Item 1", "Default Item 2", "Default Item 3"] ) -item = 4 +item = 1 model = Gtk.SingleSelection(model=string_model) def on_item_changed(_list, position, removed, added): - print(f"position: {position}, Item removed? {removed != 0}, Item added? {added != 0}") + print( + f"position: {position}, Item removed? {removed != 0}, Item added? {added != 0}" + ) def on_selection_changed(*_): @@ -47,4 +49,3 @@ def on_remove_clicked(*_): add.connect("clicked", on_add_clicked) remove.connect("clicked", on_remove_clicked) -