digiKam
Loading...
Searching...
No Matches
iojobdata.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 : 2018-02-24
7 * Description : Container for IOJob data.
8 *
9 * SPDX-FileCopyrightText: 2018 by Maik Qualmann <metzpinguin at gmail 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 <QUrl>
20#include <QList>
21#include <QDateTime>
22
23// Local includes
24
25#include "digikam_export.h"
26#include "dtrashiteminfo.h"
27
28namespace Digikam
29{
30
31class PAlbum;
32class ItemInfo;
33
34class DIGIKAM_GUI_EXPORT IOJobData
35{
36
37public:
38
55
57 {
58 Continue = 0,
60 Overwrite
61 };
62
63public:
64
65 explicit IOJobData(int operation,
66 const QList<ItemInfo>& infos,
67 PAlbum* const dest = nullptr);
68
69 explicit IOJobData(int operation,
70 const QList<ItemInfo>& infos,
71 const QUrl& dest);
72
73 explicit IOJobData(int operation,
74 const QList<QUrl>& urls,
75 PAlbum* const dest = nullptr);
76
77 explicit IOJobData(int operation,
78 PAlbum* const src,
79 PAlbum* const dest = nullptr);
80
81 explicit IOJobData(int operation,
82 const QList<QUrl>& urls,
83 const QUrl& dest);
84
85 explicit IOJobData(int operation,
86 const ItemInfo& info,
87 const QString& newName,
88 bool overwrite = false);
89
90 explicit IOJobData(int operation,
91 const DTrashItemInfoList& infos);
92
93 ~IOJobData();
94
95 void setItemInfos(const QList<ItemInfo>& infos);
96 void setSourceUrls(const QList<QUrl>& urls);
97
98 void setDestUrl(const QUrl& srcUrl,
99 const QUrl& destUrl);
100
101 void setProgressId(const QString& id);
102
103 void setFileConflict(int fc);
104 void setErrorOrCancel(bool err);
105
106 int operation() const;
107
108 int fileConflict() const;
109
110 bool errorOrCancel() const;
111
112 PAlbum* srcAlbum() const;
113 PAlbum* destAlbum() const;
114
115 QUrl destUrl(const QUrl& srcUrl = QUrl()) const;
116 QUrl getNextUrl() const;
117
118 QString destName(const QUrl& srcUrl) const;
119 QString getProgressId() const;
120 QDateTime jobTime() const;
121
122 ItemInfo findItemInfo(const QUrl& url) const;
123
124 QList<int> srcAlbumIds() const;
125 QList<QUrl> sourceUrls() const;
126 QList<ItemInfo> itemInfos() const;
127
128 DTrashItemInfoList trashItems() const;
129
130private:
131
132 // Disable
133 IOJobData(const IOJobData&) = delete;
134 IOJobData& operator=(const IOJobData&) = delete;
135
136private:
137
138 class Private;
139 Private* const d = nullptr;
140};
141
142} // namespace Digikam
Definition iojobdata.h:35
FileConflict
Definition iojobdata.h:57
@ AutoRename
Definition iojobdata.h:59
Operation
Definition iojobdata.h:40
@ Rename
Definition iojobdata.h:50
@ Trash
Definition iojobdata.h:52
@ Restore
Definition iojobdata.h:49
@ CopyToExt
Definition iojobdata.h:45
@ CopyImage
Definition iojobdata.h:43
@ MoveFiles
Definition iojobdata.h:48
@ MoveAlbum
Definition iojobdata.h:46
@ CopyAlbum
Definition iojobdata.h:42
@ Delete
Definition iojobdata.h:51
@ CopyFiles
Definition iojobdata.h:44
@ MoveImage
Definition iojobdata.h:47
Definition iteminfo.h:68
Definition album.h:357
Definition datefolderview.cpp:34
QList< DTrashItemInfo > DTrashItemInfoList
Definition dtrashiteminfo.h:45