mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-31 04:25:35 +08:00
Issue #15 [GUI] Use CLogHistoryReplica in CLogComponent and swift applications
This commit is contained in:
@@ -12,7 +12,10 @@
|
||||
#include "blackgui/views/statusmessageview.h"
|
||||
#include "blackgui/views/viewbase.h"
|
||||
#include "blackgui/guiutility.h"
|
||||
#include "blackcore/application.h"
|
||||
#include "blackmisc/icons.h"
|
||||
#include "blackmisc/logpattern.h"
|
||||
#include "blackmisc/sharedstate/datalinkdbus.h"
|
||||
#include "ui_logcomponent.h"
|
||||
|
||||
#include <QAction>
|
||||
@@ -22,6 +25,7 @@
|
||||
#include <QtGlobal>
|
||||
|
||||
using namespace BlackMisc;
|
||||
using namespace BlackCore;
|
||||
using namespace BlackGui;
|
||||
using namespace BlackGui::Views;
|
||||
using namespace BlackGui::Menus;
|
||||
@@ -46,10 +50,21 @@ namespace BlackGui
|
||||
}
|
||||
|
||||
CLogComponent::CLogComponent(QWidget *parent) :
|
||||
QFrame(parent), ui(new Ui::CLogComponent)
|
||||
QFrame(parent), ui(new Ui::CLogComponent), m_history(this)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
connect(ui->comp_StatusMessages, &CStatusMessagesDetail::modelDataChangedDigest, this, &CLogComponent::onStatusMessageDataChanged);
|
||||
|
||||
connect(&m_history, &CLogHistoryReplica::elementAdded, this, [this](const CStatusMessage &message)
|
||||
{
|
||||
ui->comp_StatusMessages->appendStatusMessageToList(message);
|
||||
});
|
||||
connect(&m_history, &CLogHistoryReplica::elementsReplaced, this, [this](const CStatusMessageList &messages)
|
||||
{
|
||||
ui->comp_StatusMessages->appendStatusMessagesToList(messages);
|
||||
});
|
||||
m_history.setFilter(CLogPattern().withSeverityAtOrAbove(CStatusMessage::SeverityInfo));
|
||||
m_history.initialize(sApp->getDataLinkDBus());
|
||||
}
|
||||
|
||||
CLogComponent::~CLogComponent()
|
||||
@@ -123,27 +138,11 @@ namespace BlackGui
|
||||
ui->comp_StatusMessages->clear();
|
||||
}
|
||||
|
||||
void CLogComponent::appendStatusMessageToConsole(const CStatusMessage &statusMessage)
|
||||
{
|
||||
if (statusMessage.isEmpty()) return;
|
||||
ui->tep_StatusPageConsole->appendHtml(statusMessage.toHtml(false, true));
|
||||
}
|
||||
|
||||
void CLogComponent::appendPlainTextToConsole(const QString &text)
|
||||
{
|
||||
ui->tep_StatusPageConsole->appendPlainText(text);
|
||||
}
|
||||
|
||||
void CLogComponent::appendStatusMessageToList(const CStatusMessage &statusMessage)
|
||||
{
|
||||
ui->comp_StatusMessages->appendStatusMessageToList(statusMessage);
|
||||
}
|
||||
|
||||
void CLogComponent::appendStatusMessagesToList(const CStatusMessageList &statusMessages)
|
||||
{
|
||||
ui->comp_StatusMessages->appendStatusMessagesToList(statusMessages);
|
||||
}
|
||||
|
||||
void CLogComponent::onStatusMessageDataChanged(int count, bool withFilter)
|
||||
{
|
||||
Q_UNUSED(count);
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#define BLACKGUI_LOGCOMPONENT_H
|
||||
|
||||
#include "blackgui/blackguiexport.h"
|
||||
#include "blackmisc/loghistory.h"
|
||||
#include "blackmisc/statusmessagelist.h"
|
||||
|
||||
#include <QFrame>
|
||||
@@ -94,24 +95,16 @@ namespace BlackGui
|
||||
//! Clear
|
||||
void clearMessages();
|
||||
|
||||
//! Append status message to console
|
||||
void appendStatusMessageToConsole(const BlackMisc::CStatusMessage &statusMessage);
|
||||
|
||||
//! Append plain text to console
|
||||
void appendPlainTextToConsole(const QString &text);
|
||||
|
||||
//! Append status message to list
|
||||
void appendStatusMessageToList(const BlackMisc::CStatusMessage &statusMessage);
|
||||
|
||||
//! Append status messages to list
|
||||
void appendStatusMessagesToList(const BlackMisc::CStatusMessageList &statusMessages);
|
||||
|
||||
signals:
|
||||
//! Make me visible
|
||||
void requestAttention();
|
||||
|
||||
private:
|
||||
QScopedPointer<Ui::CLogComponent> ui;
|
||||
BlackMisc::CLogHistoryReplica m_history;
|
||||
|
||||
//! Status messages changed
|
||||
void onStatusMessageDataChanged(int count, bool withFilter);
|
||||
|
||||
Reference in New Issue
Block a user