Reinvent deprecated qSort as Utils::sort

Change-Id: I4f6011cc2b6127037249aabc2426a88ad7108ebf
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
Nikita Baryshnikov
2014-06-16 18:25:52 +04:00
committed by hjk
parent eefd0f4332
commit 12103e0f67
75 changed files with 275 additions and 307 deletions

View File

@@ -113,6 +113,18 @@ auto transform(const QList<T> &container, F function) -> QList<decltype(function
return result; return result;
} }
template <typename Container>
inline void sort(Container &c)
{
std::sort(c.begin(), c.end());
}
template <typename Container, typename Predicate>
inline void sort(Container &c, Predicate p)
{
std::sort(c.begin(), c.end(), p);
}
} }
#endif // ALGORITHM_H #endif // ALGORITHM_H

View File

@@ -50,6 +50,7 @@
#include <qtsupport/baseqtversion.h> #include <qtsupport/baseqtversion.h>
#include <qtsupport/qtkitinformation.h> #include <qtsupport/qtkitinformation.h>
#include <qtsupport/qtversionmanager.h> #include <qtsupport/qtversionmanager.h>
#include <utils/algorithm.h>
#include <utils/environment.h> #include <utils/environment.h>
#include <utils/sleep.h> #include <utils/sleep.h>
@@ -248,7 +249,7 @@ void AndroidConfig::updateNdkInformation() const
const QString &fileName = it.next(); const QString &fileName = it.next();
m_availableNdkPlatforms.push_back(fileName.mid(fileName.lastIndexOf(QLatin1Char('-')) + 1).toInt()); m_availableNdkPlatforms.push_back(fileName.mid(fileName.lastIndexOf(QLatin1Char('-')) + 1).toInt());
} }
qSort(m_availableNdkPlatforms.begin(), m_availableNdkPlatforms.end(), qGreater<int>()); Utils::sort(m_availableNdkPlatforms, std::greater<int>());
// detect toolchain host // detect toolchain host
QStringList hostPatterns; QStringList hostPatterns;
@@ -494,7 +495,7 @@ QVector<AndroidDeviceInfo> AndroidConfig::connectedDevices(QString *error) const
devices.push_back(dev); devices.push_back(dev);
} }
qSort(devices.begin(), devices.end(), androidDevicesLessThan); Utils::sort(devices, androidDevicesLessThan);
if (devices.isEmpty() && error) if (devices.isEmpty() && error)
*error = QApplication::translate("AndroidConfiguration", *error = QApplication::translate("AndroidConfiguration",
"No devices found in output of: %1") "No devices found in output of: %1")
@@ -631,7 +632,7 @@ QVector<AndroidDeviceInfo> AndroidConfig::androidVirtualDevices() const
dev.type = AndroidDeviceInfo::Emulator; dev.type = AndroidDeviceInfo::Emulator;
devices.push_back(dev); devices.push_back(dev);
} }
qSort(devices.begin(), devices.end(), androidDevicesLessThan); Utils::sort(devices, androidDevicesLessThan);
return devices; return devices;
} }

View File

@@ -50,6 +50,7 @@
#include <qtsupport/customexecutablerunconfiguration.h> #include <qtsupport/customexecutablerunconfiguration.h>
#include <qtsupport/qtkitinformation.h> #include <qtsupport/qtkitinformation.h>
#include <qtsupport/qtsupportconstants.h> #include <qtsupport/qtsupportconstants.h>
#include <utils/algorithm.h>
#include <QDir> #include <QDir>
#include <QFileSystemWatcher> #include <QFileSystemWatcher>
@@ -868,7 +869,11 @@ QVector<AndroidManager::Library> AndroidManager::availableQtLibsWithDependencies
} }
qtLibraries.push_back(library); qtLibraries.push_back(library);
} }
qSort(qtLibraries.begin(), qtLibraries.end(), qtLibrariesLessThan); Utils::sort(qtLibraries, [](const Library &a, const Library &b) -> bool {
if (a.level == b.level)
return a.name < b.name;
return a.level < b.level;
});
return qtLibraries; return qtLibraries;
@@ -1171,13 +1176,6 @@ int AndroidManager::setLibraryLevel(const QString &library, LibrariesMap &mapLib
return maxlevel + 1; return maxlevel + 1;
} }
bool AndroidManager::qtLibrariesLessThan(const Library &a, const Library &b)
{
if (a.level == b.level)
return a.name < b.name;
return a.level < b.level;
}
QString AndroidManager::libGnuStl(const QString &arch, const QString &ndkToolChainVersion) QString AndroidManager::libGnuStl(const QString &arch, const QString &ndkToolChainVersion)
{ {
return AndroidConfigurations::currentConfig().ndkLocation().toString() return AndroidConfigurations::currentConfig().ndkLocation().toString()

View File

@@ -158,7 +158,7 @@ private:
static QStringList dependencies(const Utils::FileName &readelfPath, const QString &lib); static QStringList dependencies(const Utils::FileName &readelfPath, const QString &lib);
static int setLibraryLevel(const QString &library, LibrariesMap &mapLibs); static int setLibraryLevel(const QString &library, LibrariesMap &mapLibs);
static bool qtLibrariesLessThan(const Library &a, const Library &b);
}; };
} // namespace Internal } // namespace Internal

View File

@@ -48,6 +48,7 @@
#include <texteditor/texteditoractionhandler.h> #include <texteditor/texteditoractionhandler.h>
#include <texteditor/texteditorsettings.h> #include <texteditor/texteditorsettings.h>
#include <qmakeprojectmanager/qmakeproject.h> #include <qmakeprojectmanager/qmakeproject.h>
#include <utils/algorithm.h>
#include <QLineEdit> #include <QLineEdit>
#include <QFileInfo> #include <QFileInfo>
@@ -1348,7 +1349,7 @@ void PermissionsModel::setPermissions(const QStringList &permissions)
{ {
beginResetModel(); beginResetModel();
m_permissions = permissions; m_permissions = permissions;
qSort(m_permissions); Utils::sort(m_permissions);
endResetModel(); endResetModel();
} }

View File

@@ -173,7 +173,7 @@ static QList<CodeCompletionResult> unfilteredCompletion(const ClangCompletionAss
} }
QList<CodeCompletionResult> result = wrapper->codeCompleteAt(line, column + 1, unsavedFiles); QList<CodeCompletionResult> result = wrapper->codeCompleteAt(line, column + 1, unsavedFiles);
qSort(result); std::sort(result);
if (DebugTiming) if (DebugTiming)
qDebug() << "... Completion done in" << t.elapsed() << "ms, with" << result.count() << "items."; qDebug() << "... Completion done in" << t.elapsed() << "ms, with" << result.count() << "items.";

View File

@@ -56,6 +56,7 @@
#include <projectexplorer/projectexplorer.h> #include <projectexplorer/projectexplorer.h>
#include <projectexplorer/project.h> #include <projectexplorer/project.h>
#include <projectexplorer/iprojectmanager.h> #include <projectexplorer/iprojectmanager.h>
#include <utils/algorithm.h>
#include <utils/synchronousprocess.h> #include <utils/synchronousprocess.h>
#include <utils/parameteraction.h> #include <utils/parameteraction.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
@@ -1906,7 +1907,7 @@ QList<QStringPair> ClearCasePlugin::ccGetActivities() const
result.append(QStringPair(actName, act.at(1).trimmed())); result.append(QStringPair(actName, act.at(1).trimmed()));
} }
} }
qSort(result); Utils::sort(result);
if (!rebaseAct.first.isEmpty()) if (!rebaseAct.first.isEmpty())
result.append(rebaseAct); result.append(rebaseAct);
if (!deliverAct.first.isEmpty()) if (!deliverAct.first.isEmpty())

View File

@@ -55,6 +55,7 @@
#include <qtsupport/uicodemodelsupport.h> #include <qtsupport/uicodemodelsupport.h>
#include <cpptools/cppmodelmanagerinterface.h> #include <cpptools/cppmodelmanagerinterface.h>
#include <extensionsystem/pluginmanager.h> #include <extensionsystem/pluginmanager.h>
#include <utils/algorithm.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/stringutils.h> #include <utils/stringutils.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
@@ -432,8 +433,8 @@ void CMakeProject::buildTree(CMakeProjectNode *rootNode, QList<ProjectExplorer::
// Gather old list // Gather old list
QList<ProjectExplorer::FileNode *> oldList; QList<ProjectExplorer::FileNode *> oldList;
gatherFileNodes(rootNode, oldList); gatherFileNodes(rootNode, oldList);
qSort(oldList.begin(), oldList.end(), sortNodesByPath); Utils::sort(oldList, sortNodesByPath);
qSort(newList.begin(), newList.end(), sortNodesByPath); Utils::sort(newList, sortNodesByPath);
QList<ProjectExplorer::FileNode *> added; QList<ProjectExplorer::FileNode *> added;
QList<ProjectExplorer::FileNode *> deleted; QList<ProjectExplorer::FileNode *> deleted;

View File

@@ -30,6 +30,7 @@
#include "externaltoolconfig.h" #include "externaltoolconfig.h"
#include "ui_externaltoolconfig.h" #include "ui_externaltoolconfig.h"
#include <utils/algorithm.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/qtcprocess.h> #include <utils/qtcprocess.h>
@@ -257,7 +258,7 @@ bool ExternalToolModel::setData(const QModelIndex &modelIndex, const QVariant &v
int previousIndex = categories.indexOf(category); int previousIndex = categories.indexOf(category);
categories.removeAt(previousIndex); categories.removeAt(previousIndex);
categories.append(string); categories.append(string);
qSort(categories); Utils::sort(categories);
int newIndex = categories.indexOf(string); int newIndex = categories.indexOf(string);
if (newIndex != previousIndex) { if (newIndex != previousIndex) {
// we have same parent so we have to do special stuff for beginMoveRows... // we have same parent so we have to do special stuff for beginMoveRows...
@@ -327,7 +328,7 @@ QModelIndex ExternalToolModel::addCategory()
} }
QList<QString> categories = m_tools.keys(); QList<QString> categories = m_tools.keys();
categories.append(category); categories.append(category);
qSort(categories); Utils::sort(categories);
int pos = categories.indexOf(category); int pos = categories.indexOf(category);
beginInsertRows(QModelIndex(), pos, pos); beginInsertRows(QModelIndex(), pos, pos);

View File

@@ -30,6 +30,7 @@
#include "helpmanager.h" #include "helpmanager.h"
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <utils/algorithm.h>
#include <utils/filesystemwatcher.h> #include <utils/filesystemwatcher.h>
#include <QDateTime> #include <QDateTime>
@@ -263,7 +264,7 @@ QStringList HelpManager::findKeywords(const QString &key, Qt::CaseSensitivity ca
} }
QStringList keywordsSorted = keywordsToSort.toList(); QStringList keywordsSorted = keywordsToSort.toList();
qSort(keywordsSorted.begin(), keywordsSorted.end()); Utils::sort(keywordsSorted);
return keywordsSorted + keywords.toList(); return keywordsSorted + keywords.toList();
} }

View File

