diff options
author | Florian Bruhin <me@the-compiler.org> | 2020-06-22 15:41:41 +0200 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2020-06-22 20:08:56 +0200 |
commit | 6ac351fcfb31ecb15b8862e2e3220fbd9257c7c2 (patch) | |
tree | 5c27fec74990ab82b2e51ae0119b5758f37b87c7 | |
parent | ada0fc2bf74b9eb89817d9a8f17b8c837b46e234 (diff) | |
download | qutebrowser-6ac351fcfb31ecb15b8862e2e3220fbd9257c7c2.tar.gz qutebrowser-6ac351fcfb31ecb15b8862e2e3220fbd9257c7c2.zip |
inspector: Split _show_window()/_show_docked() from set_position()
-rw-r--r-- | qutebrowser/browser/inspector.py | 32 |
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.""" |