Changeset View
Changeset View
Standalone View
Standalone View
ui/annotationproxymodels.cpp
Show First 20 Lines • Show All 200 Lines • ▼ Show 20 Line(s) | |||||
201 | 201 | | |||
202 | void PageGroupProxyModel::setSourceModel( QAbstractItemModel *model ) | 202 | void PageGroupProxyModel::setSourceModel( QAbstractItemModel *model ) | ||
203 | { | 203 | { | ||
204 | if ( sourceModel() ) { | 204 | if ( sourceModel() ) { | ||
205 | disconnect( sourceModel(), &QAbstractItemModel::layoutChanged, this, &PageGroupProxyModel::rebuildIndexes ); | 205 | disconnect( sourceModel(), &QAbstractItemModel::layoutChanged, this, &PageGroupProxyModel::rebuildIndexes ); | ||
206 | disconnect( sourceModel(), &QAbstractItemModel::modelReset, this, &PageGroupProxyModel::rebuildIndexes ); | 206 | disconnect( sourceModel(), &QAbstractItemModel::modelReset, this, &PageGroupProxyModel::rebuildIndexes ); | ||
207 | disconnect( sourceModel(), &QAbstractItemModel::rowsInserted, this, &PageGroupProxyModel::rebuildIndexes ); | 207 | disconnect( sourceModel(), &QAbstractItemModel::rowsInserted, this, &PageGroupProxyModel::rebuildIndexes ); | ||
208 | disconnect( sourceModel(), &QAbstractItemModel::rowsRemoved, this, &PageGroupProxyModel::rebuildIndexes ); | 208 | disconnect( sourceModel(), &QAbstractItemModel::rowsRemoved, this, &PageGroupProxyModel::rebuildIndexes ); | ||
209 | disconnect( sourceModel(), &QAbstractItemModel::dataChanged, this, &PageGroupProxyModel::sourceDataChanged ); | ||||
209 | } | 210 | } | ||
210 | 211 | | |||
211 | QAbstractProxyModel::setSourceModel( model ); | 212 | QAbstractProxyModel::setSourceModel( model ); | ||
212 | 213 | | |||
213 | connect( sourceModel(), &QAbstractItemModel::layoutChanged, this, &PageGroupProxyModel::rebuildIndexes ); | 214 | connect( sourceModel(), &QAbstractItemModel::layoutChanged, this, &PageGroupProxyModel::rebuildIndexes ); | ||
214 | connect( sourceModel(), &QAbstractItemModel::modelReset, this, &PageGroupProxyModel::rebuildIndexes ); | 215 | connect( sourceModel(), &QAbstractItemModel::modelReset, this, &PageGroupProxyModel::rebuildIndexes ); | ||
215 | connect( sourceModel(), &QAbstractItemModel::rowsInserted, this, &PageGroupProxyModel::rebuildIndexes ); | 216 | connect( sourceModel(), &QAbstractItemModel::rowsInserted, this, &PageGroupProxyModel::rebuildIndexes ); | ||
216 | connect( sourceModel(), &QAbstractItemModel::rowsRemoved, this, &PageGroupProxyModel::rebuildIndexes ); | 217 | connect( sourceModel(), &QAbstractItemModel::rowsRemoved, this, &PageGroupProxyModel::rebuildIndexes ); | ||
218 | connect( sourceModel(), &QAbstractItemModel::dataChanged, this, &PageGroupProxyModel::sourceDataChanged ); | ||||
217 | 219 | | |||
218 | rebuildIndexes(); | 220 | rebuildIndexes(); | ||
219 | } | 221 | } | ||
220 | 222 | | |||
221 | void PageGroupProxyModel::rebuildIndexes() | 223 | void PageGroupProxyModel::rebuildIndexes() | ||
222 | { | 224 | { | ||
223 | beginResetModel(); | 225 | beginResetModel(); | ||
224 | 226 | | |||
Show All 19 Lines | 245 | for ( int subRow = 0; subRow < sourceModel()->rowCount( pageIndex ); ++subRow ) { | |||
244 | mIndexes.append( sourceModel()->index( subRow, 0, pageIndex ) ); | 246 | mIndexes.append( sourceModel()->index( subRow, 0, pageIndex ) ); | ||
245 | } | 247 | } | ||
246 | } | 248 | } | ||
247 | } | 249 | } | ||
248 | 250 | | |||
249 | endResetModel(); | 251 | endResetModel(); | ||
250 | } | 252 | } | ||
251 | 253 | | |||
254 | void PageGroupProxyModel::sourceDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles) | ||||
255 | { | ||||
256 | emit dataChanged(mapFromSource(topLeft), mapFromSource(bottomRight), roles); | ||||
257 | } | ||||
258 | | ||||
252 | void PageGroupProxyModel::groupByPage( bool value ) | 259 | void PageGroupProxyModel::groupByPage( bool value ) | ||
253 | { | 260 | { | ||
254 | if ( mGroupByPage == value ) | 261 | if ( mGroupByPage == value ) | ||
255 | return; | 262 | return; | ||
256 | 263 | | |||
257 | mGroupByPage = value; | 264 | mGroupByPage = value; | ||
258 | 265 | | |||
259 | rebuildIndexes(); | 266 | rebuildIndexes(); | ||
▲ Show 20 Lines • Show All 170 Lines • ▼ Show 20 Line(s) | |||||
430 | 437 | | |||
431 | void AuthorGroupProxyModel::setSourceModel( QAbstractItemModel *model ) | 438 | void AuthorGroupProxyModel::setSourceModel( QAbstractItemModel *model ) | ||
432 | { | 439 | { | ||
433 | if ( sourceModel() ) { | 440 | if ( sourceModel() ) { | ||
434 | disconnect( sourceModel(), &QAbstractItemModel::layoutChanged, this, &AuthorGroupProxyModel::rebuildIndexes ); | 441 | disconnect( sourceModel(), &QAbstractItemModel::layoutChanged, this, &AuthorGroupProxyModel::rebuildIndexes ); | ||
435 | disconnect( sourceModel(), &QAbstractItemModel::modelReset, this, &AuthorGroupProxyModel::rebuildIndexes ); | 442 | disconnect( sourceModel(), &QAbstractItemModel::modelReset, this, &AuthorGroupProxyModel::rebuildIndexes ); | ||
436 | disconnect( sourceModel(), &QAbstractItemModel::rowsInserted, this, &AuthorGroupProxyModel::rebuildIndexes ); | 443 | disconnect( sourceModel(), &QAbstractItemModel::rowsInserted, this, &AuthorGroupProxyModel::rebuildIndexes ); | ||
437 | disconnect( sourceModel(), &QAbstractItemModel::rowsRemoved, this, &AuthorGroupProxyModel::rebuildIndexes ); | 444 | disconnect( sourceModel(), &QAbstractItemModel::rowsRemoved, this, &AuthorGroupProxyModel::rebuildIndexes ); | ||
445 | disconnect( sourceModel(), &QAbstractItemModel::dataChanged, this, &AuthorGroupProxyModel::sourceDataChanged ); | ||||
438 | } | 446 | } | ||
439 | 447 | | |||
440 | QAbstractProxyModel::setSourceModel( model ); | 448 | QAbstractProxyModel::setSourceModel( model ); | ||
441 | 449 | | |||
442 | connect( sourceModel(), &QAbstractItemModel::layoutChanged, this, &AuthorGroupProxyModel::rebuildIndexes ); | 450 | connect( sourceModel(), &QAbstractItemModel::layoutChanged, this, &AuthorGroupProxyModel::rebuildIndexes ); | ||
443 | connect( sourceModel(), &QAbstractItemModel::modelReset, this, &AuthorGroupProxyModel::rebuildIndexes ); | 451 | connect( sourceModel(), &QAbstractItemModel::modelReset, this, &AuthorGroupProxyModel::rebuildIndexes ); | ||
444 | connect( sourceModel(), &QAbstractItemModel::rowsInserted, this, &AuthorGroupProxyModel::rebuildIndexes ); | 452 | connect( sourceModel(), &QAbstractItemModel::rowsInserted, this, &AuthorGroupProxyModel::rebuildIndexes ); | ||
445 | connect( sourceModel(), &QAbstractItemModel::rowsRemoved, this, &AuthorGroupProxyModel::rebuildIndexes ); | 453 | connect( sourceModel(), &QAbstractItemModel::rowsRemoved, this, &AuthorGroupProxyModel::rebuildIndexes ); | ||
454 | connect( sourceModel(), &QAbstractItemModel::dataChanged, this, &AuthorGroupProxyModel::sourceDataChanged ); | ||||
446 | 455 | | |||
447 | rebuildIndexes(); | 456 | rebuildIndexes(); | ||
448 | } | 457 | } | ||
449 | 458 | | |||
450 | static bool isAuthorItem( const QModelIndex &index ) | 459 | static bool isAuthorItem( const QModelIndex &index ) | ||
451 | { | 460 | { | ||
452 | if ( !index.isValid() ) { | 461 | if ( !index.isValid() ) { | ||
453 | return false; | 462 | return false; | ||
▲ Show 20 Lines • Show All 142 Lines • ▼ Show 20 Line(s) | 595 | } else { | |||
596 | } | 605 | } | ||
597 | } | 606 | } | ||
598 | } | 607 | } | ||
599 | } | 608 | } | ||
600 | 609 | | |||
601 | endResetModel(); | 610 | endResetModel(); | ||
602 | } | 611 | } | ||
603 | 612 | | |||
613 | void AuthorGroupProxyModel::sourceDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles) | ||||
614 | { | ||||
615 | emit dataChanged(mapFromSource(topLeft), mapFromSource(bottomRight), roles); | ||||
616 | } | ||||
617 | | ||||
604 | #include "moc_annotationproxymodels.cpp" | 618 | #include "moc_annotationproxymodels.cpp" |