forked from qt-creator/qt-creator
RunConfigurationFilter: Remove the old matchesFor() implementation
Since the base class vanished, rename the filters so that they have the common prefix now. Change-Id: I21c8d1f3ea3c3ad22063d7db8be72e66d449e701 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
@@ -408,40 +408,19 @@ protected:
|
|||||||
void restoreState(const QJsonObject &object) override;
|
void restoreState(const QJsonObject &object) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
// TODO: Remove the base class
|
class RunConfigurationStartFilter final : public ILocatorFilter
|
||||||
class RunConfigurationLocatorFilter : public ILocatorFilter
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
RunConfigurationLocatorFilter();
|
RunConfigurationStartFilter();
|
||||||
|
|
||||||
void prepareSearch(const QString &entry) override;
|
|
||||||
QList<LocatorFilterEntry> matchesFor(QFutureInterface<LocatorFilterEntry> &future,
|
|
||||||
const QString &entry) override;
|
|
||||||
using RunAcceptor = std::function<void(RunConfiguration *)>;
|
|
||||||
protected:
|
|
||||||
void setRunAcceptor(const RunAcceptor &acceptor) { m_acceptor = acceptor; }
|
|
||||||
|
|
||||||
private:
|
|
||||||
void targetListUpdated();
|
|
||||||
QList<LocatorFilterEntry> m_result;
|
|
||||||
RunAcceptor m_acceptor;
|
|
||||||
};
|
|
||||||
|
|
||||||
// TODO: Don't derive, flatten the hierarchy
|
|
||||||
class RunRunConfigurationLocatorFilter final : public RunConfigurationLocatorFilter
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
RunRunConfigurationLocatorFilter();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Core::LocatorMatcherTasks matchers() final;
|
Core::LocatorMatcherTasks matchers() final;
|
||||||
};
|
};
|
||||||
|
|
||||||
// TODO: Don't derive, flatten the hierarchy
|
class RunConfigurationSwitchFilter final : public ILocatorFilter
|
||||||
class SwitchToRunConfigurationLocatorFilter final : public RunConfigurationLocatorFilter
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
SwitchToRunConfigurationLocatorFilter();
|
RunConfigurationSwitchFilter();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Core::LocatorMatcherTasks matchers() final;
|
Core::LocatorMatcherTasks matchers() final;
|
||||||
@@ -682,8 +661,8 @@ public:
|
|||||||
AllProjectsFilter m_allProjectsFilter;
|
AllProjectsFilter m_allProjectsFilter;
|
||||||
CurrentProjectFilter m_currentProjectFilter;
|
CurrentProjectFilter m_currentProjectFilter;
|
||||||
AllProjectFilesFilter m_allProjectDirectoriesFilter;
|
AllProjectFilesFilter m_allProjectDirectoriesFilter;
|
||||||
RunRunConfigurationLocatorFilter m_runConfigurationLocatorFilter;
|
RunConfigurationStartFilter m_runConfigurationStartFilter;
|
||||||
SwitchToRunConfigurationLocatorFilter m_switchRunConfigurationLocatorFilter;
|
RunConfigurationSwitchFilter m_runConfigurationSwitchFilter;
|
||||||
|
|
||||||
CopyFileStepFactory m_copyFileStepFactory;
|
CopyFileStepFactory m_copyFileStepFactory;
|
||||||
CopyDirectoryStepFactory m_copyDirectoryFactory;
|
CopyDirectoryStepFactory m_copyDirectoryFactory;
|
||||||
@@ -4390,14 +4369,15 @@ void AllProjectFilesFilter::restoreState(const QJsonObject &object)
|
|||||||
DirectoryFilter::restoreState(withoutDirectories);
|
DirectoryFilter::restoreState(withoutDirectories);
|
||||||
}
|
}
|
||||||
|
|
||||||
RunConfigurationLocatorFilter::RunConfigurationLocatorFilter()
|
static void setupFilter(ILocatorFilter *filter)
|
||||||
{
|
{
|
||||||
connect(ProjectManager::instance(), &ProjectManager::startupProjectChanged,
|
QObject::connect(ProjectManager::instance(), &ProjectManager::startupProjectChanged,
|
||||||
this, &RunConfigurationLocatorFilter::targetListUpdated);
|
filter, [filter] { filter->setEnabled(ProjectManager::startupProject()); });
|
||||||
|
filter->setEnabled(ProjectManager::startupProject());
|
||||||
targetListUpdated();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
using RunAcceptor = std::function<void(RunConfiguration *)>;
|
||||||
|
|
||||||
static RunConfiguration *runConfigurationForDisplayName(const QString &displayName)
|
static RunConfiguration *runConfigurationForDisplayName(const QString &displayName)
|
||||||
{
|
{
|
||||||
const Target *target = ProjectManager::startupTarget();
|
const Target *target = ProjectManager::startupTarget();
|
||||||
@@ -4409,8 +4389,7 @@ static RunConfiguration *runConfigurationForDisplayName(const QString &displayNa
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
static LocatorMatcherTasks runConfigurationMatchers(
|
static LocatorMatcherTasks runConfigurationMatchers(const RunAcceptor &acceptor)
|
||||||
const RunConfigurationLocatorFilter::RunAcceptor &acceptor)
|
|
||||||
{
|
{
|
||||||
using namespace Tasking;
|
using namespace Tasking;
|
||||||
|
|
||||||
@@ -4442,58 +4421,23 @@ static LocatorMatcherTasks runConfigurationMatchers(
|
|||||||
return {{Sync(onSetup), storage}};
|
return {{Sync(onSetup), storage}};
|
||||||
}
|
}
|
||||||
|
|
||||||
void RunConfigurationLocatorFilter::prepareSearch(const QString &entry)
|
|
||||||
{
|
|
||||||
m_result.clear();
|
|
||||||
const Target *target = ProjectManager::startupTarget();
|
|
||||||
if (!target)
|
|
||||||
return;
|
|
||||||
for (auto rc : target->runConfigurations()) {
|
|
||||||
if (rc->displayName().contains(entry, Qt::CaseInsensitive)) {
|
|
||||||
LocatorFilterEntry entry;
|
|
||||||
entry.displayName = rc->displayName();
|
|
||||||
entry.acceptor = [name = entry.displayName, acceptor = m_acceptor] {
|
|
||||||
RunConfiguration *config = runConfigurationForDisplayName(name);
|
|
||||||
if (!config)
|
|
||||||
return AcceptResult();
|
|
||||||
acceptor(config);
|
|
||||||
return AcceptResult();
|
|
||||||
};
|
|
||||||
m_result.append(entry);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
QList<LocatorFilterEntry> RunConfigurationLocatorFilter::matchesFor(
|
|
||||||
QFutureInterface<LocatorFilterEntry> &future, const QString &entry)
|
|
||||||
{
|
|
||||||
Q_UNUSED(future)
|
|
||||||
Q_UNUSED(entry)
|
|
||||||
return m_result;
|
|
||||||
}
|
|
||||||
|
|
||||||
void RunConfigurationLocatorFilter::targetListUpdated()
|
|
||||||
{
|
|
||||||
setEnabled(ProjectManager::startupProject()); // at least one project opened
|
|
||||||
}
|
|
||||||
|
|
||||||
static void runAcceptor(RunConfiguration *config)
|
static void runAcceptor(RunConfiguration *config)
|
||||||
{
|
{
|
||||||
if (!BuildManager::isBuilding(config->project()))
|
if (!BuildManager::isBuilding(config->project()))
|
||||||
ProjectExplorerPlugin::runRunConfiguration(config, Constants::NORMAL_RUN_MODE, true);
|
ProjectExplorerPlugin::runRunConfiguration(config, Constants::NORMAL_RUN_MODE, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
RunRunConfigurationLocatorFilter::RunRunConfigurationLocatorFilter()
|
RunConfigurationStartFilter::RunConfigurationStartFilter()
|
||||||
{
|
{
|
||||||
setId("Run run configuration");
|
setId("Run run configuration");
|
||||||
setDisplayName(Tr::tr("Run Run Configuration"));
|
setDisplayName(Tr::tr("Run Run Configuration"));
|
||||||
setDescription(Tr::tr("Runs a run configuration of the active project."));
|
setDescription(Tr::tr("Runs a run configuration of the active project."));
|
||||||
setDefaultShortcutString("rr");
|
setDefaultShortcutString("rr");
|
||||||
setPriority(Medium);
|
setPriority(Medium);
|
||||||
setRunAcceptor(&runAcceptor);
|
setupFilter(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
LocatorMatcherTasks RunRunConfigurationLocatorFilter::matchers()
|
LocatorMatcherTasks RunConfigurationStartFilter::matchers()
|
||||||
{
|
{
|
||||||
return runConfigurationMatchers(&runAcceptor);
|
return runConfigurationMatchers(&runAcceptor);
|
||||||
}
|
}
|
||||||
@@ -4510,17 +4454,17 @@ static void switchAcceptor(RunConfiguration *config)
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
SwitchToRunConfigurationLocatorFilter::SwitchToRunConfigurationLocatorFilter()
|
RunConfigurationSwitchFilter::RunConfigurationSwitchFilter()
|
||||||
{
|
{
|
||||||
setId("Switch run configuration");
|
setId("Switch run configuration");
|
||||||
setDisplayName(Tr::tr("Switch Run Configuration"));
|
setDisplayName(Tr::tr("Switch Run Configuration"));
|
||||||
setDescription(Tr::tr("Switches the active run configuration of the active project."));
|
setDescription(Tr::tr("Switches the active run configuration of the active project."));
|
||||||
setDefaultShortcutString("sr");
|
setDefaultShortcutString("sr");
|
||||||
setPriority(Medium);
|
setPriority(Medium);
|
||||||
setRunAcceptor(&switchAcceptor);
|
setupFilter(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
LocatorMatcherTasks SwitchToRunConfigurationLocatorFilter::matchers()
|
LocatorMatcherTasks RunConfigurationSwitchFilter::matchers()
|
||||||
{
|
{
|
||||||
return runConfigurationMatchers(&switchAcceptor);
|
return runConfigurationMatchers(&switchAcceptor);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user