217 Public method to set the source model. |
217 Public method to set the source model. |
218 |
218 |
219 @param sourceModel reference to the source model (QAbstractItemModel) |
219 @param sourceModel reference to the source model (QAbstractItemModel) |
220 """ |
220 """ |
221 if self.sourceModel() is not None: |
221 if self.sourceModel() is not None: |
222 self.disconnect(self.sourceModel(), |
222 self.sourceModel().modelReset.disconnect(self.__sourceReset) |
223 SIGNAL("modelReset()"), |
223 self.sourceModel().layoutChanged.disconnect(self.__sourceReset) |
224 self.__sourceReset) |
224 self.sourceModel().rowsInserted.disconnect(self.__sourceRowsInserted) |
225 self.disconnect(self.sourceModel(), |
225 self.sourceModel().rowsRemoved.disconnect(self.__sourceRowsRemoved) |
226 SIGNAL("layoutChanged()"), |
|
227 self.__sourceReset) |
|
228 self.disconnect(self.sourceModel(), |
|
229 SIGNAL("rowsInserted(const QModelIndex &, int, int)"), |
|
230 self.__sourceRowsInserted) |
|
231 self.disconnect(self.sourceModel(), |
|
232 SIGNAL("rowsRemoved(const QModelIndex &, int, int)"), |
|
233 self.__sourceRowsRemoved) |
|
234 |
226 |
235 QAbstractProxyModel.setSourceModel(self, sourceModel) |
227 QAbstractProxyModel.setSourceModel(self, sourceModel) |
236 |
228 |
237 if self.sourceModel() is not None: |
229 if self.sourceModel() is not None: |
238 self.__loaded = False |
230 self.__loaded = False |
239 self.connect(self.sourceModel(), |
231 self.sourceModel().modelReset.connect(self.__sourceReset) |
240 SIGNAL("modelReset()"), |
232 self.sourceModel().layoutChanged.connect(self.__sourceReset) |
241 self.__sourceReset) |
233 self.sourceModel().rowsInserted.connect(self.__sourceRowsInserted) |
242 self.connect(self.sourceModel(), |
234 self.sourceModel().rowsRemoved.connect(self.__sourceRowsRemoved) |
243 SIGNAL("layoutChanged()"), |
|
244 self.__sourceReset) |
|
245 self.connect(self.sourceModel(), |
|
246 SIGNAL("rowsInserted(const QModelIndex &, int, int)"), |
|
247 self.__sourceRowsInserted) |
|
248 self.connect(self.sourceModel(), |
|
249 SIGNAL("rowsRemoved(const QModelIndex &, int, int)"), |
|
250 self.__sourceRowsRemoved) |
|
251 |
235 |
252 self.reset() |
236 self.reset() |
253 |
237 |
254 def __sourceReset(self): |
238 def __sourceReset(self): |
255 """ |
239 """ |