From 527ba20739f761cebacf43776a71de5154a49f9b Mon Sep 17 00:00:00 2001
From: stefan <stefan@5a81b35b-ba03-0410-adc8-b2c5c5119f08>
Date: Wed, 14 Jul 2010 12:09:02 +0000
Subject: [PATCH] Inspector Gadget, fixed hide / show action

git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2559 5a81b35b-ba03-0410-adc8-b2c5c5119f08
---
 modules/gui/pymod/scene/init_inspector.py   | 11 ++++++++---
 modules/gui/pymod/scene/inspector_widget.py |  8 ++++++++
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/modules/gui/pymod/scene/init_inspector.py b/modules/gui/pymod/scene/init_inspector.py
index 3009a57ca..462ef4b3b 100644
--- a/modules/gui/pymod/scene/init_inspector.py
+++ b/modules/gui/pymod/scene/init_inspector.py
@@ -37,10 +37,15 @@ class InitInspectorMenu(QtCore.QObject):
     self.show_.setCheckable(True)
     self.show_.setChecked(not self.inspector_.isHidden())
     self.connect(self.show_, QtCore.SIGNAL('triggered()'), self.Toggle)
-    
+    self.connect(inspectordialog, QtCore.SIGNAL('visible'), self.UpdateCheckbox)
   def Toggle(self):
-    self.inspector_.setVisible(self.show_.isChecked())
-    
+    self.inspector_.setVisible(not self.inspector_.isVisible())
+  
+  def UpdateCheckbox(self, visibility):
+    self.disconnect(self.show_, QtCore.SIGNAL('triggered()'), self.Toggle)
+    self.show_.setChecked(visibility)
+    self.connect(self.show_, QtCore.SIGNAL('triggered()'), self.Toggle)
+  
 def _InitInspector(app):
   mywidget = InspectorDialog(app.gl_win.qobject)
   mywidget.setWindowFlags(QtCore.Qt.Dialog | QtCore.Qt.Tool)
diff --git a/modules/gui/pymod/scene/inspector_widget.py b/modules/gui/pymod/scene/inspector_widget.py
index 25082a267..d5f29f05a 100644
--- a/modules/gui/pymod/scene/inspector_widget.py
+++ b/modules/gui/pymod/scene/inspector_widget.py
@@ -95,3 +95,11 @@ class InspectorDialog(QtGui.QDialog):
     
   def ToggleHide(self,checked):
     self.setHidden(not self.isHidden())
+
+  def hideEvent(self, event):
+    self.emit(QtCore.SIGNAL("visible"),False)
+    QtGui.QDialog.hideEvent(self,event)
+    
+  def showEvent(self, event):
+    self.emit(QtCore.SIGNAL("visible"),True)
+    QtGui.QDialog.showEvent(self,event)
\ No newline at end of file
-- 
GitLab