Add QXdgDesktopPortalFileDialog::useNativeFileDialog()
Task-number: QTBUG-98988 Change-Id: I39417f089d839a9af009791088bd20058532bd7a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 6f9f6849c53e057e8b4186db64a1a6b5e1f31eca) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
ec2ce79b77
commit
e737c163b0
@ -298,7 +298,7 @@ QUrl QXdgDesktopPortalFileDialog::directory() const
|
|||||||
{
|
{
|
||||||
Q_D(const QXdgDesktopPortalFileDialog);
|
Q_D(const QXdgDesktopPortalFileDialog);
|
||||||
|
|
||||||
if (d->nativeFileDialog && (options()->fileMode() == QFileDialogOptions::Directory || options()->fileMode() == QFileDialogOptions::DirectoryOnly))
|
if (d->nativeFileDialog && useNativeFileDialog())
|
||||||
return d->nativeFileDialog->directory();
|
return d->nativeFileDialog->directory();
|
||||||
|
|
||||||
return d->directory;
|
return d->directory;
|
||||||
@ -320,7 +320,7 @@ QList<QUrl> QXdgDesktopPortalFileDialog::selectedFiles() const
|
|||||||
{
|
{
|
||||||
Q_D(const QXdgDesktopPortalFileDialog);
|
Q_D(const QXdgDesktopPortalFileDialog);
|
||||||
|
|
||||||
if (d->nativeFileDialog && (options()->fileMode() == QFileDialogOptions::Directory || options()->fileMode() == QFileDialogOptions::DirectoryOnly))
|
if (d->nativeFileDialog && useNativeFileDialog())
|
||||||
return d->nativeFileDialog->selectedFiles();
|
return d->nativeFileDialog->selectedFiles();
|
||||||
|
|
||||||
QList<QUrl> files;
|
QList<QUrl> files;
|
||||||
@ -375,7 +375,7 @@ void QXdgDesktopPortalFileDialog::exec()
|
|||||||
{
|
{
|
||||||
Q_D(QXdgDesktopPortalFileDialog);
|
Q_D(QXdgDesktopPortalFileDialog);
|
||||||
|
|
||||||
if (d->nativeFileDialog && (options()->fileMode() == QFileDialogOptions::Directory || options()->fileMode() == QFileDialogOptions::DirectoryOnly)) {
|
if (d->nativeFileDialog && useNativeFileDialog()) {
|
||||||
d->nativeFileDialog->exec();
|
d->nativeFileDialog->exec();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -404,7 +404,7 @@ bool QXdgDesktopPortalFileDialog::show(Qt::WindowFlags windowFlags, Qt::WindowMo
|
|||||||
d->modal = windowModality != Qt::NonModal;
|
d->modal = windowModality != Qt::NonModal;
|
||||||
d->winId = parent ? parent->winId() : 0;
|
d->winId = parent ? parent->winId() : 0;
|
||||||
|
|
||||||
if (d->nativeFileDialog && (options()->fileMode() == QFileDialogOptions::Directory || options()->fileMode() == QFileDialogOptions::DirectoryOnly))
|
if (d->nativeFileDialog && useNativeFileDialog())
|
||||||
return d->nativeFileDialog->show(windowFlags, windowModality, parent);
|
return d->nativeFileDialog->show(windowFlags, windowModality, parent);
|
||||||
|
|
||||||
openPortal();
|
openPortal();
|
||||||
@ -437,6 +437,16 @@ void QXdgDesktopPortalFileDialog::gotResponse(uint response, const QVariantMap &
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool QXdgDesktopPortalFileDialog::useNativeFileDialog() const
|
||||||
|
{
|
||||||
|
if (options()->fileMode() == QFileDialogOptions::Directory)
|
||||||
|
return true;
|
||||||
|
else if (options()->fileMode() == QFileDialogOptions::DirectoryOnly)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
#include "moc_qxdgdesktopportalfiledialog_p.cpp"
|
#include "moc_qxdgdesktopportalfiledialog_p.cpp"
|
||||||
|
@ -57,6 +57,7 @@ private Q_SLOTS:
|
|||||||
private:
|
private:
|
||||||
void initializeDialog();
|
void initializeDialog();
|
||||||
void openPortal();
|
void openPortal();
|
||||||
|
bool useNativeFileDialog() const;
|
||||||
|
|
||||||
QScopedPointer<QXdgDesktopPortalFileDialogPrivate> d_ptr;
|
QScopedPointer<QXdgDesktopPortalFileDialogPrivate> d_ptr;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user