1/*
2 This file is part of the KDE libraries
3 SPDX-FileCopyrightText: 2014 David Faure <faure@kde.org>
4
5 SPDX-License-Identifier: LGPL-2.0-or-later
6*/
7
8#ifndef KIO_RESTOREJOB_H
9#define KIO_RESTOREJOB_H
10
11#include <QObject>
12#include <QUrl>
13
14#include "job_base.h"
15#include "kiocore_export.h"
16
17namespace KIO
18{
19class RestoreJobPrivate;
20/*!
21 * \class KIO::RestoreJob
22 * \inheaderfile KIO/RestoreJob
23 * \inmodule KIOCore
24 *
25 * \brief RestoreJob is used to restore files from the trash.
26 *
27 * Don't create the job directly, but use KIO::restoreFromTrash().
28 *
29 * \sa KIO::trash()
30 * \sa KIO::copy()
31 * \since 5.2
32 */
33class KIOCORE_EXPORT RestoreJob : public Job
34{
35 Q_OBJECT
36
37public:
38 ~RestoreJob() override;
39
40 /*!
41 * Returns the list of trash URLs to restore.
42 */
43 QList<QUrl> trashUrls() const;
44
45Q_SIGNALS:
46
47protected Q_SLOTS:
48 void slotResult(KJob *job) override;
49
50protected:
51 KIOCORE_NO_EXPORT explicit RestoreJob(RestoreJobPrivate &dd);
52
53private:
54 Q_DECLARE_PRIVATE(RestoreJob)
55};
56
57/*!
58 * \relates KIO::RestoreJob
59 *
60 * Restore a set of trashed files or directories.
61 *
62 * \since 5.2
63 *
64 * \a urls the trash:/ URLs to restore. The trash implementation
65 * will know where the files came from and will restore them to their
66 * original location.
67 *
68 * \a flags restoreFromTrash() supports HideProgressInfo.
69 *
70 * Returns the job handling the operation
71 */
72KIOCORE_EXPORT RestoreJob *restoreFromTrash(const QList<QUrl> &urls, JobFlags flags = DefaultFlags);
73
74}
75
76#endif
77

source code of kio/src/core/restorejob.h