1// Copyright (C) 2017 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QQUICKPLATFORMFOLDERDIALOG_P_H
5#define QQUICKPLATFORMFOLDERDIALOG_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This folder is not part of the Qt API. It exists purely as an
12// implementation detail. This header folder may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <QtGui/qpa/qplatformdialoghelper.h>
19
20#include "qquickfolderdialogimpl_p.h"
21#include "qtquickdialogs2quickimplglobal_p.h"
22
23QT_BEGIN_NAMESPACE
24
25class QQuickFileDialogImpl;
26class QWindow;
27
28class Q_QUICKDIALOGS2QUICKIMPL_PRIVATE_EXPORT QQuickPlatformFolderDialog : public QPlatformFileDialogHelper
29{
30 Q_OBJECT
31
32public:
33 explicit QQuickPlatformFolderDialog(QObject *parent);
34 ~QQuickPlatformFolderDialog() = default;
35
36 bool isValid() const;
37 bool defaultNameFilterDisables() const override;
38 void setDirectory(const QUrl &directory) override;
39 QUrl directory() const override;
40 void selectFile(const QUrl &file) override;
41 QList<QUrl> selectedFiles() const override;
42 void setFilter() override;
43 void selectNameFilter(const QString &filter) override;
44 QString selectedNameFilter() const override;
45
46 void exec() override;
47 bool show(Qt::WindowFlags flags, Qt::WindowModality modality, QWindow *parent) override;
48 void hide() override;
49
50 QQuickFolderDialogImpl *dialog() const;
51
52private:
53 QQuickFolderDialogImpl *m_dialog = nullptr;
54};
55
56QT_END_NAMESPACE
57
58#endif // QQUICKPLATFORMFOLDERDIALOG_P_H
59

source code of qtdeclarative/src/quickdialogs/quickdialogsquickimpl/qquickplatformfolderdialog_p.h