From 8aa45c5199e8e4b99f19511f121230e89a1a0735 Mon Sep 17 00:00:00 2001
From: Eben Eliason <[EMAIL PROTECTED]>
Date: Tue, 15 Apr 2008 22:59:59 -0400
Subject: [PATCH] Replace the "back bar" in the detail view
---
detailview.py | 49 ++++++++++++++++++++++++++++++++++++++++++++++++-
journalactivity.py | 2 +-
journaltoolbox.py | 13 -------------
3 files changed, 49 insertions(+), 15 deletions(-)
diff --git a/detailview.py b/detailview.py
index d6688bc..9d08550 100644
--- a/detailview.py
+++ b/detailview.py
@@ -30,6 +30,12 @@ from expandedentry import ExpandedEntry
from keepicon import KeepIcon
class DetailView(gtk.VBox):
+ __gtype_name__ = 'DetailView'
+
+ __gsignals__ = {
+ 'go-back-clicked': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([]))
+ }
+
def __init__(self):
gtk.VBox.__init__(self)
@@ -39,16 +45,25 @@ class DetailView(gtk.VBox):
canvas = hippo.Canvas()
self.pack_start(canvas)
canvas.show()
-
+
self._root = hippo.CanvasBox()
self._root.props.background_color = style.COLOR_PANEL_GREY.get_int()
canvas.set_root(self._root)
+ back_bar = BackBar()
+ back_bar.connect('button-release-event',
+ self._back_bar_release_event_cb)
+ self._root.append(back_bar)
+
def _fav_icon_activated_cb(self, fav_icon):
keep = not self._expanded_entry.get_keep()
self._expanded_entry.set_keep(keep)
fav_icon.props.keep = keep
+ def _back_bar_release_event_cb(self, back_bar, event):
+ self.emit('go-back-clicked')
+ return False
+
def _update_view(self):
if self._expanded_entry:
self._root.remove(self._expanded_entry)
@@ -59,6 +74,9 @@ class DetailView(gtk.VBox):
gc.collect()
if self._jobject:
self._expanded_entry = ExpandedEntry(self._jobject.object_id)
+
+ back_bar = hippo.CanvasBox()
+
self._root.append(self._expanded_entry, hippo.PACK_EXPAND)
def set_jobject(self, jobject):
@@ -70,3 +88,32 @@ class DetailView(gtk.VBox):
if self._jobject:
self._jobject = datastore.get(self._jobject.object_id)
self._update_view()
+
+class BackBar(hippo.CanvasBox):
+ def __init__(self):
+ hippo.CanvasBox.__init__(self,
+ orientation=hippo.ORIENTATION_HORIZONTAL,
+ border=style.LINE_WIDTH,
+ background_color=style.COLOR_PANEL_GREY.get_int(),
+ border_color=style.COLOR_SELECTION_GREY.get_int(),
+ padding=style.DEFAULT_PADDING,
+ padding_left=style.DEFAULT_SPACING,
+ spacing=style.DEFAULT_SPACING)
+
+ icon = CanvasIcon(icon_name='go-previous',
+ size=style.SMALL_ICON_SIZE,
+ fill_color=style.COLOR_TOOLBAR_GREY.get_svg())
+ self.append(icon)
+
+ label = hippo.CanvasText(text=_('Back'),
+ font_desc=style.FONT_NORMAL.get_pango_desc())
+ self.append(label)
+
+ self.connect('motion-notify-event', self._motion_notify_event_cb)
+
+ def _motion_notify_event_cb(self, box, event):
+ if event.detail == hippo.MOTION_DETAIL_ENTER:
+ box.props.background_color = style.COLOR_SELECTION_GREY.get_int()
+ elif event.detail == hippo.MOTION_DETAIL_LEAVE:
+ box.props.background_color = style.COLOR_PANEL_GREY.get_int()
+ return False
diff --git a/journalactivity.py b/journalactivity.py
index a549210..061105d 100755
--- a/journalactivity.py
+++ b/journalactivity.py
@@ -165,9 +165,9 @@ class JournalActivity(activity.Activity):
self._detail_toolbox = DetailToolbox()
entry_toolbar = self._detail_toolbox.entry_toolbar
entry_toolbar.connect('entry-erased', self._entry_erased_cb)
- entry_toolbar.connect('go-back-clicked', self._go_back_clicked_cb)
self._detail_view = DetailView()
+ self._detail_view.connect('go-back-clicked', self._go_back_clicked_cb)
self._secondary_view.pack_end(self._detail_view)
self._detail_view.show()
diff --git a/journaltoolbox.py b/journaltoolbox.py
index f018af6..98d549b 100644
--- a/journaltoolbox.py
+++ b/journaltoolbox.py
@@ -320,9 +320,6 @@ class EntryToolbar(gtk.Toolbar):
__gtype_name__ = 'EntryToolbar'
__gsignals__ = {
- 'go-back-clicked': (gobject.SIGNAL_RUN_FIRST,
- gobject.TYPE_NONE,
- ([])),
'entry-erased' : (gobject.SIGNAL_RUN_FIRST,
gobject.TYPE_NONE,
([]))
@@ -331,12 +328,6 @@ class EntryToolbar(gtk.Toolbar):
def __init__(self):
gtk.Toolbar.__init__(self)
- go_back_button = ToolButton('go-previous')
- go_back_button.set_tooltip(_('Back'))
- go_back_button.connect('clicked', self._go_back_button_clicked_cb)
- self.add(go_back_button)
- go_back_button.show()
-
self._resume = ToolButton('activity-start')
self._resume.connect('clicked', self._resume_clicked_cb)
self.add(self._resume)
@@ -392,10 +383,6 @@ class EntryToolbar(gtk.Toolbar):
datastore.delete(self._jobject.object_id)
self.emit('entry-erased')
- def _go_back_button_clicked_cb(self, back_bar):
- self.emit('go-back-clicked')
- return False
-
def _resume_menu_item_activate_cb(self, menu_item, service_name):
if self._jobject:
self._jobject.resume(service_name)
--
1.5.3.3
_______________________________________________
Sugar mailing list
[email protected]
http://lists.laptop.org/listinfo/sugar