digiKam
|
Public Types | |
enum | AlbumDataRole { AlbumTitleRole = Qt::UserRole , AlbumTypeRole = Qt::UserRole + 1 , AlbumPointerRole = Qt::UserRole + 2 , AlbumIdRole = Qt::UserRole + 3 , AlbumGlobalIdRole = Qt::UserRole + 4 , AlbumSortRole = Qt::UserRole + 5 } |
enum | RootAlbumBehavior { IncludeRootAlbum , IgnoreRootAlbum } |
Public Slots | |
void | excludeChildrenCount (const QModelIndex &index) |
void | includeChildrenCount (const QModelIndex &index) |
void | setCountMap (const QMap< int, int > &idCountMap) |
void | setShowCount (bool show) |
Call to enable or disable showing the count. Default is false. More... | |
Signals | |
void | rootAlbumAvailable () |
Public Member Functions | |
AbstractCountingAlbumModel (Album::Type albumType, Album *const rootAlbum, RootAlbumBehavior rootBehavior=IncludeRootAlbum, QObject *const parent=nullptr) | |
Supports displaying a count alongside the album name in DisplayRole. More... | |
virtual int | albumCount (Album *album) const |
Album * | albumForIndex (const QModelIndex &index) const |
Album::Type | albumType () const |
int | columnCount (const QModelIndex &parent=QModelIndex()) const override |
QVariant | data (const QModelIndex &index, int role=Qt::DisplayRole) const override |
AlbumModelDragDropHandler * | dragDropHandler () const |
bool | dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override |
Qt::ItemFlags | flags (const QModelIndex &index) const override |
bool | hasChildren (const QModelIndex &parent=QModelIndex()) const override |
QVariant | headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override |
QModelIndex | index (int row, int column, const QModelIndex &parent=QModelIndex()) const override |
QModelIndex | indexForAlbum (Album *album) const |
bool | isFaceTagModel () const |
QMimeData * | mimeData (const QModelIndexList &indexes) const override |
QStringList | mimeTypes () const override |
QModelIndex | parent (const QModelIndex &index) const override |
Album * | rootAlbum () const |
RootAlbumBehavior | rootAlbumBehavior () const |
QModelIndex | rootAlbumIndex () const |
int | rowCount (const QModelIndex &parent=QModelIndex()) const override |
void | setDragDropHandler (AlbumModelDragDropHandler *handler) |
bool | showCount () const |
Qt::DropActions | supportedDropActions () const override |
~AbstractCountingAlbumModel () override | |
Static Public Member Functions | |
static Album * | retrieveAlbum (const QModelIndex &index) |
Protected Slots | |
void | slotAlbumAboutToBeAdded (Album *album, Album *parent, Album *prev) |
void | slotAlbumAboutToBeDeleted (Album *album) |
void | slotAlbumAdded (Album *) |
void | slotAlbumHasBeenDeleted (quintptr) |
void | slotAlbumIconChanged (Album *album) |
void | slotAlbumMoved (Album *album) |
void | slotAlbumRenamed (Album *album) |
void | slotAlbumsCleared () |
void | slotGotThumbnailFromIcon (Album *album, const QPixmap &thumbnail) |
void | slotReloadThumbnails () |
void | slotThumbnailLost (Album *album) |
Protected Member Functions | |
void | albumCleared (Album *album) override |
Notification when an entry is removed. More... | |
QVariant | albumData (Album *a, int role) const override |
Reimplemented from parent classes. More... | |
virtual Album * | albumForId (int id) const =0 |
need to implement in subclass More... | |
virtual QString | albumName (Album *a) const |
Can reimplement in subclass. More... | |
void | allAlbumsCleared () override |
Notification when all entries are removed. More... | |
QString | columnHeader () const override |
For subclassing convenience: A part of the implementation of headerData() More... | |
virtual QVariant | decorationRoleData (Album *a) const |
For subclassing convenience: A part of the implementation of data() More... | |
void | emitDataChangedForChildren (Album *album) |
virtual bool | filterAlbum (Album *album) const |
virtual QVariant | fontRoleData (Album *a) const |
For subclassing convenience: A part of the implementation of data() More... | |
virtual Qt::ItemFlags | itemFlags (Album *album) const |
For subclassing convenience: A part of the implementation of itemFlags() More... | |
void | setColumnHeader (const QString &header) |
void | setCount (Album *album, int count) |
If you do not use setCountMap, excludeChildrenCount and includeChildrenCount, you can set a count here. More... | |
void | setEnableDrag (bool enable) |
void | setEnableDrop (bool enable) |
void | setFaceTagModel (bool enable) |
void | setup () |
void | setupThumbnailLoading () |
You need to call this from your constructor if you intend to load the thumbnail facilities of this class. More... | |
virtual QVariant | sortRoleData (Album *a) const |
For subclassing convenience: A part of the implementation of data() More... | |
Protected Attributes | |
QString | m_columnHeader |
|
inherited |
Enumerator | |
---|---|
AlbumTitleRole | Returns the album title. Principally the same as display role, but without any additions. |
AlbumTypeRole | Returns the Album::Type of the associated album. |
AlbumPointerRole | Returns a pointer to the associated Album object. |
AlbumIdRole | Returns the id of the associated Album object. |
AlbumGlobalIdRole | Returns the global id (unique across all album types) |
AlbumSortRole | Returns the data to sort on. |
|
inherited |
AbstractAlbumModel is the abstract base class for all models that present Album objects as managed by AlbumManager. You will want to create an instance of the base classes.
|
explicit |
Supports displaying a count alongside the album name in DisplayRole.
|
override |
|
overrideprotectedvirtual |
Notification when an entry is removed.
Reimplemented from Digikam::AbstractAlbumModel.
Reimplemented in Digikam::AbstractCheckableAlbumModel.
References Digikam::Album::id(), and Digikam::AlbumManager::instance().
Referenced by Digikam::AbstractCheckableAlbumModel::albumCleared().
|
virtual |
Returns the number of included items for this album.
References Digikam::Album::id().
|
overrideprotectedvirtual |
Reimplemented from parent classes.
Reimplemented from Digikam::AbstractAlbumModel.
Reimplemented in Digikam::SearchModel, Digikam::TagModel, Digikam::AlbumModel, and Digikam::AbstractCheckableAlbumModel.
References Digikam::AbstractAlbumModel::albumData(), albumName(), Digikam::Album::id(), and Digikam::Album::isRoot().
Referenced by Digikam::AbstractCheckableAlbumModel::albumData().
|
protectedpure virtual |
need to implement in subclass
Implemented in Digikam::DateAlbumModel, Digikam::SearchModel, Digikam::TagModel, and Digikam::AlbumModel.
Referenced by setCountMap().
|
inherited |
Returns the album object associated with the given model index
References Digikam::AbstractAlbumModel::index().
Referenced by Digikam::AlbumModel::albumForIndex(), Digikam::TagModel::albumForIndex(), Digikam::SearchModel::albumForIndex(), Digikam::DateAlbumModel::albumForIndex(), excludeChildrenCount(), includeChildrenCount(), Digikam::AbstractCheckableAlbumModel::invertCheckedAlbums(), Digikam::AbstractAlbumModel::mimeData(), Digikam::AbstractAlbumTreeView::rowsAboutToBeRemoved(), and Digikam::AbstractCheckableAlbumModel::setData().
|
protectedvirtual |
Can reimplement in subclass.
Reimplemented in Digikam::DateAlbumModel.
References Digikam::Album::title().
Referenced by albumData(), and Digikam::AlbumModel::albumData().
|
inherited |
Returns the Album::Type of the contained albums
Referenced by Digikam::AbstractAlbumModel::AbstractAlbumModel().
|
overrideprotectedvirtual |
Notification when all entries are removed.
Reimplemented from Digikam::AbstractAlbumModel.
Reimplemented in Digikam::AbstractCheckableAlbumModel.
Referenced by Digikam::AbstractCheckableAlbumModel::allAlbumsCleared().
|
overrideinherited |
|
overrideprotectedvirtualinherited |
For subclassing convenience: A part of the implementation of headerData()
Reimplemented from Digikam::AbstractAlbumModel.
References Digikam::AbstractSpecificAlbumModel::m_columnHeader.
|
overrideinherited |
|
protectedvirtualinherited |
For subclassing convenience: A part of the implementation of data()
Reimplemented in Digikam::DateAlbumModel, Digikam::TagModel, and Digikam::AlbumModel.
Referenced by Digikam::AbstractAlbumModel::albumData().
|
inherited |
Returns the drag drop handler, or 0 if none is installed
Referenced by Digikam::AbstractAlbumTreeView::dragEnterEvent(), Digikam::AbstractAlbumTreeView::dragMoveEvent(), Digikam::AbstractAlbumTreeView::dropEvent(), Digikam::AlbumTreeView::setAlbumModel(), and Digikam::TagTreeView::setAlbumModel().
|
overrideinherited |
|
protectedinherited |
|
slot |
Displays only the count of the album, without adding child albums' counts. This is the default. Can connect to QTreeView's expanded() signal.
References Digikam::AbstractAlbumModel::albumForIndex(), Digikam::Album::id(), and Digikam::AbstractAlbumModel::index().
|
protectedvirtualinherited |
Returns true for those and only those albums that shall be contained in this model. They must have a common root album, which is set in the constructor.
References Digikam::Album::type().
Referenced by Digikam::AbstractSpecificAlbumModel::emitDataChangedForChildren(), Digikam::AbstractAlbumModel::indexForAlbum(), Digikam::AbstractAlbumModel::slotAlbumAboutToBeAdded(), Digikam::AbstractAlbumModel::slotAlbumAboutToBeDeleted(), Digikam::AbstractAlbumModel::slotAlbumIconChanged(), Digikam::AbstractAlbumModel::slotAlbumRenamed(), and Digikam::AbstractSpecificAlbumModel::slotGotThumbnailFromIcon().
|
overrideinherited |
References Digikam::AbstractAlbumModel::index(), and Digikam::AbstractAlbumModel::itemFlags().
Referenced by Digikam::AbstractCheckableAlbumModel::flags().
|
protectedvirtualinherited |
For subclassing convenience: A part of the implementation of data()
Reimplemented in Digikam::TagModel.
Referenced by Digikam::AbstractAlbumModel::albumData().
|
overrideinherited |
|
overrideinherited |
References Digikam::AbstractAlbumModel::columnHeader().
|
slot |
Displays sum of the count of the album and child albums' counts. Can connect to QTreeView's collapsed() signal.
References Digikam::AbstractAlbumModel::albumForIndex(), Digikam::Album::id(), and Digikam::AbstractAlbumModel::index().
|
overrideinherited |
References Digikam::Album::childAtRow(), Digikam::AbstractAlbumModel::IncludeRootAlbum, and Digikam::AbstractAlbumModel::parent().
Referenced by Digikam::TagModel::activateFaceTagModel(), Digikam::AbstractAlbumModel::albumForIndex(), Digikam::AlbumModel::albumForIndex(), Digikam::TagModel::albumForIndex(), Digikam::SearchModel::albumForIndex(), Digikam::DateAlbumModel::albumForIndex(), Digikam::AbstractAlbumModel::data(), Digikam::AbstractSpecificAlbumModel::emitDataChangedForChildren(), excludeChildrenCount(), Digikam::AbstractAlbumModel::flags(), Digikam::AbstractCheckableAlbumModel::flags(), includeChildrenCount(), Digikam::AbstractCheckableAlbumModel::invertCheckedAlbums(), Digikam::AbstractAlbumModel::mimeData(), Digikam::DateAlbumModel::monthIndexForDate(), Digikam::AbstractAlbumModel::parent(), Digikam::AbstractCheckableAlbumModel::resetAllCheckedAlbums(), Digikam::AbstractAlbumModel::retrieveAlbum(), Digikam::AbstractCheckableAlbumTreeView::rowsInserted(), Digikam::AbstractCheckableAlbumModel::setCheckStateForChildren(), Digikam::AbstractCheckableAlbumModel::setCheckStateForParents(), setCount(), Digikam::AbstractCheckableAlbumModel::setData(), Digikam::TagModel::setData(), Digikam::AbstractAlbumModel::slotAlbumIconChanged(), Digikam::AbstractAlbumModel::slotAlbumRenamed(), and Digikam::AbstractSpecificAlbumModel::slotGotThumbnailFromIcon().
|
inherited |
Return the QModelIndex for the given album, or an invalid index if the album is not contained in this model.
References Digikam::AbstractAlbumModel::filterAlbum(), Digikam::AbstractAlbumModel::IncludeRootAlbum, and Digikam::Album::rowFromAlbum().
Referenced by Digikam::TagModel::activateFaceTagModel(), Digikam::AbstractSpecificAlbumModel::emitDataChangedForChildren(), Digikam::AlbumFilterModel::indexForAlbum(), Digikam::ContextMenuHelper::Private::indexForAlbumFromAction(), Digikam::AlbumFilterModel::matches(), Digikam::AbstractAlbumModel::parent(), Digikam::AbstractCheckableAlbumModel::resetAllCheckedAlbums(), Digikam::AbstractAlbumModel::rootAlbumIndex(), Digikam::AbstractCheckableAlbumModel::setChecked(), Digikam::AbstractCheckableAlbumModel::setCheckState(), Digikam::AbstractCheckableAlbumModel::setCheckStateForChildren(), Digikam::AbstractCheckableAlbumModel::setCheckStateForParents(), setCount(), Digikam::AbstractAlbumModel::slotAlbumAboutToBeAdded(), Digikam::AbstractAlbumModel::slotAlbumAboutToBeDeleted(), Digikam::AbstractAlbumModel::slotAlbumIconChanged(), Digikam::AbstractAlbumModel::slotAlbumRenamed(), and Digikam::AbstractSpecificAlbumModel::slotGotThumbnailFromIcon().
|
inherited |
Returns true if the album model a face tag model
Referenced by Digikam::TagModel::decorationRoleData(), and Digikam::AlbumFilterModel::lessThan().
|
protectedvirtualinherited |
For subclassing convenience: A part of the implementation of itemFlags()
Referenced by Digikam::AbstractAlbumModel::flags().
|
overrideinherited |
|
overrideinherited |
|
overrideinherited |
References Digikam::AbstractAlbumModel::index(), Digikam::AbstractAlbumModel::indexForAlbum(), and Digikam::Album::parent().
Referenced by Digikam::AbstractCheckableAlbumModel::checkAllAlbums(), Digikam::AbstractAlbumModel::hasChildren(), Digikam::AbstractAlbumModel::index(), Digikam::AbstractCheckableAlbumModel::invertCheckedAlbums(), Digikam::AbstractCheckableAlbumModel::resetCheckedAlbums(), Digikam::AbstractAlbumModel::rowCount(), Digikam::AbstractAlbumModel::slotAlbumAboutToBeAdded(), and Digikam::AbstractAlbumModel::slotAlbumAboutToBeDeleted().
|
staticinherited |
Returns the album represented by the index. In contrast to albumForIndex(), the index can be from any proxy model, as long as an AbstractAlbumModel is at the end.
References Digikam::AbstractAlbumModel::AlbumPointerRole, and Digikam::AbstractAlbumModel::index().
Referenced by Digikam::AlbumFilterModel::albumForIndex(), and Digikam::AlbumFilterModel::filterAcceptsRow().
|
inherited |
|
signalinherited |
This is initialized once after creation, if the root album becomes available, if it was not already available at time of construction. This is emitted regardless of root album policy.
Referenced by Digikam::AbstractAlbumModel::slotAlbumAdded().
|
inherited |
Returns the root album behavior set for this model
Referenced by Digikam::TagTreeView::setAlbumModel().
|
inherited |
Return the index corresponding to the root album. If the policy is IgnoreRootAlbum, this is an invalid index.
References Digikam::AbstractAlbumModel::indexForAlbum().
Referenced by Digikam::AbstractCheckableAlbumModel::flags(), Digikam::AbstractCheckableAlbumModel::resetCheckedAlbums(), and Digikam::AlbumFilterModel::rootAlbumIndex().
|
overrideinherited |
|
protectedinherited |
|
protected |
If you do not use setCountMap, excludeChildrenCount and includeChildrenCount, you can set a count here.
References Digikam::Album::id(), Digikam::AbstractAlbumModel::index(), and Digikam::AbstractAlbumModel::indexForAlbum().
|
slot |
Enable displaying the count. Set a map of album id -> count (excluding children). If an album is not contained, no count is displayed. To display a count of 0, there must be an entry album id -> 0.
References albumForId().
Referenced by Digikam::TagModel::activateFaceTagModel(), Digikam::AlbumModel::AlbumModel(), Digikam::DateAlbumModel::setYearMonthMap(), slotAlbumMoved(), and Digikam::TagModel::TagModel().
|
inherited |
Set a drag drop handler
Referenced by Digikam::AlbumTreeView::setAlbumModel(), and Digikam::TagTreeView::setAlbumModel().
|
protectedinherited |
Switch on drag and drop globally for all items. Default is true. For per-item cases reimplement itemFlags().
|
protectedinherited |
|
protectedinherited |
Referenced by Digikam::TagModel::activateFaceTagModel().
|
slot |
Call to enable or disable showing the count. Default is false.
References Digikam::AbstractSpecificAlbumModel::emitDataChangedForChildren(), and Digikam::AbstractAlbumModel::rootAlbum().
Referenced by Digikam::SearchModel::SearchModel().
|
protected |
Call this method in children class constructors to init signal/slots connections.
References Digikam::AlbumManager::instance(), and slotAlbumMoved().
Referenced by Digikam::AbstractCheckableAlbumModel::AbstractCheckableAlbumModel(), and Digikam::DateAlbumModel::DateAlbumModel().
|
protectedinherited |
You need to call this from your constructor if you intend to load the thumbnail facilities of this class.
References Digikam::AlbumThumbnailLoader::instance(), Digikam::AbstractSpecificAlbumModel::slotGotThumbnailFromIcon(), Digikam::AbstractSpecificAlbumModel::slotReloadThumbnails(), and Digikam::AbstractSpecificAlbumModel::slotThumbnailLost().
Referenced by Digikam::AlbumModel::AlbumModel(), and Digikam::TagModel::TagModel().
bool Digikam::AbstractCountingAlbumModel::showCount | ( | ) | const |
Referenced by Digikam::AlbumModel::albumData().
|
protectedslotinherited |
References Digikam::AbstractAlbumModel::filterAlbum(), Digikam::AbstractAlbumModel::IgnoreRootAlbum, Digikam::AbstractAlbumModel::indexForAlbum(), Digikam::Album::isRoot(), Digikam::AbstractAlbumModel::parent(), and Digikam::Album::rowFromAlbum().
Referenced by Digikam::AbstractAlbumModel::AbstractAlbumModel().
|
protectedslotinherited |
References Digikam::AbstractAlbumModel::albumCleared(), Digikam::AbstractAlbumModel::filterAlbum(), Digikam::AbstractAlbumModel::IgnoreRootAlbum, Digikam::AbstractAlbumModel::indexForAlbum(), Digikam::Album::isRoot(), Digikam::Album::parent(), Digikam::AbstractAlbumModel::parent(), and Digikam::Album::rowFromAlbum().
Referenced by Digikam::AbstractAlbumModel::AbstractAlbumModel().
|
protectedslotinherited |
References Digikam::AbstractAlbumModel::rootAlbumAvailable().
Referenced by Digikam::AbstractAlbumModel::AbstractAlbumModel().
|
protectedslotinherited |
Referenced by Digikam::AbstractAlbumModel::AbstractAlbumModel().
|
protectedslotinherited |
|
protectedslot |
References setCountMap().
Referenced by setup().
|
protectedslotinherited |
|
protectedslotinherited |
References Digikam::AbstractAlbumModel::allAlbumsCleared().
Referenced by Digikam::AbstractAlbumModel::AbstractAlbumModel().
|
protectedslotinherited |
|
protectedslotinherited |
|
protectedslotinherited |
Referenced by Digikam::AbstractSpecificAlbumModel::setupThumbnailLoading().
|
protectedvirtualinherited |
For subclassing convenience: A part of the implementation of data()
Reimplemented in Digikam::DateAlbumModel.
References Digikam::Album::title().
Referenced by Digikam::AbstractAlbumModel::albumData().
|
overrideinherited |
References Digikam::CopyAction, and Digikam::MoveAction.
|
protectedinherited |
Referenced by Digikam::AlbumModel::AlbumModel(), Digikam::AbstractSpecificAlbumModel::columnHeader(), Digikam::DateAlbumModel::DateAlbumModel(), Digikam::SearchModel::SearchModel(), Digikam::AbstractSpecificAlbumModel::setColumnHeader(), Digikam::TagModel::setColumnHeader(), and Digikam::TagModel::TagModel().