summaryrefslogtreecommitdiffstats
path: root/src/widgets/dialogs/qfiledialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/dialogs/qfiledialog.cpp')
-rw-r--r--src/widgets/dialogs/qfiledialog.cpp42
1 files changed, 20 insertions, 22 deletions
diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp
index 9d5d8d2e24..455111225e 100644
--- a/src/widgets/dialogs/qfiledialog.cpp
+++ b/src/widgets/dialogs/qfiledialog.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtWidgets module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -327,16 +327,12 @@ Q_GLOBAL_STATIC(QUrl, lastVisitedDir)
This signal is emitted when the user selects a \a filter.
*/
-//#if defined(Q_WS_WIN) || defined(Q_WS_MAC)
-//bool Q_WIDGETS_EXPORT qt_use_native_dialogs = true; // for the benefit of testing tools, until we have a proper API
-//#endif
-
QT_BEGIN_INCLUDE_NAMESPACE
-#ifdef Q_WS_WIN
+#ifdef Q_DEAD_CODE_FROM_QT4_WIN
#include <qwindowsstyle_p.h>
#endif
#include <qshortcut.h>
-#ifdef Q_WS_MAC
+#ifdef Q_DEAD_CODE_FROM_QT4_MAC
#include <qmacstyle_mac_p.h>
#endif
QT_END_INCLUDE_NAMESPACE
@@ -590,10 +586,6 @@ void QFileDialogPrivate::helperPrepareShow(QPlatformDialogHelper *)
options->setHistory(q->history());
if (usingWidgets())
options->setSidebarUrls(qFileDialogUi->sidebar->urls());
- const QDir directory = q->directory();
- options->setInitialDirectory(directory.exists() ?
- QUrl::fromLocalFile(directory.absolutePath()) :
- QUrl());
if (options->initiallySelectedNameFilter().isEmpty())
options->setInitiallySelectedNameFilter(q->selectedNameFilter());
if (options->initiallySelectedFiles().isEmpty())
@@ -933,7 +925,6 @@ void QFileDialog::setDirectory(const QString &directory)
{
Q_D(QFileDialog);
QString newDirectory = directory;
- QFileInfo info(directory);
//we remove .. and . from the given path if exist
if (!directory.isEmpty())
newDirectory = QDir::cleanPath(directory);
@@ -1000,7 +991,7 @@ void QFileDialog::setDirectoryUrl(const QUrl &directory)
d->setDirectory_sys(directory);
else if (directory.isLocalFile())
setDirectory(directory.toLocalFile());
- else
+ else if (d->usingWidgets())
qWarning() << "Non-native QFileDialog supports only local files";
}
@@ -1219,7 +1210,7 @@ QList<QUrl> QFileDialogPrivate::userSelectedFiles() const
return files;
}
-QStringList QFileDialogPrivate::addDefaultSuffixToFiles(const QStringList filesToFix) const
+QStringList QFileDialogPrivate::addDefaultSuffixToFiles(const QStringList &filesToFix) const
{
QStringList files;
for (int i=0; i<filesToFix.size(); ++i) {
@@ -1525,6 +1516,8 @@ void QFileDialog::setFilter(QDir::Filters filters)
d->showHiddenAction->setChecked((filters & QDir::Hidden));
}
+#ifndef QT_NO_MIMETYPE
+
static QString nameFilterForMime(const QString &mimeType)
{
QMimeDatabase db;
@@ -1594,6 +1587,8 @@ void QFileDialog::selectMimeTypeFilter(const QString &filter)
selectNameFilter(text);
}
+#endif // QT_NO_MIMETYPE
+
/*!
\property QFileDialog::viewMode
\brief the way files and directories are displayed in the dialog
@@ -2852,9 +2847,12 @@ void QFileDialogPrivate::createWidgets()
if (!options->sidebarUrls().isEmpty())
q->setSidebarUrls(options->sidebarUrls());
q->setDirectoryUrl(options->initialDirectory());
+#ifndef QT_NO_MIMETYPE
if (!options->mimeTypeFilters().isEmpty())
q->setMimeTypeFilters(options->mimeTypeFilters());
- else if (!options->nameFilters().isEmpty())
+ else
+#endif
+ if (!options->nameFilters().isEmpty())
q->setNameFilters(options->nameFilters());
q->selectNameFilter(options->initiallySelectedNameFilter());
q->setDefaultSuffix(options->defaultSuffix());
@@ -3595,7 +3593,7 @@ void QFileDialogPrivate::_q_rowsInserted(const QModelIndex &parent)
return;
}
-void QFileDialogPrivate::_q_fileRenamed(const QString &path, const QString oldName, const QString newName)
+void QFileDialogPrivate::_q_fileRenamed(const QString &path, const QString &oldName, const QString &newName)
{
const QFileDialog::FileMode fileMode = q_func()->fileMode();
if (fileMode == QFileDialog::Directory || fileMode == QFileDialog::DirectoryOnly) {