digiKam
Loading...
Searching...
No Matches
itemviewutilities.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 : 2009-05-04
7 * Description : Various operation on items
8 *
9 * SPDX-FileCopyrightText: 2002-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 * SPDX-FileCopyrightText: 2009-2010 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
11 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 *
14 * ============================================================ */
15
16#pragma once
17
18// Qt includes
19
20#include <QList>
21#include <QWidget>
22#include <QUrl>
23
24// Local includes
25
26#include "iteminfo.h"
27#include "digikam_export.h"
28
29namespace Digikam
30{
31class Album;
32
33class DIGIKAM_GUI_EXPORT ItemViewUtilities : public QObject
34{
35 Q_OBJECT
36
37public:
38
40 {
41 DeletePermanently = 1,
42 DeleteUseTrash = 2
43 };
44
45public:
46
47 explicit ItemViewUtilities(QWidget* const parentWidget);
48
49public Q_SLOTS:
50
51 void copyItemsToExternalFolder(const QList<ItemInfo>& infos);
52 void createNewAlbumForInfos(const QList<ItemInfo>& infos, Album* currentAlbum);
53 bool deleteImages(const QList<ItemInfo>& infos, const DeleteMode deleteMode);
54 void deleteImagesDirectly(const QList<ItemInfo>& infos, const DeleteMode deleteMode);
55
56 void insertToLightTableAuto(const QList<ItemInfo>& all, const QList<ItemInfo>& selected, const ItemInfo& current);
57 void insertToLightTable(const QList<ItemInfo>& list, const ItemInfo& current, bool addTo);
58
59 void insertToQueueManager(const QList<ItemInfo>& list, const ItemInfo& currentInfo, bool newQueue);
60 void insertSilentToQueueManager(const QList<ItemInfo>& list, const ItemInfo& currentInfo, int queueid);
61
62 void notifyFileContentChanged(const QList<QUrl>& urls);
63
64 void openInfos(const ItemInfo& info, const QList<ItemInfo>& allInfosToOpen, Album* currentAlbum);
65 void openInfosWithDefaultApplication(const QList<ItemInfo>& allInfosToOpen);
66
67 void rename(const QUrl& imageUrl, const QString& newName, bool overwrite = false);
68 void setAsAlbumThumbnail(Album* album, const ItemInfo& itemInfo);
69
70 void createGroupByTimeFromInfoList(const ItemInfoList& itemInfoList);
71 void createGroupByFilenameFromInfoList(const ItemInfoList& itemInfoList);
72 void createGroupByTimelapseFromInfoList(const ItemInfoList& itemInfoList);
73
74Q_SIGNALS:
75
76 void editorCurrentUrlChanged(const QUrl& url);
77 void signalImagesDeleted(const QList<qlonglong>& imageIds);
78
79protected:
80
81 QWidget* m_widget = nullptr;
82};
83
84} // namespace Digikam
85
Abstract base class for all album types.
Definition album.h:57
Definition iteminfolist.h:37
Definition iteminfo.h:68
Definition itemviewutilities.h:34
void editorCurrentUrlChanged(const QUrl &url)
DeleteMode
Definition itemviewutilities.h:40
void signalImagesDeleted(const QList< qlonglong > &imageIds)
@ Album
Definition coredbfields.h:48
Definition datefolderview.cpp:34