forked from qt-creator/qt-creator
BaseFileFilter: Sort entries by display name instead path
Before, each category was sort by full path name which is displayed in locators second column. Change-Id: Id3f5e931b179008d832479be0cf1f9bc26b1e94d Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
committed by
André Hartmann
parent
952258a8f0
commit
187c5a5f4d
@@ -26,6 +26,7 @@
|
||||
#include "basefilefilter.h"
|
||||
|
||||
#include <coreplugin/editormanager/editormanager.h>
|
||||
#include <utils/algorithm.h>
|
||||
#include <utils/fileutils.h>
|
||||
#include <utils/qtcassert.h>
|
||||
|
||||
@@ -178,6 +179,12 @@ QList<LocatorFilterEntry> BaseFileFilter::matchesFor(QFutureInterface<LocatorFil
|
||||
d->m_current.iterator.clear();
|
||||
QTimer::singleShot(0, this, &BaseFileFilter::updatePreviousResultData);
|
||||
}
|
||||
|
||||
for (auto &entry : entries) {
|
||||
if (entry.size() < 1000)
|
||||
Utils::sort(entry, Core::LocatorFilterEntry::compareLexigraphically);
|
||||
}
|
||||
|
||||
return entries[0] + entries[1] + entries[2] + entries[3];
|
||||
}
|
||||
|
||||
|
@@ -179,4 +179,22 @@ void Core::Internal::CorePlugin::test_basefilefilter_data()
|
||||
<< ResultData("qcore_mac_p.h", priorityTestFilesShort.at(2))
|
||||
<< ResultData("mid_qcore_mac_p.h", priorityTestFilesShort.at(1))))
|
||||
);
|
||||
|
||||
const QStringList sortingTestFiles({QDir::fromNativeSeparators(testDir.file("aaa/zfile.cpp")),
|
||||
QDir::fromNativeSeparators(testDir.file("bbb/yfile.cpp")),
|
||||
QDir::fromNativeSeparators(testDir.file("ccc/xfile.cpp"))});
|
||||
QStringList sortingTestFilesShort;
|
||||
for (const QString &file : sortingTestFiles)
|
||||
sortingTestFilesShort << Utils::FileUtils::shortNativePath(Utils::FileName::fromString(file));
|
||||
|
||||
QTest::newRow("BaseFileFilter-SortByDisplayName")
|
||||
<< sortingTestFiles
|
||||
<< (QList<ReferenceData>()
|
||||
<< ReferenceData(
|
||||
"file",
|
||||
(QList<ResultData>()
|
||||
<< ResultData("xfile.cpp", sortingTestFilesShort.at(2))
|
||||
<< ResultData("yfile.cpp", sortingTestFilesShort.at(1))
|
||||
<< ResultData("zfile.cpp", sortingTestFilesShort.at(0))))
|
||||
);
|
||||
}
|
||||
|
Reference in New Issue
Block a user