digiKam
Loading...
Searching...
No Matches
dfiledialog.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 : 2017-07-04
7 * Description : wrapper for the QFileDialog
8 *
9 * SPDX-FileCopyrightText: 2014-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 * SPDX-FileCopyrightText: 2017-2022 by Maik Qualmann <metzpinguin at gmail dot com>
11 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 *
14 * ============================================================ */
15
16#pragma once
17
18// Qt includes
19
20#include <QFileDialog>
21
22// Local includes
23
24#include "digikam_export.h"
25
26namespace Digikam
27{
28
29class DIGIKAM_EXPORT DFileDialog : public QFileDialog
30{
31 Q_OBJECT
32
33public:
34
35 explicit DFileDialog(QWidget* const parent,
36 Qt::WindowFlags flags);
37
38 explicit DFileDialog(QWidget* const parent = nullptr,
39 const QString& caption = QString(),
40 const QString& directory = QString(),
41 const QString& filter = QString());
42 ~DFileDialog() override = default;
43
44 bool hasAcceptedUrls() const;
45
46 static QString getExistingDirectory(QWidget* const parent = nullptr,
47 const QString& caption = QString(),
48 const QString& dir = QString(),
49 Options options = ShowDirsOnly);
50
51 static QUrl getExistingDirectoryUrl(QWidget* const parent = nullptr,
52 const QString& caption = QString(),
53 const QUrl& dir = QUrl(),
54 Options options = ShowDirsOnly,
55 const QStringList& supportedSchemes = QStringList());
56
57 static QString getOpenFileName(QWidget* const parent = nullptr,
58 const QString& caption = QString(),
59 const QString& dir = QString(),
60 const QString& filter = QString(),
61 QString* selectedFilter = nullptr,
62 Options options = Options());
63
64 static QStringList getOpenFileNames(QWidget* const parent = nullptr,
65 const QString& caption = QString(),
66 const QString& dir = QString(),
67 const QString& filter = QString(),
68 QString* selectedFilter = nullptr,
69 Options options = Options());
70
71 static QUrl getOpenFileUrl(QWidget* const parent = nullptr,
72 const QString& caption = QString(),
73 const QUrl& dir = QUrl(),
74 const QString& filter = QString(),
75 QString* selectedFilter = nullptr,
76 Options options = Options(),
77 const QStringList& supportedSchemes = QStringList());
78
79 static QList<QUrl> getOpenFileUrls(QWidget* const parent = nullptr,
80 const QString& caption = QString(),
81 const QUrl& dir = QUrl(),
82 const QString& filter = QString(),
83 QString* selectedFilter = nullptr,
84 Options options = Options(),
85 const QStringList& supportedSchemes = QStringList());
86
87 static QString getSaveFileName(QWidget* const parent = nullptr,
88 const QString& caption = QString(),
89 const QString& dir = QString(),
90 const QString& filter = QString(),
91 QString* selectedFilter = nullptr,
92 Options options = Options());
93
94 static QUrl getSaveFileUrl(QWidget* const parent = nullptr,
95 const QString& caption = QString(),
96 const QUrl& dir = QUrl(),
97 const QString& filter = QString(),
98 QString* selectedFilter = nullptr,
99 Options options = Options(),
100 const QStringList& supportedSchemes = QStringList());
101
102private:
103
104 static QFileDialog::Option getNativeFileDialogOption();
105};
106
107} // namespace Digikam
Definition dfiledialog.h:30
~DFileDialog() override=default
Definition datefolderview.cpp:34