Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@sugarlabs.org>2009-01-23 10:44:35 (GMT)
committer Tomeu Vizoso <tomeu@sugarlabs.org>2009-01-23 10:44:35 (GMT)
commiteae73448d695d838b8b8546b736e698c69de99c8 (patch)
treef986eacac109ec0bdc6bf4f1cc99d76e017a49c6 /src
parentb09eecda82c93230ea9ee0c53975f4a6807af4d5 (diff)
#226 Add a 'Clear search' button to 'No matching entries' message
Diffstat (limited to 'src')
-rw-r--r--src/jarabe/journal/journalactivity.py6
-rw-r--r--src/jarabe/journal/journaltoolbox.py6
-rw-r--r--src/jarabe/journal/listview.py32
3 files changed, 37 insertions, 7 deletions
diff --git a/src/jarabe/journal/journalactivity.py b/src/jarabe/journal/journalactivity.py
index 4aa7cf8..4f4d320 100644
--- a/src/jarabe/journal/journalactivity.py
+++ b/src/jarabe/journal/journalactivity.py
@@ -154,6 +154,7 @@ class JournalActivity(Window):
self._list_view = ListView()
self._list_view.connect('detail-clicked', self.__detail_clicked_cb)
+ self._list_view.connect('clear-clicked', self.__clear_clicked_cb)
self._main_view.pack_start(self._list_view)
self._list_view.show()
@@ -186,7 +187,10 @@ class JournalActivity(Window):
def __detail_clicked_cb(self, list_view, entry):
self._show_secondary_view(entry.metadata)
-
+
+ def __clear_clicked_cb(self, list_view):
+ self._main_toolbox.search_toolbar.clear_query()
+
def __go_back_clicked_cb(self, detail_view):
self.show_main_view()
diff --git a/src/jarabe/journal/journaltoolbox.py b/src/jarabe/journal/journaltoolbox.py
index d9ec4da..17a65e6 100644
--- a/src/jarabe/journal/journaltoolbox.py
+++ b/src/jarabe/journal/journaltoolbox.py
@@ -310,6 +310,12 @@ class SearchToolbar(gtk.Toolbar):
def __favorite_button_toggled_cb(self, favorite_button):
self._update_if_needed()
+ def clear_query(self):
+ self._search_entry.props.text = ''
+ self._what_search_combo.set_active(0)
+ self._when_search_combo.set_active(0)
+ self._favorite_button.props.active = False
+
class DetailToolbox(Toolbox):
def __init__(self):
Toolbox.__init__(self)
diff --git a/src/jarabe/journal/listview.py b/src/jarabe/journal/listview.py
index acbd0b6..34cd7a0 100644
--- a/src/jarabe/journal/listview.py
+++ b/src/jarabe/journal/listview.py
@@ -26,7 +26,7 @@ import gtk
import dbus
from sugar.graphics import style
-from sugar.graphics.icon import CanvasIcon
+from sugar.graphics.icon import CanvasIcon, Icon
from jarabe.journal.collapsedentry import CollapsedEntry
from jarabe.journal import model
@@ -43,6 +43,12 @@ NO_MATCH = _("No matching entries ")
class BaseListView(gtk.HBox):
__gtype_name__ = 'BaseListView'
+ __gsignals__ = {
+ 'clear-clicked': (gobject.SIGNAL_RUN_FIRST,
+ gobject.TYPE_NONE,
+ ([]))
+ }
+
def __init__(self):
self._query = {}
self._result_set = None
@@ -343,19 +349,33 @@ class BaseListView(gtk.HBox):
def _show_message(self, message):
box = hippo.CanvasBox(orientation=hippo.ORIENTATION_VERTICAL,
background_color=style.COLOR_WHITE.get_int(),
- yalign=hippo.ALIGNMENT_CENTER)
+ yalign=hippo.ALIGNMENT_CENTER,
+ spacing=style.DEFAULT_SPACING,
+ padding_bottom=style.GRID_CELL_SIZE)
+ self._canvas.set_root(box)
+
icon = CanvasIcon(size=style.LARGE_ICON_SIZE,
icon_name='activity-journal',
stroke_color = style.COLOR_BUTTON_GREY.get_svg(),
fill_color = style.COLOR_TRANSPARENT.get_svg())
+ box.append(icon)
+
text = hippo.CanvasText(text=message,
xalign=hippo.ALIGNMENT_CENTER,
- font_desc=style.FONT_NORMAL.get_pango_desc(),
+ font_desc=style.FONT_BOLD.get_pango_desc(),
color = style.COLOR_BUTTON_GREY.get_int())
-
- box.append(icon)
box.append(text)
- self._canvas.set_root(box)
+
+ button = gtk.Button(label=_('Clear search'))
+ button.connect('clicked', self.__clear_button_clicked_cb)
+ button.props.image = Icon(icon_name='dialog-cancel',
+ icon_size=gtk.ICON_SIZE_BUTTON)
+ canvas_button = hippo.CanvasWidget(widget=button,
+ xalign=hippo.ALIGNMENT_CENTER)
+ box.append(canvas_button)
+
+ def __clear_button_clicked_cb(self, button):
+ self.emit('clear-clicked')
def _clear_message(self):
self._canvas.set_root(self._box)