From eda1439a29549868cec25100748fd4f4c2814419 Mon Sep 17 00:00:00 2001 From: Henning Gruendl Date: Thu, 9 Apr 2020 13:53:04 +0200 Subject: [PATCH] QmlDesigner: Link OutputPane visible to DockWidget Task-number: QDS-1639 Change-Id: I8f384669d402d961683e85ff237a224b6d26cf34 Reviewed-by: Eike Ziller --- src/plugins/coreplugin/outputpane.h | 3 +++ src/plugins/coreplugin/outputpanemanager.cpp | 2 ++ src/plugins/qmldesigner/designmodewidget.cpp | 19 ++----------------- src/plugins/qmldesigner/designmodewidget.h | 3 --- 4 files changed, 7 insertions(+), 20 deletions(-) diff --git a/src/plugins/coreplugin/outputpane.h b/src/plugins/coreplugin/outputpane.h index db67c0e6595..7bc25d7a312 100644 --- a/src/plugins/coreplugin/outputpane.h +++ b/src/plugins/coreplugin/outputpane.h @@ -53,6 +53,9 @@ public: void ensureSizeHintAsMinimum(); int nonMaximizedSize() const; +signals: + void visibilityChangeRequested(bool visible); + protected: void resizeEvent(QResizeEvent *event) override; void showEvent(QShowEvent *) override; diff --git a/src/plugins/coreplugin/outputpanemanager.cpp b/src/plugins/coreplugin/outputpanemanager.cpp index 0d33610eb58..6b17180d428 100644 --- a/src/plugins/coreplugin/outputpanemanager.cpp +++ b/src/plugins/coreplugin/outputpanemanager.cpp @@ -612,6 +612,7 @@ void OutputPaneManager::slotHide() { OutputPanePlaceHolder *ph = OutputPanePlaceHolder::getCurrent(); if (ph) { + emit ph->visibilityChangeRequested(false); ph->setVisible(false); int idx = currentIndex(); QTC_ASSERT(idx >= 0, return); @@ -654,6 +655,7 @@ void OutputPaneManager::showPage(int idx, int flags) if (onlyFlash) { g_outputPanes.at(idx).button->flash(); } else { + emit ph->visibilityChangeRequested(true); // make the page visible ph->setVisible(true); diff --git a/src/plugins/qmldesigner/designmodewidget.cpp b/src/plugins/qmldesigner/designmodewidget.cpp index 68c1170f2b7..e95c4c6ab29 100644 --- a/src/plugins/qmldesigner/designmodewidget.cpp +++ b/src/plugins/qmldesigner/designmodewidget.cpp @@ -210,22 +210,6 @@ void DesignModeWidget::disableWidgets() m_isDisabled = true; } -bool DesignModeWidget::eventFilter(QObject *obj, QEvent *event) // TODO -{ - if (event->type() == QEvent::Hide) { - qDebug() << ">>> HIDE"; - m_outputPaneDockWidget->toggleView(false); - return true; - } else if (event->type() == QEvent::Show) { - qDebug() << ">>> SHOW"; - m_outputPaneDockWidget->toggleView(true); - return true; - } else { - // standard event processing - return QObject::eventFilter(obj, event); - } -} - void DesignModeWidget::setup() { auto &actionManager = viewManager().designerActionManager(); @@ -354,7 +338,8 @@ void DesignModeWidget::setup() command->setAttribute(Core::Command::CA_Hide); mviews->addAction(command); - //outputPanePlaceholder->installEventFilter(this); + connect(outputPanePlaceholder, &Core::OutputPanePlaceHolder::visibilityAboutToChange, + m_outputPaneDockWidget, &ADS::DockWidget::toggleView); } // Create toolbars diff --git a/src/plugins/qmldesigner/designmodewidget.h b/src/plugins/qmldesigner/designmodewidget.h index f538c1aff07..8e44ce8c49f 100644 --- a/src/plugins/qmldesigner/designmodewidget.h +++ b/src/plugins/qmldesigner/designmodewidget.h @@ -86,9 +86,6 @@ public: static QWidget *createProjectExplorerWidget(QWidget *parent); -protected: - bool eventFilter(QObject *obj, QEvent *event) override; - private: // functions enum InitializeStatus { NotInitialized, Initializing, Initialized };