Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/activities
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2006-10-13 19:31:51 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2006-10-13 19:31:51 (GMT)
commite176a531abb2dd1ac29f4afb9fd0a0220048548e (patch)
treefd9b8aa915b108fbc9e331bfc9b63d613487b752 /activities
parent37c5aaf1393e43670fa94984be945df9bd55e6c4 (diff)
Remove old browser and fix makefiles
Diffstat (limited to 'activities')
-rw-r--r--activities/Makefile.am2
-rw-r--r--activities/browser/AddressItem.py31
-rw-r--r--activities/browser/BrowserActivity.py208
-rw-r--r--activities/browser/Makefile.am9
-rw-r--r--activities/browser/NavigationToolbar.py72
-rw-r--r--activities/browser/NotificationBar.py56
-rw-r--r--activities/browser/__init__.py0
-rw-r--r--activities/browser/browser.activity6
-rw-r--r--activities/web/Makefile.am5
9 files changed, 6 insertions, 383 deletions
diff --git a/activities/Makefile.am b/activities/Makefile.am
index c900fb6..6385026 100644
--- a/activities/Makefile.am
+++ b/activities/Makefile.am
@@ -1 +1 @@
-SUBDIRS = browser chat groupchat terminal
+SUBDIRS = chat groupchat terminal web
diff --git a/activities/browser/AddressItem.py b/activities/browser/AddressItem.py
deleted file mode 100644
index 9bdd703..0000000
--- a/activities/browser/AddressItem.py
+++ /dev/null
@@ -1,31 +0,0 @@
-import gobject
-import gtk
-
-from _sugar import AddressEntry
-
-class AddressItem(gtk.ToolItem):
- __gsignals__ = {
- 'open-address': (gobject.SIGNAL_RUN_FIRST,
- gobject.TYPE_NONE, ([str])),
- }
-
- def __init__(self):
- gtk.ToolItem.__init__(self)
-
- entry = AddressEntry()
- width = int(gtk.gdk.screen_width() / 3 * 2)
- entry.set_size_request(width, -1)
- entry.connect("activate", self.__activate_cb)
- self.add(entry)
- entry.show()
-
- self._entry = entry
-
- def __activate_cb(self, entry):
- self.emit('open-address', entry.get_text())
-
- def set_progress(self, progress):
- self._entry.set_property('progress', progress)
-
- def set_address(self, address):
- self._entry.set_text(address)
diff --git a/activities/browser/BrowserActivity.py b/activities/browser/BrowserActivity.py
deleted file mode 100644
index 27a706d..0000000
--- a/activities/browser/BrowserActivity.py
+++ /dev/null
@@ -1,208 +0,0 @@
-import os
-import logging
-
-import gtk
-import gtkmozembed
-import gobject
-
-from sugar.activity.Activity import Activity
-from sugar.presence.PresenceService import PresenceService
-from sugar.p2p.model.LocalModel import LocalModel
-from sugar.p2p.model.RemoteModel import RemoteModel
-import _sugar
-
-from NotificationBar import NotificationBar
-from NavigationToolbar import NavigationToolbar
-from sugar import env
-
-class PopupCreator(gobject.GObject):
- __gsignals__ = {
- 'popup-created': (gobject.SIGNAL_RUN_FIRST,
- gobject.TYPE_NONE, ([])),
- }
-
- def __init__(self, parent_window):
- gobject.GObject.__init__(self)
-
- logging.debug('Creating the popup widget')
-
- self._sized_popup = False
- self._parent_window = parent_window
-
- self._dialog = gtk.Window()
- self._dialog.set_resizable(True)
-
- self._dialog.realize()
- self._dialog.window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DIALOG)
-
- self._embed = Browser()
- self._size_to_sid = self._embed.connect('size_to', self._size_to_cb)
- self._vis_sid = self._embed.connect('visibility', self._visibility_cb)
-
- self._dialog.add(self._embed)
-
- def _size_to_cb(self, embed, width, height):
- logging.debug('Resize the popup to %d %d' % (width, height))
- self._sized_popup = True
- self._dialog.resize(width, height)
-
- def _visibility_cb(self, embed, visible):
- if visible:
- if self._sized_popup:
- logging.debug('Show the popup')
- self._embed.show()
- self._dialog.set_transient_for(self._parent_window)
- self._dialog.show()
- else:
- logging.debug('Open a new activity for the popup')
- self._dialog.remove(self._embed)
-
- activity = BrowserActivity(self._embed)
- activity.set_type('com.redhat.Sugar.BrowserActivity')
-
- self._embed.disconnect(self._size_to_sid)
- self._embed.disconnect(self._vis_sid)
-
- self.emit('popup-created')
-
- def get_embed(self):
- return self._embed
-
-class Browser(_sugar.Browser):
- __gtype_name__ = "SugarWebBrowser"
- def __init__(self):
- _sugar.Browser.__init__(self)
- self._popup_creators = []
-
- def do_create_window(self):
- popup_creator = PopupCreator(self.get_toplevel())
- popup_creator.connect('popup-created', self._popup_created_cb)
-
- self._popup_creators.append(popup_creator)
-
- return popup_creator.get_embed()
-
- def _popup_created_cb(self, creator):
- self._popup_creators.remove(creator)
-
-class BrowserActivity(Activity):
- def __init__(self, embed=None):
- Activity.__init__(self)
-
- self._embed = embed
- self._share_service = None
- self._model_service = None
- self._notif_service = None
- self._model = None
-
- self.set_title("Web Page")
- self.connect('destroy', self._destroy_cb)
-
- vbox = gtk.VBox()
-
- nav_toolbar = NavigationToolbar()
- vbox.pack_start(nav_toolbar, False)
- nav_toolbar.show()
-
- self._notif_bar = NotificationBar()
- vbox.pack_start(self._notif_bar, False)
- self._notif_bar.connect('action', self.__notif_bar_action_cb)
-
- if not self._embed:
- self._embed = Browser()
- self._embed.connect("title", self.__title_cb)
- vbox.pack_start(self._embed)
- self._embed.show()
-
- nav_toolbar.set_embed(self._embed)
- self._embed.load_url('http://www.google.com')
-
- self.add(vbox)
- vbox.show()
-
- def join(self, activity_ps):
- Activity.join(self, activity_ps)
-
- activity_ps.connect('service-appeared', self._service_appeared_cb)
-
- services = activity_ps.get_services_of_type(self._default_type)
- if len(services) > 0:
- self._notif_service = services[0]
-
- services = activity_ps.get_services_of_type(LocalModel.SERVICE_TYPE)
- if len(services) > 0:
- self._model_service = services[0]
-
- if self._notif_service and self._model_service:
- self._listen_to_model()
-
- def _service_appeared_cb(self, pservice, service):
- if service.get_type() == self._default_type:
- self._notif_service = service
- elif service.get_type() == LocalModel.SERVICE_TYPE:
- self._model_service = service
-
- if not self._model and self._notif_service and self._model_service:
- self._listen_to_model()
-
- def _listen_to_model(self):
- self._model = RemoteModel(self._model_service, self._notif_service)
- self._model.add_listener(self.__shared_location_changed_cb)
- self._go_to_shared_location()
-
- def _update_shared_location(self):
- address = self._embed.get_location()
- self._model.set_value('address', address)
- title = self._embed.get_title()
- self._model.set_value('title', title)
-
- def __notif_bar_action_cb(self, bar, action_id):
- if action_id == 'set_shared_location':
- self._update_shared_location()
- elif action_id == 'goto_shared_location':
- self._go_to_shared_location()
-
- def _go_to_shared_location(self):
- address = self._model.get_value("address")
- self._embed.load_url(address)
- self._notif_bar.hide()
-
- def get_embed(self):
- return self._embed
-
- def share(self):
- Activity.share(self)
-
- self._model = LocalModel(self, self._pservice, self._service)
- self._model.set_value('owner', self._pservice.get_owner().get_name())
- self._update_shared_location()
-
- self._notif_bar.set_text('Share this page with the group.')
- self._notif_bar.set_action('set_shared_location', 'Share')
- self._notif_bar.set_icon('stock_shared-by-me')
- self._notif_bar.show()
-
- def __title_cb(self, embed):
- self.set_title(embed.get_title())
-
- def __shared_location_changed_cb(self, model, key):
- self._notify_shared_location_change()
-
- def _notify_shared_location_change(self):
- owner = self._model.get_value('owner')
- title = self._model.get_value('title')
-
- text = '<b>' + owner + '</b> is reading <i>' + title + '</i>'
- self._notif_bar.set_text(text)
- self._notif_bar.set_action('goto_shared_location', 'Go There')
- self._notif_bar.set_icon('stock_right')
- self._notif_bar.show()
-
- def _destroy_cb(self, window):
- if self._model:
- self._model.shutdown()
-
-def start():
- gtkmozembed.set_profile_path(env.get_profile_path(), 'gecko')
- gtkmozembed.push_startup()
- _sugar.startup_browser()
diff --git a/activities/browser/Makefile.am b/activities/browser/Makefile.am
deleted file mode 100644
index da87461..0000000
--- a/activities/browser/Makefile.am
+++ /dev/null
@@ -1,9 +0,0 @@
-sugardir = $(pkgdatadir)/activities/browser
-sugar_PYTHON = \
- __init__.py \
- NotificationBar.py \
- AddressItem.py \
- BrowserActivity.py \
- NavigationToolbar.py
-
-EXTRA_DIST = browser.activity
diff --git a/activities/browser/NavigationToolbar.py b/activities/browser/NavigationToolbar.py
deleted file mode 100644
index dcbfc7e..0000000
--- a/activities/browser/NavigationToolbar.py
+++ /dev/null
@@ -1,72 +0,0 @@
-import gtk
-
-from gettext import gettext as _
-
-from AddressItem import AddressItem
-
-class NavigationToolbar(gtk.Toolbar):
- def __init__(self):
- gtk.Toolbar.__init__(self)
-
- self.set_style(gtk.TOOLBAR_BOTH_HORIZ)
-
- self._insert_spring()
-
- self.back = gtk.ToolButton(None, _('Back'))
- self.back.set_icon_name('stock-back')
- self.back.connect("clicked", self.__go_back_cb)
- self.insert(self.back, -1)
- self.back.show()
-
- self.forward = gtk.ToolButton(None, _('Forward'))
- self.forward.set_icon_name('stock-forward')
- self.forward.connect("clicked", self.__go_forward_cb)
- self.insert(self.forward, -1)
- self.forward.show()
-
- separator = gtk.SeparatorToolItem()
- separator.set_draw(False)
- self.insert(separator, -1)
- separator.show()
-
- self._address_item = AddressItem()
- self._address_item.connect('open-address', self.__open_address_cb)
- self.insert(self._address_item, -1)
- self._address_item.show()
-
- self._insert_spring()
-
- def _insert_spring(self):
- separator = gtk.SeparatorToolItem()
- separator.set_draw(False)
- separator.set_expand(True)
- self.insert(separator, -1)
- separator.show()
-
- def set_embed(self, embed):
- self._embed = embed
-
- self._embed.connect("location", self.__location_changed)
- self._update_sensitivity()
-
- self._embed.connect("notify::progress", self._progress_changed_cb)
-
- def _update_sensitivity(self):
- self.back.set_sensitive(self._embed.can_go_back())
- self.forward.set_sensitive(self._embed.can_go_forward())
-
- def _progress_changed_cb(self, embed, pspec):
- self._address_item.set_progress(embed.props.progress)
-
- def __go_back_cb(self, button):
- self._embed.go_back()
-
- def __go_forward_cb(self, button):
- self._embed.go_forward()
-
- def __location_changed(self, embed):
- self._address_item.set_address(embed.get_location())
- self._update_sensitivity()
-
- def __open_address_cb(self, item, address):
- self._embed.load_url(address)
diff --git a/activities/browser/NotificationBar.py b/activities/browser/NotificationBar.py
deleted file mode 100644
index aa9b51e..0000000
--- a/activities/browser/NotificationBar.py
+++ /dev/null
@@ -1,56 +0,0 @@
-import gtk
-import gobject
-
-class NotificationBar(gtk.HBox):
- __gsignals__ = {
- 'action': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE,
- ([gobject.TYPE_STRING]))
- }
-
- def __init__(self):
- gtk.HBox.__init__(self, False, 12)
-
- self.set_name("notif bar")
- self.set_border_width(3)
-
- self._icon = gtk.Image()
- self.pack_start(self._icon, False)
-
- self._text_label = gtk.Label()
- self._text_label.set_alignment(0.0, 0.5)
- self.pack_start(self._text_label)
- self._text_label.show()
-
- self._action_button = gtk.Button()
- self._action_button.connect('clicked', self.__button_clicked)
- self.pack_start(self._action_button, False)
- self._action_button.show()
-
- self.connect('expose_event', self.expose)
-
- def expose(self, widget, event):
- rect = self.get_allocation()
- ctx = widget.window.cairo_create()
-
- ctx.new_path()
- ctx.rectangle(rect.x, rect.y, rect.width, rect.height)
- ctx.set_source_rgb(0.56 , 0.75 , 1)
- ctx.fill_preserve()
- ctx.set_source_rgb(0.16 , 0.35 , 0.6)
- ctx.stroke()
-
- return False
-
- def set_icon(self, icon_name):
- self._icon.set_from_icon_name(icon_name, gtk.ICON_SIZE_BUTTON)
- self._icon.show()
-
- def set_text(self, text):
- self._text_label.set_markup(text)
-
- def set_action(self, action_id, action_text):
- self._action_id = action_id
- self._action_button.set_label(action_text)
-
- def __button_clicked(self, button):
- self.emit("action", self._action_id)
diff --git a/activities/browser/__init__.py b/activities/browser/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/activities/browser/__init__.py
+++ /dev/null
diff --git a/activities/browser/browser.activity b/activities/browser/browser.activity
deleted file mode 100644
index f3b66ca..0000000
--- a/activities/browser/browser.activity
+++ /dev/null
@@ -1,6 +0,0 @@
-[Activity]
-name = Web
-id = com.redhat.Sugar.BrowserActivity
-icon = activity-web
-python_module = browser.BrowserActivity.BrowserActivity
-show_launcher = no
diff --git a/activities/web/Makefile.am b/activities/web/Makefile.am
index 0a052a1..7992d57 100644
--- a/activities/web/Makefile.am
+++ b/activities/web/Makefile.am
@@ -1,6 +1,11 @@
sugardir = $(pkgdatadir)/activities/web
sugar_PYTHON = \
__init__.py \
+ linkscontroller.py \
+ linksmodel.py \
+ linksview.py \
+ stylesheet.py \
+ toolbar.py \
webactivity.py \
webbrowser.py