diff options
author | Daniel Narvaez <dwnarvaez@gmail.com> | 2013-05-06 21:32:40 (GMT) |
---|---|---|
committer | Daniel Narvaez <dwnarvaez@gmail.com> | 2013-06-10 13:46:53 (GMT) |
commit | 2fcac13791e12361ba06474278544d1a5f0c0eb6 (patch) | |
tree | 7a22c52a049956ea5d73b67d4f792edaa33a1de4 | |
parent | 0abae0e7d058489e62f69186f69267a001a81810 (diff) |
Toggle the inspector on and off with ctrl-shift-i
-rw-r--r-- | src/sugar3/activity/htmlactivity.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/sugar3/activity/htmlactivity.py b/src/sugar3/activity/htmlactivity.py index 5b8ae4d..b76c2ed 100644 --- a/src/sugar3/activity/htmlactivity.py +++ b/src/sugar3/activity/htmlactivity.py @@ -18,6 +18,7 @@ import json import os +from gi.repository import Gdk from gi.repository import GConf from gi.repository import Gio from gi.repository import WebKit2 @@ -43,6 +44,8 @@ class HTMLActivity(activity.Activity): def __init__(self, handle): activity.Activity.__init__(self, handle) + self.connect("key-press-event", self._key_press_event_cb) + context = WebKit2.WebContext.get_default() context.register_uri_scheme("activity", self._app_scheme_cb, None) @@ -50,6 +53,9 @@ class HTMLActivity(activity.Activity): self.set_canvas(self._web_view) self._web_view.show() + settings = self._web_view.get_settings() + settings.set_property("enable-developer-extras", True) + self._authenticated = False self._server = Server() @@ -66,6 +72,18 @@ class HTMLActivity(activity.Activity): self._apis = {} self._apis["activity"] = ActivityAPI(self) + def _key_press_event_cb(self, window, event): + key_name = Gdk.keyval_name(event.keyval) + + if event.get_state() & Gdk.ModifierType.CONTROL_MASK and \ + event.get_state() & Gdk.ModifierType.SHIFT_MASK: + if key_name == "I": + inspector = self._web_view.get_inspector() + if inspector.is_attached(): + inspector.close() + else: + inspector.show() + def _app_scheme_cb(self, request, user_data): path = os.path.join(activity.get_bundle_path(), request.get_path()) |