Some infrastructure for scrolling. Based on epiphany extension.
This commit is contained in:
@@ -39,6 +39,7 @@ class WebActivity(Activity):
|
||||
logging.debug('Starting the web activity')
|
||||
|
||||
self.set_title(_('Web Activity'))
|
||||
self.connect('key-press-event', self._key_press_event_cb)
|
||||
|
||||
vbox = gtk.VBox()
|
||||
|
||||
@@ -66,6 +67,10 @@ class WebActivity(Activity):
|
||||
|
||||
self._browser.load_url(_HOMEPAGE)
|
||||
|
||||
def _key_press_event_cb(self, window, event):
|
||||
if event.keyval == gtk.keysyms.F11:
|
||||
self._browser.toggle_scroll()
|
||||
|
||||
def _setup_links_controller(self):
|
||||
links_controller = LinksController(self._service, self._links_model)
|
||||
self._toolbar.set_links_controller(links_controller)
|
||||
|
||||
@@ -15,8 +15,10 @@
|
||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
import gobject
|
||||
import gtk
|
||||
|
||||
from _sugar import Browser
|
||||
from _sugar import PushScroller
|
||||
|
||||
class _PopupCreator(gobject.GObject):
|
||||
__gsignals__ = {
|
||||
@@ -77,6 +79,17 @@ class WebBrowser(Browser):
|
||||
def __init__(self):
|
||||
Browser.__init__(self)
|
||||
|
||||
self._push_scroller = PushScroller()
|
||||
self._scrolling = False
|
||||
|
||||
def toggle_scroll(self):
|
||||
if self._scrolling:
|
||||
self._push_scroller.stop(gtk.get_current_event_time())
|
||||
self._scrolling = False
|
||||
else:
|
||||
self._push_scroller.start(self, 0, 0)
|
||||
self._scrolling = True
|
||||
|
||||
def do_create_window(self):
|
||||
popup_creator = _PopupCreator(self.get_toplevel())
|
||||
popup_creator.connect('popup-created', self._popup_created_cb)
|
||||
|
||||
Reference in New Issue
Block a user