Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
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// Qt-Security score:significant reason:default
4#ifndef QXDGDESKTOPPORTALFILEDIALOG_P_H
5#define QXDGDESKTOPPORTALFILEDIALOG_P_H
6
7#include <qpa/qplatformdialoghelper.h>
8#include <QList>
9
10QT_BEGIN_NAMESPACE
11
12class QXdgDesktopPortalFileDialogPrivate;
13
15{
16 Q_OBJECT
17 Q_DECLARE_PRIVATE(QXdgDesktopPortalFileDialog)
18public:
23
28 // Filters a(sa(us))
29 // Example: [('Images', [(0, '*.ico'), (1, 'image/png')]), ('Text', [(0, '*.txt')])]
32 QString pattern; // E.g. '*ico' or 'image/png'
33 };
35
36 struct Filter {
37 QString name; // E.g. 'Images' or 'Text
38 FilterConditionList filterConditions;; // E.g. [(0, '*.ico'), (1, 'image/png')] or [(0, '*.txt')]
39 };
41
42 QXdgDesktopPortalFileDialog(QPlatformFileDialogHelper *nativeFileDialog = nullptr, uint fileChooserPortalVersion = 0);
44
46 QUrl directory() const override;
47 void setDirectory(const QUrl &directory) override;
48 void selectFile(const QUrl &filename) override;
49 QList<QUrl> selectedFiles() const override;
50 void setFilter() override;
51 void selectNameFilter(const QString &filter) override;
52 QString selectedNameFilter() const override;
53 void selectMimeTypeFilter(const QString &filter) override;
54 QString selectedMimeTypeFilter() const override;
55
56 void exec() override;
57 bool show(Qt::WindowFlags windowFlags, Qt::WindowModality windowModality, QWindow *parent) override;
58 void hide() override;
59
60private Q_SLOTS:
62
63private:
64 void initializeDialog();
65 void openPortal(Qt::WindowFlags windowFlags, Qt::WindowModality windowModality, QWindow *parent);
66 bool useNativeFileDialog(FallbackType fallbackType = GenericFallback) const;
67
68 QScopedPointer<QXdgDesktopPortalFileDialogPrivate> d_ptr;
69};
70
72
77
78#endif // QXDGDESKTOPPORTALFILEDIALOG_P_H
std::unique_ptr< QPlatformFileDialogHelper > nativeFileDialog
QXdgDesktopPortalFileDialogPrivate(QPlatformFileDialogHelper *nativeFileDialog, uint fileChooserPortalVersion)
void selectNameFilter(const QString &filter) override
QString selectedMimeTypeFilter() const override
QList< FilterCondition > FilterConditionList
bool show(Qt::WindowFlags windowFlags, Qt::WindowModality windowModality, QWindow *parent) override
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
const QDBusArgument & operator>>(const QDBusArgument &argument, QXdgDBusImageVector &iconVector)
QTextStream & operator<<(QTextStream &s, QTextStreamFunction f)
QDBusArgument & operator<<(QDBusArgument &arg, const QXdgDesktopPortalFileDialog::FilterCondition &filterCondition)
const QDBusArgument & operator>>(const QDBusArgument &arg, QXdgDesktopPortalFileDialog::FilterCondition &filterCondition)
Q_DECLARE_METATYPE(QXdgDesktopPortalFileDialog::FilterList)
Q_DECLARE_METATYPE(QXdgDesktopPortalFileDialog::FilterConditionList)
Q_DECLARE_METATYPE(QXdgDesktopPortalFileDialog::Filter)
QT_END_NAMESPACE Q_DECLARE_METATYPE(QXdgDesktopPortalFileDialog::FilterCondition)