Issue #15 [GUI] Use CLogHistoryReplica in CLogComponent and swift applications

This commit is contained in:
Mat Sutcliffe
2020-04-24 19:28:30 +01:00
parent 3b1e10b51e
commit 86dd91a064
19 changed files with 94 additions and 115 deletions

View File

@@ -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);

View File

@@ -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);