summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2020-06-22 15:41:41 +0200
committerFlorian Bruhin <me@the-compiler.org>2020-06-22 20:08:56 +0200
commit6ac351fcfb31ecb15b8862e2e3220fbd9257c7c2 (patch)
tree5c27fec74990ab82b2e51ae0119b5758f37b87c7
parentada0fc2bf74b9eb89817d9a8f17b8c837b46e234 (diff)
downloadqutebrowser-6ac351fcfb31ecb15b8862e2e3220fbd9257c7c2.tar.gz
qutebrowser-6ac351fcfb31ecb15b8862e2e3220fbd9257c7c2.zip
inspector: Split _show_window()/_show_docked() from set_position()
-rw-r--r--qutebrowser/browser/inspector.py32
1 files changed, 24 insertions, 8 deletions
diff --git a/qutebrowser/browser/inspector.py b/qutebrowser/browser/inspector.py
index 32b29994c..66f0ee43b 100644
--- a/qutebrowser/browser/inspector.py
+++ b/qutebrowser/browser/inspector.py
@@ -162,15 +162,31 @@ class AbstractWebInspector(QWidget):
self._position = position
if position == Position.window:
- self.hide()
- self._layout.unwrap()
- self._load_state_geometry()
- self._widget.show()
+ self._show_window()
else:
- self._layout.wrap(self, self._widget)
- self._splitter.set_inspector(self, position)
- self._widget.show()
- self.show()
+ self._show_docked(position)
+
+ def _show_window(self) -> None:
+ """Show the inspector in a separate window.
+
+ In theory, we should be able to do self.setParent(None) to remove
+ ourselves from the InspectorSplitter and show up as window instead.
+
+ In practice, that approach doesn't work for some odd reason. Thus, we
+ instead remove ourselves from the InspectorSplitter, and then show the
+ actual inspector widget without a WrapperLayout involved.
+ """
+ self.hide()
+ self._layout.unwrap()
+ self._load_state_geometry()
+ self._widget.show()
+
+ def _show_docked(self, position: Position) -> None:
+ """Show the inspector docked inside the main window."""
+ self._layout.wrap(self, self._widget)
+ self._splitter.set_inspector(self, position)
+ self._widget.show()
+ self.show()
def toggle(self) -> None:
"""Toggle visibility of the inspector."""