Files
qt-creator/src/plugins/coreplugin/coreplugin.h
Jarek Kobus 2eba3584a1 ILocatorFilter: Introduce LocatorMatcher
This machinery is going to replace
ILocatorFilter::matchesFor() and filter usages outside
of locator scope, e.g. in find unused functions.

In contrary to LocatorWidget, which calls
Core::Internal::runSearch() in a separate thread
and the latter executes matchesFor() sequentially for all filters,
this patch offers a possibility to run all filters in parallel.

Change-Id: Ia59463c95294299090173f3d510d57c9f8c7f993
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-17 12:32:20 +00:00

87 lines
2.3 KiB
C++

// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#pragma once
#include "foldernavigationwidget.h"
#include <qglobal.h>
#include <extensionsystem/iplugin.h>
#include <utils/environment.h>
#include <utils/futuresynchronizer.h>
QT_BEGIN_NAMESPACE
class QMenu;
QT_END_NAMESPACE
namespace Utils {
class PathChooser;
}
namespace Core {
class FolderNavigationWidgetFactory;
namespace Internal {
class EditMode;
class MainWindow;
class Locator;
class CorePlugin : public ExtensionSystem::IPlugin
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "Core.json")
public:
CorePlugin();
~CorePlugin() override;
static CorePlugin *instance();
bool initialize(const QStringList &arguments, QString *errorMessage = nullptr) override;
void extensionsInitialized() override;
bool delayedInitialize() override;
ShutdownFlag aboutToShutdown() override;
QObject *remoteCommand(const QStringList & /* options */,
const QString &workingDirectory,
const QStringList &args) override;
static Utils::FutureSynchronizer *futureSynchronizer();
static Utils::Environment startupSystemEnvironment();
static Utils::EnvironmentItems environmentChanges();
static void setEnvironmentChanges(const Utils::EnvironmentItems &changes);
static QString msgCrashpadInformation();
public slots:
void fileOpenRequest(const QString &);
#if defined(WITH_TESTS)
private slots:
void testVcsManager_data();
void testVcsManager();
// Locator:
void test_basefilefilter();
void test_basefilefilter_data();
void testOutputFormatter();
#endif
private:
static void addToPathChooserContextMenu(Utils::PathChooser *pathChooser, QMenu *menu);
static void setupSystemEnvironment();
void checkSettings();
void warnAboutCrashReporing();
MainWindow *m_mainWindow = nullptr;
EditMode *m_editMode = nullptr;
Locator *m_locator = nullptr;
FolderNavigationWidgetFactory *m_folderNavigationWidgetFactory = nullptr;
Utils::Environment m_startupSystemEnvironment;
Utils::EnvironmentItems m_environmentChanges;
Utils::FutureSynchronizer m_futureSynchronizer;
};
} // namespace Internal
} // namespace Core