Web · Wiki · Activities · Blog · Lists · Chat · Meeting · Bugs · Git · Translate · Archive · People · Donate

Commit e02ef4c12f955465b8de08985205c423ffb202b3

toolbar-compatibility fix from Sebastian Silva <icarito@sugarlabs.org>
  
4747from sugar import profile
4848from sugar.graphics.alert import Alert
4949from sugar.graphics.icon import Icon
50from sugar.graphics.toolbarbox import ToolbarButton
5150from sugar import mime
5251
52# Attempt to import the new toolbar classes. If the import fails,
53# fall back to the old toolbar style.
54try:
55 from sugar.graphics.toolbarbox import ToolbarButton
56 NEW_TOOLBARS = True
57except ImportError:
58 NEW_TOOLBARS = False
59
5360PROFILE_VERSION = 2
5461
5562_profile_version = 0
5663_profile_path = os.path.join(activity.get_activity_root(), 'data/gecko')
5764_version_file = os.path.join(_profile_path, 'version')
5865
66if not NEW_TOOLBARS:
67 _TOOLBAR_EDIT = 1
68 _TOOLBAR_BROWSE = 2
69
5970if os.path.exists(_version_file):
6071 f = open(_version_file)
6172 _profile_version = int(f.read())
219219 logging.warning('Not enabling the multiple tabs feature due'
220220 ' to a bug in cairo/mozilla')
221221
222 self._tray = HTray()
223 self.set_tray(self._tray, gtk.POS_BOTTOM)
224 self._tray.show()
225
222226 self._primary_toolbar = PrimaryToolbar(self._tabbed_view, self,
223 self._disable_multiple_tabs)
227 self._disable_multiple_tabs)
228 self._edit_toolbar = EditToolbar(self)
229 self._view_toolbar = ViewToolbar(self)
230
224231 self._primary_toolbar.connect('add-link', self._link_add_button_cb)
225232
226233 self._primary_toolbar.connect('add-tab', self._new_tab_cb)
227234
228235 self._primary_toolbar.connect('go-home', self._go_home_button_cb)
229236
230 self._tray = HTray()
231 self.set_tray(self._tray, gtk.POS_BOTTOM)
232 self._tray.show()
237 if NEW_TOOLBARS:
238 logging.debug('Using new toolbars')
239
240 self._edit_toolbar_button = ToolbarButton(
241 page=self._edit_toolbar,
242 icon_name='toolbar-edit')
243 self._primary_toolbar.toolbar.insert(
244 self._edit_toolbar_button, 1)
233245
234 self._edit_toolbar = EditToolbar(self)
235 self._edit_toolbar_button = ToolbarButton(
236 page=self._edit_toolbar,
237 icon_name='toolbar-edit')
238 self._primary_toolbar.toolbar.insert(
239 self._edit_toolbar_button, 1)
246 view_toolbar_button = ToolbarButton(
247 page=self._view_toolbar,
248 icon_name='toolbar-view')
249 self._primary_toolbar.toolbar.insert(
250 view_toolbar_button, 2)
240251
241 self._view_toolbar = ViewToolbar(self)
242 view_toolbar_button = ToolbarButton(
243 page=self._view_toolbar,
244 icon_name='toolbar-view')
245 self._primary_toolbar.toolbar.insert(
246 view_toolbar_button, 2)
252 self._primary_toolbar.show_all()
253 self.set_toolbar_box(self._primary_toolbar)
254 else:
255 _logger.debug('Using old toolbars')
256
257 toolbox = activity.ActivityToolbox(self)
247258
248 self._primary_toolbar.show_all()
249 self.set_toolbar_box(self._primary_toolbar)
259 toolbox.add_toolbar(_('Edit'), self._edit_toolbar)
260 self._edit_toolbar.show()
261
262 toolbox.add_toolbar(_('Browse'), self._primary_toolbar)
263 self._primary_toolbar.show()
264
265 toolbox.add_toolbar(_('View'), self._view_toolbar)
266 self._view_toolbar.show()
250267
268 self.set_toolbox(toolbox)
269 toolbox.show()
270
271 self.toolbox.set_current_toolbar(_TOOLBAR_BROWSE)
272
251273 self.set_canvas(self._tabbed_view)
252274 self._tabbed_view.show()
253275
527527 self._add_link()
528528 elif key_name == 'f':
529529 _logger.debug('keyboard: Find')
530 self._edit_toolbar_button.set_expanded(True)
530 if NEW_TOOLBARS:
531 self._edit_toolbar_button.set_expanded(True)
532 else:
533 self.toolbox.set_current_toolbar(_TOOLBAR_EDIT)
531534 self._edit_toolbar.search_entry.grab_focus()
532535 elif key_name == 'l':
533536 _logger.debug('keyboard: Focus url entry')
537 if not NEW_TOOLBARS:
538 self.toolbox.set_current_toolbar(_TOOLBAR_BROWSE)
534539 self._primary_toolbar.entry.grab_focus()
535540 elif key_name == 'minus':
536541 _logger.debug('keyboard: Zoom out')
672672 def get_document_path(self, async_cb, async_err_cb):
673673 browser = self._tabbed_view.props.current_browser
674674 browser.get_source(async_cb, async_err_cb)
675
676 def get_canvas(self):
677 return self._tabbed_view
webtoolbar.py
(28 / 19)
  
