diff options
author | David Faure <david.faure@kdab.com> | 2014-07-09 15:03:35 +0200 |
---|---|---|
committer | David Faure <david.faure@kdab.com> | 2014-07-26 09:49:33 +0200 |
commit | fd331a5b3a122393cd697a8b856dd52cfd31d698 (patch) | |
tree | 8743ce9b26863cbd5091624e8168257e1d7f6f01 /src/widgets | |
parent | 63efdf9851915ce3b81bffe089fcd1995d6750f8 (diff) |
QUrl: fromLocalFile(QString()) should lead to an empty URL.
This is much more useful than the URL "file:", it allows to use
"empty path" and "empty URL" for the same meaning (e.g. not set).
QFileDialog actually uses "file:" though, as the URL for the
"My Computer" item in the sidebar. This patch preserves that.
[ChangeLog][QtCore][QUrl] QUrl::fromLocalFile now returns an empty URL
if the input string is empty.
Change-Id: Ib5ce1a3cdf5f229368e5bcd83c62c1d1ac9f8a17
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/dialogs/qfiledialog.cpp | 4 | ||||
-rw-r--r-- | src/widgets/dialogs/qsidebar.cpp | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp index 257f8b25e3..605d430edf 100644 --- a/src/widgets/dialogs/qfiledialog.cpp +++ b/src/widgets/dialogs/qfiledialog.cpp @@ -2736,7 +2736,7 @@ void QFileDialogPrivate::createWidgets() qFileDialogUi->setupUi(q); QList<QUrl> initialBookmarks; - initialBookmarks << QUrl::fromLocalFile(QLatin1String("")) + initialBookmarks << QUrl(QLatin1String("file:")) << QUrl::fromLocalFile(QDir::homePath()); qFileDialogUi->sidebar->setModelAndUrls(model, initialBookmarks); QFileDialog::connect(qFileDialogUi->sidebar, SIGNAL(goToUrl(QUrl)), @@ -3713,7 +3713,7 @@ void QFileDialogComboBox::showPopup() idx = idx.parent(); } // add "my computer" - list.append(QUrl::fromLocalFile(QLatin1String(""))); + list.append(QUrl(QLatin1String("file:"))); urlModel->addUrls(list, 0); idx = model()->index(model()->rowCount() - 1, 0); diff --git a/src/widgets/dialogs/qsidebar.cpp b/src/widgets/dialogs/qsidebar.cpp index 3d22992e3a..7b691dc609 100644 --- a/src/widgets/dialogs/qsidebar.cpp +++ b/src/widgets/dialogs/qsidebar.cpp @@ -249,7 +249,8 @@ void QUrlModel::addUrls(const QList<QUrl> &list, int row, bool move) continue; //this makes sure the url is clean const QString cleanUrl = QDir::cleanPath(url.toLocalFile()); - url = QUrl::fromLocalFile(cleanUrl); + if (!cleanUrl.isEmpty()) + url = QUrl::fromLocalFile(cleanUrl); for (int j = 0; move && j < rowCount(); ++j) { QString local = index(j, 0).data(UrlRole).toUrl().toLocalFile(); |