Skip to content

Commit f3263d9

Browse files
authored
Merge pull request #20 from GispoCoding/13-toteuta-templaattien-tekstihakusuodatus
Implement template dock search box functionality
2 parents bde3b76 + d136dce commit f3263d9

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

arho_feature_template/core/feature_template_library.py

+13
Original file line numberDiff line numberDiff line change
@@ -91,13 +91,26 @@ def __init__(self) -> None:
9191
self.template_dock.library_selection.currentIndexChanged.connect(
9292
lambda: self.set_active_library(self.template_dock.library_selection.currentText())
9393
)
94+
# Update template list when search text changes
95+
self.template_dock.search_box.valueChanged.connect(self.on_template_search_text_changed)
9496

9597
# Activate map tool when template selection changes
9698
self.template_model.itemChanged.connect(self.on_item_changed)
9799

98100
self.digitize_map_tool = TemplateGeometryDigitizeMapTool(iface.mapCanvas(), iface.cadDockWidget())
99101
self.digitize_map_tool.digitizingCompleted.connect(self.ask_for_feature_attributes)
100102

103+
def on_template_search_text_changed(self, search_text: str):
104+
for row in range(self.template_model.rowCount()):
105+
item = self.template_model.item(row)
106+
107+
# If the search text is in the item's text, show the row
108+
if search_text in item.text().lower():
109+
self.template_dock.template_list.setRowHidden(row, False)
110+
else:
111+
# Otherwise, hide the row
112+
self.template_dock.template_list.setRowHidden(row, True)
113+
101114
def on_item_changed(self, item: TemplateItem) -> None:
102115
if item.checkState() == Qt.Checked:
103116
self._uncheck_others(item)

0 commit comments

Comments
 (0)