digiKam
Loading...
Searching...
No Matches
albumhistory.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2004-11-17
7 * Description : Albums history manager.
8 *
9 * SPDX-FileCopyrightText: 2004 by Joern Ahrens <joern dot ahrens at kdemail dot net>
10 * SPDX-FileCopyrightText: 2006-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
11 * SPDX-FileCopyrightText: 2014 by Mohamed_Anwer <m_dot_anwer at gmx dot com>
12 *
13 * SPDX-License-Identifier: GPL-2.0-or-later
14 *
15 * ============================================================ */
16
17#pragma once
18
19// Qt includes
20
21#include <QList>
22#include <QObject>
23#include <QStringList>
24
25// Local includes
26
27#include "labelstreeview.h"
28#include "iteminfo.h"
29
30namespace Digikam
31{
32
33class Album;
34class HistoryItem;
35class HistoryPosition;
36
43class AlbumHistory : public QObject
44{
45 Q_OBJECT
46
47public:
48
49 explicit AlbumHistory(QObject* const parent = nullptr);
50 ~AlbumHistory() override;
51
52 void addAlbums(const QList<Album*>& albums,
53 QWidget* const widget = nullptr);
54
55 void addAlbums(const QList<Album*>& albums,
56 QWidget* const widget,
57 const QHash<LabelsTreeView::Labels, QList<int> >& selectedLabels);
58
59 void deleteAlbum(Album* const album);
60 void clearHistory();
61
62 void back(QList<Album*>& album,
63 QWidget** const widget,
64 unsigned int steps = 1);
65
66 void forward(QList<Album*>& album,
67 QWidget** const widget,
68 unsigned int steps = 1);
69
70 void getCurrentAlbum(Album** const album,
71 QWidget** const widget) const;
72
73 void getBackwardHistory(QStringList& list) const;
74 void getForwardHistory(QStringList& list) const;
75
76 bool isForwardEmpty() const;
77 bool isBackwardEmpty() const;
78
79 QHash<LabelsTreeView::Labels, QList<int> > neededLabels();
80
81Q_SIGNALS:
82
83 void signalSetCurrent(qlonglong imageId);
84 void signalSetSelectedInfos(const QList<ItemInfo>&);
85
86public Q_SLOTS:
87
89 void slotAlbumDeleted(Album* album);
90 void slotAlbumsCleared();
91 void slotAlbumSelected();
92 void slotClearSelectPAlbum(const ItemInfo& imageInfo);
93 void slotClearSelectTAlbum(int id);
94 void slotCurrentChange(const ItemInfo& info);
95 void slotImageSelected(const ItemInfoList& selectedImage);
96
97private:
98
99 class Private;
100 Private* const d = nullptr;
101};
102
103} // namespace Digikam
Definition albumhistory.h:44
void slotCurrentChange(const ItemInfo &info)
Definition albumhistory.cpp:558
void signalSetSelectedInfos(const QList< ItemInfo > &)
bool isBackwardEmpty() const
Definition albumhistory.cpp:516
bool isForwardEmpty() const
Definition albumhistory.cpp:509
void addAlbums(const QList< Album * > &albums, QWidget *const widget=nullptr)
Definition albumhistory.cpp:204
void getBackwardHistory(QStringList &list) const
Definition albumhistory.cpp:371
void slotAlbumsCleared()
Definition albumhistory.cpp:621
void getForwardHistory(QStringList &list) const
Definition albumhistory.cpp:405
void clearHistory()
Definition albumhistory.cpp:193
void slotAlbumCurrentChanged()
Definition albumhistory.cpp:543
void slotAlbumSelected()
Definition albumhistory.cpp:531
void back(QList< Album * > &album, QWidget **const widget, unsigned int steps=1)
Definition albumhistory.cpp:437
void getCurrentAlbum(Album **const album, QWidget **const widget) const
Definition albumhistory.cpp:489
~AlbumHistory() override
Definition albumhistory.cpp:187
void deleteAlbum(Album *const album)
Definition albumhistory.cpp:264
QHash< LabelsTreeView::Labels, QList< int > > neededLabels()
Definition albumhistory.cpp:526
void slotClearSelectTAlbum(int id)
Definition albumhistory.cpp:597
void slotClearSelectPAlbum(const ItemInfo &imageInfo)
Definition albumhistory.cpp:585
void slotImageSelected(const ItemInfoList &selectedImage)
Definition albumhistory.cpp:570
void slotAlbumDeleted(Album *album)
Definition albumhistory.cpp:609
void forward(QList< Album * > &album, QWidget **const widget, unsigned int steps=1)
Definition albumhistory.cpp:466
void signalSetCurrent(qlonglong imageId)
Abstract base class for all album types.
Definition album.h:57
Definition iteminfolist.h:37
Definition iteminfo.h:68
Labels
Definition labelstreeview.h:39
@ Album
Definition coredbfields.h:48
Definition datefolderview.cpp:34