Fix refresh on new/open file

This commit is contained in:
Maxime Réaux 2026-02-25 14:37:59 +01:00
parent 765c691b59
commit 5c124f9229
4 changed files with 33 additions and 12 deletions

View file

@ -90,6 +90,7 @@ class View(QtWidgets.QMainWindow, Ui_MainWindow):
)
self.majorValue.valueChanged.connect(self._on_major_changed)
self.minorValue.valueChanged.connect(self._on_minor_changed)
self.warsTree.currentItemChanged.connect(self._emit_selection_changed)
self._apply_icons()
def _apply_icons(self) -> None:
@ -143,6 +144,11 @@ class View(QtWidgets.QMainWindow, Ui_MainWindow):
return "wars"
return ""
def clear_tree_selection(self) -> None:
self.warsTree.blockSignals(True)
self.warsTree.setCurrentItem(None)
self.warsTree.blockSignals(False)
# General popups
def closeEvent(self, event: QCloseEvent | None = None) -> None:
@ -237,10 +243,7 @@ class View(QtWidgets.QMainWindow, Ui_MainWindow):
def display_wars_tree(self, wars: List[WarDTO]) -> None:
tree = self.warsTree
try:
tree.currentItemChanged.disconnect()
except TypeError:
pass
tree.blockSignals(True)
tree.clear()
tree.setColumnCount(1)
tree.setHeaderLabels(["Wars"])
@ -264,8 +267,8 @@ class View(QtWidgets.QMainWindow, Ui_MainWindow):
rnd_item.setData(0, ROLE_TYPE, ItemType.ROUND)
rnd_item.setData(0, ROLE_ID, rnd.id)
camp_item.addChild(rnd_item)
tree.currentItemChanged.connect(self._emit_selection_changed)
tree.expandAll()
tree.blockSignals(False)
def select_tree_item(self, *, item_type: ItemType, item_id: str) -> None:
def walk(item: QTreeWidgetItem) -> bool: