Example #1
0
 def setSourceModel(self, model):  # pylint: disable=invalid-name
     """ Reset index/row maps and connect signals """
     QAbstractProxyModel.setSourceModel(self, model)
     self.reset_model()
     self.sourceModel().dataChanged.connect(self.sourceDataChanged)
     self.sourceModel().modelReset.connect(self.reset_model)
     self.sourceModel().layoutChanged.connect(self.reset_model)
     self.sourceModel().rowsRemoved.connect(self.reset_model)
Example #2
0
    def setSourceModel(self, model):
        self.beginResetModel()

        curr_model = self.sourceModel()

        if curr_model is not None:
            curr_model.dataChanged.disconnect(self._sourceDataChanged)
            curr_model.rowsInserted.disconnect(self._sourceRowsInserted)
            curr_model.rowsRemoved.disconnect(self._sourceRowsRemoved)
            curr_model.rowsMoved.disconnect(self._sourceRowsMoved)

        QAbstractProxyModel.setSourceModel(self, model)
        self._updateRowMapping()

        model.dataChanged.connect(self._sourceDataChanged)
        model.rowsInserted.connect(self._sourceRowsInserted)
        model.rowsRemoved.connect(self._sourceRowsRemoved)
        model.rowsMoved.connect(self._sourceRowsMoved)

        self.endResetModel()