Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Narvaez <dwnarvaez@gmail.com>2013-05-06 21:32:40 (GMT)
committer Daniel Narvaez <dwnarvaez@gmail.com>2013-06-10 13:46:53 (GMT)
commit2fcac13791e12361ba06474278544d1a5f0c0eb6 (patch)
tree7a22c52a049956ea5d73b67d4f792edaa33a1de4
parent0abae0e7d058489e62f69186f69267a001a81810 (diff)
Toggle the inspector on and off with ctrl-shift-i
-rw-r--r--src/sugar3/activity/htmlactivity.py18
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())