diff options
author | Manuel Quiñones <manuq@laptop.org> | 2012-08-28 11:17:18 (GMT) |
---|---|---|
committer | Manuel Quiñones <manuq@laptop.org> | 2012-08-28 11:36:52 (GMT) |
commit | f1590970b884a4dab44bbdabc885f883bbc8bae0 (patch) | |
tree | 5238ce73c3c5650ddb16547cecc12d3ddf9a3769 /src | |
parent | 13844c18b225f46b1636fc1201e020af53c60fcd (diff) |
Use the new toolbars in the Journal
Sugar has switched to a new toolbar design in 0.86 [1]. In
sugar-toolkit-gtk3 support for the old deprecated toolbar has been
removed in 0.96 [2]. Prior to the shell port we have to use the new
style toolbar in the Journal as well.
Initial patch provided by Gonzalo Odiard for the shell port.
[1] http://wiki.sugarlabs.org/go/0.86/Notes#What.27s_new_for_developers
[2] http://wiki.sugarlabs.org/go/0.96/Notes#API
Signed-off-by: Manuel Quiñones <manuq@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/jarabe/journal/journalactivity.py | 20 | ||||
-rw-r--r-- | src/jarabe/journal/journaltoolbox.py | 51 | ||||
-rw-r--r-- | src/jarabe/journal/objectchooser.py | 4 |
3 files changed, 26 insertions, 49 deletions
diff --git a/src/jarabe/journal/journalactivity.py b/src/jarabe/journal/journalactivity.py index bb1c7f6..1132f82 100644 --- a/src/jarabe/journal/journalactivity.py +++ b/src/jarabe/journal/journalactivity.py @@ -181,16 +181,15 @@ class JournalActivity(JournalWindow): self._volumes_toolbar.connect('volume-error', self.__volume_error_cb) self._main_view.pack_start(self._volumes_toolbar, expand=False) - search_toolbar = self._main_toolbox.search_toolbar - search_toolbar.connect('query-changed', self._query_changed_cb) - search_toolbar.set_mount_point('/') + self._main_toolbox.connect('query-changed', self._query_changed_cb) + self._main_toolbox.set_mount_point('/') def _setup_secondary_view(self): self._secondary_view = gtk.VBox() self._detail_toolbox = DetailToolbox() - self._detail_toolbox.entry_toolbar.connect('volume-error', - self.__volume_error_cb) + self._detail_toolbox.connect('volume-error', + self.__volume_error_cb) self._detail_view = DetailView() self._detail_view.connect('go-back-clicked', self.__go_back_clicked_cb) @@ -206,7 +205,7 @@ class JournalActivity(JournalWindow): self._show_secondary_view(object_id) def __clear_clicked_cb(self, list_view): - self._main_toolbox.search_toolbar.clear_query() + self._main_toolbox.clear_query() def __go_back_clicked_cb(self, detail_view): self.show_main_view() @@ -227,7 +226,7 @@ class JournalActivity(JournalWindow): def _show_secondary_view(self, object_id): metadata = model.get(object_id) try: - self._detail_toolbox.entry_toolbar.set_metadata(metadata) + self._detail_toolbox.set_metadata(metadata) except Exception: logging.exception('Exception while displaying entry:') @@ -252,12 +251,12 @@ class JournalActivity(JournalWindow): def __volume_changed_cb(self, volume_toolbar, mount_point): logging.debug('Selected volume: %r.', mount_point) - self._main_toolbox.search_toolbar.set_mount_point(mount_point) + self._main_toolbox.set_mount_point(mount_point) self._main_toolbox.set_current_toolbar(0) def __model_created_cb(self, sender, **kwargs): self._check_for_bundle(kwargs['object_id']) - self._main_toolbox.search_toolbar.refresh_filters() + self._main_toolbox.refresh_filters() self._check_available_space() def __model_updated_cb(self, sender, **kwargs): @@ -315,8 +314,7 @@ class JournalActivity(JournalWindow): model.write(metadata) def search_grab_focus(self): - search_toolbar = self._main_toolbox.search_toolbar - search_toolbar.give_entry_focus() + self._main_toolbox.give_entry_focus() def __window_state_event_cb(self, window, event): logging.debug('window_state_event_cb %r', self) diff --git a/src/jarabe/journal/journaltoolbox.py b/src/jarabe/journal/journaltoolbox.py index 9a5f5a2..21ba9c3 100644 --- a/src/jarabe/journal/journaltoolbox.py +++ b/src/jarabe/journal/journaltoolbox.py @@ -28,7 +28,7 @@ import glib import gtk from sugar.graphics.palette import Palette -from sugar.graphics.toolbox import Toolbox +from sugar.graphics.toolbarbox import ToolbarBox from sugar.graphics.toolcombobox import ToolComboBox from sugar.graphics.toolbutton import ToolButton from sugar.graphics.toggletoolbutton import ToggleToolButton @@ -38,7 +38,6 @@ from sugar.graphics.icon import Icon from sugar.graphics.xocolor import XoColor from sugar.graphics.alert import Alert from sugar.graphics import iconentry -from sugar.graphics import style from sugar import mime from jarabe.model import bundleregistry @@ -65,18 +64,7 @@ _ACTION_MY_FRIENDS = 1 _ACTION_MY_CLASS = 2 -class MainToolbox(Toolbox): - def __init__(self): - Toolbox.__init__(self) - - self.search_toolbar = SearchToolbar() - self.search_toolbar.set_size_request(-1, style.GRID_CELL_SIZE) - self.add_toolbar(_('Search'), self.search_toolbar) - self.search_toolbar.show() - - -class SearchToolbar(gtk.Toolbar): - __gtype_name__ = 'SearchToolbar' +class MainToolbox(ToolbarBox): __gsignals__ = { 'query-changed': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, @@ -84,7 +72,7 @@ class SearchToolbar(gtk.Toolbar): } def __init__(self): - gtk.Toolbar.__init__(self) + ToolbarBox.__init__(self) self._mount_point = None @@ -100,25 +88,25 @@ class SearchToolbar(gtk.Toolbar): self._favorite_button = ToggleToolButton('emblem-favorite') self._favorite_button.connect('toggled', self.__favorite_button_toggled_cb) - self.insert(self._favorite_button, -1) + self.toolbar.insert(self._favorite_button, -1) self._favorite_button.show() self._what_search_combo = ComboBox() self._what_combo_changed_sid = self._what_search_combo.connect( 'changed', self._combo_changed_cb) tool_item = ToolComboBox(self._what_search_combo) - self.insert(tool_item, -1) + self.toolbar.insert(tool_item, -1) tool_item.show() self._when_search_combo = self._get_when_search_combo() tool_item = ToolComboBox(self._when_search_combo) - self.insert(tool_item, -1) + self.toolbar.insert(tool_item, -1) tool_item.show() self._sorting_button = SortingButton() self._sorting_button.connect('clicked', self.__sorting_button_clicked_cb) - self.insert(self._sorting_button, -1) + self.toolbar.insert(self._sorting_button, -1) self._sorting_button.connect('sort-property-changed', self.__sort_changed_cb) self._sorting_button.show() @@ -175,7 +163,7 @@ class SearchToolbar(gtk.Toolbar): tool_item.add(widget) widget.show() - self.insert(tool_item, -1) + self.toolbar.insert(tool_item, -1) tool_item.show() def _build_query(self): @@ -363,30 +351,21 @@ class SearchToolbar(gtk.Toolbar): self._favorite_button.props.active = False -class DetailToolbox(Toolbox): - def __init__(self): - Toolbox.__init__(self) - - self.entry_toolbar = EntryToolbar() - self.add_toolbar('', self.entry_toolbar) - self.entry_toolbar.show() - - -class EntryToolbar(gtk.Toolbar): +class DetailToolbox(ToolbarBox): __gsignals__ = { 'volume-error': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([str, str])), } def __init__(self): - gtk.Toolbar.__init__(self) + ToolbarBox.__init__(self) self._metadata = None self._temp_file_path = None self._resume = ToolButton('activity-start') self._resume.connect('clicked', self._resume_clicked_cb) - self.add(self._resume) + self.toolbar.insert(self._resume, -1) self._resume.show() client = gconf.client_get_default() @@ -397,7 +376,7 @@ class EntryToolbar(gtk.Toolbar): icon.show() self._copy.set_tooltip(_('Copy to')) self._copy.connect('clicked', self._copy_clicked_cb) - self.add(self._copy) + self.toolbar.insert(self._copy, -1) self._copy.show() self._duplicate = ToolButton() @@ -405,16 +384,16 @@ class EntryToolbar(gtk.Toolbar): self._duplicate.set_icon_widget(icon) self._duplicate.set_tooltip(_('Duplicate')) self._duplicate.connect('clicked', self._duplicate_clicked_cb) - self.add(self._duplicate) + self.toolbar.insert(self._duplicate, -1) separator = gtk.SeparatorToolItem() - self.add(separator) + self.toolbar.insert(separator, -1) separator.show() erase_button = ToolButton('list-remove') erase_button.set_tooltip(_('Erase')) erase_button.connect('clicked', self._erase_button_clicked_cb) - self.add(erase_button) + self.toolbar.insert(erase_button, -1) erase_button.show() def set_metadata(self, metadata): diff --git a/src/jarabe/journal/objectchooser.py b/src/jarabe/journal/objectchooser.py index ecb8ecf..175aa0f 100644 --- a/src/jarabe/journal/objectchooser.py +++ b/src/jarabe/journal/objectchooser.py @@ -26,7 +26,7 @@ from sugar.graphics.toolbutton import ToolButton from jarabe.journal.listview import BaseListView from jarabe.journal.listmodel import ListModel -from jarabe.journal.journaltoolbox import SearchToolbar +from jarabe.journal.journaltoolbox import MainToolbox from jarabe.journal.volumestoolbar import VolumesToolbar @@ -77,7 +77,7 @@ class ObjectChooser(gtk.Window): vbox.pack_start(separator, expand=False) separator.show() - self._toolbar = SearchToolbar() + self._toolbar = MainToolbox() self._toolbar.connect('query-changed', self.__query_changed_cb) self._toolbar.set_size_request(-1, style.GRID_CELL_SIZE) vbox.pack_start(self._toolbar, expand=False) |