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... | |
void | setYearMonthMap (const QMap< YearMonth, int > &yearMonthMap) |
Signals | |
void | rootAlbumAvailable () |
Public Member Functions | |
virtual int | albumCount (Album *album) const |
DAlbum * | 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 |
DateAlbumModel (QObject *const parent=nullptr) | |
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 | monthIndexForDate (const QDate &date) const |
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) |
void | setPixmaps (const QPixmap &forYearAlbums, const QPixmap &forMonthAlbums) |
bool | showCount () const |
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 | 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... | |
Album * | albumForId (int id) const override |
need to implement in subclass More... | |
QString | albumName (Album *a) const override |
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... | |
QVariant | decorationRoleData (Album *a) const override |
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... | |
QVariant | sortRoleData (Album *a) const override |
For subclassing convenience: A part of the implementation of data() More... | |
Protected Attributes | |
QString | m_columnHeader |
QPixmap | m_monthPixmap |
QPixmap | m_yearPixmap |
A model for date based albums.
|
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 |
Constructor.
parent | the parent for Qt's parent child mechanism |
References Digikam::AlbumManager::instance(), Digikam::AbstractSpecificAlbumModel::m_columnHeader, Digikam::AbstractCountingAlbumModel::setup(), and setYearMonthMap().
|
overrideprotectedvirtualinherited |
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().
|
virtualinherited |
Returns the number of included items for this album.
References Digikam::Album::id().
|
overrideprotectedvirtualinherited |
Reimplemented from parent classes.
Reimplemented from Digikam::AbstractAlbumModel.
Reimplemented in Digikam::SearchModel, Digikam::TagModel, Digikam::AlbumModel, and Digikam::AbstractCheckableAlbumModel.
References Digikam::AbstractAlbumModel::albumData(), Digikam::AbstractCountingAlbumModel::albumName(), Digikam::Album::id(), and Digikam::Album::isRoot().
Referenced by Digikam::AbstractCheckableAlbumModel::albumData().
|
overrideprotectedvirtual |
need to implement in subclass
Implements Digikam::AbstractCountingAlbumModel.
References Digikam::AlbumManager::findDAlbum(), and Digikam::AlbumManager::instance().
DAlbum * Digikam::DateAlbumModel::albumForIndex | ( | const QModelIndex & | index | ) | const |
References Digikam::AbstractAlbumModel::albumForIndex(), and Digikam::AbstractAlbumModel::index().
Referenced by monthIndexForDate().
|
overrideprotectedvirtual |
Can reimplement in subclass.
Reimplemented from Digikam::AbstractCountingAlbumModel.
References Digikam::DAlbum::date(), Digikam::DAlbum::range(), and Digikam::DAlbum::Year.
|
inherited |
Returns the Album::Type of the contained albums
Referenced by Digikam::AbstractAlbumModel::AbstractAlbumModel().
|
overrideprotectedvirtualinherited |
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 |
|
overrideprotectedvirtual |
For subclassing convenience: A part of the implementation of data()
Reimplemented from Digikam::AbstractAlbumModel.
References m_monthPixmap, m_yearPixmap, Digikam::DAlbum::range(), and Digikam::DAlbum::Year.
|
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 |
References Digikam::AbstractAlbumModel::filterAlbum(), Digikam::Album::firstChild(), Digikam::AbstractAlbumModel::index(), Digikam::AbstractAlbumModel::indexForAlbum(), and Digikam::Album::next().
Referenced by Digikam::AbstractCountingAlbumModel::setShowCount(), and Digikam::AbstractSpecificAlbumModel::slotReloadThumbnails().
|
slotinherited |
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().
|
slotinherited |
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(), albumForIndex(), Digikam::AbstractAlbumModel::data(), Digikam::AbstractSpecificAlbumModel::emitDataChangedForChildren(), Digikam::AbstractCountingAlbumModel::excludeChildrenCount(), Digikam::AbstractAlbumModel::flags(), Digikam::AbstractCheckableAlbumModel::flags(), Digikam::AbstractCountingAlbumModel::includeChildrenCount(), Digikam::AbstractCheckableAlbumModel::invertCheckedAlbums(), Digikam::AbstractAlbumModel::mimeData(), 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 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(), Digikam::AbstractCountingAlbumModel::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 |
QModelIndex Digikam::DateAlbumModel::monthIndexForDate | ( | const QDate & | date | ) | const |
Finds an album index based on a date. The given date is therefore normalized to year-month-form. The day is ignored. This means the returned index always points to a month DAlbum.
date | the date to search for (year and month) |
References albumForIndex(), Digikam::DAlbum::date(), Digikam::AbstractAlbumModel::index(), Digikam::DAlbum::Month, Digikam::DAlbum::range(), Digikam::AbstractAlbumModel::rowCount(), and Digikam::DAlbum::Year.
|
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 |
Referenced by Digikam::AbstractAlbumModel::AbstractAlbumModel(), Digikam::AbstractAlbumTreeView::setAlbumModel(), Digikam::AbstractCheckableAlbumModel::setRootCheckable(), Digikam::AbstractCountingAlbumModel::setShowCount(), setYearMonthMap(), and Digikam::AbstractSpecificAlbumModel::slotReloadThumbnails().
|
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 |
|
protectedinherited |
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().
|
slotinherited |
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 Digikam::AbstractCountingAlbumModel::albumForId().
Referenced by Digikam::TagModel::activateFaceTagModel(), Digikam::AlbumModel::AlbumModel(), setYearMonthMap(), Digikam::AbstractCountingAlbumModel::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().
void Digikam::DateAlbumModel::setPixmaps | ( | const QPixmap & | forYearAlbums, |
const QPixmap & | forMonthAlbums | ||
) |
Set pixmaps for the DecorationRole
References m_monthPixmap, and m_yearPixmap.
|
slotinherited |
Call to enable or disable showing the count. Default is false.
References Digikam::AbstractSpecificAlbumModel::emitDataChangedForChildren(), and Digikam::AbstractAlbumModel::rootAlbum().
Referenced by Digikam::SearchModel::SearchModel().
|
protectedinherited |
Call this method in children class constructors to init signal/slots connections.
References Digikam::AlbumManager::instance(), and Digikam::AbstractCountingAlbumModel::slotAlbumMoved().
Referenced by Digikam::AbstractCheckableAlbumModel::AbstractCheckableAlbumModel(), and 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().
|
slot |
|
inherited |
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 |
|
protectedslotinherited |
References Digikam::AbstractCountingAlbumModel::setCountMap().
Referenced by Digikam::AbstractCountingAlbumModel::setup().
|
protectedslotinherited |
|
protectedslotinherited |
References Digikam::AbstractAlbumModel::allAlbumsCleared().
Referenced by Digikam::AbstractAlbumModel::AbstractAlbumModel().
|
protectedslotinherited |
|
protectedslotinherited |
|
protectedslotinherited |
Referenced by Digikam::AbstractSpecificAlbumModel::setupThumbnailLoading().
|
overrideprotectedvirtual |
For subclassing convenience: A part of the implementation of data()
Reimplemented from Digikam::AbstractAlbumModel.
References Digikam::DAlbum::date().
|
overrideinherited |
References Digikam::CopyAction, and Digikam::MoveAction.
|
protectedinherited |
|
protected |
Referenced by decorationRoleData(), and setPixmaps().
|
protected |
Referenced by decorationRoleData(), and setPixmaps().