Skip to content

Commit

Permalink
gui/scopystatusbar: Managing the destruction of the status bar.
Browse files Browse the repository at this point in the history
Signed-off-by: andrei.danila <[email protected]>
  • Loading branch information
andreidanila1 committed Mar 21, 2024
1 parent 9f8c0f8 commit 34bb297
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
3 changes: 3 additions & 0 deletions gui/include/gui/widgets/scopystatusbar.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
#include <QLabel>
#include <QList>
#include <QStackedWidget>
#include <pluginbase/statusbarmanager.h>
#include "pluginbase/statusmessage.h"
#include "utils.h"
#include "menu_anim.hpp"
Expand All @@ -40,6 +41,7 @@ class SCOPY_GUI_EXPORT ScopyStatusBar : public MenuVAnim
QWIDGET_PAINT_EVENT_HELPER
public:
explicit ScopyStatusBar(QWidget *parent = nullptr);
~ScopyStatusBar();

Q_SIGNALS:
void requestHistory();
Expand All @@ -60,6 +62,7 @@ public Q_SLOTS:
// UI elements
QStackedWidget *m_stackedWidget;
QWidget *m_rightWidget;
StatusBarManager *m_statusManager;
};
} // namespace scopy

Expand Down
13 changes: 9 additions & 4 deletions gui/src/widgets/scopystatusbar.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@

#include "scopystatusbar.h"
#include "stylehelper.h"
#include <pluginbase/statusbarmanager.h>
#include <QLoggingCategory>
#include <QApplication>
#include <QTimer>
Expand All @@ -34,10 +33,16 @@ ScopyStatusBar::ScopyStatusBar(QWidget *parent)
: MenuVAnim(parent)
{
initUi();
m_statusManager = StatusBarManager::GetInstance();
connect(m_statusManager, &StatusBarManager::sendStatus, this, &ScopyStatusBar::displayStatusMessage);
connect(m_statusManager, &StatusBarManager::clearDisplay, this, &ScopyStatusBar::clearStatusMessage);
}

auto statusManager = StatusBarManager::GetInstance();
connect(statusManager, &StatusBarManager::sendStatus, this, &ScopyStatusBar::displayStatusMessage);
connect(statusManager, &StatusBarManager::clearDisplay, this, &ScopyStatusBar::clearStatusMessage);
ScopyStatusBar::~ScopyStatusBar()
{
clearStatusMessage();
disconnect(m_statusManager, &StatusBarManager::sendStatus, this, &ScopyStatusBar::displayStatusMessage);
disconnect(m_statusManager, &StatusBarManager::clearDisplay, this, &ScopyStatusBar::clearStatusMessage);
}

void ScopyStatusBar::initUi()
Expand Down

0 comments on commit 34bb297

Please sign in to comment.