aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/texteditor/findinfiles.cpp
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2013-10-23 12:37:10 +0300
committerOrgad Shaneh <orgads@gmail.com>2013-10-30 08:18:40 +0100
commit0dbaac7bcf205b71ed8850623d6794e111cd9470 (patch)
treec14c8bab81ddd7f9272f17b183fbde77b159d8d0 /src/plugins/texteditor/findinfiles.cpp
parent491ba6faabd3d8a244c0127f9b1327f7066de227 (diff)
TextEditor: Normalize path on Windows
Searching with wrong case causes the code-model to have duplicate files when opening a file from the results Change-Id: Id3e4d875230e14c2ab23345a7440372f71f76e8b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: David Schulz <david.schulz@digia.com>
Diffstat (limited to 'src/plugins/texteditor/findinfiles.cpp')
-rw-r--r--src/plugins/texteditor/findinfiles.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/plugins/texteditor/findinfiles.cpp b/src/plugins/texteditor/findinfiles.cpp
index e103ced903c..81837ee2839 100644
--- a/src/plugins/texteditor/findinfiles.cpp
+++ b/src/plugins/texteditor/findinfiles.cpp
@@ -32,6 +32,7 @@
#include <coreplugin/editormanager/editormanager.h>
#include <find/findplugin.h>
#include <utils/filesearch.h>
+#include <utils/fileutils.h>
#include <utils/qtcassert.h>
#include <QDebug>
@@ -87,14 +88,13 @@ Utils::FileIterator *FindInFiles::files(const QStringList &nameFilters,
QVariant FindInFiles::additionalParameters() const
{
- return qVariantFromValue(QDir::fromNativeSeparators(m_directory->currentText()));
+ return qVariantFromValue(path());
}
QString FindInFiles::label() const
{
const QChar slash = QLatin1Char('/');
- const QStringList &nonEmptyComponents = QDir::cleanPath(
- QFileInfo(QDir::fromNativeSeparators(m_directory->currentText())).absoluteFilePath())
+ const QStringList &nonEmptyComponents = QDir::cleanPath(QFileInfo(path()).absoluteFilePath())
.split(slash, QString::SkipEmptyParts);
return tr("Directory '%1':").arg(nonEmptyComponents.isEmpty() ? QString(slash) : nonEmptyComponents.last());
}
@@ -103,7 +103,7 @@ QString FindInFiles::toolTip() const
{
//: %3 is filled by BaseFileFind::runNewSearch
return tr("Path: %1\nFilter: %2\n%3")
- .arg(QDir::toNativeSeparators(QFileInfo(m_directory->currentText()).absoluteFilePath()))
+ .arg(QDir::toNativeSeparators(QFileInfo(path()).absoluteFilePath()))
.arg(fileNameFilters().join(QLatin1String(",")));
}
@@ -149,7 +149,7 @@ void FindInFiles::openFileBrowser()
{
if (!m_directory)
return;
- QString oldDir = m_directory->currentText();
+ QString oldDir = path();
if (!QDir(oldDir).exists())
oldDir.clear();
QString dir = QFileDialog::getExistingDirectory(m_configWidget,
@@ -158,6 +158,12 @@ void FindInFiles::openFileBrowser()
m_directory->setEditText(QDir::toNativeSeparators(dir));
}
+QString FindInFiles::path() const
+{
+ return QDir::fromNativeSeparators(Utils::FileUtils::normalizePathName(
+ m_directory->currentText()));
+}
+
void FindInFiles::writeSettings(QSettings *settings)
{
settings->beginGroup(QLatin1String("FindInFiles"));