2727from sugar.graphics.toolbutton import ToolButton
2828from sugar.graphics.menuitem import MenuItem
2929from sugar._sugarext import AddressEntry
30from sugar.graphics.toolbarbox import ToolbarBox
31from sugar.activity.widgets import ActivityToolbarButton
32from sugar.activity.widgets import StopButton
33from sugar.activity import activity
30try:
31 from sugar.graphics.toolbarbox import ToolbarBox as ToolbarBase
32 from sugar.activity.widgets import ActivityToolbarButton
33 from sugar.activity.widgets import StopButton
34 from sugar.activity import activity
35 NEW_TOOLBARS = True
36except ImportError:
37 from gtk import Toolbar as ToolbarBase
38 NEW_TOOLBARS = False
3439
3540import filepicker
3641import places
3742
3843_MAX_HISTORY_ENTRIES = 15
3944
40
4145class WebEntry(AddressEntry):
4246 _COL_ADDRESS = 0
4347 _COL_TITLE = 1
222222 self._search_popup()
223223
224224
225class PrimaryToolbar(ToolbarBox):
225class PrimaryToolbar(ToolbarBase):
226226 __gtype_name__ = 'PrimaryToolbar'
227227
228228 __gsignals__ = {
238238 }
239239
240240 def __init__(self, tabbed_view, act, disable_multiple_tabs):
241 ToolbarBox.__init__(self)
241 ToolbarBase.__init__(self)
242242
243243 self._activity = act
244244
246246
247247 self._loading = False
248248
249 activity_button = ActivityToolbarButton(self._activity)
250 self.toolbar.insert(activity_button, 0)
249 if NEW_TOOLBARS:
250 toolbar = self.toolbar
251 activity_button = ActivityToolbarButton(self._activity)
252 toolbar.insert(activity_button, 0)
253 else:
254 toolbar = self
251255
252256 self._go_home = ToolButton('go-home')
253257 self._go_home.set_tooltip(_('Home page'))
254258 self._go_home.connect('clicked', self._go_home_cb)
255 self.toolbar.insert(self._go_home, -1)
259 toolbar.insert(self._go_home, -1)
256260 self._go_home.show()
257261
258262 self._stop_and_reload = ToolButton('media-playback-stop')
259263 self._stop_and_reload.connect('clicked', self._stop_and_reload_cb)
260 self.toolbar.insert(self._stop_and_reload, -1)
264 toolbar.insert(self._stop_and_reload, -1)
261265 self._stop_and_reload.show()
262266
263267 self.entry = WebEntry()
272272 entry_item.add(self.entry)
273273 self.entry.show()
274274
275 self.toolbar.insert(entry_item, -1)
275 toolbar.insert(entry_item, -1)
276276 entry_item.show()
277277
278278 self._back = ToolButton('go-previous-paired')
279279 self._back.set_tooltip(_('Back'))
280280 self._back.props.sensitive = False
281281 self._back.connect('clicked', self._go_back_cb)
282 self.toolbar.insert(self._back, -1)
282 toolbar.insert(self._back, -1)
283283 self._back.show()
284284
285285 self._forward = ToolButton('go-next-paired')
286286 self._forward.set_tooltip(_('Forward'))
287287 self._forward.props.sensitive = False
288288 self._forward.connect('clicked', self._go_forward_cb)
289 self.toolbar.insert(self._forward, -1)
289 toolbar.insert(self._forward, -1)
290290 self._forward.show()
291291
292292 if not disable_multiple_tabs:
294294 self._add_tab.set_tooltip(_('Add a tab'))
295295 self._add_tab.props.sensitive = True
296296 self._add_tab.connect('clicked', self._add_tab_cb)
297 self.toolbar.insert(self._add_tab, -1)
297 toolbar.insert(self._add_tab, -1)
298298 self._add_tab.show()
299299
300300 self._link_add = ToolButton('emblem-favorite')
301301 self._link_add.set_tooltip(_('Bookmark'))
302302 self._link_add.connect('clicked', self._link_add_clicked_cb)
303 self.toolbar.insert(self._link_add, -1)
303 toolbar.insert(self._link_add, -1)
304304 self._link_add.show()
305305
306 stop_button = StopButton(self._activity)
307 self.toolbar.insert(stop_button, -1)
306 if NEW_TOOLBARS:
307 stop_button = StopButton(self._activity)
308 toolbar.insert(stop_button, -1)
308309
309310 self._progress_listener = None
310311 self._history = None
385385 self.entry.props.progress = progress
386386
387387 def _set_address(self, uri):
388 if uri is not None:
388 if uri and self._browser is not None:
389389 ui_uri = self._browser.get_url_from_nsiuri(uri)
390390 else:
391391 ui_uri = None