Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManuel 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)
commitf1590970b884a4dab44bbdabc885f883bbc8bae0 (patch)
tree5238ce73c3c5650ddb16547cecc12d3ddf9a3769
parent13844c18b225f46b1636fc1201e020af53c60fcd (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>
-rw-r--r--src/jarabe/journal/journalactivity.py20
-rw-r--r--src/jarabe/journal/journaltoolbox.py51
-rw-r--r--src/jarabe/journal/objectchooser.py4
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)