summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJarek Kobus <jaroslaw.kobus@qt.io>2023-04-24 21:16:32 +0200
committerJarek Kobus <jaroslaw.kobus@qt.io>2023-05-16 07:56:54 +0000
commitef0cc8a1d91e0e9b898b23b6ccc0cab00b72713e (patch)
tree414ceacb78773f9537f1445b47ad1c5459740dca
parenta3e9fc37ba3fc01ad441ca574b1f9d66520d5ff6 (diff)
downloadqt-creator-ef0cc8a1d91e0e9b898b23b6ccc0cab00b72713e.tar.gz
ExecuteFilter: Remove the old matchesFor() implementation
Change-Id: Ib1f001f366ef78f359d7c04cf8861ae59b9d22a9 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
-rw-r--r--src/plugins/coreplugin/locator/executefilter.cpp58
-rw-r--r--src/plugins/coreplugin/locator/executefilter.h18
2 files changed, 19 insertions, 57 deletions
diff --git a/src/plugins/coreplugin/locator/executefilter.cpp b/src/plugins/coreplugin/locator/executefilter.cpp
index 630bef03df..2225508ae4 100644
--- a/src/plugins/coreplugin/locator/executefilter.cpp
+++ b/src/plugins/coreplugin/locator/executefilter.cpp
@@ -104,47 +104,15 @@ void ExecuteFilter::acceptCommand(const QString &cmd)
if (result == QMessageBox::Cancel)
return;
if (result == QMessageBox::No) {
- m_taskQueue.enqueue(data);
+ m_taskQueue.append(data);
return;
}
removeProcess();
}
- m_taskQueue.enqueue(data);
+ m_taskQueue.append(data);
runHeadCommand();
}
-QList<LocatorFilterEntry> ExecuteFilter::matchesFor(QFutureInterface<LocatorFilterEntry> &future,
- const QString &entry)
-{
- QList<LocatorFilterEntry> results;
- if (!entry.isEmpty()) { // avoid empty entry
- LocatorFilterEntry filterEntry;
- filterEntry.displayName = entry;
- filterEntry.acceptor = [this, entry] { acceptCommand(entry); return AcceptResult(); };
- results.append(filterEntry);
- }
- QList<LocatorFilterEntry> others;
- const Qt::CaseSensitivity entryCaseSensitivity = caseSensitivity(entry);
- for (const QString &cmd : std::as_const(m_commandHistory)) {
- if (future.isCanceled())
- break;
- if (cmd == entry) // avoid repeated entry
- continue;
- LocatorFilterEntry filterEntry;
- filterEntry.displayName = cmd;
- filterEntry.acceptor = [this, cmd] { acceptCommand(cmd); return AcceptResult(); };
- const int index = cmd.indexOf(entry, 0, entryCaseSensitivity);
- if (index >= 0) {
- filterEntry.highlightInfo = {index, int(entry.length())};
- results.append(filterEntry);
- } else {
- others.append(filterEntry);
- }
- }
- results.append(others);
- return results;
-}
-
void ExecuteFilter::done()
{
QTC_ASSERT(m_process, return);
@@ -155,7 +123,7 @@ void ExecuteFilter::done()
runHeadCommand();
}
-void ExecuteFilter::readStandardOutput()
+void ExecuteFilter::readStdOutput()
{
QTC_ASSERT(m_process, return);
const QByteArray data = m_process->readAllRawStandardOutput();
@@ -163,7 +131,7 @@ void ExecuteFilter::readStandardOutput()
QTextCodec::codecForLocale()->toUnicode(data.constData(), data.size(), &m_stdoutState));
}
-void ExecuteFilter::readStandardError()
+void ExecuteFilter::readStdError()
{
QTC_ASSERT(m_process, return);
const QByteArray data = m_process->readAllRawStandardError();
@@ -174,11 +142,11 @@ void ExecuteFilter::readStandardError()
void ExecuteFilter::runHeadCommand()
{
if (!m_taskQueue.isEmpty()) {
- const ExecuteData &d = m_taskQueue.head();
+ const ExecuteData &d = m_taskQueue.first();
if (d.command.executable().isEmpty()) {
- MessageManager::writeDisrupting(
- Tr::tr("Could not find executable for \"%1\".").arg(d.command.executable().toUserOutput()));
- m_taskQueue.dequeue();
+ MessageManager::writeDisrupting(Tr::tr("Could not find executable for \"%1\".")
+ .arg(d.command.executable().toUserOutput()));
+ m_taskQueue.removeFirst();
runHeadCommand();
return;
}
@@ -199,8 +167,8 @@ void ExecuteFilter::createProcess()
m_process = new Process;
m_process->setEnvironment(Environment::systemEnvironment());
connect(m_process, &Process::done, this, &ExecuteFilter::done);
- connect(m_process, &Process::readyReadStandardOutput, this, &ExecuteFilter::readStandardOutput);
- connect(m_process, &Process::readyReadStandardError, this, &ExecuteFilter::readStandardError);
+ connect(m_process, &Process::readyReadStandardOutput, this, &ExecuteFilter::readStdOutput);
+ connect(m_process, &Process::readyReadStandardError, this, &ExecuteFilter::readStdError);
}
void ExecuteFilter::removeProcess()
@@ -208,7 +176,7 @@ void ExecuteFilter::removeProcess()
if (!m_process)
return;
- m_taskQueue.dequeue();
+ m_taskQueue.removeFirst();
m_process->deleteLater();
m_process = nullptr;
}
@@ -231,8 +199,8 @@ QString ExecuteFilter::headCommand() const
{
if (m_taskQueue.isEmpty())
return QString();
- const ExecuteData &data = m_taskQueue.head();
+ const ExecuteData &data = m_taskQueue.first();
return data.command.toUserOutput();
}
-} // Core::Internal
+} // namespace Core::Internal
diff --git a/src/plugins/coreplugin/locator/executefilter.h b/src/plugins/coreplugin/locator/executefilter.h
index 348a09c7fe..2e51d320d3 100644
--- a/src/plugins/coreplugin/locator/executefilter.h
+++ b/src/plugins/coreplugin/locator/executefilter.h
@@ -7,19 +7,15 @@
#include <utils/commandline.h>
-#include <QQueue>
#include <QStringList>
#include <QTextCodec>
namespace Utils { class Process; }
-namespace Core {
-namespace Internal {
+namespace Core::Internal {
class ExecuteFilter : public Core::ILocatorFilter
{
- Q_OBJECT
-
struct ExecuteData
{
Utils::CommandLine command;
@@ -29,14 +25,13 @@ class ExecuteFilter : public Core::ILocatorFilter
public:
ExecuteFilter();
~ExecuteFilter() override;
- QList<LocatorFilterEntry> matchesFor(QFutureInterface<LocatorFilterEntry> &future,
- const QString &entry) override;
+
private:
LocatorMatcherTasks matchers() final;
void acceptCommand(const QString &cmd);
void done();
- void readStandardOutput();
- void readStandardError();
+ void readStdOutput();
+ void readStdError();
void runHeadCommand();
void createProcess();
@@ -47,12 +42,11 @@ private:
QString headCommand() const;
- QQueue<ExecuteData> m_taskQueue;
+ QList<ExecuteData> m_taskQueue;
QStringList m_commandHistory;
Utils::Process *m_process = nullptr;
QTextCodec::ConverterState m_stdoutState;
QTextCodec::ConverterState m_stderrState;
};
-} // namespace Internal
-} // namespace Core
+} // namespace Core::Internal