From 2c160a9b2ad06d8e6d3065b57b573f6fdb103ec4 Mon Sep 17 00:00:00 2001
From: Thomas Hartmann <Thomas.Hartmann@nokia.com>
Date: Fri, 13 Aug 2010 13:56:23 +0200
Subject: [PATCH] QmlJSEditor: extending IContextPane with a signal

closed() is emitted when the pane is hidden/closed.
---
 src/libs/qmleditorwidgets/contextpanewidget.cpp | 1 +
 src/libs/qmleditorwidgets/contextpanewidget.h   | 1 +
 src/libs/qmljs/qmljsicontextpane.h              | 2 ++
 src/plugins/qmljseditor/quicktoolbar.cpp        | 1 +
 4 files changed, 5 insertions(+)

diff --git a/src/libs/qmleditorwidgets/contextpanewidget.cpp b/src/libs/qmleditorwidgets/contextpanewidget.cpp
index 60e434f4667..267d3854e33 100644
--- a/src/libs/qmleditorwidgets/contextpanewidget.cpp
+++ b/src/libs/qmleditorwidgets/contextpanewidget.cpp
@@ -363,6 +363,7 @@ void ContextPaneWidget::onTogglePane()
         setLineButton();
     } else {
         deactivate();
+        emit closed();
     }
 }
 
diff --git a/src/libs/qmleditorwidgets/contextpanewidget.h b/src/libs/qmleditorwidgets/contextpanewidget.h
index 14a040f28ed..129d24a1b78 100644
--- a/src/libs/qmleditorwidgets/contextpanewidget.h
+++ b/src/libs/qmleditorwidgets/contextpanewidget.h
@@ -100,6 +100,7 @@ signals:
     void removeAndChangeProperty(const QString &, const QString &, const QVariant &, bool);
     void pinnedChanged(bool);
     void enabledChanged(bool);
+    void closed();
 
 private slots:
     void onDisable(bool);
diff --git a/src/libs/qmljs/qmljsicontextpane.h b/src/libs/qmljs/qmljsicontextpane.h
index 3444fe3daaa..ccb176ad261 100644
--- a/src/libs/qmljs/qmljsicontextpane.h
+++ b/src/libs/qmljs/qmljsicontextpane.h
@@ -56,6 +56,8 @@ public:
     virtual void setEnabled(bool) = 0;
     virtual bool isAvailable(TextEditor::BaseTextEditorEditable *editor, Document::Ptr doc, const QmlJS::Snapshot &snapshot, AST::Node *node) = 0;
     virtual QWidget* widget() = 0;
+signals:
+    void closed();
 };
 
 } // namespace QmlJS
diff --git a/src/plugins/qmljseditor/quicktoolbar.cpp b/src/plugins/qmljseditor/quicktoolbar.cpp
index 8eab13aa229..94c9b29477a 100644
--- a/src/plugins/qmljseditor/quicktoolbar.cpp
+++ b/src/plugins/qmljseditor/quicktoolbar.cpp
@@ -367,6 +367,7 @@ ContextPaneWidget* QuickToolBar::contextWidget()
         connect(m_widget.data(), SIGNAL(removeAndChangeProperty(QString,QString,QVariant, bool)), this, SLOT(onPropertyRemovedAndChange(QString,QString,QVariant, bool)));
         connect(m_widget.data(), SIGNAL(enabledChanged(bool)), this, SLOT(onEnabledChanged(bool)));
         connect(m_widget.data(), SIGNAL(pinnedChanged(bool)), this, SLOT(onPinnedChanged(bool)));
+        connect(m_widget.data(), SIGNAL(closed()), this, SIGNAL(closed()));
     }
     return m_widget.data();
 }
-- 
GitLab