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 } |
Signals | |
void | rootAlbumAvailable () |
Public Member Functions | |
AbstractSpecificAlbumModel (Album::Type albumType, Album *const rootAlbum, RootAlbumBehavior rootBehavior=IncludeRootAlbum, QObject *const parent=nullptr) | |
Abstract base class, do not instantiate. More... | |
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) |
Qt::DropActions | supportedDropActions () const 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 | slotAlbumRenamed (Album *album) |
void | slotAlbumsCleared () |
void | slotGotThumbnailFromIcon (Album *album, const QPixmap &thumbnail) |
void | slotReloadThumbnails () |
void | slotThumbnailLost (Album *album) |
Protected Member Functions | |
virtual void | albumCleared (Album *) |
Notification when an entry is removed. More... | |
virtual QVariant | albumData (Album *a, int role) const |
For subclassing convenience: A part of the implementation of data() More... | |
virtual void | allAlbumsCleared () |
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 | setEnableDrag (bool enable) |
void | setEnableDrop (bool enable) |
void | setFaceTagModel (bool enable) |
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 |
Abstract base class, do not instantiate.
|
inlineprotectedvirtualinherited |
Notification when an entry is removed.
Reimplemented in Digikam::AbstractCheckableAlbumModel, and Digikam::AbstractCountingAlbumModel.
Referenced by Digikam::AbstractAlbumModel::slotAlbumAboutToBeDeleted().
|
protectedvirtualinherited |
For subclassing convenience: A part of the implementation of data()
NOTE: these can be reimplemented in a subclass
Reimplemented in Digikam::SearchModel, Digikam::TagModel, Digikam::AlbumModel, Digikam::AbstractCheckableAlbumModel, and Digikam::AbstractCountingAlbumModel.
References Digikam::AbstractAlbumModel::AlbumGlobalIdRole, Digikam::AbstractAlbumModel::AlbumIdRole, Digikam::AbstractAlbumModel::AlbumPointerRole, Digikam::AbstractAlbumModel::AlbumSortRole, Digikam::AbstractAlbumModel::AlbumTitleRole, Digikam::AbstractAlbumModel::AlbumTypeRole, Digikam::AbstractAlbumModel::decorationRoleData(), Digikam::AbstractAlbumModel::fontRoleData(), Digikam::Album::globalID(), Digikam::Album::id(), Digikam::AbstractAlbumModel::sortRoleData(), Digikam::Album::title(), and Digikam::Album::type().
Referenced by Digikam::AbstractCountingAlbumModel::albumData(), and Digikam::AbstractAlbumModel::data().
|
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(), Digikam::AbstractCountingAlbumModel::excludeChildrenCount(), Digikam::AbstractCountingAlbumModel::includeChildrenCount(), Digikam::AbstractCheckableAlbumModel::invertCheckedAlbums(), Digikam::AbstractAlbumModel::mimeData(), Digikam::AbstractAlbumTreeView::rowsAboutToBeRemoved(), and Digikam::AbstractCheckableAlbumModel::setData().
|
inherited |
Returns the Album::Type of the contained albums
Referenced by Digikam::AbstractAlbumModel::AbstractAlbumModel().
|
inlineprotectedvirtualinherited |
Notification when all entries are removed.
Reimplemented in Digikam::AbstractCheckableAlbumModel, and Digikam::AbstractCountingAlbumModel.
Referenced by Digikam::AbstractAlbumModel::slotAlbumsCleared().
|
overrideinherited |
|
overrideprotectedvirtual |
For subclassing convenience: A part of the implementation of headerData()
Reimplemented from Digikam::AbstractAlbumModel.
References 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 |
|
protected |
|
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 emitDataChangedForChildren(), Digikam::AbstractAlbumModel::indexForAlbum(), Digikam::AbstractAlbumModel::slotAlbumAboutToBeAdded(), Digikam::AbstractAlbumModel::slotAlbumAboutToBeDeleted(), Digikam::AbstractAlbumModel::slotAlbumIconChanged(), Digikam::AbstractAlbumModel::slotAlbumRenamed(), and 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().
|
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(), emitDataChangedForChildren(), Digikam::AbstractCountingAlbumModel::excludeChildrenCount(), Digikam::AbstractAlbumModel::flags(), Digikam::AbstractCheckableAlbumModel::flags(), Digikam::AbstractCountingAlbumModel::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(), Digikam::AbstractCountingAlbumModel::setCount(), Digikam::AbstractCheckableAlbumModel::setData(), Digikam::TagModel::setData(), Digikam::AbstractAlbumModel::slotAlbumIconChanged(), Digikam::AbstractAlbumModel::slotAlbumRenamed(), and 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(), 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(), Digikam::AbstractCountingAlbumModel::setCount(), Digikam::AbstractAlbumModel::slotAlbumAboutToBeAdded(), Digikam::AbstractAlbumModel::slotAlbumAboutToBeDeleted(), Digikam::AbstractAlbumModel::slotAlbumIconChanged(), Digikam::AbstractAlbumModel::slotAlbumRenamed(), and 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 |
|
protected |
References m_columnHeader.
|
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().
|
protected |
You need to call this from your constructor if you intend to load the thumbnail facilities of this class.
References Digikam::AlbumThumbnailLoader::instance(), slotGotThumbnailFromIcon(), slotReloadThumbnails(), and slotThumbnailLost().
Referenced by Digikam::AlbumModel::AlbumModel(), and Digikam::TagModel::TagModel().
|
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 |
|
protectedslotinherited |
|
protectedslotinherited |
References Digikam::AbstractAlbumModel::allAlbumsCleared().
Referenced by Digikam::AbstractAlbumModel::AbstractAlbumModel().
|
protectedslot |
|
protectedslot |
References emitDataChangedForChildren(), and Digikam::AbstractAlbumModel::rootAlbum().
Referenced by setupThumbnailLoading().
|
protectedslot |
Referenced by 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.
|
protected |