WeatherParameters: automatic selection when we open the window + monoselection in default tab

monopk-ic-adistt
JeaDylan 2026-07-09 15:44:32 +02:00
parent b5ae352af5
commit 2dca5d2905
1 changed files with 18 additions and 7 deletions

View File

@ -148,6 +148,7 @@ class WeatherParametersWindow(PamhyrWindow):
self.table_default.setModel(self._table) self.table_default.setModel(self._table)
self.table_default.setSelectionBehavior(QAbstractItemView.SelectRows) self.table_default.setSelectionBehavior(QAbstractItemView.SelectRows)
self.table_default.setSelectionMode(QAbstractItemView.SingleSelection)
self.table_default.horizontalHeader().setSectionResizeMode( self.table_default.horizontalHeader().setSectionResizeMode(
QHeaderView.Stretch QHeaderView.Stretch
) )
@ -211,21 +212,31 @@ class WeatherParametersWindow(PamhyrWindow):
) )
self.table_spec.scrollTo(index) self.table_spec.scrollTo(index)
default_selection = self.table_default.selectionModel() self._selected_default_row_index = 0
default_index = self.table_default.model().index(0, 0) self.select_table_default_row(0)
default_selection.select(
default_index, def select_table_default_row(self, row):
model = self.table_default.model()
if model is None or model.rowCount() == 0:
return
row = max(0, min(row, model.rowCount() - 1))
index = model.index(row, 0)
self.table_default.setCurrentIndex(index)
self.table_default.selectionModel().select(
index,
QItemSelectionModel.Rows | QItemSelectionModel.Rows |
QItemSelectionModel.ClearAndSelect | QItemSelectionModel.ClearAndSelect |
QItemSelectionModel.Select QItemSelectionModel.Select
) )
self.table_default.scrollTo(default_index) self.table_default.scrollTo(index)
def on_table_default_selection_changed(self, selected, deselected): def on_table_default_selection_changed(self, selected, deselected):
rows = self.table_default.selectionModel().selectedRows() rows = self.table_default.selectionModel().selectedRows()
if len(rows) == 0: if len(rows) == 0:
self._selected_default_row_index = None self.select_table_default_row(self._selected_default_row_index)
return None return self._selected_default_row_index
self._selected_default_row_index = rows[0].row() self._selected_default_row_index = rows[0].row()