mirror of https://gitlab.com/pamhyr/pamhyr2
WeatherParameters: automatic selection when we open the window + monoselection in default tab
parent
b5ae352af5
commit
2dca5d2905
|
|
@ -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()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue