Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Schampijer <simon@schampijer.de>2010-08-24 17:13:44 (GMT)
committer Andrés Ambrois <andresambrois@gmail.com>2010-08-24 20:30:11 (GMT)
commit4c2d26ccaeb502037484ced70b5944e3e20aa3f6 (patch)
tree996ff3a8126b8a71c82eca92ffc1e37e2b7b47e5
parenta4efed250c56dc6dd656bafb572a1a56e034d254 (diff)
Use Toolbutton instead of instead of Radiotoolbutton
Adress design nitpocks: - reveal palette on left click - better naming of the filter options - toolbar icon is lastedit by default
-rw-r--r--src/jarabe/journal/journaltoolbox.py57
1 files changed, 25 insertions, 32 deletions
diff --git a/src/jarabe/journal/journaltoolbox.py b/src/jarabe/journal/journaltoolbox.py
index 8597aa0..75c6de5 100644
--- a/src/jarabe/journal/journaltoolbox.py
+++ b/src/jarabe/journal/journaltoolbox.py
@@ -30,7 +30,6 @@ from sugar.graphics.toolbox import Toolbox
from sugar.graphics.toolcombobox import ToolComboBox
from sugar.graphics.toolbutton import ToolButton
from sugar.graphics.toggletoolbutton import ToggleToolButton
-from sugar.graphics.radiotoolbutton import RadioToolButton
from sugar.graphics.combobox import ComboBox
from sugar.graphics.menuitem import MenuItem
from sugar.graphics.icon import Icon
@@ -112,14 +111,12 @@ class SearchToolbar(gtk.Toolbar):
self._add_separator(expand=True)
- self._list_view_button = ListViewButton()
- # TODO: Connect when Grid View is implemented
- #self._list_view.connect('toggled', self.__view_button_toggled_cb)
- self._list_view_button.set_active(True)
- self.insert(self._list_view_button, -1)
- self._list_view_button.connect('sort-property-changed',
- self.__sort_changed_cb)
- self._list_view_button.show()
+ self._sorting_button = SortingButton()
+ self._sorting_button.connect('clicked', self.__sorting_button_clicked_cb)
+ self.insert(self._sorting_button, -1)
+ self._sorting_button.connect('sort-property-changed',
+ self.__sort_changed_cb)
+ self._sorting_button.show()
# TODO: enable it when the DS supports saving the buddies.
#self._with_search_combo = self._get_with_search_combo()
@@ -214,13 +211,13 @@ class SearchToolbar(gtk.Toolbar):
if text:
query['query'] = text
- property, order = self._list_view_button.get_current_sort()
+ property_, order = self._sorting_button.get_current_sort()
if order == gtk.SORT_ASCENDING:
sign = '+'
else:
sign = '-'
- query['order_by'] = [sign + property]
+ query['order_by'] = [sign + property_]
return query
@@ -247,6 +244,9 @@ class SearchToolbar(gtk.Toolbar):
def __sort_changed_cb(self, button):
self._update_if_needed()
+ def __sorting_button_clicked_cb(self, button):
+ self._sorting_button.palette.popup(immediate=True, state=1)
+
def _update_if_needed(self):
new_query = self._build_query()
if self._query != new_query:
@@ -491,8 +491,9 @@ class EntryToolbar(gtk.Toolbar):
palette.menu.append(menu_item)
menu_item.show()
-class ListViewButton(RadioToolButton):
- __gtype_name__ = 'JournalListViewButton'
+
+class SortingButton(ToolButton):
+ __gtype_name__ = 'JournalSortingButton'
__gsignals__ = {
'sort-property-changed': (gobject.SIGNAL_RUN_FIRST,
@@ -501,44 +502,36 @@ class ListViewButton(RadioToolButton):
}
_SORT_OPTIONS = [
- ('timestamp', 'view-lastedit', _('View by last edit')),
- ('creation_time', 'view-created', _('View by creation date')),
- ('filesize', 'view-size', _('View by size')),
+ ('timestamp', 'view-lastedit', _('Sort by date modified')),
+ ('creation_time', 'view-created', _('Sort by date created')),
+ ('filesize', 'view-size', _('Sort by size')),
]
def __init__(self):
- RadioToolButton.__init__(self)
+ ToolButton.__init__(self)
self._property = 'timestamp'
self._order = gtk.SORT_ASCENDING
- self.props.tooltip = _('List view')
- self.props.named_icon = 'view-list'
- # TODO: Set accelerator when Grid View is implemented
- #self.props.accelerator = _('<Ctrl>2')
- self.props.group = None
+ self.props.tooltip = _('Sort view')
+ self.props.icon_name = 'view-lastedit'
- for property, icon, label in self._SORT_OPTIONS:
+ for property_, icon, label in self._SORT_OPTIONS:
button = MenuItem(icon_name=icon, text_label=label)
button.connect('activate',
self.__sort_type_changed_cb,
- property,
+ property_,
icon)
button.show()
self.props.palette.menu.insert(button, -1)
- def __sort_type_changed_cb(self, widget, property, named_icon):
- self._property = property
+ def __sort_type_changed_cb(self, widget, property_, icon_name):
+ self._property = property_
#FIXME: Implement sorting order
self._order = gtk.SORT_ASCENDING
self.emit('sort-property-changed')
- self.props.named_icon = named_icon
-
- if not self.props.active:
- self.props.active = True
- else:
- self.emit('toggled')
+ self.props.icon_name = icon_name
def get_current_sort(self):
return (self._property, self._order)