1// Copyright (C) 2021 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 QQUICKFOLDERDIALOG_P_P_H
5#define QQUICKFOLDERDIALOG_P_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 <QtQuickTemplates2/private/qquickdialog_p_p.h>
19#include <QtQuickTemplates2/private/qquickdialogbuttonbox_p.h>
20
21#include "qquickfolderdialogimpl_p.h"
22
23QT_BEGIN_NAMESPACE
24
25class QQuickFolderDialogImplPrivate : public QQuickDialogPrivate
26{
27 Q_DECLARE_PUBLIC(QQuickFolderDialogImpl)
28
29public:
30 QQuickFolderDialogImplPrivate();
31
32 static QQuickFolderDialogImplPrivate *get(QQuickFolderDialogImpl *dialog)
33 {
34 return dialog->d_func();
35 }
36
37 QQuickFolderDialogImplAttached *attachedOrWarn();
38
39 void updateEnabled();
40 void updateSelectedFolder(const QString &oldFolderPath);
41
42 void handleAccept() override;
43 void handleClick(QQuickAbstractButton *button) override;
44
45 QSharedPointer<QFileDialogOptions> options;
46 QUrl currentFolder;
47 QUrl selectedFolder;
48 QString acceptLabel;
49 QString rejectLabel;
50};
51
52class QQuickFolderDialogImplAttachedPrivate : public QObjectPrivate
53{
54public:
55 Q_DECLARE_PUBLIC(QQuickFolderDialogImplAttached)
56
57 void folderDialogListViewCurrentIndexChanged();
58
59 QPointer<QQuickDialogButtonBox> buttonBox;
60 QPointer<QQuickListView> folderDialogListView;
61 QPointer<QQuickFolderBreadcrumbBar> breadcrumbBar;
62};
63
64QT_END_NAMESPACE
65
66#endif // QQUICKFOLDERDIALOG_P_P_H
67

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