digiKam
Loading...
Searching...
No Matches
dtrashitemmodel.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 : 2015-08-09
7 * Description : DTrash item info model
8 *
9 * SPDX-FileCopyrightText: 2015 by Mohamed_Anwer <m_dot_anwer at gmx dot com>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Qt includes
18
19#include <QWidget>
20#include <QAbstractTableModel>
21
22// Local includes
23
24#include "dtrashiteminfo.h"
25#include "thumbnailloadthread.h"
26
27namespace Digikam
28{
29
30class DTrashItemModel : public QAbstractTableModel
31{
32 Q_OBJECT
33
34public:
35
43
44public:
45
46 explicit DTrashItemModel(QObject* const parent, QWidget* const widget);
47 ~DTrashItemModel() override;
48
55 bool pixmapForItem(const QString& path, QPixmap& pix) const;
56
60 void clearCurrentData();
61
66 void loadItemsForCollection(const QString& colPath);
67
71 DTrashItemInfo itemForIndex(const QModelIndex& index);
72
76 DTrashItemInfoList itemsForIndexes(const QList<QModelIndex>& indexes);
77
81 QModelIndex indexForItem(const DTrashItemInfo& itemInfo) const;
82
87
91 bool isEmpty();
92
97 void changeThumbSize(int size);
98
102 void stopLoadingTrash();
103
105public:
106
107 int rowCount(const QModelIndex&) const override;
108 int columnCount(const QModelIndex&) const override;
109
110 QVariant data(const QModelIndex& index, int role) const override;
111 QVariant headerData(int section, Qt::Orientation orientation, int role) const override;
112
113 void sort(int column, Qt::SortOrder order = Qt::AscendingOrder) override;
114 QString trashAlbumPath() const;
115
116public Q_SLOTS:
117
122 void append(const DTrashItemInfo& itemInfo);
123
129 void removeItems(const QModelIndexList& indexes);
130
134 void refreshLayout();
135
141 void refreshThumbnails(const LoadingDescription& desc, const QPixmap& pix);
142
143Q_SIGNALS:
144
148
149private Q_SLOTS:
150
151 void slotLoadItemsFinished();
152
153private:
154
155 class Private;
156 Private* const d = nullptr;
157};
158
159} // namespace Digikam
Definition dtrashiteminfo.h:26
Definition dtrashitemmodel.h:31
QModelIndex indexForItem(const DTrashItemInfo &itemInfo) const
returns the index for the DTrashItemInfo in model
Definition dtrashitemmodel.cpp:417
void removeItems(const QModelIndexList &indexes)
removes list of items for given indexes from model data and informs the view
Definition dtrashitemmodel.cpp:293
QString trashAlbumPath() const
Definition dtrashitemmodel.cpp:465
bool isEmpty()
Definition dtrashitemmodel.cpp:434
QVariant data(const QModelIndex &index, int role) const override
Definition dtrashitemmodel.cpp:98
DTrashItemInfo itemForIndex(const QModelIndex &index)
returns DTrashItemInfo for specific index in model
Definition dtrashitemmodel.cpp:390
void loadItemsForCollection(const QString &colPath)
Runs a thread to list all items from a collection trash.
Definition dtrashitemmodel.cpp:368
void refreshLayout()
refreshes the view layout
Definition dtrashitemmodel.cpp:326
QVariant headerData(int section, Qt::Orientation orientation, int role) const override
Definition dtrashitemmodel.cpp:245
void sort(int column, Qt::SortOrder order=Qt::AscendingOrder) override
Definition dtrashitemmodel.cpp:193
void changeThumbSize(int size)
Changes the thumbnail size.
Definition dtrashitemmodel.cpp:439
void refreshThumbnails(const LoadingDescription &desc, const QPixmap &pix)
refreshes the thumbnails
Definition dtrashitemmodel.cpp:336
int columnCount(const QModelIndex &) const override
Definition dtrashitemmodel.cpp:93
DTrashColumn
Definition dtrashitemmodel.h:37
@ DTrashTimeStamp
Definition dtrashitemmodel.h:40
@ DTrashRelPath
Definition dtrashitemmodel.h:39
@ DTrashThumb
Definition dtrashitemmodel.h:38
@ DTrashNumCol
Definition dtrashitemmodel.h:41
~DTrashItemModel() override
Definition dtrashitemmodel.cpp:80
void append(const DTrashItemInfo &itemInfo)
appends item to model data and informs the view
Definition dtrashitemmodel.cpp:281
int rowCount(const QModelIndex &) const override
QAbstractItemModel interface.
Definition dtrashitemmodel.cpp:88
void stopLoadingTrash()
Stop loading of trash.
Definition dtrashitemmodel.cpp:451
DTrashItemInfoList allItems()
returns a list of all items in model
Definition dtrashitemmodel.cpp:429
bool pixmapForItem(const QString &path, QPixmap &pix) const
loads a thumbnail for item in trash for showing
Definition dtrashitemmodel.cpp:234
DTrashItemInfoList itemsForIndexes(const QList< QModelIndex > &indexes)
returns DTrashItemInfoList for given indexes in model
Definition dtrashitemmodel.cpp:400
void clearCurrentData()
Clears all data from model and informs the view.
Definition dtrashitemmodel.cpp:358
Definition loadingdescription.h:35
Definition datefolderview.cpp:34
QList< DTrashItemInfo > DTrashItemInfoList
Definition dtrashiteminfo.h:45