1/*
2 This file is part of the KDE project
3 SPDX-FileCopyrightText: 1999 David Faure <faure@kde.org>
4 SPDX-FileCopyrightText: 2001, 2002, 2004-2006 Michael Brade <brade@kde.org>
5
6 SPDX-License-Identifier: LGPL-2.0-or-later
7*/
8
9#ifndef kdirlister_h
10#define kdirlister_h
11
12#include "kiowidgets_export.h"
13#include <kcoredirlister.h>
14
15class QWidget;
16class KDirListerPrivate;
17
18/*!
19 * \class KDirLister
20 * \inmodule KIOWidgets
21 *
22 * \brief Subclass of KCoreDirLister which uses QWidgets to show error messages
23 * and to associate jobs with windows.
24 */
25class KIOWIDGETS_EXPORT KDirLister : public KCoreDirLister
26{
27 Q_OBJECT
28
29public:
30 /*!
31 * Create a directory lister.
32 */
33 explicit KDirLister(QObject *parent = nullptr);
34
35 /*!
36 * Destroy the directory lister.
37 */
38 ~KDirLister() override;
39
40 /*!
41 * Check whether auto error handling is enabled.
42 * If enabled, it will show an error dialog to the user when an
43 * error occurs. It is turned on by default.
44 *
45 * Returns \c true if auto error handling is enabled, \c false otherwise
46 * \sa setAutoErrorHandlingEnabled()
47 */
48 bool autoErrorHandlingEnabled() const; // KF6 remove, already provided by KCoreDirLister
49
50 /*!
51 * Pass the main window this object is associated with
52 * this is used for caching authentication data
53 *
54 * \a window the window to associate with, \c nullptr to disassociate
55 */
56 void setMainWindow(QWidget *window);
57
58 /*!
59 * Returns the main window associated with this object, or \c nullptr if there is none
60 */
61 QWidget *mainWindow();
62
63protected:
64 void jobStarted(KIO::ListJob *) override;
65
66private:
67 friend class KDirListerPrivate;
68 std::unique_ptr<KDirListerPrivate> d;
69};
70
71#endif
72

source code of kio/src/widgets/kdirlister.h