diff --git a/GuiManagement.py b/GuiManagement.py index 17973fa..be032d1 100644 --- a/GuiManagement.py +++ b/GuiManagement.py @@ -23,6 +23,7 @@ class InstanceModel(QAbstractTableModel): def __init__(self, instances=[]): super().__init__() self.instances = instances + self.instances.sort(key=lambda e: e[1]) def data(self, index, role): if role == Qt.DisplayRole: @@ -36,8 +37,13 @@ class InstanceModel(QAbstractTableModel): # we don't show id's, so -1 if len(self.instances): return len(self.instances[0]) - 1 - return 0 - + return 0 + + def headerData(self, section, orientation, role): + headers = ['Nom', 'Adresse', 'RĂ©gion', 'Statut'] + if role == Qt.DisplayRole and orientation == Qt.Horizontal: + return headers[section] + # UI Classes class UserDialog(QDialog, Ui_userDialog): """ A dialog to add and edit users""" @@ -86,6 +92,7 @@ class MainWindow(QMainWindow, Ui_MainWindow): self.instance_model = InstanceModel(instances=instances) self.instanceView.setModel(self.instance_model) self.instanceView.selectionModel().selectionChanged.connect(self.change_instance_selection) + self.instanceView.setSelectionBehavior(self.instanceView.SelectRows) self.destroyButton.pressed.connect(self.destroy_instance) self.refreshButton.pressed.connect(self.refresh_instances) @@ -127,6 +134,8 @@ class MainWindow(QMainWindow, Ui_MainWindow): def refresh_instances(self): QApplication.setOverrideCursor(Qt.WaitCursor) self.instance_model.instances = ovh_api.get_instances() + # sorting by name + self.instance_model.instances.sort(key=lambda e: e[1]) self.instance_model.layoutChanged.emit() QApplication.restoreOverrideCursor()