digiKam
Digikam::AbstractSpecificAlbumModel Class Reference
+ Inheritance diagram for Digikam::AbstractSpecificAlbumModel:

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...
 
AlbumalbumForIndex (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
 
AlbumModelDragDropHandlerdragDropHandler () 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
 
AlbumrootAlbum () 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 AlbumretrieveAlbum (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
 

Member Enumeration Documentation

◆ AlbumDataRole

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.

◆ RootAlbumBehavior

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.

Enumerator
IncludeRootAlbum 

The root album will be included as a single parent item with all top-level album as children

IgnoreRootAlbum 

The root album will not be included, but all top-level album are represented as top-level items in this view

Constructor & Destructor Documentation

◆ AbstractSpecificAlbumModel()

Digikam::AbstractSpecificAlbumModel::AbstractSpecificAlbumModel ( Album::Type  albumType,
Album *const  rootAlbum,
RootAlbumBehavior  rootBehavior = IncludeRootAlbum,
QObject *const  parent = nullptr 
)
explicit

Abstract base class, do not instantiate.

Member Function Documentation

◆ albumCleared()

virtual void Digikam::AbstractAlbumModel::albumCleared ( Album )
inlineprotectedvirtualinherited

◆ albumData()

◆ albumForIndex()

◆ albumType()

Album::Type Digikam::AbstractAlbumModel::albumType ( ) const
inherited

Returns the Album::Type of the contained albums

Referenced by Digikam::AbstractAlbumModel::AbstractAlbumModel().

◆ allAlbumsCleared()

virtual void Digikam::AbstractAlbumModel::allAlbumsCleared ( )
inlineprotectedvirtualinherited

Notification when all entries are removed.

Reimplemented in Digikam::AbstractCheckableAlbumModel, and Digikam::AbstractCountingAlbumModel.

Referenced by Digikam::AbstractAlbumModel::slotAlbumsCleared().

◆ columnCount()

int Digikam::AbstractAlbumModel::columnCount ( const QModelIndex &  parent = QModelIndex()) const
overrideinherited

◆ columnHeader()

QString Digikam::AbstractSpecificAlbumModel::columnHeader ( ) const
overrideprotectedvirtual

For subclassing convenience: A part of the implementation of headerData()

Reimplemented from Digikam::AbstractAlbumModel.

References m_columnHeader.

◆ data()

QVariant Digikam::AbstractAlbumModel::data ( const QModelIndex &  index,
int  role = Qt::DisplayRole 
) const
overrideinherited

◆ decorationRoleData()

QVariant Digikam::AbstractAlbumModel::decorationRoleData ( Album a) const
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().

◆ dragDropHandler()

◆ dropMimeData()

bool Digikam::AbstractAlbumModel::dropMimeData ( const QMimeData *  data,
Qt::DropAction  action,
int  row,
int  column,
const QModelIndex &  parent 
)
overrideinherited

◆ emitDataChangedForChildren()

◆ filterAlbum()

bool Digikam::AbstractAlbumModel::filterAlbum ( Album album) const
protectedvirtualinherited

◆ flags()

Qt::ItemFlags Digikam::AbstractAlbumModel::flags ( const QModelIndex &  index) const
overrideinherited

◆ fontRoleData()

QVariant Digikam::AbstractAlbumModel::fontRoleData ( Album a) const
protectedvirtualinherited

For subclassing convenience: A part of the implementation of data()

Reimplemented in Digikam::TagModel.

Referenced by Digikam::AbstractAlbumModel::albumData().

◆ hasChildren()

bool Digikam::AbstractAlbumModel::hasChildren ( const QModelIndex &  parent = QModelIndex()) const
overrideinherited

◆ headerData()

QVariant Digikam::AbstractAlbumModel::headerData ( int  section,
Qt::Orientation  orientation,
int  role = Qt::DisplayRole 
) const
overrideinherited

◆ index()

QModelIndex Digikam::AbstractAlbumModel::index ( int  row,
int  column,
const QModelIndex &  parent = QModelIndex() 
) const
overrideinherited

◆ indexForAlbum()

◆ isFaceTagModel()

bool Digikam::AbstractAlbumModel::isFaceTagModel ( ) const
inherited

Returns true if the album model a face tag model

Referenced by Digikam::TagModel::decorationRoleData(), and Digikam::AlbumFilterModel::lessThan().

◆ itemFlags()

Qt::ItemFlags Digikam::AbstractAlbumModel::itemFlags ( Album album) const
protectedvirtualinherited

For subclassing convenience: A part of the implementation of itemFlags()

Referenced by Digikam::AbstractAlbumModel::flags().

◆ mimeData()

QMimeData * Digikam::AbstractAlbumModel::mimeData ( const QModelIndexList &  indexes) const
overrideinherited

◆ mimeTypes()

QStringList Digikam::AbstractAlbumModel::mimeTypes ( ) const
overrideinherited

◆ parent()

◆ retrieveAlbum()

Album * Digikam::AbstractAlbumModel::retrieveAlbum ( const QModelIndex &  index)
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().

◆ rootAlbum()

◆ rootAlbumAvailable

void Digikam::AbstractAlbumModel::rootAlbumAvailable ( )
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().

◆ rootAlbumBehavior()

AbstractAlbumModel::RootAlbumBehavior Digikam::AbstractAlbumModel::rootAlbumBehavior ( ) const
inherited

Returns the root album behavior set for this model

Referenced by Digikam::TagTreeView::setAlbumModel().

◆ rootAlbumIndex()

QModelIndex Digikam::AbstractAlbumModel::rootAlbumIndex ( ) const
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().

◆ rowCount()

int Digikam::AbstractAlbumModel::rowCount ( const QModelIndex &  parent = QModelIndex()) const
overrideinherited

◆ setColumnHeader()

void Digikam::AbstractSpecificAlbumModel::setColumnHeader ( const QString &  header)
protected

References m_columnHeader.

◆ setDragDropHandler()

void Digikam::AbstractAlbumModel::setDragDropHandler ( AlbumModelDragDropHandler handler)
inherited

◆ setEnableDrag()

void Digikam::AbstractAlbumModel::setEnableDrag ( bool  enable)
protectedinherited

Switch on drag and drop globally for all items. Default is true. For per-item cases reimplement itemFlags().

◆ setEnableDrop()

void Digikam::AbstractAlbumModel::setEnableDrop ( bool  enable)
protectedinherited

◆ setFaceTagModel()

void Digikam::AbstractAlbumModel::setFaceTagModel ( bool  enable)
protectedinherited

◆ setupThumbnailLoading()

void Digikam::AbstractSpecificAlbumModel::setupThumbnailLoading ( )
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().

◆ slotAlbumAboutToBeAdded

◆ slotAlbumAboutToBeDeleted

◆ slotAlbumAdded

void Digikam::AbstractAlbumModel::slotAlbumAdded ( Album album)
protectedslotinherited

◆ slotAlbumHasBeenDeleted

void Digikam::AbstractAlbumModel::slotAlbumHasBeenDeleted ( quintptr  p)
protectedslotinherited

◆ slotAlbumIconChanged

void Digikam::AbstractAlbumModel::slotAlbumIconChanged ( Album album)
protectedslotinherited

◆ slotAlbumRenamed

void Digikam::AbstractAlbumModel::slotAlbumRenamed ( Album album)
protectedslotinherited

◆ slotAlbumsCleared

void Digikam::AbstractAlbumModel::slotAlbumsCleared ( )
protectedslotinherited

◆ slotGotThumbnailFromIcon

void Digikam::AbstractSpecificAlbumModel::slotGotThumbnailFromIcon ( Album album,
const QPixmap &  thumbnail 
)
protectedslot

◆ slotReloadThumbnails

void Digikam::AbstractSpecificAlbumModel::slotReloadThumbnails ( )
protectedslot

◆ slotThumbnailLost

void Digikam::AbstractSpecificAlbumModel::slotThumbnailLost ( Album album)
protectedslot

Referenced by setupThumbnailLoading().

◆ sortRoleData()

QVariant Digikam::AbstractAlbumModel::sortRoleData ( Album a) const
protectedvirtualinherited

For subclassing convenience: A part of the implementation of data()

Reimplemented in Digikam::DateAlbumModel.

References Digikam::Album::title().

Referenced by Digikam::AbstractAlbumModel::albumData().

◆ supportedDropActions()

Qt::DropActions Digikam::AbstractAlbumModel::supportedDropActions ( ) const
overrideinherited

Member Data Documentation

◆ m_columnHeader


The documentation for this class was generated from the following files: