From a4570dec9fa451a024dc444d389cf63adb2abb0b Mon Sep 17 00:00:00 2001
From: Eike Ziller <eike.ziller@nokia.com>
Date: Fri, 16 Sep 2011 09:28:20 +0200
Subject: [PATCH] Fix displayed file name when searching directory ending with
 '/'.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Task-number: QTCREATORBUG-6119

Change-Id: I894da0f77e484fe0785ece8039f46233e05c5c91
Reviewed-on: http://codereview.qt-project.org/5063
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Robert Löhning <robert.loehning@nokia.com>
---
 src/plugins/projectexplorer/allprojectsfind.cpp |  1 +
 src/plugins/texteditor/findincurrentfile.cpp    |  1 +
 src/plugins/texteditor/findinfiles.cpp          | 11 ++++++++---
 3 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/plugins/projectexplorer/allprojectsfind.cpp b/src/plugins/projectexplorer/allprojectsfind.cpp
index 63cc3588014..153ba95b4da 100644
--- a/src/plugins/projectexplorer/allprojectsfind.cpp
+++ b/src/plugins/projectexplorer/allprojectsfind.cpp
@@ -124,6 +124,7 @@ QString AllProjectsFind::label() const
 
 QString AllProjectsFind::toolTip() const
 {
+    // %2 is filled by BaseFileFind::runNewSearch
     return tr("Filter: %1\n%2").arg(fileNameFilters().join(QLatin1String(",")));
 }
 
diff --git a/src/plugins/texteditor/findincurrentfile.cpp b/src/plugins/texteditor/findincurrentfile.cpp
index 7da08853f29..087ce654295 100644
--- a/src/plugins/texteditor/findincurrentfile.cpp
+++ b/src/plugins/texteditor/findincurrentfile.cpp
@@ -84,6 +84,7 @@ QString FindInCurrentFile::label() const
 
 QString FindInCurrentFile::toolTip() const
 {
+    // %2 is filled by BaseFileFind::runNewSearch
     return tr("File path: %1\n%2").arg(QDir::toNativeSeparators(m_currentFile->fileName()));
 }
 
diff --git a/src/plugins/texteditor/findinfiles.cpp b/src/plugins/texteditor/findinfiles.cpp
index baf0e6ca8df..98842113266 100644
--- a/src/plugins/texteditor/findinfiles.cpp
+++ b/src/plugins/texteditor/findinfiles.cpp
@@ -70,19 +70,24 @@ void FindInFiles::findAll(const QString &txt, Find::FindFlags findFlags)
 
 Utils::FileIterator *FindInFiles::files() const
 {
-    return new Utils::SubDirFileIterator(QStringList() << m_directory->currentText(),
+    return new Utils::SubDirFileIterator(QStringList() << QDir::fromNativeSeparators(m_directory->currentText()),
                                          fileNameFilters(),
                                          Core::EditorManager::instance()->defaultTextCodec());
 }
 
 QString FindInFiles::label() const
 {
-    return tr("Directory '%1':").arg(QFileInfo(m_directory->currentText()).fileName());
+    const QStringList &nonEmptyComponents = QDir::cleanPath(
+                QFileInfo(QDir::fromNativeSeparators(m_directory->currentText())).absoluteFilePath())
+            .split(QLatin1Char('/'), QString::SkipEmptyParts);
+    return tr("Directory '%1':").arg(nonEmptyComponents.isEmpty() ? "/" : nonEmptyComponents.last());
 }
 
 QString FindInFiles::toolTip() const
 {
-    return tr("Path: %1\nFilter: %2\n%3").arg(QFileInfo(m_directory->currentText()).absoluteFilePath())
+    // %3 is filled by BaseFileFind::runNewSearch
+    return tr("Path: %1\nFilter: %2\n%3")
+            .arg(QDir::toNativeSeparators(QFileInfo(m_directory->currentText()).absoluteFilePath()))
             .arg(fileNameFilters().join(QLatin1String(",")));
 }
 
-- 
GitLab