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
qquicklabsplatformfolderdialog.cpp
Go to the documentation of this file.
1// Copyright (C) 2017 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
5
7
12
70
85{
86 return m_folder;
87}
88
90{
91 if (m_folder == folder)
92 return;
93
94 m_folder = folder;
96}
97
110{
111 if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(handle())) {
112 const QList<QUrl> selectedFiles = fileDialog->selectedFiles();
113 if (!selectedFiles.isEmpty())
114 return selectedFiles.first();
115 return fileDialog->directory();
116 }
117 return m_options->initialDirectory();
118}
119
121{
122 if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(handle()))
123 fileDialog->setDirectory(folder);
124 m_options->setInitialDirectory(folder);
125}
126
143QFileDialogOptions::FileDialogOptions QQuickLabsPlatformFolderDialog::options() const
144{
145 return m_options->options();
146}
147
148void QQuickLabsPlatformFolderDialog::setOptions(QFileDialogOptions::FileDialogOptions options)
149{
150 if (options == m_options->options())
151 return;
152
153 m_options->setOptions(options);
155}
156
161
178
187
192
209
218
223
229
231{
232 if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(dialog)) {
234 fileDialog->setOptions(m_options);
235 }
236}
237
239{
240 m_options->setWindowTitle(title());
241 if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(dialog))
242 fileDialog->setOptions(m_options);
243}
244
250
252
253#include "moc_qquicklabsplatformfolderdialog_p.cpp"
void setWindowTitle(const QString &)
QString labelText(DialogLabel label) const
void setOptions(FileDialogOptions options)
FileDialogOptions options() const
void setLabelText(DialogLabel label, const QString &text)
void setFileMode(FileMode mode)
void setAcceptMode(AcceptMode mode)
void setInitialDirectory(const QUrl &)
bool testOption(FileDialogOption option) const
\inmodule QtCore
Definition qobject.h:103
static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
\threadsafe
Definition qobject.cpp:2960
The QPlatformDialogHelper class allows for platform-specific customization of dialogs.
The QPlatformFileDialogHelper class allows for platform-specific customization of file dialogs.
void currentChanged(const QUrl &path)
The QPlatformTheme class allows customizing the UI based on themes.
QPlatformDialogHelper * handle() const
virtual void accept()
\qmlmethod void Qt.labs.platform::Dialog::accept()
void setOptions(QFileDialogOptions::FileDialogOptions options)
void accept() override
\qmlmethod void Qt.labs.platform::Dialog::accept()
QFileDialogOptions::FileDialogOptions options
void onCreate(QPlatformDialogHelper *dialog) override
void onShow(QPlatformDialogHelper *dialog) override
QQuickLabsPlatformFolderDialog(QObject *parent=nullptr)
A native folder dialog.
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
\inmodule QtCore
Definition qurl.h:94
Combined button and popup list for selecting options.
SharedPointerFileDialogOptions m_options
GLuint GLsizei const GLchar * label
[43]
#define emit
QFileDialog dialog(this)
[1]
view create()