forked from qt-creator/qt-creator
LSP: Remove a use of QLinkedList
Task-number: QTCREATORBUG-24098 Change-Id: Ia043284fa57e74ae1ca5f2aef6c3c363b0ca0715 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -93,15 +93,14 @@ void LspLogger::log(const LspLogMessage::MessageSender sender,
|
||||
const QString &clientName,
|
||||
const BaseMessage &message)
|
||||
{
|
||||
QLinkedList<LspLogMessage> &clientLog = m_logs[clientName];
|
||||
auto delta = clientLog.size() - m_logSize + 1;
|
||||
if (delta > 0)
|
||||
clientLog.erase(clientLog.begin(), clientLog.begin() + delta);
|
||||
m_logs[clientName].append({sender, QTime::currentTime(), message});
|
||||
emit newMessage(clientName, m_logs[clientName].last());
|
||||
std::list<LspLogMessage> &clientLog = m_logs[clientName];
|
||||
for (auto delta = clientLog.size() - m_logSize + 1; delta > 0; --delta)
|
||||
clientLog.pop_front();
|
||||
m_logs[clientName].push_back({sender, QTime::currentTime(), message});
|
||||
emit newMessage(clientName, m_logs[clientName].back());
|
||||
}
|
||||
|
||||
QLinkedList<LspLogMessage> LspLogger::messages(const QString &clientName) const
|
||||
std::list<LspLogMessage> LspLogger::messages(const QString &clientName) const
|
||||
{
|
||||
return m_logs[clientName];
|
||||
}
|
||||
|
@@ -25,12 +25,13 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QLinkedList>
|
||||
#include <QTime>
|
||||
#include <QWidget>
|
||||
|
||||
#include <languageserverprotocol/basemessage.h>
|
||||
|
||||
#include <list>
|
||||
|
||||
namespace LanguageClient {
|
||||
|
||||
struct LspLogMessage
|
||||
@@ -53,14 +54,14 @@ public:
|
||||
const QString &clientName,
|
||||
const LanguageServerProtocol::BaseMessage &message);
|
||||
|
||||
QLinkedList<LspLogMessage> messages(const QString &clientName) const;
|
||||
std::list<LspLogMessage> messages(const QString &clientName) const;
|
||||
QList<QString> clients() const;
|
||||
|
||||
signals:
|
||||
void newMessage(const QString &clientName, const LspLogMessage &message);
|
||||
|
||||
private:
|
||||
QMap<QString, QLinkedList<LspLogMessage>> m_logs;
|
||||
QMap<QString, std::list<LspLogMessage>> m_logs;
|
||||
int m_logSize = 100; // default log size if no widget is currently visible
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user