Skip to content
Snippets Groups Projects
Commit e1db8ec1 authored by Raul Radu's avatar Raul Radu
Browse files

[IncomingMsgViewer] Using new SubscriptionsPanel API and smart pointers

parent 438739b7
Branches
No related tags found
1 merge request!43[Codebase] Refactoring with smart pointers and changed implementation of Message Broker
......@@ -21,13 +21,18 @@
#include <QHBoxLayout>
#include <QTime>
#include "Components/SubscriptionsPanel/SubscriptionsPanel.h"
IncomingMessagesViewerModule::IncomingMessagesViewerModule()
: Module(ModuleId::INCOMING_MESSAGES_VIEWER)
{
setupUi();
customContextMenuActionSetup();
subscriptionsPanel = std::make_unique<SubscriptionsPanel>();
subscriptionsPanel->setWindowTitle("Graph subscriptions");
connect(subscriptionsPanel.get(), &SubscriptionsPanel::filterAdded, this,
&IncomingMessagesViewerModule::onFilterAdded);
connect(subscriptionsPanel.get(), &SubscriptionsPanel::filterRemoved, this,
&IncomingMessagesViewerModule::onFilterRemoved);
}
IncomingMessagesViewerModule::~IncomingMessagesViewerModule() {}
......@@ -73,13 +78,8 @@ void IncomingMessagesViewerModule::onSubscribeClicked()
filterKeys.push_back(it->first);
}
SubscriptionsPanel* panel = new SubscriptionsPanel(filterKeys);
panel->setWindowTitle("Graph subscriptions");
connect(panel, &SubscriptionsPanel::filterAdded, this,
&IncomingMessagesViewerModule::onFilterAdded);
connect(panel, &SubscriptionsPanel::filterRemoved, this,
&IncomingMessagesViewerModule::onFilterRemoved);
panel->show();
subscriptionsPanel->setFilters(filterKeys);
subscriptionsPanel->show();
}
void IncomingMessagesViewerModule::onFilterAdded(const Filter& filter)
......@@ -135,13 +135,13 @@ void IncomingMessagesViewerModule::onFilterRemoved(const Filter& filter)
void IncomingMessagesViewerModule::setupUi()
{
edit = new QTextEdit();
edit = std::make_unique<QTextEdit>();
edit->setReadOnly(true);
edit->setContextMenuPolicy(Qt::ContextMenuPolicy::NoContextMenu);
QHBoxLayout* layout = new QHBoxLayout();
layout->setContentsMargins(0, 0, 0, 0);
layout->addWidget(edit);
layout->addWidget(edit.get());
setLayout(layout);
}
......@@ -156,15 +156,16 @@ void IncomingMessagesViewerModule::customContextMenuActionSetup()
&IncomingMessagesViewerModule::onSubscribeClicked);
customContextMenuActions.append(subscriptions);
keepOnlyLastMessageAction = new QAction("Keep only last message");
keepOnlyLastMessageAction =
std::make_unique<QAction>("Keep only last message");
keepOnlyLastMessageAction->setCheckable(true);
connect(keepOnlyLastMessageAction, &QAction::toggled, this,
connect(keepOnlyLastMessageAction.get(), &QAction::toggled, this,
[=](bool value) { keepOnlyLastMessage = value; });
customContextMenuActions.append(keepOnlyLastMessageAction);
customContextMenuActions.append(keepOnlyLastMessageAction.get());
useTimestampAction = new QAction("Use timestamp");
useTimestampAction = std::make_unique<QAction>("Use timestamp");
useTimestampAction->setCheckable(true);
connect(useTimestampAction, &QAction::toggled, this,
connect(useTimestampAction.get(), &QAction::toggled, this,
[=](bool value) { useTimestamp = value; });
customContextMenuActions.append(useTimestampAction);
customContextMenuActions.append(useTimestampAction.get());
}
......@@ -18,11 +18,13 @@
#pragma once
#include <Components/SubscriptionsPanel/SubscriptionsPanel.h>
#include <Core/Message/Filter.h>
#include <Core/MessageBroker/Subscription.h>
#include <Modules/Module.h>
#include <QTextEdit>
#include <memory>
class IncomingMessagesViewerModule : public Module
{
......@@ -41,14 +43,16 @@ private slots:
void onFilterRemoved(const Filter& filter);
private:
QTextEdit* edit;
std::unique_ptr<QTextEdit> edit;
void setupUi();
void customContextMenuActionSetup();
std::map<Filter, std::unique_ptr<Subscription>> filters;
bool keepOnlyLastMessage = false;
QAction* keepOnlyLastMessageAction;
std::unique_ptr<QAction> keepOnlyLastMessageAction;
bool useTimestamp = false;
QAction* useTimestampAction;
std::unique_ptr<QAction> useTimestampAction;
std::unique_ptr<SubscriptionsPanel> subscriptionsPanel;
};
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment