digiKam
Loading...
Searching...
No Matches
dtrash.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-07-27
7 * Description : Special digiKam trash implementation
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 <QObject>
20#include <QFileInfo>
21
22// Local includes
23
24#include "dtrashiteminfo.h"
25
26namespace Digikam
27{
28
29class DTrash
30{
31
32public:
33
34 const static QString TRASH_FOLDER;
35 const static QString FILES_FOLDER;
36 const static QString INFO_FOLDER;
37 const static QString INFO_FILE_EXTENSION;
38 const static QString PATH_JSON_KEY;
39 const static QString DELETIONTIMESTAMP_JSON_KEY;
40 const static QString IMAGEID_JSON_KEY;
41
42public:
43
49 static bool deleteImage(const QString& imagePath, const QDateTime& deleteTime);
50
56 static bool deleteDirRecursivley(const QString& dirToDelete, const QDateTime& deleteTime);
57
64 static void extractJsonForItem(const QString& collPath, const QString& baseName, DTrashItemInfo& itemInfo);
65
66private:
67
73 static bool prepareCollectionTrash(const QString& collectionPath);
74
86 static QString createJsonRecordForFile(qlonglong imageId,
87 const QString& imagePath,
88 const QDateTime& deleteTime,
89 const QString& collectionPath);
90
104 static QString getAvialableJsonFilePathInTrash(const QString& collectionPath,
105 const QString& baseName, int version = 0);
106
107private:
108
109 DTrash() = default;
110};
111
112} // namespace Digikam
Definition dtrashiteminfo.h:26
Definition dtrash.h:30
static const QString TRASH_FOLDER
Definition dtrash.h:34
static const QString INFO_FILE_EXTENSION
Definition dtrash.h:37
static const QString INFO_FOLDER
Definition dtrash.h:36
static const QString FILES_FOLDER
Definition dtrash.h:35
static void extractJsonForItem(const QString &collPath, const QString &baseName, DTrashItemInfo &itemInfo)
Extracts the data from json file and gives it to DTrashItemInfo.
Definition dtrash.cpp:121
static const QString PATH_JSON_KEY
Definition dtrash.h:38
static const QString DELETIONTIMESTAMP_JSON_KEY
Definition dtrash.h:39
static bool deleteDirRecursivley(const QString &dirToDelete, const QDateTime &deleteTime)
Deletes a whole folder from the collection.
Definition dtrash.cpp:95
static const QString IMAGEID_JSON_KEY
Definition dtrash.h:40
static bool deleteImage(const QString &imagePath, const QDateTime &deleteTime)
Deletes image to the trash of a particular collection.
Definition dtrash.cpp:46
Definition datefolderview.cpp:34