Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
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:
22
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 };
33 typedef QList<FilterCondition> FilterConditionList;
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 };
39 typedef QList<Filter> FilterList;
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
67 QScopedPointer<QXdgDesktopPortalFileDialogPrivate> d_ptr;
68};
69
71
76
77#endif // QXDGDESKTOPPORTALFILEDIALOG_P_H
78
QObject * parent() const
Returns a pointer to the parent object.
Definition qobject.h:346
The QPlatformFileDialogHelper class allows for platform-specific customization of file dialogs.
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
\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
QXdgDesktopPortalFileDialog(QPlatformFileDialogHelper *nativeFileDialog=nullptr, uint fileChooserPortalVersion=0)
QList< QUrl > selectedFiles() const override
Combined button and popup list for selecting options.
WindowModality
#define Q_DECLARE_METATYPE(TYPE)
Definition qmetatype.h:1525
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
#define Q_OBJECT
#define Q_SLOTS
unsigned int uint
Definition qtypes.h:34
view show()
[18] //! [19]