Locator: Cleanup and modernize Locator and filters

* Omit QLatin1{Char|String}
* Use member initialization
* Use range-based-for
  (and fixed the cases with non-const Qt container)
* Sort includes to common style

Change-Id: Ibc33a732bb153862efd6d5febfac758229cb61d4
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
This commit is contained in:
Andre Hartmann
2017-12-29 09:11:27 +01:00
committed by André Hartmann
parent ccc0bebcf4
commit b2aa1b9845
42 changed files with 238 additions and 219 deletions

View File

@@ -45,7 +45,7 @@ CMakeLocatorFilter::CMakeLocatorFilter()
{ {
setId("Build CMake target"); setId("Build CMake target");
setDisplayName(tr("Build CMake target")); setDisplayName(tr("Build CMake target"));
setShortcutString(QLatin1String("cm")); setShortcutString("cm");
setPriority(High); setPriority(High);
connect(SessionManager::instance(), &SessionManager::projectAdded, connect(SessionManager::instance(), &SessionManager::projectAdded,
@@ -60,11 +60,13 @@ CMakeLocatorFilter::CMakeLocatorFilter()
void CMakeLocatorFilter::prepareSearch(const QString &entry) void CMakeLocatorFilter::prepareSearch(const QString &entry)
{ {
m_result.clear(); m_result.clear();
for (Project *p : SessionManager::projects()) { const QList<Project *> projects = SessionManager::projects();
for (Project *p : projects) {
CMakeProject *cmakeProject = qobject_cast<CMakeProject *>(p); CMakeProject *cmakeProject = qobject_cast<CMakeProject *>(p);
if (!cmakeProject) if (!cmakeProject)
continue; continue;
foreach (const QString &title, cmakeProject->buildTargetTitles()) { const QStringList buildTargetTitles = cmakeProject->buildTargetTitles();
for (const QString &title : buildTargetTitles) {
const int index = title.indexOf(entry); const int index = title.indexOf(entry);
if (index >= 0) { if (index >= 0) {
Core::LocatorFilterEntry filterEntry(this, title, cmakeProject->projectFilePath().toString()); Core::LocatorFilterEntry filterEntry(this, title, cmakeProject->projectFilePath().toString());

View File

@@ -105,7 +105,7 @@ QList<LocatorFilterEntry> BaseFileFilter::matchesFor(QFutureInterface<LocatorFil
d->m_current.clear(); // free memory d->m_current.clear(); // free memory
return betterEntries; return betterEntries;
} }
const QChar pathSeparator(QLatin1Char('/')); const QChar pathSeparator('/');
const bool hasPathSeparator = fp.filePath.contains(pathSeparator); const bool hasPathSeparator = fp.filePath.contains(pathSeparator);
const bool containsPreviousEntry = !d->m_current.previousEntry.isEmpty() const bool containsPreviousEntry = !d->m_current.previousEntry.isEmpty()
&& fp.filePath.contains(d->m_current.previousEntry); && fp.filePath.contains(d->m_current.previousEntry);
@@ -212,7 +212,7 @@ void BaseFileFilter::updatePreviousResultData()
BaseFileFilter::ListIterator::ListIterator(const QStringList &filePaths) BaseFileFilter::ListIterator::ListIterator(const QStringList &filePaths)
{ {
m_filePaths = filePaths; m_filePaths = filePaths;
foreach (const QString &path, m_filePaths) { for (const QString &path : filePaths) {
QFileInfo fi(path); QFileInfo fi(path);
m_fileNames.append(fi.fileName()); m_fileNames.append(fi.fileName());
} }

View File

@@ -82,7 +82,7 @@ protected:
private: private:
void updatePreviousResultData(); void updatePreviousResultData();
Internal::BaseFileFilterPrivate *d; Internal::BaseFileFilterPrivate *d = nullptr;
}; };
} // namespace Core } // namespace Core

View File

@@ -40,7 +40,7 @@ class CORE_EXPORT CommandLocator : public ILocatorFilter
public: public:
CommandLocator(Id id, const QString &displayName, CommandLocator(Id id, const QString &displayName,
const QString &shortCutString, QObject *parent = 0); const QString &shortCutString, QObject *parent = nullptr);
~CommandLocator(); ~CommandLocator();
void appendCommand(Command *cmd); void appendCommand(Command *cmd);
@@ -52,7 +52,7 @@ public:
void refresh(QFutureInterface<void> &future) override; void refresh(QFutureInterface<void> &future) override;
private: private:
CommandLocatorPrivate *d; CommandLocatorPrivate *d = nullptr;
}; };
} // namespace Core } // namespace Core

View File

@@ -112,13 +112,12 @@ bool DirectoryFilter::openConfigDialog(QWidget *parent, bool &needsRefresh)
m_ui.filePatternLabel->setText(Utils::msgFilePatternLabel()); m_ui.filePatternLabel->setText(Utils::msgFilePatternLabel());
m_ui.filePatternLabel->setBuddy(m_ui.filePattern); m_ui.filePatternLabel->setBuddy(m_ui.filePattern);
m_ui.filePattern->setToolTip(Utils::msgFilePatternToolTip()); m_ui.filePattern->setToolTip(Utils::msgFilePatternToolTip());
m_ui.filePattern->setText(Utils::transform(m_filters, &QDir::toNativeSeparators) m_ui.filePattern->setText(Utils::transform(m_filters, &QDir::toNativeSeparators).join(','));
.join(QLatin1Char(',')));
m_ui.exclusionPatternLabel->setText(Utils::msgExclusionPatternLabel()); m_ui.exclusionPatternLabel->setText(Utils::msgExclusionPatternLabel());
m_ui.exclusionPatternLabel->setBuddy(m_ui.exclusionPattern); m_ui.exclusionPatternLabel->setBuddy(m_ui.exclusionPattern);
m_ui.exclusionPattern->setToolTip(Utils::msgFilePatternToolTip()); m_ui.exclusionPattern->setToolTip(Utils::msgFilePatternToolTip());
m_ui.exclusionPattern->setText(Utils::transform(m_exclusionFilters, &QDir::toNativeSeparators) m_ui.exclusionPattern->setText(Utils::transform(m_exclusionFilters, &QDir::toNativeSeparators)
.join(QLatin1Char(','))); .join(','));
m_ui.shortcutEdit->setText(shortcutString()); m_ui.shortcutEdit->setText(shortcutString());
m_ui.defaultFlag->setChecked(isIncludedByDefault()); m_ui.defaultFlag->setChecked(isIncludedByDefault());
updateOptionButtons(); updateOptionButtons();

View File

@@ -27,6 +27,7 @@
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <coreplugin/messagemanager.h> #include <coreplugin/messagemanager.h>
#include <utils/asconst.h>
#include <utils/macroexpander.h> #include <utils/macroexpander.h>
#include <QMessageBox> #include <QMessageBox>
@@ -38,7 +39,7 @@ ExecuteFilter::ExecuteFilter()
{ {
setId("Execute custom commands"); setId("Execute custom commands");
setDisplayName(tr("Execute Custom Commands")); setDisplayName(tr("Execute Custom Commands"));
setShortcutString(QString(QLatin1Char('!'))); setShortcutString("!");
setPriority(High); setPriority(High);
setIncludedByDefault(false); setIncludedByDefault(false);
@@ -61,7 +62,7 @@ QList<LocatorFilterEntry> ExecuteFilter::matchesFor(QFutureInterface<LocatorFilt
value.append(LocatorFilterEntry(this, entry, QVariant())); value.append(LocatorFilterEntry(this, entry, QVariant()));
QList<LocatorFilterEntry> others; QList<LocatorFilterEntry> others;
const Qt::CaseSensitivity entryCaseSensitivity = caseSensitivity(entry); const Qt::CaseSensitivity entryCaseSensitivity = caseSensitivity(entry);
foreach (const QString &cmd, m_commandHistory) { for (const QString &cmd : Utils::asConst(m_commandHistory)) {
if (future.isCanceled()) if (future.isCanceled())
break; break;
if (cmd == entry) // avoid repeated entry if (cmd == entry) // avoid repeated entry
@@ -101,7 +102,7 @@ void ExecuteFilter::accept(LocatorFilterEntry selection,
ExecuteData d; ExecuteData d;
d.workingDirectory = workingDirectory; d.workingDirectory = workingDirectory;
const int pos = value.indexOf(QLatin1Char(' ')); const int pos = value.indexOf(' ');
if (pos == -1) { if (pos == -1) {
d.executable = value; d.executable = value;
} else { } else {
@@ -187,6 +188,5 @@ QString ExecuteFilter::headCommand() const
const ExecuteData &data = m_taskQueue.head(); const ExecuteData &data = m_taskQueue.head();
if (data.arguments.isEmpty()) if (data.arguments.isEmpty())
return data.executable; return data.executable;
else return data.executable + ' ' + data.arguments;
return data.executable + QLatin1Char(' ') + data.arguments;
} }

View File

@@ -65,7 +65,7 @@ private:
QQueue<ExecuteData> m_taskQueue; QQueue<ExecuteData> m_taskQueue;
QStringList m_commandHistory; QStringList m_commandHistory;
Utils::QtcProcess *m_process; Utils::QtcProcess *m_process = nullptr;
QTimer m_runTimer; QTimer m_runTimer;
QTextCodec::ConverterState m_stdoutState; QTextCodec::ConverterState m_stdoutState;
QTextCodec::ConverterState m_stderrState; QTextCodec::ConverterState m_stderrState;

View File

@@ -23,13 +23,13 @@
** **
****************************************************************************/ ****************************************************************************/
#include "externaltoolsfilter.h"
#include <coreplugin/externaltool.h> #include <coreplugin/externaltool.h>
#include <coreplugin/externaltoolmanager.h> #include <coreplugin/externaltoolmanager.h>
#include <coreplugin/messagemanager.h> #include <coreplugin/messagemanager.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include "externaltoolsfilter.h"
using namespace Core; using namespace Core;
using namespace Core::Internal; using namespace Core::Internal;
@@ -37,7 +37,7 @@ ExternalToolsFilter::ExternalToolsFilter()
{ {
setId("Run external tool"); setId("Run external tool");
setDisplayName(tr("Run External Tool")); setDisplayName(tr("Run External Tool"));
setShortcutString(QLatin1String("x")); setShortcutString("x");
setPriority(Medium); setPriority(Medium);
} }

View File

@@ -24,12 +24,15 @@
****************************************************************************/ ****************************************************************************/
#include "filesystemfilter.h" #include "filesystemfilter.h"
#include "locatorwidget.h" #include "locatorwidget.h"
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <coreplugin/documentmanager.h> #include <coreplugin/documentmanager.h>
#include <coreplugin/editormanager/ieditor.h> #include <coreplugin/editormanager/ieditor.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/idocument.h> #include <coreplugin/idocument.h>
#include <utils/asconst.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <QDir> #include <QDir>
@@ -50,9 +53,9 @@ QList<LocatorFilterEntry> *categorize(const QString &entry, const QString &candi
if (entry.isEmpty() || position == 0) if (entry.isEmpty() || position == 0)
return betterEntries; return betterEntries;
else if (position >= 0) if (position >= 0)
return goodEntries; return goodEntries;
return 0; return nullptr;
} }
} // anynoumous namespace } // anynoumous namespace
@@ -61,7 +64,7 @@ FileSystemFilter::FileSystemFilter()
{ {
setId("Files in file system"); setId("Files in file system");
setDisplayName(tr("Files in File System")); setDisplayName(tr("Files in File System"));
setShortcutString(QString(QLatin1Char('f'))); setShortcutString("f");
setIncludedByDefault(false); setIncludedByDefault(false);
} }
@@ -76,17 +79,16 @@ QList<LocatorFilterEntry> FileSystemFilter::matchesFor(QFutureInterface<LocatorF
{ {
QList<LocatorFilterEntry> goodEntries; QList<LocatorFilterEntry> goodEntries;
QList<LocatorFilterEntry> betterEntries; QList<LocatorFilterEntry> betterEntries;
QFileInfo entryInfo(entry); const QFileInfo entryInfo(entry);
const QString entryFileName = entryInfo.fileName(); const QString entryFileName = entryInfo.fileName();
QString directory = entryInfo.path(); QString directory = entryInfo.path();
QString filePath = entryInfo.filePath();
if (entryInfo.isRelative()) { if (entryInfo.isRelative()) {
if (filePath.startsWith(QLatin1String("~/"))) if (entryInfo.filePath().startsWith("~/"))
directory.replace(0, 1, QDir::homePath()); directory.replace(0, 1, QDir::homePath());
else if (!m_currentDocumentDirectory.isEmpty()) else if (!m_currentDocumentDirectory.isEmpty())
directory.prepend(m_currentDocumentDirectory + "/"); directory.prepend(m_currentDocumentDirectory + "/");
} }
QDir dirInfo(directory); const QDir dirInfo(directory);
QDir::Filters dirFilter = QDir::Dirs|QDir::Drives|QDir::NoDot|QDir::NoDotDot; QDir::Filters dirFilter = QDir::Dirs|QDir::Drives|QDir::NoDot|QDir::NoDotDot;
QDir::Filters fileFilter = QDir::Files; QDir::Filters fileFilter = QDir::Files;
if (m_includeHidden) { if (m_includeHidden) {
@@ -98,11 +100,11 @@ QList<LocatorFilterEntry> FileSystemFilter::matchesFor(QFutureInterface<LocatorF
const Qt::CaseSensitivity caseSensitivity_ = caseSensitivity(entryFileName); const Qt::CaseSensitivity caseSensitivity_ = caseSensitivity(entryFileName);
QStringList dirs = dirInfo.entryList(dirFilter, QStringList dirs = dirInfo.entryList(dirFilter,
QDir::Name|QDir::IgnoreCase|QDir::LocaleAware); QDir::Name|QDir::IgnoreCase|QDir::LocaleAware);
QStringList files = dirInfo.entryList(fileFilter, const QStringList files = dirInfo.entryList(fileFilter,
QDir::Name|QDir::IgnoreCase|QDir::LocaleAware); QDir::Name|QDir::IgnoreCase|QDir::LocaleAware);
dirs.prepend(".."); dirs.prepend("..");
foreach (const QString &dir, dirs) { for (const QString &dir : Utils::asConst(dirs)) {
if (future.isCanceled()) if (future.isCanceled())
break; break;
int index = -1; int index = -1;
@@ -120,7 +122,7 @@ QList<LocatorFilterEntry> FileSystemFilter::matchesFor(QFutureInterface<LocatorF
// file names can match with +linenumber or :linenumber // file names can match with +linenumber or :linenumber
const EditorManager::FilePathInfo fp = EditorManager::splitLineAndColumnNumber(entry); const EditorManager::FilePathInfo fp = EditorManager::splitLineAndColumnNumber(entry);
const QString fileName = QFileInfo(fp.filePath).fileName(); const QString fileName = QFileInfo(fp.filePath).fileName();
foreach (const QString &file, files) { for (const QString &file : files) {
if (future.isCanceled()) if (future.isCanceled())
break; break;
int index = -1; int index = -1;
@@ -156,9 +158,8 @@ void FileSystemFilter::accept(LocatorFilterEntry selection,
QString fileName = selection.fileName; QString fileName = selection.fileName;
QFileInfo info(fileName); QFileInfo info(fileName);
if (info.isDir()) { if (info.isDir()) {
QString value = shortcutString(); const QString value = shortcutString() + ' '
value += QLatin1Char(' '); + QDir::toNativeSeparators(info.absoluteFilePath() + '/');
value += QDir::toNativeSeparators(info.absoluteFilePath() + QLatin1Char('/'));
*newText = value; *newText = value;
*selectionStart = value.length(); *selectionStart = value.length();
return; return;

View File

@@ -28,10 +28,10 @@
#include "ilocatorfilter.h" #include "ilocatorfilter.h"
#include "ui_filesystemfilter.h" #include "ui_filesystemfilter.h"
#include <QString>
#include <QList>
#include <QByteArray> #include <QByteArray>
#include <QFutureInterface> #include <QFutureInterface>
#include <QList>
#include <QString>
namespace Core { namespace Core {
namespace Internal { namespace Internal {

View File

@@ -24,20 +24,21 @@
****************************************************************************/ ****************************************************************************/
#include "locator.h" #include "locator.h"
#include "externaltoolsfilter.h"
#include "filesystemfilter.h"
#include "locatorconstants.h" #include "locatorconstants.h"
#include "locatorfiltersfilter.h" #include "locatorfiltersfilter.h"
#include "locatormanager.h" #include "locatormanager.h"
#include "locatorsettingspage.h"
#include "locatorwidget.h" #include "locatorwidget.h"
#include "opendocumentsfilter.h" #include "opendocumentsfilter.h"
#include "filesystemfilter.h"
#include "locatorsettingspage.h"
#include "externaltoolsfilter.h"
#include <coreplugin/coreplugin.h> #include <coreplugin/coreplugin.h>
#include <coreplugin/statusbarwidget.h>
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <coreplugin/settingsdatabase.h>
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <coreplugin/settingsdatabase.h>
#include <coreplugin/statusbarwidget.h>
#include <coreplugin/actionmanager/actionmanager.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/actionmanager/actioncontainer.h> #include <coreplugin/actionmanager/actioncontainer.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
@@ -46,14 +47,15 @@
#include <coreplugin/progressmanager/futureprogress.h> #include <coreplugin/progressmanager/futureprogress.h>
#include <extensionsystem/pluginmanager.h> #include <extensionsystem/pluginmanager.h>
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/asconst.h>
#include <utils/mapreduce.h> #include <utils/mapreduce.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/utilsicons.h> #include <utils/utilsicons.h>
#include <QAction>
#include <QFuture>
#include <QSettings> #include <QSettings>
#include <QtPlugin> #include <QtPlugin>
#include <QFuture>
#include <QAction>
#ifdef Q_OS_OSX #ifdef Q_OS_OSX
#include "spotlightlocatorfilter.h" #include "spotlightlocatorfilter.h"
@@ -165,22 +167,22 @@ bool Locator::delayedInitialize()
void Locator::loadSettings() void Locator::loadSettings()
{ {
SettingsDatabase *settings = ICore::settingsDatabase(); SettingsDatabase *settings = ICore::settingsDatabase();
settings->beginGroup(QLatin1String("QuickOpen")); settings->beginGroup("QuickOpen");
m_refreshTimer.setInterval(settings->value(QLatin1String("RefreshInterval"), 60).toInt() * 60000); m_refreshTimer.setInterval(settings->value("RefreshInterval", 60).toInt() * 60000);
foreach (ILocatorFilter *filter, m_filters) { for (ILocatorFilter *filter : Utils::asConst(m_filters)) {
if (settings->contains(filter->id().toString())) { if (settings->contains(filter->id().toString())) {
const QByteArray state = settings->value(filter->id().toString()).toByteArray(); const QByteArray state = settings->value(filter->id().toString()).toByteArray();
if (!state.isEmpty()) if (!state.isEmpty())
filter->restoreState(state); filter->restoreState(state);
} }
} }
settings->beginGroup(QLatin1String("CustomFilters")); settings->beginGroup("CustomFilters");
QList<ILocatorFilter *> customFilters; QList<ILocatorFilter *> customFilters;
const QStringList keys = settings->childKeys(); const QStringList keys = settings->childKeys();
int count = 0; int count = 0;
Id baseId(Constants::CUSTOM_FILTER_BASEID); Id baseId(Constants::CUSTOM_FILTER_BASEID);
foreach (const QString &key, keys) { for (const QString &key : keys) {
ILocatorFilter *filter = new DirectoryFilter(baseId.withSuffix(++count)); ILocatorFilter *filter = new DirectoryFilter(baseId.withSuffix(++count));
filter->restoreState(settings->value(key).toByteArray()); filter->restoreState(settings->value(key).toByteArray());
customFilters.append(filter); customFilters.append(filter);
@@ -200,7 +202,7 @@ void Locator::updateFilterActions()
QMap<Id, QAction *> actionCopy = m_filterActionMap; QMap<Id, QAction *> actionCopy = m_filterActionMap;
m_filterActionMap.clear(); m_filterActionMap.clear();
// register new actions, update existent // register new actions, update existent
for (ILocatorFilter *filter : m_filters) { for (ILocatorFilter *filter : Utils::asConst(m_filters)) {
if (filter->shortcutString().isEmpty() || filter->isHidden()) if (filter->shortcutString().isEmpty() || filter->isHidden())
continue; continue;
Id filterId = filter->id(); Id filterId = filter->id();
@@ -274,29 +276,29 @@ void Locator::updateEditorManagerPlaceholderText()
EditorManagerPrivate::setPlaceholderText(placeholderText.arg(classes, methods)); EditorManagerPrivate::setPlaceholderText(placeholderText.arg(classes, methods));
} }
void Locator::saveSettings() void Locator::saveSettings() const
{ {
if (m_settingsInitialized) { if (!m_settingsInitialized)
return;
SettingsDatabase *s = ICore::settingsDatabase(); SettingsDatabase *s = ICore::settingsDatabase();
s->beginTransaction(); s->beginTransaction();
s->beginGroup(QLatin1String("QuickOpen")); s->beginGroup("QuickOpen");
s->remove(QString()); s->remove(QString());
s->setValue(QLatin1String("RefreshInterval"), refreshInterval()); s->setValue("RefreshInterval", refreshInterval());
foreach (ILocatorFilter *filter, m_filters) { for (ILocatorFilter *filter : m_filters) {
if (!m_customFilters.contains(filter)) if (!m_customFilters.contains(filter))
s->setValue(filter->id().toString(), filter->saveState()); s->setValue(filter->id().toString(), filter->saveState());
} }
s->beginGroup(QLatin1String("CustomFilters")); s->beginGroup("CustomFilters");
int i = 0; int i = 0;
foreach (ILocatorFilter *filter, m_customFilters) { for (ILocatorFilter *filter : m_customFilters) {
s->setValue(QLatin1String("directory") + QString::number(i), s->setValue("directory" + QString::number(i), filter->saveState());
filter->saveState());
++i; ++i;
} }
s->endGroup(); s->endGroup();
s->endGroup(); s->endGroup();
s->endTransaction(); s->endTransaction();
}
} }
/*! /*!
@@ -329,7 +331,7 @@ void Locator::setCustomFilters(QList<ILocatorFilter *> filters)
m_customFilters = filters; m_customFilters = filters;
} }
int Locator::refreshInterval() int Locator::refreshInterval() const
{ {
return m_refreshTimer.interval() / 60000; return m_refreshTimer.interval() / 60000;
} }

View File

@@ -63,7 +63,7 @@ public:
QList<ILocatorFilter *> customFilters(); QList<ILocatorFilter *> customFilters();
void setFilters(QList<ILocatorFilter *> f); void setFilters(QList<ILocatorFilter *> f);
void setCustomFilters(QList<ILocatorFilter *> f); void setCustomFilters(QList<ILocatorFilter *> f);
int refreshInterval(); int refreshInterval() const;
void setRefreshInterval(int interval); void setRefreshInterval(int interval);
signals: signals:
@@ -71,26 +71,25 @@ signals:
public slots: public slots:
void refresh(QList<ILocatorFilter *> filters = QList<ILocatorFilter *>()); void refresh(QList<ILocatorFilter *> filters = QList<ILocatorFilter *>());
void saveSettings(); void saveSettings() const;
private: private:
void loadSettings(); void loadSettings();
void updateFilterActions(); void updateFilterActions();
void updateEditorManagerPlaceholderText(); void updateEditorManagerPlaceholderText();
LocatorSettingsPage *m_settingsPage; LocatorSettingsPage *m_settingsPage = nullptr;
bool m_settingsInitialized = false; bool m_settingsInitialized = false;
QList<ILocatorFilter *> m_filters; QList<ILocatorFilter *> m_filters;
QList<ILocatorFilter *> m_customFilters; QList<ILocatorFilter *> m_customFilters;
QMap<Id, QAction *> m_filterActionMap; QMap<Id, QAction *> m_filterActionMap;
int m_refreshInterval;
QTimer m_refreshTimer; QTimer m_refreshTimer;
OpenDocumentsFilter *m_openDocumentsFilter; OpenDocumentsFilter *m_openDocumentsFilter = nullptr;
FileSystemFilter *m_fileSystemFilter; FileSystemFilter *m_fileSystemFilter = nullptr;
ExecuteFilter *m_executeFilter; ExecuteFilter *m_executeFilter = nullptr;
CorePlugin *m_corePlugin = nullptr; CorePlugin *m_corePlugin = nullptr;
ExternalToolsFilter *m_externalToolsFilter; ExternalToolsFilter *m_externalToolsFilter = nullptr;
}; };
} // namespace Internal } // namespace Internal

View File

@@ -29,6 +29,7 @@
#include "locatorfiltertest.h" #include "locatorfiltertest.h"
#include <coreplugin/testdatadir.h> #include <coreplugin/testdatadir.h>
#include <utils/asconst.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <QDir> #include <QDir>
@@ -52,8 +53,6 @@ public:
void refresh(QFutureInterface<void> &) override {} void refresh(QFutureInterface<void> &) override {}
}; };
inline QString _(const QByteArray &ba) { return QString::fromLatin1(ba, ba.size()); }
class ReferenceData class ReferenceData
{ {
public: public:
@@ -78,7 +77,7 @@ void Core::Internal::CorePlugin::test_basefilefilter()
MyBaseFileFilter filter(testFiles); MyBaseFileFilter filter(testFiles);
BasicLocatorFilterTest test(&filter); BasicLocatorFilterTest test(&filter);
foreach (const ReferenceData &reference, referenceDataList) { for (const ReferenceData &reference : Utils::asConst(referenceDataList)) {
const QList<LocatorFilterEntry> filterEntries = test.matchesFor(reference.searchText); const QList<LocatorFilterEntry> filterEntries = test.matchesFor(reference.searchText);
const ResultDataList results = ResultData::fromFilterEntryList(filterEntries); const ResultDataList results = ResultData::fromFilterEntryList(filterEntries);
// QTextStream(stdout) << "----" << endl; // QTextStream(stdout) << "----" << endl;
@@ -93,12 +92,12 @@ void Core::Internal::CorePlugin::test_basefilefilter_data()
QTest::addColumn<QList<ReferenceData> >("referenceDataList"); QTest::addColumn<QList<ReferenceData> >("referenceDataList");
const QChar pathSeparator = QDir::separator(); const QChar pathSeparator = QDir::separator();
const MyTestDataDir testDir(QLatin1String("testdata_basic")); const MyTestDataDir testDir("testdata_basic");
const QStringList testFiles({QDir::fromNativeSeparators(testDir.file("file.cpp")), const QStringList testFiles({QDir::fromNativeSeparators(testDir.file("file.cpp")),
QDir::fromNativeSeparators(testDir.file("main.cpp")), QDir::fromNativeSeparators(testDir.file("main.cpp")),
QDir::fromNativeSeparators(testDir.file("subdir/main.cpp"))}); QDir::fromNativeSeparators(testDir.file("subdir/main.cpp"))});
QStringList testFilesShort; QStringList testFilesShort;
foreach (const QString &file, testFiles) for (const QString &file : testFiles)
testFilesShort << Utils::FileUtils::shortNativePath(Utils::FileName::fromString(file)); testFilesShort << Utils::FileUtils::shortNativePath(Utils::FileName::fromString(file));
QTest::newRow("BaseFileFilter-EmptyInput") QTest::newRow("BaseFileFilter-EmptyInput")
@@ -107,56 +106,56 @@ void Core::Internal::CorePlugin::test_basefilefilter_data()
<< ReferenceData( << ReferenceData(
QString(), QString(),
(QList<ResultData>() (QList<ResultData>()
<< ResultData(_("file.cpp"), testFilesShort.at(0)) << ResultData("file.cpp", testFilesShort.at(0))
<< ResultData(_("main.cpp"), testFilesShort.at(1)) << ResultData("main.cpp", testFilesShort.at(1))
<< ResultData(_("main.cpp"), testFilesShort.at(2)))) << ResultData("main.cpp", testFilesShort.at(2))))
); );
QTest::newRow("BaseFileFilter-InputIsFileName") QTest::newRow("BaseFileFilter-InputIsFileName")
<< testFiles << testFiles
<< (QList<ReferenceData>() << (QList<ReferenceData>()
<< ReferenceData( << ReferenceData(
_("main.cpp"), "main.cpp",
(QList<ResultData>() (QList<ResultData>()
<< ResultData(_("main.cpp"), testFilesShort.at(1)) << ResultData("main.cpp", testFilesShort.at(1))
<< ResultData(_("main.cpp"), testFilesShort.at(2)))) << ResultData("main.cpp", testFilesShort.at(2))))
); );
QTest::newRow("BaseFileFilter-InputIsFilePath") QTest::newRow("BaseFileFilter-InputIsFilePath")
<< testFiles << testFiles
<< (QList<ReferenceData>() << (QList<ReferenceData>()
<< ReferenceData( << ReferenceData(
QString(_("subdir") + pathSeparator + _("main.cpp")), QString("subdir" + pathSeparator + "main.cpp"),
(QList<ResultData>() (QList<ResultData>()
<< ResultData(_("main.cpp"), testFilesShort.at(2)))) << ResultData("main.cpp", testFilesShort.at(2))))
); );
QTest::newRow("BaseFileFilter-InputIsDirIsPath") QTest::newRow("BaseFileFilter-InputIsDirIsPath")
<< testFiles << testFiles
<< (QList<ReferenceData>() << (QList<ReferenceData>()
<< ReferenceData( _("subdir"), QList<ResultData>()) << ReferenceData( "subdir", QList<ResultData>())
<< ReferenceData( << ReferenceData(
QString(_("subdir") + pathSeparator + _("main.cpp")), QString("subdir" + pathSeparator + "main.cpp"),
(QList<ResultData>() (QList<ResultData>()
<< ResultData(_("main.cpp"), testFilesShort.at(2)))) << ResultData("main.cpp", testFilesShort.at(2))))
); );
QTest::newRow("BaseFileFilter-InputIsFileNameFilePathFileName") QTest::newRow("BaseFileFilter-InputIsFileNameFilePathFileName")
<< testFiles << testFiles
<< (QList<ReferenceData>() << (QList<ReferenceData>()
<< ReferenceData( << ReferenceData(
_("main.cpp"), "main.cpp",
(QList<ResultData>() (QList<ResultData>()
<< ResultData(_("main.cpp"), testFilesShort.at(1)) << ResultData("main.cpp", testFilesShort.at(1))
<< ResultData(_("main.cpp"), testFilesShort.at(2)))) << ResultData("main.cpp", testFilesShort.at(2))))
<< ReferenceData( << ReferenceData(
QString(_("subdir") + pathSeparator + _("main.cpp")), QString("subdir" + pathSeparator + "main.cpp"),
(QList<ResultData>() (QList<ResultData>()
<< ResultData(_("main.cpp"), testFilesShort.at(2)))) << ResultData("main.cpp", testFilesShort.at(2))))
<< ReferenceData( << ReferenceData(
_("main.cpp"), "main.cpp",
(QList<ResultData>() (QList<ResultData>()
<< ResultData(_("main.cpp"), testFilesShort.at(1)) << ResultData("main.cpp", testFilesShort.at(1))
<< ResultData(_("main.cpp"), testFilesShort.at(2)))) << ResultData("main.cpp", testFilesShort.at(2))))
); );
} }

View File

@@ -23,10 +23,12 @@
** **
****************************************************************************/ ****************************************************************************/
#include "locator.h"
#include "locatorfiltersfilter.h" #include "locatorfiltersfilter.h"
#include "locator.h"
#include "locatorwidget.h" #include "locatorwidget.h"
#include <utils/asconst.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/utilsicons.h> #include <utils/utilsicons.h>
@@ -54,12 +56,13 @@ void LocatorFiltersFilter::prepareSearch(const QString &entry)
return; return;
QMap<QString, ILocatorFilter *> uniqueFilters; QMap<QString, ILocatorFilter *> uniqueFilters;
foreach (ILocatorFilter *filter, Locator::filters()) { const QList<ILocatorFilter *> allFilters = Locator::filters();
const QString filterId = filter->shortcutString() + QLatin1Char(',') + filter->displayName(); for (ILocatorFilter *filter : allFilters) {
const QString filterId = filter->shortcutString() + ',' + filter->displayName();
uniqueFilters.insert(filterId, filter); uniqueFilters.insert(filterId, filter);
} }
foreach (ILocatorFilter *filter, uniqueFilters) { for (ILocatorFilter *filter : Utils::asConst(uniqueFilters)) {
if (!filter->shortcutString().isEmpty() && !filter->isHidden() && filter->isEnabled()) { if (!filter->shortcutString().isEmpty() && !filter->isHidden() && filter->isEnabled()) {
m_filterShortcutStrings.append(filter->shortcutString()); m_filterShortcutStrings.append(filter->shortcutString());
m_filterDisplayNames.append(filter->displayName()); m_filterDisplayNames.append(filter->displayName());
@@ -93,7 +96,7 @@ void LocatorFiltersFilter::accept(LocatorFilterEntry selection,
QTC_ASSERT(ok && index >= 0 && index < m_filterShortcutStrings.size(), return); QTC_ASSERT(ok && index >= 0 && index < m_filterShortcutStrings.size(), return);
const QString shortcutString = m_filterShortcutStrings.at(index); const QString shortcutString = m_filterShortcutStrings.at(index);
if (!shortcutString.isEmpty()) { if (!shortcutString.isEmpty()) {
*newText = shortcutString + QLatin1Char(' '); *newText = shortcutString + ' ';
*selectionStart = shortcutString.length() + 1; *selectionStart = shortcutString.length() + 1;
} }
} }

View File

@@ -24,6 +24,7 @@
****************************************************************************/ ****************************************************************************/
#include "locatorfiltertest.h" #include "locatorfiltertest.h"
#include "locatorsearchutils.h" #include "locatorsearchutils.h"
#include <utils/runextensions.h> #include <utils/runextensions.h>
@@ -73,7 +74,7 @@ bool ResultData::operator==(const ResultData &other) const
ResultData::ResultDataList ResultData::fromFilterEntryList(const QList<LocatorFilterEntry> &entries) ResultData::ResultDataList ResultData::fromFilterEntryList(const QList<LocatorFilterEntry> &entries)
{ {
ResultDataList result; ResultDataList result;
foreach (const LocatorFilterEntry &entry, entries) for (const LocatorFilterEntry &entry : entries)
result << ResultData(entry.displayName, entry.extraInfo); result << ResultData(entry.displayName, entry.extraInfo);
return result; return result;
} }
@@ -83,7 +84,7 @@ void ResultData::printFilterEntries(const ResultData::ResultDataList &entries, c
QTextStream out(stdout); QTextStream out(stdout);
if (!msg.isEmpty()) if (!msg.isEmpty())
out << msg << endl; out << msg << endl;
foreach (const ResultData entry, entries) { for (const ResultData &entry : entries) {
out << "<< ResultData(_(\"" << entry.textColumn1 << "\"), _(\"" << entry.textColumn2 out << "<< ResultData(_(\"" << entry.textColumn1 << "\"), _(\"" << entry.textColumn2
<< "\"))" << endl; << "\"))" << endl;
} }

View File

@@ -45,7 +45,7 @@ private:
virtual void doBeforeLocatorRun() {} virtual void doBeforeLocatorRun() {}
virtual void doAfterLocatorRun() {} virtual void doAfterLocatorRun() {}
ILocatorFilter *m_filter; ILocatorFilter *m_filter = nullptr;
}; };
class CORE_EXPORT ResultData class CORE_EXPORT ResultData

View File

@@ -67,14 +67,15 @@ void LocatorManager::showFilter(ILocatorFilter *filter)
// add shortcut string at front or replace existing shortcut string // add shortcut string at front or replace existing shortcut string
if (!currentText.isEmpty()) { if (!currentText.isEmpty()) {
searchText = currentText; searchText = currentText;
foreach (ILocatorFilter *otherfilter, Locator::filters()) { const QList<ILocatorFilter *> allFilters = Locator::filters();
if (currentText.startsWith(otherfilter->shortcutString() + QLatin1Char(' '))) { for (ILocatorFilter *otherfilter : allFilters) {
if (currentText.startsWith(otherfilter->shortcutString() + ' ')) {
searchText = currentText.mid(otherfilter->shortcutString().length() + 1); searchText = currentText.mid(otherfilter->shortcutString().length() + 1);
break; break;
} }
} }
} }
show(filter->shortcutString() + QLatin1Char(' ') + searchText, show(filter->shortcutString() + ' ' + searchText,
filter->shortcutString().length() + 1, filter->shortcutString().length() + 1,
searchText.length()); searchText.length());
} }

View File

@@ -40,7 +40,7 @@ class CORE_EXPORT LocatorManager : public QObject
Q_OBJECT Q_OBJECT
public: public:
LocatorManager(QObject *parent = 0); LocatorManager(QObject *parent = nullptr);
static void showFilter(ILocatorFilter *filter); static void showFilter(ILocatorFilter *filter);
static void show(const QString &text, int selectionStart = -1, int selectionLength = 0); static void show(const QString &text, int selectionStart = -1, int selectionLength = 0);

View File

@@ -45,14 +45,14 @@ void Core::Internal::runSearch(QFutureInterface<Core::LocatorFilterEntry> &futur
{ {
QSet<LocatorFilterEntry> alreadyAdded; QSet<LocatorFilterEntry> alreadyAdded;
const bool checkDuplicates = (filters.size() > 1); const bool checkDuplicates = (filters.size() > 1);
foreach (ILocatorFilter *filter, filters) { for (ILocatorFilter *filter : filters) {
if (future.isCanceled()) if (future.isCanceled())
break; break;
QList<LocatorFilterEntry> filterResults = filter->matchesFor(future, searchText); const QList<LocatorFilterEntry> filterResults = filter->matchesFor(future, searchText);
QVector<LocatorFilterEntry> uniqueFilterResults; QVector<LocatorFilterEntry> uniqueFilterResults;
uniqueFilterResults.reserve(filterResults.size()); uniqueFilterResults.reserve(filterResults.size());
foreach (const LocatorFilterEntry &entry, filterResults) { for (const LocatorFilterEntry &entry : filterResults) {
if (checkDuplicates && alreadyAdded.contains(entry)) if (checkDuplicates && alreadyAdded.contains(entry))
continue; continue;
uniqueFilterResults.append(entry); uniqueFilterResults.append(entry);

View File

@@ -24,13 +24,14 @@
****************************************************************************/ ****************************************************************************/
#include "locatorsettingspage.h" #include "locatorsettingspage.h"
#include "directoryfilter.h"
#include "ilocatorfilter.h"
#include "locator.h"
#include "locatorconstants.h" #include "locatorconstants.h"
#include "locator.h"
#include "ilocatorfilter.h"
#include "directoryfilter.h"
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <utils/asconst.h>
#include <utils/categorysortfiltermodel.h> #include <utils/categorysortfiltermodel.h>
#include <utils/headerviewstretcher.h> #include <utils/headerviewstretcher.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
@@ -64,7 +65,7 @@ public:
ILocatorFilter *filter() const; ILocatorFilter *filter() const;
private: private:
ILocatorFilter *m_filter; ILocatorFilter *m_filter = nullptr;
}; };
class CategoryItem : public TreeItem class CategoryItem : public TreeItem
@@ -76,7 +77,7 @@ public:
private: private:
QString m_name; QString m_name;
int m_order; int m_order = 0;
}; };
} // Internal } // Internal
@@ -269,32 +270,33 @@ void LocatorSettingsPage::setFilter(const QString &text)
void LocatorSettingsPage::saveFilterStates() void LocatorSettingsPage::saveFilterStates()
{ {
m_filterStates.clear(); m_filterStates.clear();
foreach (ILocatorFilter *filter, m_filters) for (ILocatorFilter *filter : Utils::asConst(m_filters))
m_filterStates.insert(filter, filter->saveState()); m_filterStates.insert(filter, filter->saveState());
} }
void LocatorSettingsPage::restoreFilterStates() void LocatorSettingsPage::restoreFilterStates()
{ {
foreach (ILocatorFilter *filter, m_filterStates.keys()) const QList<ILocatorFilter *> filterStatesKeys = m_filterStates.keys();
for (ILocatorFilter *filter : filterStatesKeys)
filter->restoreState(m_filterStates.value(filter)); filter->restoreState(m_filterStates.value(filter));
} }
void LocatorSettingsPage::initializeModel() void LocatorSettingsPage::initializeModel()
{ {
m_model->setHeader(QStringList({tr("Name"), tr("Prefix"), tr("Default")})); m_model->setHeader({tr("Name"), tr("Prefix"), tr("Default")});
m_model->setHeaderToolTip(QStringList({ m_model->setHeaderToolTip({
QString(), QString(),
ILocatorFilter::msgPrefixToolTip(), ILocatorFilter::msgPrefixToolTip(),
ILocatorFilter::msgIncludeByDefaultToolTip() ILocatorFilter::msgIncludeByDefaultToolTip()
})); });
m_model->clear(); m_model->clear();
QSet<ILocatorFilter *> customFilterSet = m_customFilters.toSet(); QSet<ILocatorFilter *> customFilterSet = m_customFilters.toSet();
auto builtIn = new CategoryItem(tr("Built-in"), 0/*order*/); auto builtIn = new CategoryItem(tr("Built-in"), 0/*order*/);
foreach (ILocatorFilter *filter, m_filters) for (ILocatorFilter *filter : Utils::asConst(m_filters))
if (!filter->isHidden() && !customFilterSet.contains(filter)) if (!filter->isHidden() && !customFilterSet.contains(filter))
builtIn->appendChild(new FilterItem(filter)); builtIn->appendChild(new FilterItem(filter));
m_customFilterRoot = new CategoryItem(tr("Custom"), 1/*order*/); m_customFilterRoot = new CategoryItem(tr("Custom"), 1/*order*/);
foreach (ILocatorFilter *customFilter, m_customFilters) for (ILocatorFilter *customFilter : Utils::asConst(m_customFilters))
m_customFilterRoot->appendChild(new FilterItem(customFilter)); m_customFilterRoot->appendChild(new FilterItem(customFilter));
m_model->rootItem()->appendChild(builtIn); m_model->rootItem()->appendChild(builtIn);
@@ -305,7 +307,7 @@ void LocatorSettingsPage::updateButtonStates()
{ {
const QModelIndex currentIndex = m_proxyModel->mapToSource(m_ui.filterList->currentIndex()); const QModelIndex currentIndex = m_proxyModel->mapToSource(m_ui.filterList->currentIndex());
bool selected = currentIndex.isValid(); bool selected = currentIndex.isValid();
ILocatorFilter *filter = 0; ILocatorFilter *filter = nullptr;
if (selected) { if (selected) {
auto item = dynamic_cast<FilterItem *>(m_model->itemForIndex(currentIndex)); auto item = dynamic_cast<FilterItem *>(m_model->itemForIndex(currentIndex));
if (item) if (item)

View File

@@ -68,11 +68,11 @@ private:
void setFilter(const QString &text); void setFilter(const QString &text);
Ui::LocatorSettingsWidget m_ui; Ui::LocatorSettingsWidget m_ui;
Locator *m_plugin; Locator *m_plugin = nullptr;
QPointer<QWidget> m_widget; QPointer<QWidget> m_widget;
Utils::TreeModel<> *m_model; Utils::TreeModel<> *m_model = nullptr;
QSortFilterProxyModel *m_proxyModel; QSortFilterProxyModel *m_proxyModel = nullptr;
Utils::TreeItem *m_customFilterRoot; Utils::TreeItem *m_customFilterRoot = nullptr;
QList<ILocatorFilter *> m_filters; QList<ILocatorFilter *> m_filters;
QList<ILocatorFilter *> m_addedFilters; QList<ILocatorFilter *> m_addedFilters;
QList<ILocatorFilter *> m_removedFilters; QList<ILocatorFilter *> m_removedFilters;

View File

@@ -23,11 +23,12 @@
** **
****************************************************************************/ ****************************************************************************/
#include "locator.h"
#include "locatorwidget.h" #include "locatorwidget.h"
#include "ilocatorfilter.h"
#include "locator.h"
#include "locatorconstants.h" #include "locatorconstants.h"
#include "locatorsearchutils.h" #include "locatorsearchutils.h"
#include "ilocatorfilter.h"
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <coreplugin/modemanager.h> #include <coreplugin/modemanager.h>
@@ -84,7 +85,7 @@ public:
ColumnCount ColumnCount
}; };
LocatorModel(QObject *parent = 0) LocatorModel(QObject *parent = nullptr)
: QAbstractListModel(parent) : QAbstractListModel(parent)
, mBackgroundColor(Utils::creatorTheme()->color(Utils::Theme::TextColorHighlightBackground).name()) , mBackgroundColor(Utils::creatorTheme()->color(Utils::Theme::TextColorHighlightBackground).name())
{} {}
@@ -113,7 +114,7 @@ public:
class CompletionList : public Utils::TreeView class CompletionList : public Utils::TreeView
{ {
public: public:
CompletionList(QWidget *parent = 0); CompletionList(QWidget *parent = nullptr);
void setModel(QAbstractItemModel *model); void setModel(QAbstractItemModel *model);
@@ -193,7 +194,7 @@ QVariant LocatorModel::data(const QModelIndex &index, int role) const
return QVariant(mEntries.at(index.row()).displayName); return QVariant(mEntries.at(index.row()).displayName);
else else
return QVariant(mEntries.at(index.row()).displayName return QVariant(mEntries.at(index.row()).displayName
+ QLatin1String("\n\n") + mEntries.at(index.row()).extraInfo); + "\n\n" + mEntries.at(index.row()).extraInfo);
break; break;
case Qt::DecorationRole: case Qt::DecorationRole:
if (index.column() == DisplayNameColumn) { if (index.column() == DisplayNameColumn) {
@@ -752,7 +753,7 @@ QList<ILocatorFilter *> LocatorWidget::filtersFor(const QString &text, QString &
if (whiteSpace >= 0) { if (whiteSpace >= 0) {
const QString prefix = text.mid(firstNonSpace, whiteSpace - firstNonSpace).toLower(); const QString prefix = text.mid(firstNonSpace, whiteSpace - firstNonSpace).toLower();
QList<ILocatorFilter *> prefixFilters; QList<ILocatorFilter *> prefixFilters;
foreach (ILocatorFilter *filter, filters) { for (ILocatorFilter *filter : filters) {
if (prefix == filter->shortcutString()) { if (prefix == filter->shortcutString()) {
searchText = text.mid(whiteSpace).trimmed(); searchText = text.mid(whiteSpace).trimmed();
prefixFilters << filter; prefixFilters << filter;
@@ -798,7 +799,7 @@ void LocatorWidget::updateCompletionList(const QString &text)
QString searchText; QString searchText;
const QList<ILocatorFilter *> filters = filtersFor(text, searchText); const QList<ILocatorFilter *> filters = filtersFor(text, searchText);
foreach (ILocatorFilter *filter, filters) for (ILocatorFilter *filter : filters)
filter->prepareSearch(searchText); filter->prepareSearch(searchText);
QFuture<LocatorFilterEntry> future = Utils::runAsync(&runSearch, filters, searchText); QFuture<LocatorFilterEntry> future = Utils::runAsync(&runSearch, filters, searchText);
m_entriesWatcher->setFuture(future); m_entriesWatcher->setFuture(future);

View File

@@ -86,19 +86,19 @@ private:
QList<ILocatorFilter*> filtersFor(const QString &text, QString &searchText); QList<ILocatorFilter*> filtersFor(const QString &text, QString &searchText);
void setProgressIndicatorVisible(bool visible); void setProgressIndicatorVisible(bool visible);
LocatorModel *m_locatorModel; LocatorModel *m_locatorModel = nullptr;
QMenu *m_filterMenu; QMenu *m_filterMenu = nullptr;
QAction *m_refreshAction; QAction *m_refreshAction = nullptr;
QAction *m_configureAction; QAction *m_configureAction = nullptr;
Utils::FancyLineEdit *m_fileLineEdit; Utils::FancyLineEdit *m_fileLineEdit = nullptr;
QTimer m_showPopupTimer; QTimer m_showPopupTimer;
QFutureWatcher<LocatorFilterEntry> *m_entriesWatcher; QFutureWatcher<LocatorFilterEntry> *m_entriesWatcher = nullptr;
QString m_requestedCompletionText; QString m_requestedCompletionText;
bool m_needsClearResult = true; bool m_needsClearResult = true;
bool m_updateRequested = false; bool m_updateRequested = false;
bool m_possibleToolTipRequest = false; bool m_possibleToolTipRequest = false;
QWidget *m_progressIndicator; QWidget *m_progressIndicator = nullptr;
QTimer m_showProgressTimer; QTimer m_showProgressTimer;
Utils::optional<int> m_rowRequestedForAccept; Utils::optional<int> m_rowRequestedForAccept;
}; };
@@ -106,7 +106,7 @@ private:
class LocatorPopup : public QWidget class LocatorPopup : public QWidget
{ {
public: public:
LocatorPopup(LocatorWidget *locatorWidget, QWidget *parent = 0); LocatorPopup(LocatorWidget *locatorWidget, QWidget *parent = nullptr);
CompletionList *completionList() const; CompletionList *completionList() const;
LocatorWidget *inputWidget() const; LocatorWidget *inputWidget() const;
@@ -121,12 +121,12 @@ protected:
virtual void inputLostFocus(); virtual void inputLostFocus();
QPointer<QWidget> m_window; QPointer<QWidget> m_window;
CompletionList *m_tree; CompletionList *m_tree = nullptr;
private: private:
void updateWindow(); void updateWindow();
LocatorWidget *m_inputWidget; LocatorWidget *m_inputWidget = nullptr;
}; };
LocatorWidget *createStaticLocatorWidget(Locator *locator); LocatorWidget *createStaticLocatorWidget(Locator *locator);

View File

@@ -42,7 +42,7 @@ OpenDocumentsFilter::OpenDocumentsFilter()
{ {
setId("Open documents"); setId("Open documents");
setDisplayName(tr("Open Documents")); setDisplayName(tr("Open Documents"));
setShortcutString(QString(QLatin1Char('o'))); setShortcutString("o");
setPriority(High); setPriority(High);
setIncludedByDefault(true); setIncludedByDefault(true);
@@ -65,7 +65,8 @@ QList<LocatorFilterEntry> OpenDocumentsFilter::matchesFor(QFutureInterface<Locat
if (!regexp.isValid()) if (!regexp.isValid())
return goodEntries; return goodEntries;
foreach (const Entry &editorEntry, editors()) { const QList<Entry> editorEntries = editors();
for (const Entry &editorEntry : editorEntries) {
if (future.isCanceled()) if (future.isCanceled())
break; break;
QString fileName = editorEntry.fileName.toString(); QString fileName = editorEntry.fileName.toString();
@@ -92,7 +93,8 @@ void OpenDocumentsFilter::refreshInternally()
{ {
QMutexLocker lock(&m_mutex); Q_UNUSED(lock) QMutexLocker lock(&m_mutex); Q_UNUSED(lock)
m_editors.clear(); m_editors.clear();
foreach (DocumentModel::Entry *e, DocumentModel::entries()) { const QList<DocumentModel::Entry *> documentEntries = DocumentModel::entries();
for (DocumentModel::Entry *e : documentEntries) {
Entry entry; Entry entry;
// create copy with only the information relevant to use // create copy with only the information relevant to use
// to avoid model deleting entries behind our back // to avoid model deleting entries behind our back

View File

@@ -39,7 +39,7 @@ public:
// tr() must not be placed in .mm file. // tr() must not be placed in .mm file.
setId("SpotlightFileNamesLocatorFilter"); setId("SpotlightFileNamesLocatorFilter");
setDisplayName(tr("Spotlight File Name Index")); setDisplayName(tr("Spotlight File Name Index"));
setShortcutString(QLatin1String("md")); setShortcutString("md");
} }
void prepareSearch(const QString &entry) override; void prepareSearch(const QString &entry) override;

View File

@@ -27,9 +27,9 @@
#include "cppmodelmanager.h" #include "cppmodelmanager.h"
#include <coreplugin/idocument.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/editormanager/ieditor.h> #include <coreplugin/editormanager/ieditor.h>
#include <coreplugin/idocument.h>
#include <QRegularExpression> #include <QRegularExpression>
@@ -43,7 +43,7 @@ CppCurrentDocumentFilter::CppCurrentDocumentFilter(CppTools::CppModelManager *ma
{ {
setId("Methods in current Document"); setId("Methods in current Document");
setDisplayName(tr("C++ Symbols in Current Document")); setDisplayName(tr("C++ Symbols in Current Document"));
setShortcutString(QString(QLatin1Char('.'))); setShortcutString(".");
setPriority(High); setPriority(High);
setIncludedByDefault(false); setIncludedByDefault(false);
@@ -70,7 +70,8 @@ QList<Core::LocatorFilterEntry> CppCurrentDocumentFilter::matchesFor(
if (!regexp.isValid()) if (!regexp.isValid())
return goodEntries; return goodEntries;
foreach (IndexItem::Ptr info, itemsOfCurrentDocument()) { const QList<IndexItem::Ptr> items = itemsOfCurrentDocument();
for (IndexItem::Ptr info : items) {
if (future.isCanceled()) if (future.isCanceled())
break; break;

View File

@@ -35,7 +35,7 @@ CppFunctionsFilter::CppFunctionsFilter(CppLocatorData *locatorData)
{ {
setId("Methods"); setId("Methods");
setDisplayName(tr("C++ Functions")); setDisplayName(tr("C++ Functions"));
setShortcutString(QString(QLatin1Char('m'))); setShortcutString("m");
setIncludedByDefault(false); setIncludedByDefault(false);
} }
@@ -53,9 +53,7 @@ Core::LocatorFilterEntry CppFunctionsFilter::filterEntryFromIndexItem(IndexItem:
if (extraInfo.isEmpty()) { if (extraInfo.isEmpty()) {
extraInfo = info->shortNativeFilePath(); extraInfo = info->shortNativeFilePath();
} else { } else {
extraInfo.append(QLatin1String(" (")) extraInfo.append(" (" + Utils::FileName::fromString(info->fileName()).fileName() + ')');
.append(Utils::FileName::fromString(info->fileName()).fileName())
.append(QLatin1String(")"));
} }
Core::LocatorFilterEntry filterEntry(this, name + info->symbolType(), id, info->icon()); Core::LocatorFilterEntry filterEntry(this, name + info->symbolType(), id, info->icon());

View File

@@ -117,7 +117,8 @@ void CppIncludesIterator::fetchMore()
CPlusPlus::Document::Ptr doc = m_snapshot.document(filePath); CPlusPlus::Document::Ptr doc = m_snapshot.document(filePath);
if (!doc) if (!doc)
continue; continue;
foreach (const QString &includedPath, doc->includedFiles()) { const QStringList includedFiles = doc->includedFiles();
for (const QString &includedPath : includedFiles ) {
if (!m_allResultPaths.contains(includedPath)) { if (!m_allResultPaths.contains(includedPath)) {
m_allResultPaths.insert(includedPath); m_allResultPaths.insert(includedPath);
m_queuedPaths.insert(includedPath); m_queuedPaths.insert(includedPath);
@@ -128,11 +129,10 @@ void CppIncludesIterator::fetchMore()
} }
CppIncludesFilter::CppIncludesFilter() CppIncludesFilter::CppIncludesFilter()
: m_needsUpdate(true)
{ {
setId("All Included C/C++ Files"); setId("All Included C/C++ Files");
setDisplayName(tr("All Included C/C++ Files")); setDisplayName(tr("All Included C/C++ Files"));
setShortcutString(QString(QLatin1Char('a'))); setShortcutString("a");
setIncludedByDefault(true); setIncludedByDefault(true);
setPriority(ILocatorFilter::Low); setPriority(ILocatorFilter::Low);
@@ -159,10 +159,12 @@ void CppIncludesFilter::prepareSearch(const QString &entry)
m_needsUpdate = false; m_needsUpdate = false;
QSet<QString> seedPaths; QSet<QString> seedPaths;
for (Project *project : SessionManager::projects()) { for (Project *project : SessionManager::projects()) {
foreach (const Utils::FileName &filePath, project->files(Project::AllFiles)) const Utils::FileNameList allFiles = project->files(Project::AllFiles);
for (const Utils::FileName &filePath : allFiles )
seedPaths.insert(filePath.toString()); seedPaths.insert(filePath.toString());
} }
foreach (DocumentModel::Entry *entry, DocumentModel::entries()) { const QList<DocumentModel::Entry *> entries = DocumentModel::entries();
for (DocumentModel::Entry *entry : entries) {
if (entry) if (entry)
seedPaths.insert(entry->fileName().toString()); seedPaths.insert(entry->fileName().toString());
} }

View File

@@ -45,7 +45,7 @@ public:
private: private:
void markOutdated(); void markOutdated();
bool m_needsUpdate; bool m_needsUpdate = true;
}; };
} // namespace Internal } // namespace Internal

View File

@@ -55,7 +55,7 @@ void CppLocatorData::onDocumentUpdated(const CPlusPlus::Document::Ptr &document)
} }
} }
if (i == ei && QFileInfo(document->fileName()).suffix() != QLatin1String("moc")) if (i == ei && QFileInfo(document->fileName()).suffix() != "moc")
m_pendingDocuments.append(document); m_pendingDocuments.append(document);
flushPendingDocument(false); flushPendingDocument(false);

View File

@@ -25,21 +25,22 @@
#pragma once #pragma once
#include <functional>
#include <QHash>
#include <cplusplus/CppDocument.h>
#include "cpptools_global.h" #include "cpptools_global.h"
#include "cppmodelmanager.h" #include "cppmodelmanager.h"
#include "searchsymbols.h" #include "searchsymbols.h"
#include "stringtable.h" #include "stringtable.h"
#include <cplusplus/CppDocument.h>
#include <QHash>
#include <functional>
namespace CppTools { namespace CppTools {
namespace Internal { namespace Internal {
class CppToolsPlugin; class CppToolsPlugin;
} // Internal namespace } // namespace Internal
class CppLocatorData : public QObject class CppLocatorData : public QObject
{ {
@@ -73,7 +74,7 @@ private:
{ return m_strings->insert(path); } { return m_strings->insert(path); }
private: private:
Internal::StringTable *m_strings; // Used to avoid QString duplication Internal::StringTable *m_strings = nullptr; // Used to avoid QString duplication
mutable SearchSymbols m_search; mutable SearchSymbols m_search;
mutable QHash<QString, IndexItem::Ptr> m_infosByFile; mutable QHash<QString, IndexItem::Ptr> m_infosByFile;
@@ -82,4 +83,4 @@ private:
mutable QVector<CPlusPlus::Document::Ptr> m_pendingDocuments; mutable QVector<CPlusPlus::Document::Ptr> m_pendingDocuments;
}; };
} // CppTools namespace } // namespace CppTools

View File

@@ -41,7 +41,7 @@ CppLocatorFilter::CppLocatorFilter(CppLocatorData *locatorData)
{ {
setId("Classes and Methods"); setId("Classes and Methods");
setDisplayName(tr("C++ Classes, Enums and Functions")); setDisplayName(tr("C++ Classes, Enums and Functions"));
setShortcutString(QString(QLatin1Char(':'))); setShortcutString(":");
setIncludedByDefault(false); setIncludedByDefault(false);
} }

View File

@@ -52,7 +52,7 @@ protected:
virtual Core::LocatorFilterEntry filterEntryFromIndexItem(IndexItem::Ptr info); virtual Core::LocatorFilterEntry filterEntryFromIndexItem(IndexItem::Ptr info);
protected: protected:
CppLocatorData *m_data; CppLocatorData *m_data = nullptr;
}; };
} // namespace Internal } // namespace Internal

View File

@@ -74,8 +74,8 @@ public:
ResultDataList results = ResultData::fromFilterEntryList(matchesFor(searchText)); ResultDataList results = ResultData::fromFilterEntryList(matchesFor(searchText));
if (debug) { if (debug) {
ResultData::printFilterEntries(expectedResults, QLatin1String("Expected:")); ResultData::printFilterEntries(expectedResults, "Expected:");
ResultData::printFilterEntries(results, QLatin1String("Results:")); ResultData::printFilterEntries(results, "Results:");
} }
QVERIFY(!results.isEmpty()); QVERIFY(!results.isEmpty());
QCOMPARE(results, expectedResults); QCOMPARE(results, expectedResults);
@@ -105,8 +105,8 @@ public:
ResultDataList results = ResultData::fromFilterEntryList(matchesFor()); ResultDataList results = ResultData::fromFilterEntryList(matchesFor());
if (debug) { if (debug) {
ResultData::printFilterEntries(expectedResults, QLatin1String("Expected:")); ResultData::printFilterEntries(expectedResults, "Expected:");
ResultData::printFilterEntries(results, QLatin1String("Results:")); ResultData::printFilterEntries(results, "Results:");
} }
QVERIFY(!results.isEmpty()); QVERIFY(!results.isEmpty());
QCOMPARE(results, expectedResults); QCOMPARE(results, expectedResults);
@@ -162,9 +162,9 @@ void CppToolsPlugin::test_cpplocatorfilters_CppLocatorFilter_data()
ILocatorFilter *cppClassesFilter = PluginManager::getObject<CppClassesFilter>(); ILocatorFilter *cppClassesFilter = PluginManager::getObject<CppClassesFilter>();
ILocatorFilter *cppLocatorFilter = PluginManager::getObject<CppLocatorFilter>(); ILocatorFilter *cppLocatorFilter = PluginManager::getObject<CppLocatorFilter>();
MyTestDataDir testDirectory(QLatin1String("testdata_basic")); MyTestDataDir testDirectory("testdata_basic");
const QString testFile = testDirectory.file(QLatin1String("file1.cpp")); const QString testFile = testDirectory.file("file1.cpp");
const QString objTestFile = testDirectory.file(QLatin1String("file1.mm")); const QString objTestFile = testDirectory.file("file1.mm");
const QString testFileShort = FileUtils::shortNativePath(FileName::fromString(testFile)); const QString testFileShort = FileUtils::shortNativePath(FileName::fromString(testFile));
const QString objTestFileShort = FileUtils::shortNativePath(FileName::fromString(objTestFile)); const QString objTestFileShort = FileUtils::shortNativePath(FileName::fromString(objTestFile));
@@ -319,8 +319,8 @@ void CppToolsPlugin::test_cpplocatorfilters_CppLocatorFilter_data()
void CppToolsPlugin::test_cpplocatorfilters_CppCurrentDocumentFilter() void CppToolsPlugin::test_cpplocatorfilters_CppCurrentDocumentFilter()
{ {
MyTestDataDir testDirectory(QLatin1String("testdata_basic")); MyTestDataDir testDirectory("testdata_basic");
const QString testFile = testDirectory.file(QLatin1String("file1.cpp")); const QString testFile = testDirectory.file("file1.cpp");
QList<ResultData> expectedResults = QList<ResultData>() QList<ResultData> expectedResults = QList<ResultData>()
<< ResultData(_("int myVariable"), _("")) << ResultData(_("int myVariable"), _(""))

View File

@@ -27,13 +27,13 @@
#include "centralwidget.h" #include "centralwidget.h"
#include "helpicons.h" #include "helpicons.h"
#include "topicchooser.h"
#include <topicchooser.h>
#include <extensionsystem/pluginmanager.h>
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <coreplugin/helpmanager.h> #include <coreplugin/helpmanager.h>
#include <extensionsystem/pluginmanager.h>
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/asconst.h>
#include <utils/utilsicons.h> #include <utils/utilsicons.h>
#include <QIcon> #include <QIcon>
@@ -48,12 +48,11 @@ using namespace Help;
using namespace Help::Internal; using namespace Help::Internal;
HelpIndexFilter::HelpIndexFilter() HelpIndexFilter::HelpIndexFilter()
: m_needsUpdate(true)
{ {
setId("HelpIndexFilter"); setId("HelpIndexFilter");
setDisplayName(tr("Help Index")); setDisplayName(tr("Help Index"));
setIncludedByDefault(false); setIncludedByDefault(false);
setShortcutString(QString(QLatin1Char('?'))); setShortcutString("?");
m_icon = Utils::Icons::BOOKMARK.icon(); m_icon = Utils::Icons::BOOKMARK.icon();
connect(HelpManager::instance(), &HelpManager::setupFinished, connect(HelpManager::instance(), &HelpManager::setupFinished,
@@ -87,7 +86,7 @@ QList<LocatorFilterEntry> HelpIndexFilter::matchesFor(QFutureInterface<LocatorFi
|| !entry.contains(m_searchTermCache)) { || !entry.contains(m_searchTermCache)) {
int limit = entry.size() < 2 ? 200 : INT_MAX; int limit = entry.size() < 2 ? 200 : INT_MAX;
QSet<QString> results; QSet<QString> results;
foreach (const QString &filePath, m_helpDatabases) { for (const QString &filePath : Utils::asConst(m_helpDatabases)) {
if (future.isCanceled()) if (future.isCanceled())
return QList<LocatorFilterEntry>(); return QList<LocatorFilterEntry>();
QSet<QString> result; QSet<QString> result;
@@ -112,7 +111,7 @@ QList<LocatorFilterEntry> HelpIndexFilter::matchesFor(QFutureInterface<LocatorFi
keywords.reserve(m_keywordCache.size()); keywords.reserve(m_keywordCache.size());
unsortedKeywords.reserve(m_keywordCache.size()); unsortedKeywords.reserve(m_keywordCache.size());
QSet<QString> allresults; QSet<QString> allresults;
foreach (const QString &keyword, m_keywordCache) { for (const QString &keyword : Utils::asConst(m_keywordCache)) {
if (future.isCanceled()) if (future.isCanceled())
return QList<LocatorFilterEntry>(); return QList<LocatorFilterEntry>();
if (keyword.startsWith(entry, cs)) { if (keyword.startsWith(entry, cs)) {
@@ -127,7 +126,7 @@ QList<LocatorFilterEntry> HelpIndexFilter::matchesFor(QFutureInterface<LocatorFi
keywords << unsortedKeywords; keywords << unsortedKeywords;
m_keywordCache = allresults; m_keywordCache = allresults;
m_searchTermCache = entry; m_searchTermCache = entry;
foreach (const QString &keyword, keywords) { for (const QString &keyword : Utils::asConst(keywords)) {
const int index = keyword.indexOf(entry, 0, cs); const int index = keyword.indexOf(entry, 0, cs);
LocatorFilterEntry filterEntry(this, keyword, QVariant(), m_icon); LocatorFilterEntry filterEntry(this, keyword, QVariant(), m_icon);
filterEntry.highlightInfo = {index, entry.length()}; filterEntry.highlightInfo = {index, entry.length()};

View File

@@ -60,7 +60,7 @@ private:
QStringList m_helpDatabases; QStringList m_helpDatabases;
QSet<QString> m_keywordCache; QSet<QString> m_keywordCache;
QString m_searchTermCache; QString m_searchTermCache;
bool m_needsUpdate; bool m_needsUpdate = true;
QMutex m_mutex; QMutex m_mutex;
QIcon m_icon; QIcon m_icon;
}; };

View File

@@ -29,7 +29,7 @@
#include <QUrl> #include <QUrl>
namespace Help { namespace Help {
namespace Internal { namespace Internal {
RemoteFilterOptions::RemoteFilterOptions(RemoteHelpFilter *filter, QWidget *parent) RemoteFilterOptions::RemoteFilterOptions(RemoteHelpFilter *filter, QWidget *parent)
: QDialog(parent) : QDialog(parent)
@@ -43,7 +43,9 @@ RemoteFilterOptions::RemoteFilterOptions(RemoteHelpFilter *filter, QWidget *pare
m_ui.includeByDefault->setToolTip(Core::ILocatorFilter::msgIncludeByDefaultToolTip()); m_ui.includeByDefault->setToolTip(Core::ILocatorFilter::msgIncludeByDefaultToolTip());
m_ui.shortcutEdit->setText(m_filter->shortcutString()); m_ui.shortcutEdit->setText(m_filter->shortcutString());
m_ui.includeByDefault->setChecked(m_filter->isIncludedByDefault()); m_ui.includeByDefault->setChecked(m_filter->isIncludedByDefault());
foreach (const QString &url, m_filter->remoteUrls()) {
const QStringList remoteUrls = m_filter->remoteUrls();
for (const QString &url : remoteUrls) {
QListWidgetItem *item = new QListWidgetItem(url); QListWidgetItem *item = new QListWidgetItem(url);
m_ui.listWidget->addItem(item); m_ui.listWidget->addItem(item);
item->setFlags(item->flags() | Qt::ItemIsEditable); item->setFlags(item->flags() | Qt::ItemIsEditable);
@@ -132,7 +134,8 @@ RemoteHelpFilter::~RemoteHelpFilter()
QList<Core::LocatorFilterEntry> RemoteHelpFilter::matchesFor(QFutureInterface<Core::LocatorFilterEntry> &future, const QString &entry) QList<Core::LocatorFilterEntry> RemoteHelpFilter::matchesFor(QFutureInterface<Core::LocatorFilterEntry> &future, const QString &entry)
{ {
QList<Core::LocatorFilterEntry> entries; QList<Core::LocatorFilterEntry> entries;
foreach (const QString &url, remoteUrls()) { const QStringList urls = remoteUrls();
for (const QString &url : urls) {
if (future.isCanceled()) if (future.isCanceled())
break; break;
const QString name = url.arg(entry); const QString name = url.arg(entry);
@@ -164,7 +167,7 @@ QByteArray RemoteHelpFilter::saveState() const
{ {
QByteArray value; QByteArray value;
QDataStream out(&value, QIODevice::WriteOnly); QDataStream out(&value, QIODevice::WriteOnly);
out << m_remoteUrls.join(QLatin1Char('^')); out << m_remoteUrls.join('^');
out << shortcutString(); out << shortcutString();
out << isIncludedByDefault(); out << isIncludedByDefault();
return value; return value;
@@ -176,7 +179,7 @@ void RemoteHelpFilter::restoreState(const QByteArray &state)
QString value; QString value;
in >> value; in >> value;
m_remoteUrls = value.split(QLatin1Char('^'), QString::SkipEmptyParts); m_remoteUrls = value.split('^', QString::SkipEmptyParts);
QString shortcut; QString shortcut;
in >> shortcut; in >> shortcut;
@@ -209,5 +212,5 @@ QStringList RemoteHelpFilter::remoteUrls() const
return m_remoteUrls; return m_remoteUrls;
} }
} // namespace Internal } // namespace Internal
} // namespace Help } // namespace Help

View File

@@ -33,7 +33,7 @@
#include <QMutex> #include <QMutex>
namespace Help { namespace Help {
namespace Internal { namespace Internal {
class RemoteHelpFilter : public Core::ILocatorFilter class RemoteHelpFilter : public Core::ILocatorFilter
{ {
@@ -69,7 +69,7 @@ class RemoteFilterOptions : public QDialog
friend class RemoteHelpFilter; friend class RemoteHelpFilter;
public: public:
explicit RemoteFilterOptions(RemoteHelpFilter *filter, QWidget *parent = 0); explicit RemoteFilterOptions(RemoteHelpFilter *filter, QWidget *parent = nullptr);
private: private:
void addNewItem(); void addNewItem();
@@ -78,9 +78,9 @@ private:
void moveItemDown(); void moveItemDown();
void updateActionButtons(); void updateActionButtons();
RemoteHelpFilter *m_filter; RemoteHelpFilter *m_filter = nullptr;
Ui::RemoteFilterOptions m_ui; Ui::RemoteFilterOptions m_ui;
}; };
} // namespace Internal } // namespace Internal
} // namespace Help } // namespace Help

View File

@@ -24,12 +24,13 @@
****************************************************************************/ ****************************************************************************/
#include "macrolocatorfilter.h" #include "macrolocatorfilter.h"
#include "macromanager.h"
#include "macro.h"
#include <coreplugin/icore.h> #include "macro.h"
#include "macromanager.h"
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/editormanager/ieditor.h> #include <coreplugin/editormanager/ieditor.h>
#include <coreplugin/icore.h>
#include <QPixmap> #include <QPixmap>
@@ -37,11 +38,11 @@ using namespace Macros;
using namespace Macros::Internal; using namespace Macros::Internal;
MacroLocatorFilter::MacroLocatorFilter(): MacroLocatorFilter::MacroLocatorFilter():
m_icon(QPixmap(QLatin1String(":/macros/images/macro.png"))) m_icon(QPixmap(":/macros/images/macro.png"))
{ {
setId("Macros"); setId("Macros");
setDisplayName(tr("Text Editing Macros")); setDisplayName(tr("Text Editing Macros"));
setShortcutString(QLatin1String("rm")); setShortcutString("rm");
} }
MacroLocatorFilter::~MacroLocatorFilter() MacroLocatorFilter::~MacroLocatorFilter()

View File

@@ -24,6 +24,7 @@
****************************************************************************/ ****************************************************************************/
#include "qmljsfunctionfilter.h" #include "qmljsfunctionfilter.h"
#include "qmljslocatordata.h" #include "qmljslocatordata.h"
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
@@ -41,7 +42,7 @@ FunctionFilter::FunctionFilter(LocatorData *data, QObject *parent)
{ {
setId("Functions"); setId("Functions");
setDisplayName(tr("QML Functions")); setDisplayName(tr("QML Functions"));
setShortcutString(QString(QLatin1Char('m'))); setShortcutString("m");
setIncludedByDefault(false); setIncludedByDefault(false);
} }
@@ -73,7 +74,7 @@ QList<Core::LocatorFilterEntry> FunctionFilter::matchesFor(
it.next(); it.next();
const QList<LocatorData::Entry> items = it.value(); const QList<LocatorData::Entry> items = it.value();
foreach (const LocatorData::Entry &info, items) { for (const LocatorData::Entry &info : items) {
if (info.type != LocatorData::Function) if (info.type != LocatorData::Function)
continue; continue;

View File

@@ -47,7 +47,7 @@ public:
void refresh(QFutureInterface<void> &future) override; void refresh(QFutureInterface<void> &future) override;
private: private:
LocatorData *m_data; LocatorData *m_data = nullptr;
}; };
} // namespace Internal } // namespace Internal

View File

@@ -24,6 +24,7 @@
****************************************************************************/ ****************************************************************************/
#include "linenumberfilter.h" #include "linenumberfilter.h"
#include "texteditor.h" #include "texteditor.h"
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
@@ -48,7 +49,7 @@ LineNumberFilter::LineNumberFilter(QObject *parent)
setId("Line in current document"); setId("Line in current document");
setDisplayName(tr("Line in Current Document")); setDisplayName(tr("Line in Current Document"));
setPriority(High); setPriority(High);
setShortcutString(QString(QLatin1Char('l'))); setShortcutString("l");
setIncludedByDefault(true); setIncludedByDefault(true);
} }
@@ -61,7 +62,7 @@ void LineNumberFilter::prepareSearch(const QString &entry)
QList<LocatorFilterEntry> LineNumberFilter::matchesFor(QFutureInterface<LocatorFilterEntry> &, const QString &entry) QList<LocatorFilterEntry> LineNumberFilter::matchesFor(QFutureInterface<LocatorFilterEntry> &, const QString &entry)
{ {
QList<LocatorFilterEntry> value; QList<LocatorFilterEntry> value;
const QVector<QStringRef> lineAndColumn = entry.splitRef(QLatin1Char(':')); const QVector<QStringRef> lineAndColumn = entry.splitRef(':');
int sectionCount = lineAndColumn.size(); int sectionCount = lineAndColumn.size();
int line = 0; int line = 0;
int column = 0; int column = 0;