digiKam Developer Documentation: Digikam::AbstractCheckableAlbumTreeView Class Reference

| digiKam Developer Documentation Professional Photo Management with the Power of Open Source

Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
Digikam::AbstractCheckableAlbumTreeView Class Reference
Inheritance diagram for Digikam::AbstractCheckableAlbumTreeView:

## Public Member Functions
| AbstractCheckableAlbumTreeView (QWidget *const parent, Flags flags)
CheckableAlbumFilterModel * | checkableAlbumFilterModel () const
AbstractCheckableAlbumModel * | checkableAlbumModel () const
| Manage check state through the model directly.
void | doLoadState () override
| Implements state loading for the album tree view in a somewhat clumsy procedure because the model may not be fully loaded when this method is called.
void | doSaveState () override
| Implement this hook method for state saving.
bool | isRestoreCheckState () const
| Tells if the check state is restored while loading / saving state.
void | setCheckOnMiddleClick (bool doThat)
| Enable checking on middle mouse button click (default: on).
void | setRestoreCheckState (bool restore)
| Set whether to restore check state or not.
Public Member Functions inherited from Digikam::AbstractCountingAlbumTreeView
| AbstractCountingAlbumTreeView (QWidget *const parent, Flags flags)
Public Member Functions inherited from Digikam::AbstractAlbumTreeView
| AbstractAlbumTreeView (QWidget *const parent, Flags flags)
| Constructs an album tree view.
void | addContextMenuElement (ContextMenuElement *const element)
AlbumFilterModel * | albumFilterModel () const
AbstractSpecificAlbumModel * | albumModel () const
QList< ContextMenuElement * > | contextMenuElements () const
template<class A >
QList< A * > | currentAlbums ()
bool | expandMatches (const QModelIndex &index)
| Ensures that every current match is visible by expanding all parent entries.
QModelIndex | indexVisuallyAt (const QPoint &p)
| This is a combination of indexAt() checked with visualRect().
void | removeContextMenuElement (ContextMenuElement *const element)
QList< Album * > | selectedItems ()
void | setAlbumManagerCurrentAlbum (const bool setCurrentAlbum)
| Some treeviews shall control the global current album kept by AlbumManager.
void | setContextMenuIcon (const QPixmap &pixmap)
| Set the context menu title and icon.
void | setContextMenuTitle (const QString &title)
void | setEnableContextMenu (const bool enable)
| Determines the global decision to show a popup menu or not.
void | setExpandNewCurrentItem (const bool doThat)
| Expand an item when making it the new current item.
void | setExpandOnSingleClick (const bool doThat)
| Enable expanding of tree items on single click on the item (default: off)
void | setSelectAlbumOnClick (const bool selectOnClick)
| Sets whether to select an album on click via the album manager or not.
void | setSelectOnContextMenu (const bool select)
| Sets whether to select the album under the mouse cursor on a context menu request (so that the album is shown using the album manager) or not.
bool | viewportEvent (QEvent *event) override
| For internal use only.
Public Member Functions inherited from Digikam::StateSavingObject
| StateSavingObject (QObject *const host)
| Constructor.
virtual | ~StateSavingObject ()
| Destructor.
StateSavingDepth | getStateSavingDepth () const
| Returns the depth used for state saving or loading.
void | loadState ()
| Invokes loading the class' state.
void | saveState ()
| Invokes saving the class' state.
virtual void | setConfigGroup (const KConfigGroup &group)
| Sets a dedicated config group that will be used to store and reload the state from.
virtual void | setEntryPrefix (const QString &prefix)
| Define a prefix that will be used for every entry in the config group.
void | setStateSavingDepth (const StateSavingDepth depth)
| Sets the depth used for state saving or loading.

## Protected Member Functions
void | middleButtonPressed (Album *a) override
void | rowsInserted (const QModelIndex &parent, int start, int end) override
void | setAlbumModel (AbstractCheckableAlbumModel *const model)
virtual void | setCheckableAlbumFilterModel (CheckableAlbumFilterModel *const filterModel)
Protected Member Functions inherited from Digikam::AbstractCountingAlbumTreeView
void | rowsInserted (const QModelIndex &parent, int start, int end) override
virtual void | setAlbumFilterModel (AlbumFilterModel *const filterModel) override
void | setAlbumModel (AbstractCountingAlbumModel *const model)
Protected Member Functions inherited from Digikam::AbstractAlbumTreeView
virtual void | addCustomContextMenuActions (ContextMenuHelper &cmh, Album *album)
| Hook method to add custom actions to the generated context menu.
virtual QPixmap | contextMenuIcon () const
| Hook method that can be implemented to return a special icon used for the context menu.
virtual QString | contextMenuTitle () const
| Hook method to implement that returns the title for the context menu.
void | dragEnterEvent (QDragEnterEvent *e) override
void | dragLeaveEvent (QDragLeaveEvent *e) override
void | dragMoveEvent (QDragMoveEvent *e) override
void | dropEvent (QDropEvent *e) override
virtual void | handleCustomContextMenuAction (QAction *action, const AlbumPointer< Album > &album)
| Hook method to handle the custom context menu actions that were added with addCustomContextMenuActions.
void | mousePressEvent (QMouseEvent *e) override
| Other helper methods.
virtual QPixmap | pixmapForDrag (const QStyleOptionViewItem &option, QList< QModelIndex > indexes)
void | rowsAboutToBeRemoved (const QModelIndex &parent, int start, int end) override
void | rowsInserted (const QModelIndex &index, int start, int end) override
void | setAlbumModel (AbstractSpecificAlbumModel *const model)
virtual bool | showContextMenuAt (QContextMenuEvent *event, Album *albumForEvent)
| Hook method to implement that determines if a context menu shall be displayed for the given event at the position coded in the event.
void | startDrag (Qt::DropActions supportedActions) override
Protected Member Functions inherited from Digikam::StateSavingObject
QString | entryName (const QString &base) const
| Always use this method to create config group entry names.
KConfigGroup | getConfigGroup () const
| Returns the config group that must be used for state saving and loading.