@@ -46,6 +46,7 @@
#include <coreplugin/progressmanager/progressmanager.h> #include <coreplugin/progressmanager/progressmanager.h>
#include <coreplugin/progressmanager/futureprogress.h> #include <coreplugin/progressmanager/futureprogress.h>
#include <extensionsystem/pluginmanager.h> #include <extensionsystem/pluginmanager.h>
#include <utils/algorithm.h>
#include <utils/QtConcurrentTools> #include <utils/QtConcurrentTools>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
@@ -57,17 +58,6 @@
namespace Core { namespace Core {
namespace Internal { namespace Internal {
namespace {
static bool filterLessThan(const ILocatorFilter *first, const ILocatorFilter *second)
{
if (first->priority() < second->priority())
return true;
if (first->priority() > second->priority())
return false;
return first->id().alphabeticallyBefore(second->id());
}
}
Locator::Locator() Locator::Locator()
: m_settingsInitialized(false) : m_settingsInitialized(false)
{ {
@@ -151,7 +141,11 @@ void Locator::openLocator()
void Locator::extensionsInitialized() void Locator::extensionsInitialized()
{ {
m_filters = ExtensionSystem::PluginManager::getObjects<ILocatorFilter>(); m_filters = ExtensionSystem::PluginManager::getObjects<ILocatorFilter>();
qSort(m_filters.begin(), m_filters.end(), filterLessThan); Utils::sort(m_filters, [](const ILocatorFilter *first, const ILocatorFilter *second) -> bool {
if (first->priority() != second->priority())
return first->priority() < second->priority();
return first->id().alphabeticallyBefore(second->id());
});
setFilters(m_filters); setFilters(m_filters);
} }

View File

@@ -36,6 +36,7 @@
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/editormanager/ieditorfactory.h> #include <coreplugin/editormanager/ieditorfactory.h>
#include <coreplugin/editormanager/iexternaleditor.h> #include <coreplugin/editormanager/iexternaleditor.h>
#include <utils/algorithm.h>
#include <utils/headerviewstretcher.h> #include <utils/headerviewstretcher.h>
#include <QAbstractTableModel> #include <QAbstractTableModel>
@@ -47,19 +48,10 @@
#include <QSet> #include <QSet>
#include <QStringList> #include <QStringList>
#include <QSortFilterProxyModel> #include <QSortFilterProxyModel>
#include <QtAlgorithms>
#include <algorithm>
namespace Core { namespace Core {
namespace Internal { namespace Internal {
struct MimeTypeComp
{
bool operator()(const MimeType &a, const MimeType &b)
{ return a.type().compare(b.type(), Qt::CaseInsensitive) < 0; }
};
// MimeTypeSettingsModel // MimeTypeSettingsModel
class MimeTypeSettingsModel : public QAbstractTableModel class MimeTypeSettingsModel : public QAbstractTableModel
{ {
@@ -125,7 +117,9 @@ QVariant MimeTypeSettingsModel::data(const QModelIndex &modelIndex, int role) co
void MimeTypeSettingsModel::load() void MimeTypeSettingsModel::load()
{ {
m_mimeTypes = MimeDatabase::mimeTypes(); m_mimeTypes = MimeDatabase::mimeTypes();
qSort(m_mimeTypes.begin(), m_mimeTypes.end(), MimeTypeComp()); Utils::sort(m_mimeTypes, [](const MimeType &a, const MimeType &b) {
return a.type().compare(b.type(), Qt::CaseInsensitive) < 0;
});
m_knownPatterns = QSet<QString>::fromList( m_knownPatterns = QSet<QString>::fromList(
MimeDatabase::fromGlobPatterns(MimeDatabase::globPatterns())); MimeDatabase::fromGlobPatterns(MimeDatabase::globPatterns()));
@@ -498,7 +492,7 @@ void MimeTypeSettingsPrivate::updateMimeDatabase()
// For this case it is a better approach to simply use a list and to remove duplicates // For this case it is a better approach to simply use a list and to remove duplicates
// afterwards than to keep a more complex data structure like a hash table. // afterwards than to keep a more complex data structure like a hash table.
qSort(m_modifiedMimeTypes.begin(), m_modifiedMimeTypes.end()); Utils::sort(m_modifiedMimeTypes);
m_modifiedMimeTypes.erase(std::unique(m_modifiedMimeTypes.begin(), m_modifiedMimeTypes.end()), m_modifiedMimeTypes.erase(std::unique(m_modifiedMimeTypes.begin(), m_modifiedMimeTypes.end()),
m_modifiedMimeTypes.end()); m_modifiedMimeTypes.end());

View File

@@ -43,6 +43,7 @@
#include <extensionsystem/pluginmanager.h> #include <extensionsystem/pluginmanager.h>
#include <utils/algorithm.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
#include <utils/styledbar.h> #include <utils/styledbar.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
@@ -75,11 +76,6 @@ static char outputPaneVisibleKeyC[] = "visible";
static OutputPaneManager *m_instance = 0; static OutputPaneManager *m_instance = 0;
bool comparePanes(IOutputPane *p1, IOutputPane *p2)
{
return p1->priorityInStatusBar() > p2->priorityInStatusBar();
}
void OutputPaneManager::create() void OutputPaneManager::create()
{ {
m_instance = new OutputPaneManager; m_instance = new OutputPaneManager;
@@ -239,7 +235,9 @@ void OutputPaneManager::init()
int minTitleWidth = 0; int minTitleWidth = 0;
m_panes = ExtensionSystem::PluginManager::getObjects<IOutputPane>(); m_panes = ExtensionSystem::PluginManager::getObjects<IOutputPane>();
qSort(m_panes.begin(), m_panes.end(), &comparePanes); Utils::sort(m_panes, [](IOutputPane *p1, IOutputPane *p2) {
return p1->priorityInStatusBar() > p2->priorityInStatusBar();
});
const int n = m_panes.size(); const int n = m_panes.size();
int shortcutNumber = 1; int shortcutNumber = 1;

View File

@@ -31,6 +31,7 @@
#include "sidebarwidget.h" #include "sidebarwidget.h"
#include "actionmanager/command.h" #include "actionmanager/command.h"
#include <utils/algorithm.h>
#include <QSettings> #include <QSettings>
#include <QPointer> #include <QPointer>
@@ -152,7 +153,7 @@ void SideBar::makeItemAvailable(SideBarItem *item)
d->m_availableItemIds.append(it.key()); d->m_availableItemIds.append(it.key());
d->m_availableItemTitles.append(it.value().data()->title()); d->m_availableItemTitles.append(it.value().data()->title());
d->m_unavailableItemIds.removeAll(it.key()); d->m_unavailableItemIds.removeAll(it.key());
qSort(d->m_availableItemTitles); Utils::sort(d->m_availableItemTitles);
emit availableItemsChanged(); emit availableItemsChanged();
//updateWidgets(); //updateWidgets();
break; break;
@@ -178,7 +179,7 @@ void SideBar::setUnavailableItemIds(const QStringList &itemIds)
d->m_availableItemIds.removeAll(id); d->m_availableItemIds.removeAll(id);
d->m_availableItemTitles.removeAll(d->m_itemMap.value(id).data()->title()); d->m_availableItemTitles.removeAll(d->m_itemMap.value(id).data()->title());
} }
qSort(d->m_availableItemTitles); Utils::sort(d->m_availableItemTitles);
updateWidgets(); updateWidgets();
} }

View File

@@ -32,6 +32,7 @@
#include "navigationsubwidget.h" #include "navigationsubwidget.h"
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <utils/algorithm.h>
#include <QToolBar> #include <QToolBar>
#include <QToolButton> #include <QToolButton>
@@ -91,7 +92,7 @@ SideBarWidget::SideBarWidget(SideBar *sideBar, const QString &id)
lay->addWidget(m_toolbar); lay->addWidget(m_toolbar);
QStringList titleList = m_sideBar->availableItemTitles(); QStringList titleList = m_sideBar->availableItemTitles();
qSort(titleList); Utils::sort(titleList);
QString t = id; QString t = id;
if (titleList.count()) { if (titleList.count()) {
foreach (const QString &itemTitle, titleList) foreach (const QString &itemTitle, titleList)
@@ -158,7 +159,7 @@ void SideBarWidget::updateAvailableItems()
QStringList titleList = m_sideBar->availableItemTitles(); QStringList titleList = m_sideBar->availableItemTitles();
if (!currentTitle.isEmpty() && !titleList.contains(currentTitle)) if (!currentTitle.isEmpty() && !titleList.contains(currentTitle))
titleList.append(currentTitle); titleList.append(currentTitle);
qSort(titleList); Utils::sort(titleList);
foreach (const QString &itemTitle, titleList) foreach (const QString &itemTitle, titleList)
m_comboBox->addItem(itemTitle, m_sideBar->idForTitle(itemTitle)); m_comboBox->addItem(itemTitle, m_sideBar->idForTitle(itemTitle));

View File

@@ -40,6 +40,7 @@
#include <vcsbase/vcsbaseconstants.h> #include <vcsbase/vcsbaseconstants.h>
#include <extensionsystem/pluginmanager.h> #include <extensionsystem/pluginmanager.h>
#include <utils/algorithm.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QDir> #include <QDir>
@@ -221,11 +222,6 @@ void VcsManager::extensionsInitialized()
} }
} }
static bool longerThanPath(QPair<QString, IVersionControl *> &pair1, QPair<QString, IVersionControl *> &pair2)
{
return pair1.first.size() > pair2.first.size();
}
void VcsManager::resetVersionControlForDirectory(const QString &inputDirectory) void VcsManager::resetVersionControlForDirectory(const QString &inputDirectory)
{ {
if (inputDirectory.isEmpty()) if (inputDirectory.isEmpty())
@@ -273,7 +269,10 @@ IVersionControl* VcsManager::findVersionControlForDirectory(const QString &input
// To properly find a nested repository (say, git checkout inside SVN), // To properly find a nested repository (say, git checkout inside SVN),
// we need to select the version control with the longest toplevel pathname. // we need to select the version control with the longest toplevel pathname.
qSort(allThatCanManage.begin(), allThatCanManage.end(), longerThanPath); Utils::sort(allThatCanManage, [](const StringVersionControlPair &l,
const StringVersionControlPair &r) {
return l.first.size() > r.first.size();
});
if (allThatCanManage.isEmpty()) { if (allThatCanManage.isEmpty()) {
d->cache(0, QString(), directory); // register that nothing was found! d->cache(0, QString(), directory); // register that nothing was found!

View File

@@ -35,6 +35,7 @@
#include "cppeditorplugin.h" #include "cppeditorplugin.h"
#include <coreplugin/find/treeviewfind.h> #include <coreplugin/find/treeviewfind.h>
#include <utils/algorithm.h>
#include <utils/navigationtreeview.h> #include <utils/navigationtreeview.h>
#include <utils/annotateditemdelegate.h> #include <utils/annotateditemdelegate.h>
@@ -69,17 +70,14 @@ QStandardItem *itemForClass(const CppClass &cppClass)
return item; return item;
} }
bool compareCppClassNames(const CppClass &c1, const CppClass &c2)
{
const QString key1 = c1.name + QLatin1String("::") + c1.qualifiedName;
const QString key2 = c2.name + QLatin1String("::") + c2.qualifiedName;
return key1 < key2;
}
QList<CppClass> sortClasses(const QList<CppClass> &cppClasses) QList<CppClass> sortClasses(const QList<CppClass> &cppClasses)
{ {
QList<CppClass> sorted = cppClasses; QList<CppClass> sorted = cppClasses;
qSort(sorted.begin(), sorted.end(), compareCppClassNames); Utils::sort(sorted, [](const CppClass &c1, const CppClass &c2) {
const QString key1 = c1.name + QLatin1String("::") + c1.qualifiedName;
const QString key2 = c2.name + QLatin1String("::") + c2.qualifiedName;
return key1 < key2;
});
return sorted; return sorted;
} }

View File

@@ -42,13 +42,13 @@
#include <projectexplorer/project.h> #include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h> #include <projectexplorer/projectexplorer.h>
#include <texteditor/basetextdocument.h> #include <texteditor/basetextdocument.h>
#include <utils/algorithm.h>
#include <cplusplus/CppDocument.h> #include <cplusplus/CppDocument.h>
#include <cplusplus/TranslationUnit.h> #include <cplusplus/TranslationUnit.h>
#include <QDebug> #include <QDebug>
#include <QTextDocument> #include <QTextDocument>
#include <QtAlgorithms>
#include <QtTest> #include <QtTest>
#if QT_VERSION >= 0x050000 #if QT_VERSION >= 0x050000
@@ -168,7 +168,7 @@ TestActionsTestCase::TestActionsTestCase(const Actions &tokenActions, const Acti
TestActionsTestCase::allProjectsConfigured = true; TestActionsTestCase::allProjectsConfigured = true;
} }
qSort(filesToOpen); Utils::sort(filesToOpen);
// Process all files from the projects // Process all files from the projects
foreach (const QString filePath, filesToOpen) { foreach (const QString filePath, filesToOpen) {

View File

@@ -31,6 +31,7 @@
#include "cpplocalsymbols.h" #include "cpplocalsymbols.h"
#include <utils/algorithm.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QCoreApplication> #include <QCoreApplication>
@@ -330,7 +331,7 @@ void CheckSymbols::run()
_potentialFunctions = collectTypes.functions(); _potentialFunctions = collectTypes.functions();
_potentialStatics = collectTypes.statics(); _potentialStatics = collectTypes.statics();
qSort(_macroUses.begin(), _macroUses.end(), sortByLinePredicate); Utils::sort(_macroUses, sortByLinePredicate);
_doc->clearDiagnosticMessages(); _doc->clearDiagnosticMessages();
if (!isCanceled()) { if (!isCanceled()) {
@@ -1415,7 +1416,7 @@ void CheckSymbols::flush()
if (_usages.isEmpty()) if (_usages.isEmpty())
return; return;
qSort(_usages.begin(), _usages.end(), sortByLinePredicate); Utils::sort(_usages, sortByLinePredicate);
reportResults(_usages); reportResults(_usages);
int cap = _usages.capacity(); int cap = _usages.capacity();
_usages.clear(); _usages.clear();

View File

@@ -33,6 +33,7 @@
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <cpptools/cppprojectfile.h> #include <cpptools/cppprojectfile.h>
#include <projectexplorer/project.h> #include <projectexplorer/project.h>
#include <utils/algorithm.h>
#include <cplusplus/CppDocument.h> #include <cplusplus/CppDocument.h>
#include <cplusplus/Token.h> #include <cplusplus/Token.h>
@@ -149,7 +150,7 @@ QString Utils::toString(const QList<ProjectFile> &projectFiles)
QStringList filesList; QStringList filesList;
foreach (const ProjectFile &projectFile, projectFiles) foreach (const ProjectFile &projectFile, projectFiles)
filesList << QDir::toNativeSeparators(projectFile.path); filesList << QDir::toNativeSeparators(projectFile.path);
qSort(filesList); ::Utils::sort(filesList);
return filesList.join(QLatin1String("\n")); return filesList.join(QLatin1String("\n"));
} }

View File

@@ -32,6 +32,7 @@
#include "ui_cppcodemodelsettingspage.h" #include "ui_cppcodemodelsettingspage.h"
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <utils/algorithm.h>
#include <QTextStream> #include <QTextStream>
@@ -70,7 +71,7 @@ void CppCodeModelSettingsWidget::applyToWidget(QComboBox *chooser, const QString
chooser->clear(); chooser->clear();
QStringList names = m_settings->availableModelManagerSupportersByName().keys(); QStringList names = m_settings->availableModelManagerSupportersByName().keys();
qSort(names); Utils::sort(names);
foreach (const QString &name, names) { foreach (const QString &name, names) {
const QString &id = m_settings->availableModelManagerSupportersByName()[name]; const QString &id = m_settings->availableModelManagerSupportersByName()[name];
chooser->addItem(name, id); chooser->addItem(name, id);

View File

@@ -34,6 +34,7 @@
#include <cplusplus/PreprocessorClient.h> #include <cplusplus/PreprocessorClient.h>
#include <cplusplus/PreprocessorEnvironment.h> #include <cplusplus/PreprocessorEnvironment.h>
#include <utils/algorithm.h>
#include <utils/stringutils.h> #include <utils/stringutils.h>
#include <QDir> #include <QDir>
@@ -51,9 +52,6 @@ using namespace Utils;
namespace { namespace {
bool includeLineLessThan(const Include &left, const Include &right)
{ return left.line() < right.line(); }
bool includeFileNamelessThen(const Include & left, const Include & right) bool includeFileNamelessThen(const Include & left, const Include & right)
{ return left.unresolvedFileName() < right.unresolvedFileName(); } { return left.unresolvedFileName() < right.unresolvedFileName(); }
@@ -293,7 +291,9 @@ QList<IncludeGroup> LineForNewIncludeDirective::getGroupsByIncludeType(
QList<IncludeGroup> IncludeGroup::detectIncludeGroupsByNewLines(QList<Document::Include> &includes) QList<IncludeGroup> IncludeGroup::detectIncludeGroupsByNewLines(QList<Document::Include> &includes)
{ {
// Sort by line // Sort by line
qSort(includes.begin(), includes.end(), includeLineLessThan); Utils::sort(includes, [](const Include &left, const Include &right) {
return left.line() < right.line();
});
// Create groups // Create groups
QList<IncludeGroup> result; QList<IncludeGroup> result;

View File

@@ -35,6 +35,7 @@
#include <cplusplus/Overview.h> #include <cplusplus/Overview.h>
#include <cplusplus/SymbolVisitor.h> #include <cplusplus/SymbolVisitor.h>
#include <utils/algorithm.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <QDir> #include <QDir>
@@ -48,12 +49,6 @@ Q_DECLARE_METATYPE(QList<Tests::TestDocument>)
namespace { namespace {
bool hierarchySorter(const TypeHierarchy &h1, const TypeHierarchy &h2)
{
Overview oo;
return oo.prettyName(h1.symbol()->name()) < oo.prettyName(h2.symbol()->name());
}
QString toString(const TypeHierarchy &hierarchy, int indent = 0) QString toString(const TypeHierarchy &hierarchy, int indent = 0)
{ {
Symbol *symbol = hierarchy.symbol(); Symbol *symbol = hierarchy.symbol();
@@ -61,7 +56,10 @@ QString toString(const TypeHierarchy &hierarchy, int indent = 0)
+ Overview().prettyName(symbol->name()) + QLatin1Char('\n'); + Overview().prettyName(symbol->name()) + QLatin1Char('\n');
QList<TypeHierarchy> sortedHierarchy = hierarchy.hierarchy(); QList<TypeHierarchy> sortedHierarchy = hierarchy.hierarchy();
qSort(sortedHierarchy.begin(), sortedHierarchy.end(), hierarchySorter); Overview oo;
Utils::sort(sortedHierarchy, [&oo](const TypeHierarchy &h1, const TypeHierarchy &h2) -> bool {
return oo.prettyName(h1.symbol()->name()) < oo.prettyName(h2.symbol()->name());
});
foreach (TypeHierarchy childHierarchy, sortedHierarchy) foreach (TypeHierarchy childHierarchy, sortedHierarchy)
result += toString(childHierarchy, indent + 2); result += toString(childHierarchy, indent + 2);
return result; return result;

View File

@@ -31,6 +31,7 @@
#include "debuggercore.h" #include "debuggercore.h"
#include "debuggerrunconfigurationaspect.h" #include "debuggerrunconfigurationaspect.h"
#include <utils/algorithm.h>
#include <utils/appmainwindow.h> #include <utils/appmainwindow.h>
#include <utils/styledbar.h> #include <utils/styledbar.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
@@ -440,14 +441,11 @@ QDockWidget *DebuggerMainWindow::createDockWidget(const DebuggerLanguage &langua
return dockWidget; return dockWidget;
} }
static bool sortCommands(Command *cmd1, Command *cmd2)
{
return cmd1->action()->text() < cmd2->action()->text();
}
void DebuggerMainWindow::addStagedMenuEntries() void DebuggerMainWindow::addStagedMenuEntries()
{ {
qSort(d->m_menuCommandsToAdd.begin(), d->m_menuCommandsToAdd.end(), &sortCommands); Utils::sort(d->m_menuCommandsToAdd, [](Command *cmd1, Command *cmd2) {
return cmd1->action()->text() < cmd2->action()->text();
});
foreach (Command *cmd, d->m_menuCommandsToAdd) foreach (Command *cmd, d->m_menuCommandsToAdd)
d->m_viewsMenu->addAction(cmd); d->m_viewsMenu->addAction(cmd);
d->m_menuCommandsToAdd.clear(); d->m_menuCommandsToAdd.clear();

View File

@@ -68,6 +68,7 @@
#include <projectexplorer/itaskhandler.h> #include <projectexplorer/itaskhandler.h>
#include <projectexplorer/taskhub.h> #include <projectexplorer/taskhub.h>
#include <texteditor/itexteditor.h> #include <texteditor/itexteditor.h>
#include <utils/algorithm.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/qtcprocess.h> #include <utils/qtcprocess.h>
@@ -1000,7 +1001,7 @@ int GdbEngine::commandTimeoutTime() const
void GdbEngine::commandTimeout() void GdbEngine::commandTimeout()
{ {
QList<int> keys = m_cookieForToken.keys(); QList<int> keys = m_cookieForToken.keys();
qSort(keys); Utils::sort(keys);
bool killIt = false; bool killIt = false;
foreach (int key, keys) { foreach (int key, keys) {
const GdbCommand &cmd = m_cookieForToken.value(key); const GdbCommand &cmd = m_cookieForToken.value(key);

View File

@@ -33,6 +33,7 @@
#include "debuggerprotocol.h" #include "debuggerprotocol.h"
#include "watchutils.h" #include "watchutils.h"
#include <utils/algorithm.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QDebug> #include <QDebug>
@@ -253,30 +254,18 @@ Qt::ItemFlags ThreadsHandler::flags(const QModelIndex &index) const
return stopped ? QAbstractTableModel::flags(index) : Qt::ItemFlags(0); return stopped ? QAbstractTableModel::flags(index) : Qt::ItemFlags(0);
} }
struct Sorter
{
Sorter(int column, Qt::SortOrder order)
: m_column(column), m_order(order)
{}
bool operator()(const ThreadData &t1, const ThreadData &t2) const
{
const QVariant v1 = threadPart(t1, m_column);
const QVariant v2 = threadPart(t2, m_column);
if (v1 == v2)
return false;
// FIXME: Use correct toXXX();
return (v1.toString() < v2.toString()) ^ (m_order == Qt::DescendingOrder);
}
int m_column;
Qt::SortOrder m_order;
};
void ThreadsHandler::sort(int column, Qt::SortOrder order) void ThreadsHandler::sort(int column, Qt::SortOrder order)
{ {
layoutAboutToBeChanged(); layoutAboutToBeChanged();
qSort(m_threads.begin(), m_threads.end(), Sorter(column, order)); Utils::sort(m_threads, [&](const ThreadData &t1, const ThreadData &t2) -> bool {
const QVariant v1 = threadPart(t1, column);
const QVariant v2 = threadPart(t2, column);
if (v1 == v2)
return false;
// FIXME: Use correct toXXX();
return (v1.toString() < v2.toString()) ^ (order == Qt::DescendingOrder);
}
);
layoutChanged(); layoutChanged();
} }

View File

@@ -40,13 +40,13 @@
#include "imageviewer.h" #include "imageviewer.h"
#include "watchutils.h" #include "watchutils.h"
#include <utils/algorithm.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/savedaction.h> #include <utils/savedaction.h>
#include <QDebug> #include <QDebug>
#include <QFile> #include <QFile>
#include <QProcess> #include <QProcess>
#include <QtAlgorithms>
#include <QTabWidget> #include <QTabWidget>
#include <QTextEdit> #include <QTextEdit>
@@ -2120,7 +2120,7 @@ void WatchHandler::editTypeFormats(bool includeLocals, const QByteArray &iname)
//QHashIterator<QString, QStringList> it(m_reportedTypeFormats); //QHashIterator<QString, QStringList> it(m_reportedTypeFormats);
QList<QString> l = m_model->m_reportedTypeFormats.keys(); QList<QString> l = m_model->m_reportedTypeFormats.keys();
qSort(l.begin(), l.end()); Utils::sort(l);
foreach (const QString &ba, l) { foreach (const QString &ba, l) {
int f = iname.isEmpty() ? AutomaticFormat : format(iname); int f = iname.isEmpty() ? AutomaticFormat : format(iname);
dlg.addTypeFormats(ba, m_model->m_reportedTypeFormats.value(ba), f); dlg.addTypeFormats(ba, m_model->m_reportedTypeFormats.value(ba), f);

View File

@@ -28,6 +28,7 @@
****************************************************************************/ ****************************************************************************/
#include "commitdata.h" #include "commitdata.h"
#include <utils/algorithm.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QCoreApplication> #include <QCoreApplication>
@@ -166,7 +167,7 @@ bool CommitData::checkLine(const QString &stateInfo, const QString &file)
files.append(qMakePair(yState, newFile)); files.append(qMakePair(yState, newFile));
} }
} }
qSort(files); Utils::sort(files);
return true; return true;
} }

View File

@@ -33,6 +33,7 @@
#include "gitutils.h" #include "gitutils.h"
#include "ui_stashdialog.h" #include "ui_stashdialog.h"
#include <utils/algorithm.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QDebug> #include <QDebug>
@@ -367,7 +368,7 @@ QList<int> StashDialog::selectedRows() const
if (index.isValid()) if (index.isValid())
rc.push_back(index.row()); rc.push_back(index.row());
} }
qSort(rc); Utils::sort(rc);
return rc; return rc;
} }

View File

@@ -32,6 +32,8 @@
#include "session.h" #include "session.h"
#include "project.h" #include "project.h"
#include <utils/algorithm.h>
using namespace Core; using namespace Core;
using namespace ProjectExplorer; using namespace ProjectExplorer;
using namespace ProjectExplorer::Internal; using namespace ProjectExplorer::Internal;
@@ -61,7 +63,7 @@ void AllProjectsFilter::updateFiles()
files().clear(); files().clear();
foreach (Project *project, SessionManager::projects()) foreach (Project *project, SessionManager::projects())
files().append(project->files(Project::AllFiles)); files().append(project->files(Project::AllFiles));
qSort(files()); Utils::sort(files());
generateFileNames(); generateFileNames();
} }

View File

@@ -31,6 +31,8 @@
#include "target.h" #include "target.h"
#include "buildconfiguration.h" #include "buildconfiguration.h"
#include <utils/algorithm.h>
using namespace ProjectExplorer; using namespace ProjectExplorer;
/*! /*!
@@ -59,7 +61,7 @@ BuildConfigurationModel::BuildConfigurationModel(Target *target, QObject *parent
m_target(target) m_target(target)
{ {
m_buildConfigurations = m_target->buildConfigurations(); m_buildConfigurations = m_target->buildConfigurations();
qSort(m_buildConfigurations.begin(), m_buildConfigurations.end(), BuildConfigurationComparer()); Utils::sort(m_buildConfigurations, BuildConfigurationComparer());
connect(target, SIGNAL(addedBuildConfiguration(ProjectExplorer::BuildConfiguration*)), connect(target, SIGNAL(addedBuildConfiguration(ProjectExplorer::BuildConfiguration*)),
this, SLOT(addedBuildConfiguration(ProjectExplorer::BuildConfiguration*))); this, SLOT(addedBuildConfiguration(ProjectExplorer::BuildConfiguration*)));

View File

@@ -31,6 +31,8 @@
#include "projectexplorer.h" #include "projectexplorer.h"
#include "project.h" #include "project.h"
#include <utils/algorithm.h>
#include <QDebug> #include <QDebug>
using namespace Core; using namespace Core;
@@ -64,7 +66,7 @@ void CurrentProjectFilter::updateFiles()
if (!m_project) if (!m_project)
return; return;
files() = m_project->files(Project::AllFiles); files() = m_project->files(Project::AllFiles);
qSort(files()); Utils::sort(files());
generateFileNames(); generateFileNames();
} }

View File

@@ -31,6 +31,8 @@
#include "target.h" #include "target.h"
#include "deployconfiguration.h" #include "deployconfiguration.h"
#include <utils/algorithm.h>
using namespace ProjectExplorer; using namespace ProjectExplorer;
/*! /*!
@@ -57,7 +59,7 @@ DeployConfigurationModel::DeployConfigurationModel(Target *target, QObject *pare
m_target(target) m_target(target)
{ {
m_deployConfigurations = m_target->deployConfigurations(); m_deployConfigurations = m_target->deployConfigurations();
qSort(m_deployConfigurations.begin(), m_deployConfigurations.end(), DeployConfigurationComparer()); Utils::sort(m_deployConfigurations, DeployConfigurationComparer());
connect(target, SIGNAL(addedDeployConfiguration(ProjectExplorer::DeployConfiguration*)), connect(target, SIGNAL(addedDeployConfiguration(ProjectExplorer::DeployConfiguration*)),
this, SLOT(addedDeployConfiguration(ProjectExplorer::DeployConfiguration*))); this, SLOT(addedDeployConfiguration(ProjectExplorer::DeployConfiguration*)));

View File

@@ -33,6 +33,7 @@
#include "ioutputparser.h" #include "ioutputparser.h"
#include "osparser.h" #include "osparser.h"
#include <utils/algorithm.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <QApplication> #include <QApplication>
@@ -254,7 +255,7 @@ QList<Task> Kit::validate() const
} }
result.append(tmp); result.append(tmp);
} }
qSort(result); Utils::sort(result);
d->m_hasValidityInfo = true; d->m_hasValidityInfo = true;
return result; return result;
} }

View File

@@ -33,6 +33,7 @@
#include "kitmanager.h" #include "kitmanager.h"
#include "target.h" #include "target.h"
#include <utils/algorithm.h>
#include <utils/styledbar.h> #include <utils/styledbar.h>
#include <utils/stylehelper.h> #include <utils/stylehelper.h>
@@ -731,23 +732,6 @@ bool MiniProjectTargetSelector::event(QEvent *event)
} }
class IndexSorter
{
public:
enum SortOrder { Less = 0, Greater = 1};
IndexSorter(QVector<int> result, SortOrder order)
: m_result(result), m_order(order)
{ }
bool operator()(int i, int j)
{ return (m_result[i] < m_result[j]) ^ bool(m_order); }
private:
QVector<int> m_result;
SortOrder m_order;
};
// does some fancy calculations to ensure proper widths for the list widgets // does some fancy calculations to ensure proper widths for the list widgets
QVector<int> MiniProjectTargetSelector::listWidgetWidths(int minSize, int maxSize) QVector<int> MiniProjectTargetSelector::listWidgetWidths(int minSize, int maxSize)
{ {
@@ -796,8 +780,9 @@ QVector<int> MiniProjectTargetSelector::listWidgetWidths(int minSize, int maxSiz
if (result[i] != -1) if (result[i] != -1)
indexes.append(i); indexes.append(i);
IndexSorter indexSorter(result, tooSmall ? IndexSorter::Less : IndexSorter::Greater); Utils::sort(indexes, [&](int i, int j) -> bool {
qSort(indexes.begin(), indexes.end(), indexSorter); return (result[i] > result[j]) ^ tooSmall;
});
int i = 0; int i = 0;
int first = result[indexes.first()]; // biggest or smallest int first = result[indexes.first()]; // biggest or smallest

View File

@@ -117,6 +117,7 @@
#include <coreplugin/fileutils.h> #include <coreplugin/fileutils.h>
#include <coreplugin/removefiledialog.h> #include <coreplugin/removefiledialog.h>
#include <texteditor/findinfiles.h> #include <texteditor/findinfiles.h>
#include <utils/algorithm.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/parameteraction.h> #include <utils/parameteraction.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
@@ -1966,7 +1967,7 @@ QStringList ProjectExplorerPlugin::allFilesWithDependencies(Project *pro)
p->rootProjectNode()->accept(&filesVisitor); p->rootProjectNode()->accept(&filesVisitor);
filesToSave << filesVisitor.filePaths(); filesToSave << filesVisitor.filePaths();
} }
qSort(filesToSave); Utils::sort(filesToSave);
return filesToSave; return filesToSave;
} }

View File

@@ -34,6 +34,7 @@
#include "projectexplorer.h" #include "projectexplorer.h"
#include <coreplugin/fileiconprovider.h> #include <coreplugin/fileiconprovider.h>
#include <utils/algorithm.h>
#include <QDebug> #include <QDebug>
#include <QFileInfo> #include <QFileInfo>
@@ -444,7 +445,7 @@ QList<Node*> FlatModel::childNodes(FolderNode *parentNode, const QSet<Node*> &bl
recursiveAddFolderNodes(parentNode, &nodeList, blackList); recursiveAddFolderNodes(parentNode, &nodeList, blackList);
recursiveAddFileNodes(parentNode, &nodeList, blackList + nodeList.toSet()); recursiveAddFileNodes(parentNode, &nodeList, blackList + nodeList.toSet());
} }
qSort(nodeList.begin(), nodeList.end(), sortNodes); Utils::sort(nodeList, sortNodes);
return nodeList; return nodeList;
} }

View File

@@ -37,6 +37,7 @@
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <coreplugin/iversioncontrol.h> #include <coreplugin/iversioncontrol.h>
#include <coreplugin/vcsmanager.h> #include <coreplugin/vcsmanager.h>
#include <utils/algorithm.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QFileInfo> #include <QFileInfo>
@@ -406,7 +407,7 @@ void FolderNode::removeFileNodes(const QList<FileNode *> &files)
return; return;
QList<FileNode*> toRemove = files; QList<FileNode*> toRemove = files;
qSort(toRemove.begin(), toRemove.end()); Utils::sort(toRemove);
foreach (NodesWatcher *watcher, pn->watchers()) foreach (NodesWatcher *watcher, pn->watchers())
emit watcher->filesAboutToBeRemoved(this, toRemove); emit watcher->filesAboutToBeRemoved(this, toRemove);
@@ -486,7 +487,7 @@ void FolderNode::removeFolderNodes(const QList<FolderNode*> &subFolders)
return; return;
QList<FolderNode*> toRemove = subFolders; QList<FolderNode*> toRemove = subFolders;
qSort(toRemove.begin(), toRemove.end()); Utils::sort(toRemove);
foreach (NodesWatcher *watcher, pn->watchers()) foreach (NodesWatcher *watcher, pn->watchers())
emit watcher->foldersAboutToBeRemoved(this, toRemove); emit watcher->foldersAboutToBeRemoved(this, toRemove);
@@ -690,8 +691,8 @@ void ProjectNode::addProjectNodes(const QList<ProjectNode*> &subProjects)
m_subFolderNodes.append(project); m_subFolderNodes.append(project);
m_subProjectNodes.append(project); m_subProjectNodes.append(project);
} }
qSort(m_subFolderNodes.begin(), m_subFolderNodes.end()); Utils::sort(m_subFolderNodes);
qSort(m_subProjectNodes.begin(), m_subProjectNodes.end()); Utils::sort(m_subProjectNodes);
foreach (NodesWatcher *watcher, m_watchers) foreach (NodesWatcher *watcher, m_watchers)
emit watcher->foldersAdded(); emit watcher->foldersAdded();
@@ -711,7 +712,7 @@ void ProjectNode::removeProjectNodes(const QList<ProjectNode*> &subProjects)
QList<FolderNode*> toRemove; QList<FolderNode*> toRemove;
foreach (ProjectNode *projectNode, subProjects) foreach (ProjectNode *projectNode, subProjects)
toRemove << projectNode; toRemove << projectNode;
qSort(toRemove.begin(), toRemove.end()); Utils::sort(toRemove);
foreach (NodesWatcher *watcher, m_watchers) foreach (NodesWatcher *watcher, m_watchers)
emit watcher->foldersAboutToBeRemoved(this, toRemove); emit watcher->foldersAboutToBeRemoved(this, toRemove);
@@ -835,8 +836,8 @@ void SessionNode::addProjectNodes(const QList<ProjectNode*> &projectNodes)
m_projectNodes.append(project); m_projectNodes.append(project);
} }
qSort(m_subFolderNodes); Utils::sort(m_subFolderNodes);
qSort(m_projectNodes); Utils::sort(m_projectNodes);
foreach (NodesWatcher *watcher, m_watchers) foreach (NodesWatcher *watcher, m_watchers)
emit watcher->foldersAdded(); emit watcher->foldersAdded();
@@ -850,7 +851,7 @@ void SessionNode::removeProjectNodes(const QList<ProjectNode*> &projectNodes)
foreach (ProjectNode *projectNode, projectNodes) foreach (ProjectNode *projectNode, projectNodes)
toRemove << projectNode; toRemove << projectNode;
qSort(toRemove); Utils::sort(toRemove);
foreach (NodesWatcher *watcher, m_watchers) foreach (NodesWatcher *watcher, m_watchers)
emit watcher->foldersAboutToBeRemoved(this, toRemove); emit watcher->foldersAboutToBeRemoved(this, toRemove);

View File

@@ -41,6 +41,7 @@
#include <coreplugin/idocument.h> #include <coreplugin/idocument.h>
#include <extensionsystem/pluginmanager.h> #include <extensionsystem/pluginmanager.h>
#include <utils/algorithm.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/stylehelper.h> #include <utils/stylehelper.h>
@@ -340,7 +341,7 @@ void ProjectWindow::registerProject(ProjectExplorer::Project *project)
// Add the project specific pages // Add the project specific pages
QList<IProjectPanelFactory *> factories = ExtensionSystem::PluginManager::getObjects<IProjectPanelFactory>(); QList<IProjectPanelFactory *> factories = ExtensionSystem::PluginManager::getObjects<IProjectPanelFactory>();
qSort(factories.begin(), factories.end(), &IPanelFactory::prioritySort); Utils::sort(factories, &IPanelFactory::prioritySort);
foreach (IProjectPanelFactory *panelFactory, factories) { foreach (IProjectPanelFactory *panelFactory, factories) {
if (panelFactory->supports(project)) if (panelFactory->supports(project))
subtabs << panelFactory->displayName(); subtabs << panelFactory->displayName();
@@ -405,7 +406,7 @@ void ProjectWindow::showProperties(int index, int subIndex)
} }
QList<IProjectPanelFactory *> factories = ExtensionSystem::PluginManager::getObjects<IProjectPanelFactory>(); QList<IProjectPanelFactory *> factories = ExtensionSystem::PluginManager::getObjects<IProjectPanelFactory>();
qSort(factories.begin(), factories.end(), &IPanelFactory::prioritySort); Utils::sort(factories, &IPanelFactory::prioritySort);
foreach (IProjectPanelFactory *panelFactory, factories) { foreach (IProjectPanelFactory *panelFactory, factories) {
if (panelFactory->supports(project)) { if (panelFactory->supports(project)) {
if (subIndex == pos) { if (subIndex == pos) {

View File

@@ -32,6 +32,7 @@
#include "ui_projectwizardpage.h" #include "ui_projectwizardpage.h"
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <utils/algorithm.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/wizard.h> #include <utils/wizard.h>
#include <vcsbase/vcsbaseconstants.h> #include <vcsbase/vcsbaseconstants.h>
@@ -162,18 +163,6 @@ void ProjectWizardPage::setVersionControlIndex(int idx)
m_ui->addToVersionControlComboBox->setCurrentIndex(idx); m_ui->addToVersionControlComboBox->setCurrentIndex(idx);
} }
// Alphabetically, and files in sub-directories first
static bool generatedFilePathLessThan(const QString &filePath1, const QString &filePath2)
{
const bool filePath1HasDir = filePath1.contains(QLatin1Char('/'));
const bool filePath2HasDir = filePath2.contains(QLatin1Char('/'));
if (filePath1HasDir == filePath2HasDir)
return Utils::FileName::fromString(filePath1) < Utils::FileName::fromString(filePath2);
else
return filePath1HasDir;
}
void ProjectWizardPage::setFilesDisplay(const QString &commonPath, const QStringList &files) void ProjectWizardPage::setFilesDisplay(const QString &commonPath, const QStringList &files)
{ {
QString fileMessage; QString fileMessage;
@@ -192,7 +181,16 @@ void ProjectWizardPage::setFilesDisplay(const QString &commonPath, const QString
foreach (const QString &f, files) foreach (const QString &f, files)
formattedFiles.append(f.right(f.size() - prefixSize)); formattedFiles.append(f.right(f.size() - prefixSize));
} }
qSort(formattedFiles.begin(), formattedFiles.end(), generatedFilePathLessThan); // Alphabetically, and files in sub-directories first
Utils::sort(formattedFiles, [](const QString &filePath1, const QString &filePath2) -> bool {
const bool filePath1HasDir = filePath1.contains(QLatin1Char('/'));
const bool filePath2HasDir = filePath2.contains(QLatin1Char('/'));
if (filePath1HasDir == filePath2HasDir)
return Utils::FileName::fromString(filePath1) < Utils::FileName::fromString(filePath2);
return filePath1HasDir;
}
);
foreach (const QString &f, formattedFiles) foreach (const QString &f, formattedFiles)
str << QDir::toNativeSeparators(f) << '\n'; str << QDir::toNativeSeparators(f) << '\n';

View File

@@ -31,6 +31,8 @@
#include "target.h" #include "target.h"
#include "runconfiguration.h" #include "runconfiguration.h"
#include <utils/algorithm.h>
using namespace ProjectExplorer; using namespace ProjectExplorer;
/*! /*!
@@ -57,7 +59,7 @@ RunConfigurationModel::RunConfigurationModel(Target *target, QObject *parent)
m_target(target) m_target(target)
{ {
m_runConfigurations = m_target->runConfigurations(); m_runConfigurations = m_target->runConfigurations();
qSort(m_runConfigurations.begin(), m_runConfigurations.end(), RunConfigurationComparer()); Utils::sort(m_runConfigurations, RunConfigurationComparer());
connect(target, SIGNAL(addedRunConfiguration(ProjectExplorer::RunConfiguration*)), connect(target, SIGNAL(addedRunConfiguration(ProjectExplorer::RunConfiguration*)),
this, SLOT(addedRunConfiguration(ProjectExplorer::RunConfiguration*))); this, SLOT(addedRunConfiguration(ProjectExplorer::RunConfiguration*)));

View File

@@ -40,6 +40,7 @@
#include <extensionsystem/pluginmanager.h> #include <extensionsystem/pluginmanager.h>
#include <projectexplorer/projectexplorer.h> #include <projectexplorer/projectexplorer.h>
#include <projectexplorer/buildmanager.h> #include <projectexplorer/buildmanager.h>
#include <utils/algorithm.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QVariant> #include <QVariant>
@@ -274,11 +275,6 @@ RunSettingsWidget::~RunSettingsWidget()
{ {
} }
static bool actionLessThan(const QAction *action1, const QAction *action2)
{
return action1->text() < action2->text();
}
void RunSettingsWidget::aboutToShowAddMenu() void RunSettingsWidget::aboutToShowAddMenu()
{ {
m_addRunMenu->clear(); m_addRunMenu->clear();
@@ -306,7 +302,9 @@ void RunSettingsWidget::aboutToShowAddMenu()
} }
} }
qSort(menuActions.begin(), menuActions.end(), actionLessThan); Utils::sort(menuActions, [](const QAction *l, const QAction *r) {
return l->text() < r->text();
});
foreach (QAction *action, menuActions) foreach (QAction *action, menuActions)
m_addRunMenu->addAction(action); m_addRunMenu->addAction(action);
} }

View File

@@ -49,6 +49,7 @@
#include <projectexplorer/buildconfiguration.h> #include <projectexplorer/buildconfiguration.h>
#include <projectexplorer/deployconfiguration.h> #include <projectexplorer/deployconfiguration.h>
#include <projectexplorer/runconfiguration.h> #include <projectexplorer/runconfiguration.h>
#include <utils/algorithm.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QFileDialog> #include <QFileDialog>
@@ -539,13 +540,6 @@ void TargetSettingsPanelWidget::activeTargetChanged(ProjectExplorer::Target *tar
m_selector->setCurrentIndex(index); m_selector->setCurrentIndex(index);
} }
namespace {
bool diplayNameSorter(Kit *a, Kit *b)
{
return a->displayName() < b->displayName();
}
}
void TargetSettingsPanelWidget::createAction(Kit *k, QMenu *menu) void TargetSettingsPanelWidget::createAction(Kit *k, QMenu *menu)
{ {
QAction *action = new QAction(k->displayName(), menu); QAction *action = new QAction(k->displayName(), menu);
@@ -598,7 +592,9 @@ void TargetSettingsPanelWidget::updateTargetButtons()
connect(removeAction, SIGNAL(triggered()), this, SLOT(removeTarget())); connect(removeAction, SIGNAL(triggered()), this, SLOT(removeTarget()));
QList<Kit *> kits = KitManager::kits(); QList<Kit *> kits = KitManager::kits();
qSort(kits.begin(), kits.end(), diplayNameSorter); Utils::sort(kits, [](const Kit *a, const Kit *b) {
return a->displayName() < b->displayName();
});
foreach (Kit *k, kits) { foreach (Kit *k, kits) {
if (m_project->target(k)) if (m_project->target(k))
continue; continue;

View File

@@ -56,11 +56,11 @@
#include <cpptools/cppmodelmanagerinterface.h> #include <cpptools/cppmodelmanagerinterface.h>
#include <cpptools/cpptoolsconstants.h> #include <cpptools/cpptoolsconstants.h>
#include <utils/algorithm.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
#include <utils/stringutils.h> #include <utils/stringutils.h>
#include <proparser/prowriter.h> #include <proparser/prowriter.h>
#include <proparser/qmakevfs.h> #include <proparser/qmakevfs.h>
#include <algorithm>
#include <QDebug> #include <QDebug>
#include <QDir> #include <QDir>
@@ -501,8 +501,8 @@ struct InternalNode
QStringList filesToAdd; QStringList filesToAdd;
SortByPath sortByPath; SortByPath sortByPath;
qSort(files.begin(), files.end(), sortByPath); Utils::sort(files, sortByPath);
qSort(existingFileNodes.begin(), existingFileNodes.end(), sortByPath); Utils::sort(existingFileNodes, sortByPath);
ProjectExplorer::compareSortedLists(existingFileNodes, files, filesToRemove, filesToAdd, sortByPath); ProjectExplorer::compareSortedLists(existingFileNodes, files, filesToRemove, filesToAdd, sortByPath);
@@ -527,8 +527,8 @@ struct InternalNode
QStringList resourcesToAdd; QStringList resourcesToAdd;
SortByPath sortByPath; SortByPath sortByPath;
qSort(files.begin(), files.end(), sortByPath); Utils::sort(files, sortByPath);
qSort(existingResourceNodes.begin(), existingResourceNodes.end(), sortByPath); Utils::sort(existingResourceNodes, sortByPath);
ProjectExplorer::compareSortedLists(existingResourceNodes, files, resourcesToRemove, resourcesToAdd, sortByPath); ProjectExplorer::compareSortedLists(existingResourceNodes, files, resourcesToRemove, resourcesToAdd, sortByPath);
@@ -1854,10 +1854,9 @@ void QmakeProFileNode::applyEvaluate(EvalResult evalResult, bool async)
} }
SortByPath sortByPath; SortByPath sortByPath;
qSort(existingProjectNodes.begin(), existingProjectNodes.end(), Utils::sort(existingProjectNodes, sortByPath);
sortByPath); Utils::sort(newProjectFilesExact, sortByPath);
qSort(newProjectFilesExact.begin(), newProjectFilesExact.end(), sortByPath); Utils::sort(newProjectFilesCumlative, sortByPath);
qSort(newProjectFilesCumlative.begin(), newProjectFilesCumlative.end(), sortByPath);
QList<ProjectNode*> toAdd; QList<ProjectNode*> toAdd;
QList<ProjectNode*> toRemove; QList<ProjectNode*> toRemove;

View File

@@ -241,10 +241,10 @@ void ProjectFilesVisitor::findProjectFiles(QmakeProFileNode *rootNode, QmakeProj
ProjectFilesVisitor visitor(files); ProjectFilesVisitor visitor(files);
rootNode->accept(&visitor); rootNode->accept(&visitor);
for (int i = 0; i < FileTypeSize; ++i) { for (int i = 0; i < FileTypeSize; ++i) {
qSort(files->files[i]); Utils::sort(files->files[i]);
qSort(files->generatedFiles[i]); Utils::sort(files->generatedFiles[i]);
} }
qSort(files->proFiles); Utils::sort(files->proFiles);
} }
void ProjectFilesVisitor::visitProjectNode(ProjectNode *projectNode) void ProjectFilesVisitor::visitProjectNode(ProjectNode *projectNode)

View File

@@ -37,6 +37,7 @@
#include <projectexplorer/target.h> #include <projectexplorer/target.h>
#include <qtsupport/qtkitinformation.h> #include <qtsupport/qtkitinformation.h>
#include <utils/algorithm.h>
#include <utils/detailswidget.h> #include <utils/detailswidget.h>
using namespace QmakeProjectManager; using namespace QmakeProjectManager;
@@ -248,7 +249,7 @@ void QmakeProjectConfigWidget::updateProblemLabel()
buildDirectory = m_buildConfiguration->buildDirectory().toString(); buildDirectory = m_buildConfiguration->buildDirectory().toString();
QList<ProjectExplorer::Task> issues; QList<ProjectExplorer::Task> issues;
issues = version->reportIssues(proFileName, buildDirectory); issues = version->reportIssues(proFileName, buildDirectory);
qSort(issues); Utils::sort(issues);
if (!issues.isEmpty() || !shadowBuildWarning.isEmpty()) { if (!issues.isEmpty() || !shadowBuildWarning.isEmpty()) {
QString text = QLatin1String("<nobr>") + shadowBuildWarning; QString text = QLatin1String("<nobr>") + shadowBuildWarning;

View File

@@ -48,6 +48,7 @@
#include <qtsupport/debugginghelperbuildtask.h> #include <qtsupport/debugginghelperbuildtask.h>
#include <qtsupport/qtkitinformation.h> #include <qtsupport/qtkitinformation.h>
#include <qtsupport/qtversionmanager.h> #include <qtsupport/qtversionmanager.h>
#include <utils/algorithm.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
#include <utils/qtcprocess.h> #include <utils/qtcprocess.h>
@@ -275,7 +276,7 @@ bool QMakeStep::init()
QString proFile = node->path(); QString proFile = node->path();
QList<ProjectExplorer::Task> tasks = qtVersion->reportIssues(proFile, workingDirectory); QList<ProjectExplorer::Task> tasks = qtVersion->reportIssues(proFile, workingDirectory);
qSort(tasks); Utils::sort(tasks);
if (!tasks.isEmpty()) { if (!tasks.isEmpty()) {
bool canContinue = true; bool canContinue = true;

View File

@@ -34,6 +34,8 @@
#include <modelnode.h> #include <modelnode.h>
#include <utils/algorithm.h>
#include <QSet> #include <QSet>
namespace QmlDesigner { namespace QmlDesigner {
@@ -43,11 +45,6 @@ ModelNodeContextMenu::ModelNodeContextMenu(AbstractView *view) :
{ {
} }
static bool sortFunction(AbstractDesignerAction * abstractDesignerAction01, AbstractDesignerAction *abstractDesignerAction02)
{
return abstractDesignerAction01->priority() > abstractDesignerAction02->priority();
}
static QSet<AbstractDesignerAction* > findMembers(QSet<AbstractDesignerAction* > designerActionSet, static QSet<AbstractDesignerAction* > findMembers(QSet<AbstractDesignerAction* > designerActionSet,
const QString &category) const QString &category)
{ {
@@ -71,7 +68,9 @@ void populateMenu(QSet<AbstractDesignerAction* > &abstractDesignerActions,
abstractDesignerActions.subtract(matchingFactories); abstractDesignerActions.subtract(matchingFactories);
QList<AbstractDesignerAction* > matchingFactoriesList = matchingFactories.toList(); QList<AbstractDesignerAction* > matchingFactoriesList = matchingFactories.toList();
qSort(matchingFactoriesList.begin(), matchingFactoriesList.end(), &sortFunction); Utils::sort(matchingFactoriesList, [](AbstractDesignerAction *l, AbstractDesignerAction *r) {
return l->priority() > r->priority();
});
foreach (AbstractDesignerAction* designerAction, matchingFactoriesList) { foreach (AbstractDesignerAction* designerAction, matchingFactoriesList) {
if (designerAction->type() == AbstractDesignerAction::Menu) { if (designerAction->type() == AbstractDesignerAction::Menu) {

View File

@@ -31,7 +31,6 @@
#include "modelnodecontextmenu_helper.h" #include "modelnodecontextmenu_helper.h"
#include <cmath> #include <cmath>
#include <QByteArray>
#include <nodeabstractproperty.h> #include <nodeabstractproperty.h>
#include <nodemetainfo.h> #include <nodemetainfo.h>
#include <modelnode.h> #include <modelnode.h>
@@ -43,6 +42,10 @@
#include <qmlanchors.h> #include <qmlanchors.h>
#include <limits> #include <limits>
#include <utils/algorithm.h>
#include <QByteArray>
namespace QmlDesigner { namespace QmlDesigner {
const PropertyName auxDataString("anchors_"); const PropertyName auxDataString("anchors_");
@@ -479,7 +482,7 @@ static void layoutHelperFunction(const SelectionContext &selectionContext,
RewriterTransaction transaction(selectionContext.view(), QByteArrayLiteral("DesignerActionManager|layoutHelperFunction2")); RewriterTransaction transaction(selectionContext.view(), QByteArrayLiteral("DesignerActionManager|layoutHelperFunction2"));
QList<ModelNode> sortedSelectedNodes = selectionContext.selectedModelNodes(); QList<ModelNode> sortedSelectedNodes = selectionContext.selectedModelNodes();
qSort(sortedSelectedNodes.begin(), sortedSelectedNodes.end(), lessThan); Utils::sort(sortedSelectedNodes, lessThan);
setUpperLeftPostionToNode(layoutNode, sortedSelectedNodes); setUpperLeftPostionToNode(layoutNode, sortedSelectedNodes);
reparentToNodeAndRemovePositionForModelNodes(layoutNode, sortedSelectedNodes); reparentToNodeAndRemovePositionForModelNodes(layoutNode, sortedSelectedNodes);

View File

@@ -29,6 +29,8 @@
#include "onedimensionalcluster.h" #include "onedimensionalcluster.h"
#include <utils/algorithm.h>
#include <QDebug> #include <QDebug>
namespace QmlDesigner { namespace QmlDesigner {
@@ -92,7 +94,7 @@ QList<OneDimensionalCluster> OneDimensionalCluster::reduceOneDimensionalClusterL
QList<OneDimensionalCluster> reducedList; QList<OneDimensionalCluster> reducedList;
while (true) while (true)
{ {
qSort(workingList); Utils::sort(workingList);
reducedList.clear(); reducedList.clear();
bool clusterMerged = false; bool clusterMerged = false;
QListIterator<OneDimensionalCluster> clusterIterator(workingList); QListIterator<OneDimensionalCluster> clusterIterator(workingList);

View File

@@ -30,13 +30,15 @@
#include "snapper.h" #include "snapper.h"
#include <QDebug> #include <QDebug>
#include <limits>
#include <QLineF> #include <QLineF>
#include <QPen> #include <QPen>
#include <QApplication> #include <QApplication>
#include <limits>
#include <qmlanchors.h> #include <qmlanchors.h>
#include <utils/algorithm.h>
namespace QmlDesigner { namespace QmlDesigner {
Snapper::Snapper() Snapper::Snapper()
@@ -452,17 +454,6 @@ double Snapper::snappingDistance() const
return m_snappingDistance; return m_snappingDistance;
} }
static bool lineXLessThan(const QLineF &firstLine, const QLineF &secondLine)
{
return firstLine.x1() < secondLine.x2();
}
static bool lineYLessThan(const QLineF &firstLine, const QLineF &secondLine)
{
return firstLine.y1() < secondLine.y2();
}
static QLineF mergedHorizontalLine(const QList<QLineF> &lineList) static QLineF mergedHorizontalLine(const QList<QLineF> &lineList)
{ {
if (lineList.count() == 1) if (lineList.count() == 1)
@@ -504,7 +495,9 @@ static QList<QLineF> mergedHorizontalLines(const QList<QLineF> &lineList)
QList<QLineF> mergedLineList; QList<QLineF> mergedLineList;
QList<QLineF> sortedLineList(lineList); QList<QLineF> sortedLineList(lineList);
qSort(sortedLineList.begin(), sortedLineList.end(), lineYLessThan); Utils::sort(sortedLineList, [](const QLineF &firstLine, const QLineF &secondLine) {
return firstLine.y1() < secondLine.y2();
});
QList<QLineF> lineWithTheSameY; QList<QLineF> lineWithTheSameY;
QListIterator<QLineF> sortedLineListIterator(sortedLineList); QListIterator<QLineF> sortedLineListIterator(sortedLineList);
@@ -531,7 +524,9 @@ static QList<QLineF> mergedVerticalLines(const QList<QLineF> &lineList)
QList<QLineF> mergedLineList; QList<QLineF> mergedLineList;
QList<QLineF> sortedLineList(lineList); QList<QLineF> sortedLineList(lineList);
qSort(sortedLineList.begin(), sortedLineList.end(), lineXLessThan); Utils::sort(sortedLineList, [](const QLineF &firstLine, const QLineF &secondLine) {
return firstLine.x1() < secondLine.x2();
});
QList<QLineF> lineWithTheSameX; QList<QLineF> lineWithTheSameX;
QListIterator<QLineF> sortedLineListIterator(sortedLineList); QListIterator<QLineF> sortedLineListIterator(sortedLineList);

View File

@@ -31,6 +31,8 @@
#include "importlabel.h" #include "importlabel.h"
#include "importmanagercombobox.h" #include "importmanagercombobox.h"
#include <utils/algorithm.h>
#include <QVBoxLayout> #include <QVBoxLayout>
#include <QComboBox> #include <QComboBox>
@@ -118,7 +120,7 @@ void ImportsWidget::setImports(const QList<Import> &imports)
QList<Import> sortedImports = imports; QList<Import> sortedImports = imports;
qSort(sortedImports.begin(), sortedImports.end(), importLess); Utils::sort(sortedImports, importLess);
foreach (const Import &import, sortedImports) { foreach (const Import &import, sortedImports) {
ImportLabel *importLabel = new ImportLabel(this); ImportLabel *importLabel = new ImportLabel(this);

View File

@@ -40,6 +40,7 @@
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <qmljs/qmljssimplereader.h> #include <qmljs/qmljssimplereader.h>
#include <utils/algorithm.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <QApplication> #include <QApplication>
@@ -342,7 +343,7 @@ QString PropertyEditorQmlBackend::templateGeneration(NodeMetaInfo type,
qmlTemplate += QStringLiteral("SectionLayout {\n"); qmlTemplate += QStringLiteral("SectionLayout {\n");
QList<PropertyName> orderedList = type.propertyNames(); QList<PropertyName> orderedList = type.propertyNames();
qSort(orderedList); Utils::sort(orderedList);
bool emptyTemplate = true; bool emptyTemplate = true;

View File

@@ -36,6 +36,7 @@
#include <qmldesignerwarning.h> #include <qmldesignerwarning.h>
#include <utils/algorithm.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
#include <QDir> #include <QDir>
@@ -50,7 +51,7 @@ enum { debug = false };
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
// Allow usage of QFileInfo in qSort // Allow usage of QFileInfo in Utils::sort
static bool operator<(const QFileInfo &file1, const QFileInfo &file2) static bool operator<(const QFileInfo &file1, const QFileInfo &file2)
{ {
@@ -282,8 +283,8 @@ void SubComponentManager::parseDirectory(const QString &canonicalDirPath, bool a
newList << qmlFile; newList << qmlFile;
} }
qSort(monitoredList); Utils::sort(monitoredList);
qSort(newList); Utils::sort(newList);
if (debug) if (debug)
qDebug() << "monitored list " << monitoredList.size() << "new list " << newList.size(); qDebug() << "monitored list " << monitoredList.size() << "new list " << newList.size();

View File

@@ -38,6 +38,8 @@
#include <QHashIterator> #include <QHashIterator>
#include <utils/algorithm.h>
#include "abstractview.h" #include "abstractview.h"
#include "nodeinstanceview.h" #include "nodeinstanceview.h"
#include "metainfo.h" #include "metainfo.h"
@@ -1302,7 +1304,7 @@ void ModelPrivate::setSelectedNodes(const QList<InternalNode::Pointer> &selected
} }
sortedSelectedList = sortedSelectedList.toSet().toList(); sortedSelectedList = sortedSelectedList.toSet().toList();
qSort(sortedSelectedList); Utils::sort(sortedSelectedList);
if (sortedSelectedList == m_selectedInternalNodeList) if (sortedSelectedList == m_selectedInternalNodeList)
return; return;

View File

@@ -35,6 +35,7 @@
#include <nodelistproperty.h> #include <nodelistproperty.h>
#include <nodeproperty.h> #include <nodeproperty.h>
#include <utils/algorithm.h>
#include <QDebug> #include <QDebug>
@@ -294,7 +295,7 @@ void ModelToTextMerger::applyChanges()
void ModelToTextMerger::reindent(const QMap<int, int> &dirtyAreas) const void ModelToTextMerger::reindent(const QMap<int, int> &dirtyAreas) const
{ {
QList<int> offsets = dirtyAreas.keys(); QList<int> offsets = dirtyAreas.keys();
qSort(offsets); Utils::sort(offsets);
TextModifier *textModifier = m_rewriterView->textModifier(); TextModifier *textModifier = m_rewriterView->textModifier();
foreach (const int offset, offsets) { foreach (const int offset, offsets) {

View File

@@ -17,6 +17,7 @@
#include "crumblebar.h" #include "crumblebar.h"
#include <qmldesigner/qmldesignerplugin.h> #include <qmldesigner/qmldesignerplugin.h>
#include <utils/algorithm.h>
namespace QmlDesigner { namespace QmlDesigner {
@@ -198,11 +199,6 @@ void ViewManager::setNodeInstanceViewKit(ProjectExplorer::Kit *kit)
d->nodeInstanceView.setKit(kit); d->nodeInstanceView.setKit(kit);
} }
static bool widgetInfoLessThan(const WidgetInfo &firstWidgetInfo, const WidgetInfo &secondWidgetInfo)
{
return firstWidgetInfo.placementPriority < secondWidgetInfo.placementPriority;
}
QList<WidgetInfo> ViewManager::widgetInfos() QList<WidgetInfo> ViewManager::widgetInfos()
{ {
QList<WidgetInfo> widgetInfoList; QList<WidgetInfo> widgetInfoList;
@@ -220,7 +216,9 @@ QList<WidgetInfo> ViewManager::widgetInfos()
widgetInfoList.append(abstractView->widgetInfo()); widgetInfoList.append(abstractView->widgetInfo());
} }
qSort(widgetInfoList.begin(), widgetInfoList.end(), widgetInfoLessThan); Utils::sort(widgetInfoList, [](const WidgetInfo &firstWidgetInfo, const WidgetInfo &secondWidgetInfo) {
return firstWidgetInfo.placementPriority < secondWidgetInfo.placementPriority;
});
return widgetInfoList; return widgetInfoList;
} }

View File

@@ -59,7 +59,6 @@
#include <QFile> #include <QFile>
#include <QFileInfo> #include <QFileInfo>
#include <QDir> #include <QDir>
#include <QtAlgorithms>
#include <QDirIterator> #include <QDirIterator>
#include <QStringList> #include <QStringList>
#include <QIcon> #include <QIcon>
@@ -1034,7 +1033,7 @@ void QmlJSAssistProposalModel::filter(const QString &prefix)
void QmlJSAssistProposalModel::sort(const QString &prefix) void QmlJSAssistProposalModel::sort(const QString &prefix)
{ {
qSort(currentItems().first, currentItems().second, QmlJSLessThan(prefix)); std::sort(currentItems().first, currentItems().second, QmlJSLessThan(prefix));
} }
bool QmlJSAssistProposalModel::keepPerfectMatch(TextEditor::AssistReason reason) const bool QmlJSAssistProposalModel::keepPerfectMatch(TextEditor::AssistReason reason) const

View File

@@ -45,6 +45,7 @@
#include <texteditor/basetextdocument.h> #include <texteditor/basetextdocument.h>
#include <texteditor/texteditorconstants.h> #include <texteditor/texteditorconstants.h>
#include <texteditor/fontsettings.h> #include <texteditor/fontsettings.h>
#include <utils/algorithm.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QFutureInterface> #include <QFutureInterface>
@@ -444,7 +445,7 @@ private:
addMessages(m_semanticInfo.semanticMessages, m_semanticInfo.document); addMessages(m_semanticInfo.semanticMessages, m_semanticInfo.document);
addMessages(m_semanticInfo.staticAnalysisMessages, m_semanticInfo.document); addMessages(m_semanticInfo.staticAnalysisMessages, m_semanticInfo.document);
qSort(m_delayedUses.begin(), m_delayedUses.end(), sortByLinePredicate); Utils::sort(m_delayedUses, sortByLinePredicate);
} }
m_currentDelayedUse = 0; m_currentDelayedUse = 0;
@@ -513,7 +514,7 @@ private:
if (m_uses.isEmpty()) if (m_uses.isEmpty())
return; return;
qSort(m_uses.begin(), m_uses.end(), sortByLinePredicate); Utils::sort(m_uses, sortByLinePredicate);
reportResults(m_uses); reportResults(m_uses);
m_uses.clear(); m_uses.clear();
m_uses.reserve(chunkSize); m_uses.reserve(chunkSize);

View File

@@ -31,6 +31,7 @@
#include "qmljslocatordata.h" #include "qmljslocatordata.h"
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <utils/algorithm.h>
#include <QStringMatcher> #include <QStringMatcher>
@@ -101,9 +102,9 @@ QList<Core::LocatorFilterEntry> FunctionFilter::matchesFor(QFutureInterface<Core
} }
if (goodEntries.size() < 1000) if (goodEntries.size() < 1000)
qSort(goodEntries.begin(), goodEntries.end(), compareLexigraphically); Utils::sort(goodEntries, compareLexigraphically);
if (betterEntries.size() < 1000) if (betterEntries.size() < 1000)
qSort(betterEntries.begin(), betterEntries.end(), compareLexigraphically); Utils::sort(betterEntries, compareLexigraphically);
betterEntries += goodEntries; betterEntries += goodEntries;
return betterEntries; return betterEntries;

View File

@@ -31,6 +31,7 @@
#include "qmlprofilermodelmanager.h" #include "qmlprofilermodelmanager.h"
#include "qmlprofilerdatamodel.h" #include "qmlprofilerdatamodel.h"
#include <utils/algorithm.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QVector> #include <QVector>
@@ -214,7 +215,7 @@ void QmlProfilerEventsModelProxy::loadData(qint64 rangeStart, qint64 rangeEnd)
QVector<qint64> eventDurations = durations[it.key()]; QVector<qint64> eventDurations = durations[it.key()];
if (!eventDurations.isEmpty()) { if (!eventDurations.isEmpty()) {
qSort(eventDurations); Utils::sort(eventDurations);
stats->medianTime = eventDurations.at(eventDurations.count()/2); stats->medianTime = eventDurations.at(eventDurations.count()/2);
} }

View File

@@ -31,6 +31,8 @@
#include "qnxdeviceprocesslist.h" #include "qnxdeviceprocesslist.h"
#include <utils/algorithm.h>
#include <QRegExp> #include <QRegExp>
#include <QStringList> #include <QStringList>
@@ -75,6 +77,6 @@ QList<ProjectExplorer::DeviceProcessItem> QnxDeviceProcessList::buildProcessList
} }
} }
qSort(processes); Utils::sort(processes);
return processes; return processes;
} }

View File

@@ -44,6 +44,7 @@
#include <qtsupport/debugginghelperbuildtask.h> #include <qtsupport/debugginghelperbuildtask.h>
#include <qtsupport/qtsupportconstants.h> #include <qtsupport/qtsupportconstants.h>
#include <utils/algorithm.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/runextensions.h> #include <utils/runextensions.h>
@@ -1180,7 +1181,7 @@ QList<Task> BaseQtVersion::reportIssuesImpl(const QString &proFile, const QStrin
QList<Task> BaseQtVersion::reportIssues(const QString &proFile, const QString &buildDir) const QList<Task> BaseQtVersion::reportIssues(const QString &proFile, const QString &buildDir) const
{ {
QList<Task> results = reportIssuesImpl(proFile, buildDir); QList<Task> results = reportIssuesImpl(proFile, buildDir);
qSort(results); Utils::sort(results);
return results; return results;
} }

View File

@@ -34,6 +34,7 @@
#include <proparser/qmakevfs.h> #include <proparser/qmakevfs.h>
#include <extensionsystem/pluginmanager.h> #include <extensionsystem/pluginmanager.h>
#include <utils/algorithm.h>
#include <utils/environment.h> #include <utils/environment.h>
using namespace QtSupport; using namespace QtSupport;
@@ -42,17 +43,10 @@ using namespace QtSupport::Internal;
QtVersionFactory::QtVersionFactory(QObject *parent) : QtVersionFactory::QtVersionFactory(QObject *parent) :
QObject(parent) QObject(parent)
{ {
} }
QtVersionFactory::~QtVersionFactory() QtVersionFactory::~QtVersionFactory()
{ {
}
bool sortByPriority(QtVersionFactory *a, QtVersionFactory *b)
{
return a->priority() > b->priority();
} }
BaseQtVersion *QtVersionFactory::createQtVersionFromQMakePath(const Utils::FileName &qmakePath, bool isAutoDetected, const QString &autoDetectionSource, QString *error) BaseQtVersion *QtVersionFactory::createQtVersionFromQMakePath(const Utils::FileName &qmakePath, bool isAutoDetected, const QString &autoDetectionSource, QString *error)
@@ -73,7 +67,9 @@ BaseQtVersion *QtVersionFactory::createQtVersionFromQMakePath(const Utils::FileN
evaluator.loadNamedSpec(mkspec.toString(), false); evaluator.loadNamedSpec(mkspec.toString(), false);
QList<QtVersionFactory *> factories = ExtensionSystem::PluginManager::getObjects<QtVersionFactory>(); QList<QtVersionFactory *> factories = ExtensionSystem::PluginManager::getObjects<QtVersionFactory>();
qSort(factories.begin(), factories.end(), &sortByPriority); Utils::sort(factories, [](const QtVersionFactory *l, const QtVersionFactory *r) {
return l->priority() > r->priority();
});
foreach (QtVersionFactory *factory, factories) { foreach (QtVersionFactory *factory, factories) {
BaseQtVersion *ver = factory->create(qmakePath, &evaluator, isAutoDetected, autoDetectionSource); BaseQtVersion *ver = factory->create(qmakePath, &evaluator, isAutoDetected, autoDetectionSource);

View File

@@ -42,6 +42,7 @@
#include <projectexplorer/toolchainmanager.h> #include <projectexplorer/toolchainmanager.h>
#include <utils/algorithm.h>
#include <utils/buildablehelperlibrary.h> #include <utils/buildablehelperlibrary.h>
#include <utils/filesystemwatcher.h> #include <utils/filesystemwatcher.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
@@ -505,7 +506,7 @@ QList<BaseQtVersion *> QtVersionManager::versions()
QTC_ASSERT(isLoaded(), return versions); QTC_ASSERT(isLoaded(), return versions);
foreach (BaseQtVersion *version, m_versions) foreach (BaseQtVersion *version, m_versions)
versions << version; versions << version;
qSort(versions.begin(), versions.end(), &qtVersionNumberCompare); Utils::sort(versions, qtVersionNumberCompare);
return versions; return versions;
} }
@@ -517,7 +518,7 @@ QList<BaseQtVersion *> QtVersionManager::validVersions()
if (v->isValid()) if (v->isValid())
results.append(v); results.append(v);
} }
qSort(results.begin(), results.end(), &qtVersionNumberCompare); Utils::sort(results, qtVersionNumberCompare);
return results; return results;
} }
@@ -536,15 +537,6 @@ BaseQtVersion *QtVersionManager::version(int id)
return it.value(); return it.value();
} }
class SortByUniqueId
{
public:
bool operator()(BaseQtVersion *a, BaseQtVersion *b)
{
return a->uniqueId() < b->uniqueId();
}
};
// This function is really simplistic... // This function is really simplistic...
static bool equals(BaseQtVersion *a, BaseQtVersion *b) static bool equals(BaseQtVersion *a, BaseQtVersion *b)
{ {
@@ -556,8 +548,9 @@ void QtVersionManager::setNewQtVersions(QList<BaseQtVersion *> newVersions)
// We want to preserve the same order as in the settings dialog // We want to preserve the same order as in the settings dialog
// so we sort a copy // so we sort a copy
QList<BaseQtVersion *> sortedNewVersions = newVersions; QList<BaseQtVersion *> sortedNewVersions = newVersions;
SortByUniqueId sortByUniqueId; Utils::sort(sortedNewVersions, [](const BaseQtVersion *l, const BaseQtVersion *r) {
qSort(sortedNewVersions.begin(), sortedNewVersions.end(), sortByUniqueId); return l->uniqueId() < r->uniqueId();
});
QList<int> addedVersions; QList<int> addedVersions;
QList<int> removedVersions; QList<int> removedVersions;

View File

@@ -39,6 +39,7 @@
#include <coreplugin/id.h> #include <coreplugin/id.h>
#include <projectexplorer/devicesupport/sshdeviceprocesslist.h> #include <projectexplorer/devicesupport/sshdeviceprocesslist.h>
#include <ssh/sshremoteprocessrunner.h> #include <ssh/sshremoteprocessrunner.h>
#include <utils/algorithm.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QTimer> #include <QTimer>
@@ -116,7 +117,7 @@ private:
processes.append(process); processes.append(process);
} }
qSort(processes); Utils::sort(processes);
return processes; return processes;
} }
}; };

View File

@@ -36,6 +36,7 @@
#include <texteditor/storagesettings.h> #include <texteditor/storagesettings.h>
#include <texteditor/behaviorsettings.h> #include <texteditor/behaviorsettings.h>
#include <texteditor/extraencodingsettings.h> #include <texteditor/extraencodingsettings.h>
#include <utils/algorithm.h>
#include <QList> #include <QList>
#include <QString> #include <QString>
@@ -43,7 +44,6 @@
#include <QTextCodec> #include <QTextCodec>
#include <QTextStream> #include <QTextStream>
#include <algorithm>
#include <functional> #include <functional>
namespace TextEditor { namespace TextEditor {
@@ -61,7 +61,7 @@ BehaviorSettingsWidget::BehaviorSettingsWidget(QWidget *parent)
d->m_ui.setupUi(this); d->m_ui.setupUi(this);
QList<int> mibs = QTextCodec::availableMibs(); QList<int> mibs = QTextCodec::availableMibs();
qSort(mibs); Utils::sort(mibs);
QList<int>::iterator firstNonNegative = QList<int>::iterator firstNonNegative =
std::find_if(mibs.begin(), mibs.end(), std::bind2nd(std::greater_equal<int>(), 0)); std::find_if(mibs.begin(), mibs.end(), std::bind2nd(std::greater_equal<int>(), 0));
if (firstNonNegative != mibs.end()) if (firstNonNegative != mibs.end())

View File

@@ -30,6 +30,7 @@
#include "codecselector.h" #include "codecselector.h"
#include "basetextdocument.h" #include "basetextdocument.h"
#include <utils/algorithm.h>
#include <utils/itemviews.h> #include <utils/itemviews.h>
#include <QDebug> #include <QDebug>
@@ -84,7 +85,7 @@ CodecSelector::CodecSelector(QWidget *parent, BaseTextDocument *doc)
QStringList encodings; QStringList encodings;
QList<int> mibs = QTextCodec::availableMibs(); QList<int> mibs = QTextCodec::availableMibs();
qSort(mibs); Utils::sort(mibs);
QList<int> sortedMibs; QList<int> sortedMibs;
foreach (int mib, mibs) foreach (int mib, mibs)
if (mib >= 0) if (mib >= 0)

View File

@@ -40,10 +40,10 @@
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <coreplugin/progressmanager/progressmanager.h> #include <coreplugin/progressmanager/progressmanager.h>
#include <utils/algorithm.h>
#include <utils/QtConcurrentTools> #include <utils/QtConcurrentTools>
#include <utils/networkaccessmanager.h> #include <utils/networkaccessmanager.h>
#include <QtAlgorithms>
#include <QString> #include <QString>
#include <QLatin1Char> #include <QLatin1Char>
#include <QLatin1String> #include <QLatin1String>
@@ -174,12 +174,6 @@ public:
static const int kMaxProgress; static const int kMaxProgress;
}; };
bool priorityComp(const QSharedPointer<HighlightDefinitionMetaData> &a,
const QSharedPointer<HighlightDefinitionMetaData> &b)
{
return a->priority > b->priority;
}
const int ManagerProcessor::kMaxProgress = 200; const int ManagerProcessor::kMaxProgress = 200;
ManagerProcessor::ManagerProcessor() ManagerProcessor::ManagerProcessor()
@@ -231,7 +225,10 @@ void ManagerProcessor::process(QFutureInterface<QPair<Manager::RegisterData,
} }
// Consider definitions with higher priority first. // Consider definitions with higher priority first.
qSort(allMetaData.begin(), allMetaData.end(), &priorityComp); Utils::sort(allMetaData, [](const QSharedPointer<HighlightDefinitionMetaData> &l,
const QSharedPointer<HighlightDefinitionMetaData> &r) {
return l->priority > r->priority;
});
foreach (const QSharedPointer<HighlightDefinitionMetaData> &metaData, allMetaData) { foreach (const QSharedPointer<HighlightDefinitionMetaData> &metaData, allMetaData) {
if (future.isCanceled()) if (future.isCanceled())

View File

@@ -33,6 +33,7 @@
#include "texteditorsettings.h" #include "texteditorsettings.h"
#include "fontsettings.h" #include "fontsettings.h"
#include <utils/algorithm.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <qtimer.h> #include <qtimer.h>
@@ -659,7 +660,7 @@ void SyntaxHighlighter::setExtraAdditionalFormats(const QTextBlock& block,
if (block.layout() == 0 || blockLength == 0) if (block.layout() == 0 || blockLength == 0)
return; return;
qSort(formats.begin(), formats.end(), byStartOfRange); Utils::sort(formats, byStartOfRange);
const QList<QTextLayout::FormatRange> all = block.layout()->additionalFormats(); const QList<QTextLayout::FormatRange> all = block.layout()->additionalFormats();
QList<QTextLayout::FormatRange> previousSemanticFormats; QList<QTextLayout::FormatRange> previousSemanticFormats;
@@ -678,7 +679,7 @@ void SyntaxHighlighter::setExtraAdditionalFormats(const QTextBlock& block,
} }
if (formats.size() == previousSemanticFormats.size()) { if (formats.size() == previousSemanticFormats.size()) {
qSort(previousSemanticFormats.begin(), previousSemanticFormats.end(), byStartOfRange); Utils::sort(previousSemanticFormats, byStartOfRange);
int index = 0; int index = 0;
for (; index != formats.size(); ++index) { for (; index != formats.size(); ++index) {

View File

@@ -31,6 +31,8 @@
#include "todoitemsmodel.h" #include "todoitemsmodel.h"
#include "constants.h" #include "constants.h"
#include <utils/algorithm.h>
#include <QIcon> #include <QIcon>
namespace Todo { namespace Todo {
@@ -135,7 +137,7 @@ void TodoItemsModel::sort(int column, Qt::SortOrder order)
m_currentSortOrder = order; m_currentSortOrder = order;
TodoItemSortPredicate predicate(m_currentSortColumn, m_currentSortOrder); TodoItemSortPredicate predicate(m_currentSortColumn, m_currentSortOrder);
qSort(m_todoItemsList->begin(), m_todoItemsList->end(), predicate); Utils::sort(*m_todoItemsList, predicate);
emit layoutChanged(); emit layoutChanged();
} }

View File

@@ -33,6 +33,7 @@
#include "callgrindfunction.h" #include "callgrindfunction.h"
#include "callgrindcostitem.h" #include "callgrindcostitem.h"
#include <utils/algorithm.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QChar> #include <QChar>
@@ -68,23 +69,13 @@ public:
QVector<const Function *> m_functions; QVector<const Function *> m_functions;
}; };
struct SortFunctions {
SortFunctions(int event)
: m_event(event)
{
}
bool operator()(const Function *left, const Function *right)
{
return left->inclusiveCost(m_event) > right->inclusiveCost(m_event);
}
int m_event;
};
void DataModel::Private::updateFunctions() void DataModel::Private::updateFunctions()
{ {
if (m_data) { if (m_data) {
m_functions = m_data->functions(m_cycleDetection); m_functions = m_data->functions(m_cycleDetection);
qSort(m_functions.begin(), m_functions.end(), SortFunctions(m_event)); Utils::sort(m_functions, [this](const Function *l, const Function *r) {
return l->inclusiveCost(m_event) > r->inclusiveCost(m_event);
});
} else { } else {
m_functions.clear(); m_functions.clear();
} }

View File

@@ -43,6 +43,7 @@
#include <projectexplorer/project.h> #include <projectexplorer/project.h>
#include <projectexplorer/projectnodes.h> #include <projectexplorer/projectnodes.h>
#include <utils/algorithm.h>
#include <utils/pathchooser.h> #include <utils/pathchooser.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
@@ -116,11 +117,6 @@ static bool equalSuppression(const Error &error, const Error &suppressed)
return true; return true;
} }
bool sortIndizesReverse(const QModelIndex &l, const QModelIndex &r)
{
return l.row() > r.row();
}
SuppressionDialog::SuppressionDialog(MemcheckErrorView *view, const QList<Error> &errors) SuppressionDialog::SuppressionDialog(MemcheckErrorView *view, const QList<Error> &errors)
: m_view(view), : m_view(view),
m_settings(view->settings()), m_settings(view->settings()),
@@ -224,7 +220,9 @@ void SuppressionDialog::accept()
m_settings->addSuppressionFiles(QStringList(path)); m_settings->addSuppressionFiles(QStringList(path));
QModelIndexList indices = m_view->selectionModel()->selectedRows(); QModelIndexList indices = m_view->selectionModel()->selectedRows();
qSort(indices.begin(), indices.end(), sortIndizesReverse); Utils::sort(indices, [](const QModelIndex &l, const QModelIndex &r) {
return l.row() > r.row();
});
QAbstractItemModel *model = m_view->model(); QAbstractItemModel *model = m_view->model();
foreach (const QModelIndex &index, indices) { foreach (const QModelIndex &index, indices) {
bool removed = model->removeRow(index.row()); bool removed = model->removeRow(index.row());

View File

@@ -34,6 +34,7 @@
#include "ui_valgrindconfigwidget.h" #include "ui_valgrindconfigwidget.h"
#include <utils/algorithm.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
@@ -216,11 +217,6 @@ void ValgrindConfigWidget::slotSuppressionsAdded(const QStringList &files)
m_model->appendRow(new QStandardItem(file)); m_model->appendRow(new QStandardItem(file));
} }
bool sortReverse(int l, int r)
{
return l > r;
}
void ValgrindConfigWidget::slotRemoveSuppression() void ValgrindConfigWidget::slotRemoveSuppression()
{ {
// remove from end so no rows get invalidated // remove from end so no rows get invalidated
@@ -232,7 +228,7 @@ void ValgrindConfigWidget::slotRemoveSuppression()
removed << index.data().toString(); removed << index.data().toString();
} }
qSort(rows.begin(), rows.end(), sortReverse); Utils::sort(rows, std::greater<int>());
foreach (int row, rows) foreach (int row, rows)
m_model->removeRow(row); m_model->removeRow(row);

View File

@@ -37,6 +37,7 @@
#include <coreplugin/modemanager.h> #include <coreplugin/modemanager.h>
#include <coreplugin/iwizardfactory.h> #include <coreplugin/iwizardfactory.h>
#include <utils/algorithm.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
#include <utils/styledbar.h> #include <utils/styledbar.h>
@@ -184,11 +185,6 @@ void WelcomeMode::sceneGraphError(QQuickWindow::SceneGraphError, const QString &
} }
#endif // Qt 5.3 #endif // Qt 5.3
bool sortFunction(Utils::IWelcomePage * a, Utils::IWelcomePage *b)
{
return a->priority() < b->priority();
}
void WelcomeMode::facilitateQml(QQmlEngine * /*engine*/) void WelcomeMode::facilitateQml(QQmlEngine * /*engine*/)
{ {
} }
@@ -214,7 +210,9 @@ void WelcomeMode::initPlugins()
ctx->setContextProperty(QLatin1String("welcomeMode"), this); ctx->setContextProperty(QLatin1String("welcomeMode"), this);
QList<Utils::IWelcomePage*> duplicatePlugins = PluginManager::getObjects<Utils::IWelcomePage>(); QList<Utils::IWelcomePage*> duplicatePlugins = PluginManager::getObjects<Utils::IWelcomePage>();
qSort(duplicatePlugins.begin(), duplicatePlugins.end(), &sortFunction); Utils::sort(duplicatePlugins, [](const Utils::IWelcomePage *l, const Utils::IWelcomePage *r) {
return l->priority() < r->priority();
});
QList<Utils::IWelcomePage*> plugins; QList<Utils::IWelcomePage*> plugins;
QHash<Utils::IWelcomePage::Id, Utils::IWelcomePage*> pluginHash; QHash<Utils::IWelcomePage::Id, Utils::IWelcomePage*> pluginHash;