Qt 6.x
The Qt SDK
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
qxdgdesktopportalfiledialog_p.h
Go to the documentation of this file.
1// Copyright (C) 2017-2018 Red Hat, Inc
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3#ifndef QXDGDESKTOPPORTALFILEDIALOG_P_H
4#define QXDGDESKTOPPORTALFILEDIALOG_P_H
5
6#include <qpa/qplatformdialoghelper.h>
7#include <QList>
8
10
12
14{
16 Q_DECLARE_PRIVATE(QXdgDesktopPortalFileDialog)
17public:
21 };
22
25 MimeType = 1
26 };
27 // Filters a(sa(us))
28 // Example: [('Images', [(0, '*.ico'), (1, 'image/png')]), ('Text', [(0, '*.txt')])]
31 QString pattern; // E.g. '*ico' or 'image/png'
32 };
34
35 struct Filter {
36 QString name; // E.g. 'Images' or 'Text
37 FilterConditionList filterConditions;; // E.g. [(0, '*.ico'), (1, 'image/png')] or [(0, '*.txt')]
38 };
40
41 QXdgDesktopPortalFileDialog(QPlatformFileDialogHelper *nativeFileDialog = nullptr, uint fileChooserPortalVersion = 0);
43
44 bool defaultNameFilterDisables() const override;
45 QUrl directory() const override;
46 void setDirectory(const QUrl &directory) override;
47 void selectFile(const QUrl &filename) override;
48 QList<QUrl> selectedFiles() const override;
49 void setFilter() override;
50 void selectNameFilter(const QString &filter) override;
51 QString selectedNameFilter() const override;
52 void selectMimeTypeFilter(const QString &filter) override;
53 QString selectedMimeTypeFilter() const override;
54
55 void exec() override;
56 bool show(Qt::WindowFlags windowFlags, Qt::WindowModality windowModality, QWindow *parent) override;
57 void hide() override;
58
59private Q_SLOTS:
60 void gotResponse(uint response, const QVariantMap &results);
61
62private:
63 void initializeDialog();
64 void openPortal(Qt::WindowFlags windowFlags, Qt::WindowModality windowModality, QWindow *parent);
65 bool useNativeFileDialog(FallbackType fallbackType = GenericFallback) const;
66
68};
69
71
76
77#endif // QXDGDESKTOPPORTALFILEDIALOG_P_H
78
Definition qlist.h:74
QObject * parent() const
Returns a pointer to the parent object.
Definition qobject.h:311
The QPlatformFileDialogHelper class allows for platform-specific customization of file dialogs.
\inmodule QtCore
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:127
\inmodule QtCore
Definition qurl.h:94
\inmodule QtGui
Definition qwindow.h:63
void selectNameFilter(const QString &filter) override
QString selectedMimeTypeFilter() const override
QList< FilterCondition > FilterConditionList
void selectMimeTypeFilter(const QString &filter) override
void setDirectory(const QUrl &directory) override
void selectFile(const QUrl &filename) override
QList< QUrl > selectedFiles() const override
Combined button and popup list for selecting options.
WindowModality
#define Q_DECLARE_METATYPE(TYPE)
Definition qmetatype.h:1504
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
#define Q_OBJECT
#define Q_SLOTS
unsigned int uint
Definition qtypes.h:29
view show()
[18] //! [19]