## Additional Inherited Members
Public Types inherited from Digikam::AbstractAlbumTreeView
enum | Flag { CreateDefaultModel , CreateDefaultFilterModel , CreateDefaultDelegate , ShowCountAccordingToSettings , AlwaysShowInclusiveCounts , DefaultFlags = CreateDefaultFilterModel | CreateDefaultDelegate | ShowCountAccordingToSettings }
typedef QFlags< Flag > | Flags
Public Types inherited from Digikam::StateSavingObject
enum | StateSavingDepth { INSTANCE , DIRECT_CHILDREN , RECURSIVE }
| This enum defines the "depth" of the StateSavingObject::loadState() and StateSavingObject::saveState() methods. More...
Public Slots inherited from Digikam::AbstractAlbumTreeView
void | adaptColumnsToContent ()
| Adapt the column sizes to the contents of the tree view.
void | expandEverything (const QModelIndex &index)
| Expands the complete tree under the given index.
void | scrollToSelectedAlbum ()
| Scrolls to the first selected album if there is one.
void | setCurrentAlbums (const QList< Album * > &albums, bool selectInAlbumManager=true)
| Selects the given album.
void | setSearchTextSettings (const SearchTextSettings &settings)
void | slotCollapseAllNodes ()
| slotCollapseAllNodes - collapse all nodes without root node
void | slotCollapseNode ()
| slotCollapseNode - collapse recursively selected nodes
void | slotExpandNode ()
| slotExpandNode - expands recursively selected nodes
Signals inherited from Digikam::AbstractAlbumTreeView
void | currentAlbumChanged (Album *currentAlbum)
| Emitted when the currently selected album changes.
void | selectedAlbumsChanged (const QList< Album * > &selectedAlbums)
| Emitted when the current selection changes.
Protected Slots inherited from Digikam::AbstractAlbumTreeView
void | albumSettingsChanged ()
void | slotCurrentChanged ()
virtual void | slotRootAlbumAvailable ()
void | slotSearchTextSettingsAboutToChange (bool searched, bool willSearch)
void | slotSearchTextSettingsChanged (bool wasSearching, bool searching)
void | slotSelectionChanged ()
Protected Attributes inherited from Digikam::AbstractAlbumTreeView
AlbumFilterModel * | m_albumFilterModel = nullptr
AbstractSpecificAlbumModel * | m_albumModel = nullptr
bool | m_checkOnMiddleClick = false
AlbumModelDragDropHandler * | m_dragDropHandler = nullptr
Flags | m_flags = DefaultFlags
int | m_lastScrollBarValue = 0
bool | m_restoreCheckState = false

## Constructor & Destructor Documentation

## ◆ AbstractCheckableAlbumTreeView()

Digikam::AbstractCheckableAlbumTreeView::AbstractCheckableAlbumTreeView | ( | QWidget *const | parent,
|  | Flags | flags
| ) |  |
| explicit

Note
  Models of these view can be checkable, they need not. You need to enable it on the model.

## Member Function Documentation

## ◆ doLoadState()

void Digikam::AbstractCheckableAlbumTreeView::doLoadState | ( |  | ) |
| overridevirtual

Therefore the config is first parsed into d->statesByAlbumId which holds the state of all tree view entries indexed by album id. Afterwards an initial sync run is done restoring the state of all model entries that are already present at this time. Every processed entry is removed from d->statesByAlbumId. If there are still entries left in this map we assume that the model is not fully loaded at the moment. Therefore the rowsInserted signal is connected to a slot that restores the state of new rows based on the remaining entries in d->statesByAlbumId.

Reimplemented from Digikam::AbstractAlbumTreeView.

Reimplemented in Digikam::TagCheckView.

## ◆ doSaveState()

void Digikam::AbstractCheckableAlbumTreeView::doSaveState | ( |  | ) |
| overridevirtual

Use getConfigGroup() and entryName() for the implementation.

Reimplemented from Digikam::AbstractAlbumTreeView.

Reimplemented in Digikam::TagCheckView.

## ◆ isRestoreCheckState()

bool Digikam::AbstractCheckableAlbumTreeView::isRestoreCheckState | ( |  | ) | const

Returns
  true if restoring check state is active

## ◆ middleButtonPressed()

void Digikam::AbstractCheckableAlbumTreeView::middleButtonPressed | ( | Album * | a | ) |
| overrideprotectedvirtual

Reimplemented from Digikam::AbstractAlbumTreeView.

## ◆ setRestoreCheckState()

void Digikam::AbstractCheckableAlbumTreeView::setRestoreCheckState | ( | bool | restore | ) |

Parameters

  restore | if true, restore check state