diff --git a/app/window/mainwindow/mainstatusbar.cpp b/app/window/mainwindow/mainstatusbar.cpp index 36a96d47b..568718e44 100644 --- a/app/window/mainwindow/mainstatusbar.cpp +++ b/app/window/mainwindow/mainstatusbar.cpp @@ -76,4 +76,11 @@ void MainStatusBar::UpdateStatus() } } +void MainStatusBar::mouseDoubleClickEvent(QMouseEvent* e) +{ + QStatusBar::mouseDoubleClickEvent(e); + + emit DoubleClicked(); +} + OLIVE_NAMESPACE_EXIT diff --git a/app/window/mainwindow/mainstatusbar.h b/app/window/mainwindow/mainstatusbar.h index 1a704860e..96e8dee5e 100644 --- a/app/window/mainwindow/mainstatusbar.h +++ b/app/window/mainwindow/mainstatusbar.h @@ -33,11 +33,18 @@ OLIVE_NAMESPACE_ENTER */ class MainStatusBar : public QStatusBar { + Q_OBJECT public: MainStatusBar(QWidget* parent = nullptr); void ConnectTaskManager(TaskManager* manager); +signals: + void DoubleClicked(); + +protected: + virtual void mouseDoubleClickEvent(QMouseEvent* e) override; + private slots: void UpdateStatus(); diff --git a/app/window/mainwindow/mainwindow.cpp b/app/window/mainwindow/mainwindow.cpp index 067e2603b..5b19b855c 100644 --- a/app/window/mainwindow/mainwindow.cpp +++ b/app/window/mainwindow/mainwindow.cpp @@ -65,6 +65,7 @@ MainWindow::MainWindow(QWidget *parent) : // Create and set status bar MainStatusBar* status_bar = new MainStatusBar(this); status_bar->ConnectTaskManager(TaskManager::instance()); + connect(status_bar, &MainStatusBar::DoubleClicked, this, &MainWindow::StatusBarDoubleClicked); setStatusBar(status_bar); // Create standard panels @@ -391,6 +392,12 @@ bool MainWindow::nativeEvent(const QByteArray &eventType, void *message, long *r } #endif +void MainWindow::StatusBarDoubleClicked() +{ + task_man_panel_->show(); + task_man_panel_->raise(); +} + void MainWindow::UpdateTitle() { if (Core::instance()->GetActiveProject()) { diff --git a/app/window/mainwindow/mainwindow.h b/app/window/mainwindow/mainwindow.h index 4f2d52c6e..643e72133 100644 --- a/app/window/mainwindow/mainwindow.h +++ b/app/window/mainwindow/mainwindow.h @@ -147,6 +147,8 @@ private slots: void LoadLayoutInternal(QXmlStreamReader* reader, XMLNodeData *xml_data); + void StatusBarDoubleClicked(); + }; OLIVE_NAMESPACE_EXIT