[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdevplatform] plugins/quickopen: Use relativePath instead of relativeUrl to properly display spaces
From: Milian Wolff <mail () milianw ! de>
Date: 2013-07-31 21:51:14
Message-ID: E1V4eIc-0002Ql-V5 () scm ! kde ! org
[Download RAW message or body]
Git commit 3bdbee943bb893f41373dab30c8fdf48c45c85b8 by Milian Wolff.
Committed on 31/07/2013 at 21:50.
Pushed by mwolff into branch 'master'.
Use relativePath instead of relativeUrl to properly display spaces.
Otherwise we display files with spaces in them as 'foo%20bar'.
M +5 -2 plugins/quickopen/projectfilequickopen.cpp
M +13 -11 plugins/quickopen/tests/quickopentest.cpp
http://commits.kde.org/kdevplatform/3bdbee943bb893f41373dab30c8fdf48c45c85b8
diff --git a/plugins/quickopen/projectfilequickopen.cpp \
b/plugins/quickopen/projectfilequickopen.cpp index 28363f2..13d7f97 100644
--- a/plugins/quickopen/projectfilequickopen.cpp
+++ b/plugins/quickopen/projectfilequickopen.cpp
@@ -44,8 +44,11 @@ ProjectFileData::ProjectFileData( const ProjectFile& file )
QString ProjectFileData::text() const
{
KUrl u(m_file.projectUrl);
- u.adjustPath(KUrl::AddTrailingSlash);
- return KUrl::relativeUrl( u, KUrl(m_file.pathOrUrl) );
+ QString ret = KUrl::relativePath( u.pathOrUrl(), m_file.pathOrUrl );
+ if (ret.startsWith(QLatin1String("./"))) {
+ ret.remove(0, 2);
+ }
+ return ret;
}
QString ProjectFileData::htmlDescription() const
diff --git a/plugins/quickopen/tests/quickopentest.cpp \
b/plugins/quickopen/tests/quickopentest.cpp index 6d63168..3cdfd90 100644
--- a/plugins/quickopen/tests/quickopentest.cpp
+++ b/plugins/quickopen/tests/quickopentest.cpp
@@ -125,6 +125,7 @@ void QuickOpenTest::testProjectFileFilter()
ProjectFolderItem* foo = createChild<ProjectFolderItem>(project->projectItem(), \
"foo"); createChild<ProjectFileItem>(foo, "bar");
createChild<ProjectFileItem>(foo, "asdf");
+ createChild<ProjectFileItem>(foo, "space bar");
ProjectFolderItem* asdf = createChild<ProjectFolderItem>(project->projectItem(), \
"asdf"); createChild<ProjectFileItem>(asdf, "bar");
@@ -132,13 +133,14 @@ void QuickOpenTest::testProjectFileFilter()
tmpFile.setFileName(dir.name() + "aaaa");
QVERIFY(tmpFile.open());
ProjectFileItem* aaaa = new ProjectFileItem(project, KUrl(tmpFile.fileName()), \
project->projectItem());
- QCOMPARE(project->fileSet().size(), 4);
+ QCOMPARE(project->fileSet().size(), 5);
ProjectFileDataProvider provider;
QCOMPARE(provider.itemCount(), 0u);
projectController->addProject(project);
- const QStringList original = QStringList() << "aaaa" << "asdf/bar" << "foo/asdf" \
<< "foo/bar"; + const QStringList original = QStringList()
+ << "aaaa" << "asdf/bar" << "foo/asdf" << "foo/bar" << "foo/space bar";
// lazy load
QCOMPARE(provider.itemCount(), 0u);
@@ -153,7 +155,7 @@ void QuickOpenTest::testProjectFileFilter()
// lazy load again
QCOMPARE(items(provider), original);
provider.reset();
- QCOMPARE(items(provider), QStringList() << "asdf/bar" << "foo/asdf" << \
"foo/bar"); + QCOMPARE(items(provider), QStringList() << "asdf/bar" << "foo/asdf" \
<< "foo/bar" << "foo/space bar");
// prefer files starting with filter
provider.setFilterText("as");
@@ -162,33 +164,33 @@ void QuickOpenTest::testProjectFileFilter()
// clear filter
provider.reset();
- QCOMPARE(items(provider), QStringList() << "asdf/bar" << "foo/asdf" << \
"foo/bar"); + QCOMPARE(items(provider), QStringList() << "asdf/bar" << "foo/asdf" \
<< "foo/bar" << "foo/space bar");
// update on document close, lazy load again
core->documentController()->closeAllDocuments();
- QCOMPARE(items(provider), QStringList() << "asdf/bar" << "foo/asdf" << \
"foo/bar"); + QCOMPARE(items(provider), QStringList() << "asdf/bar" << "foo/asdf" \
<< "foo/bar" << "foo/space bar"); provider.reset();
QCOMPARE(items(provider), original);
ProjectFileItem* blub = createChild<ProjectFileItem>(project->projectItem(), \
"blub"); // lazy load
- QCOMPARE(provider.itemCount(), 4u);
- provider.reset();
QCOMPARE(provider.itemCount(), 5u);
+ provider.reset();
+ QCOMPARE(provider.itemCount(), 6u);
// ensure we don't add stuff multiple times
QMetaObject::invokeMethod(&provider, "fileAddedToSet",
Q_ARG(KDevelop::IProject*, project),
Q_ARG(KDevelop::IndexedString, blub->indexedUrl()));
- QCOMPARE(provider.itemCount(), 5u);
+ QCOMPARE(provider.itemCount(), 6u);
provider.reset();
- QCOMPARE(provider.itemCount(), 5u);
+ QCOMPARE(provider.itemCount(), 6u);
// lazy load in this implementation
delete blub;
- QCOMPARE(provider.itemCount(), 5u);
+ QCOMPARE(provider.itemCount(), 6u);
provider.reset();
- QCOMPARE(provider.itemCount(), 4u);
+ QCOMPARE(provider.itemCount(), 5u);
QCOMPARE(items(provider), original);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic