Example #1
0
    def cycle_focus(self):
        """Cycle keyboard focus between the main/inspector widget."""
        if self.count() == 1:
            raise inspector.Error("No inspector inside main window")

        assert self._main_idx is not None
        assert self._inspector_idx is not None

        main_widget = self.widget(self._main_idx)
        inspector_widget = self.widget(self._inspector_idx)

        if not inspector_widget.isVisible():
            raise inspector.Error("No inspector inside main window")

        if main_widget.hasFocus():
            inspector_widget.setFocus()
            modeman.enter(self._win_id,
                          usertypes.KeyMode.insert,
                          reason='Inspector focused',
                          only_if_normal=True)
        elif inspector_widget.hasFocus():
            main_widget.setFocus()
Example #2
0
    def _check_devtools_resources(self) -> None:
        """Make sure that the devtools resources are available on Fedora.

        Fedora packages devtools resources into its own package. If it's not
        installed, we show a nice error instead of a blank inspector.
        """
        dist = version.distribution()
        if dist is None or dist.parsed != version.Distribution.fedora:
            return

        data_path = pathlib.Path(QLibraryInfo.location(QLibraryInfo.DataPath))
        pak = data_path / 'resources' / 'qtwebengine_devtools_resources.pak'
        if not pak.exists():
            raise inspector.Error("QtWebEngine devtools resources not found, "
                                  "please install the qt5-webengine-devtools "
                                  "Fedora package.")
Example #3
0
 def _ensure_enabled(self) -> None:
     if 'QTWEBENGINE_REMOTE_DEBUGGING' not in os.environ:
         raise inspector.Error(
             "QtWebEngine inspector is not enabled. See "
             "'qutebrowser --help' for details.")