Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/expandedentry.py
diff options
context:
space:
mode:
authorEben Eliason <eben@localhost.localdomain>2008-04-16 04:19:14 (GMT)
committer Eben Eliason <eben@localhost.localdomain>2008-04-16 04:19:14 (GMT)
commit25608650d0980ec4de50fb9d12f8c1c17df2370f (patch)
tree1d738bff2c3e402fd9fcc80e1d6314606350faf4 /expandedentry.py
parentf2d43be8b170f51a862dc595a587c4a50a0e79f0 (diff)
First pass at refining the Journal visual design
Diffstat (limited to 'expandedentry.py')
-rw-r--r--expandedentry.py122
1 files changed, 74 insertions, 48 deletions
diff --git a/expandedentry.py b/expandedentry.py
index 65b7808..1bb7993 100644
--- a/expandedentry.py
+++ b/expandedentry.py
@@ -51,18 +51,23 @@ class CanvasTextView(hippo.CanvasWidget):
hippo.CanvasWidget.__init__(self, **kwargs)
self.text_view_widget = gtk.TextView()
self.text_view_widget.props.buffer.props.text = text
+ self.text_view_widget.props.left_margin = style.DEFAULT_SPACING
+ self.text_view_widget.props.right_margin = style.DEFAULT_SPACING
+ self.text_view_widget.props.wrap_mode = gtk.WRAP_WORD
self.text_view_widget.show()
+ # TODO: These fields should expand vertically instead of scrolling
scrolled_window = gtk.ScrolledWindow()
scrolled_window.set_shadow_type(gtk.SHADOW_OUT)
- scrolled_window.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+ scrolled_window.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
scrolled_window.add(self.text_view_widget)
self.props.widget = scrolled_window
class BuddyList(hippo.CanvasBox):
def __init__(self, model):
- hippo.CanvasBox.__init__(self, xalign=hippo.ALIGNMENT_START)
+ hippo.CanvasBox.__init__(self, xalign=hippo.ALIGNMENT_START,
+ orientation=hippo.ORIENTATION_HORIZONTAL)
for buddy in model:
nick, color = buddy
@@ -71,65 +76,64 @@ class BuddyList(hippo.CanvasBox):
xo_color=XoColor(color),
size=style.STANDARD_ICON_SIZE)
hbox.append(icon)
-
- label = hippo.CanvasText(text=nick,
- font_desc=style.FONT_NORMAL.get_pango_desc())
- hbox.append(label)
-
self.append(hbox)
class ExpandedEntry(hippo.CanvasBox):
def __init__(self, object_id):
hippo.CanvasBox.__init__(self)
- self.props.orientation = hippo.ORIENTATION_HORIZONTAL
+ self.props.orientation = hippo.ORIENTATION_VERTICAL
self.props.background_color = style.COLOR_WHITE.get_int()
- self.props.spacing = style.DEFAULT_SPACING
- self.props.padding = style.DEFAULT_PADDING
+ self.props.padding_top = style.DEFAULT_SPACING * 3
self._jobject = datastore.get(object_id)
self._update_title_sid = None
- # Create three columns
+ # Create header
+ header = hippo.CanvasBox(orientation=hippo.ORIENTATION_HORIZONTAL,
+ padding=style.DEFAULT_PADDING,
+ padding_right=style.GRID_CELL_SIZE,
+ spacing=style.DEFAULT_SPACING)
+ self.append(header)
+
+ # Create two column body
+
+ body = hippo.CanvasBox(orientation=hippo.ORIENTATION_HORIZONTAL,
+ spacing=style.DEFAULT_SPACING * 3,
+ padding_left=style.GRID_CELL_SIZE,
+ padding_right=style.GRID_CELL_SIZE,
+ padding_top=style.DEFAULT_SPACING * 3)
+
+ self.append(body, hippo.PACK_EXPAND)
+
first_column = hippo.CanvasBox(orientation=hippo.ORIENTATION_VERTICAL,
- padding=style.DEFAULT_PADDING,
spacing=style.DEFAULT_SPACING)
- self.append(first_column)
+ body.append(first_column)
second_column = hippo.CanvasBox(orientation=hippo.ORIENTATION_VERTICAL,
- padding_right=style.GRID_CELL_SIZE,
- padding=style.DEFAULT_PADDING,
- spacing=style.DEFAULT_SPACING)
- self.append(second_column, hippo.PACK_EXPAND)
+ spacing=style.DEFAULT_SPACING)
+ body.append(second_column, hippo.PACK_EXPAND)
- self.append(Separator(hippo.ORIENTATION_VERTICAL))
-
- third_column = hippo.CanvasBox(orientation=hippo.ORIENTATION_VERTICAL,
- box_width=style.GRID_CELL_SIZE * 4)
- self.append(third_column)
+ # Header
- # First column
self._keep_icon = self._create_keep_icon()
- first_column.append(self._keep_icon)
+ header.append(self._keep_icon)
- # Second column
- header = hippo.CanvasBox(orientation=hippo.ORIENTATION_HORIZONTAL,
- spacing=style.DEFAULT_SPACING)
- second_column.append(header)
-
self._icon = self._create_icon()
header.append(self._icon)
self._title = self._create_title()
header.append(self._title, hippo.PACK_EXPAND)
- hbox = hippo.CanvasBox(orientation=hippo.ORIENTATION_HORIZONTAL)
- second_column.append(hbox)
+ # TODO: create a version list popup instead of a date label
+ self._date = self._create_date()
+ header.append(self._date)
+
+ # First column
self._preview = self._create_preview()
- hbox.append(self._preview)
+ first_column.append(self._preview)
- self._buddy_list = self._create_buddy_list()
- hbox.append(self._buddy_list)
+ # Second column
description_box, self._description = self._create_description()
second_column.append(description_box)
@@ -137,9 +141,8 @@ class ExpandedEntry(hippo.CanvasBox):
tags_box, self._tags = self._create_tags()
second_column.append(tags_box)
- # Third column
- self._version_list = self._create_version_list()
- third_column.append(self._version_list)
+ self._buddy_list = self._create_buddy_list()
+ second_column.append(self._buddy_list)
def _create_keep_icon(self):
keep = self._jobject.metadata.has_key('keep') and \
@@ -177,6 +180,12 @@ class ExpandedEntry(hippo.CanvasBox):
self._title_focus_out_event_cb)
return title
+ def _create_date(self):
+ date = hippo.CanvasText(xalign=hippo.ALIGNMENT_START,
+ font_desc=style.FONT_NORMAL.get_pango_desc(),
+ text = misc.get_date(self._jobject))
+ return date
+
def _create_preview(self):
width = style.zoom(320)
height = style.zoom(240)
@@ -223,22 +232,36 @@ class ExpandedEntry(hippo.CanvasBox):
return box
def _create_buddy_list(self):
+
+ vbox = hippo.CanvasBox()
+ vbox.props.spacing = style.DEFAULT_SPACING
+
+ text = hippo.CanvasText(text=_('Participants:'),
+ xalign=hippo.ALIGNMENT_START,
+ font_desc=style.FONT_NORMAL.get_pango_desc())
+ text.props.color=style.COLOR_BUTTON_GREY.get_int()
+ vbox.append(text)
+
if self._jobject.metadata.has_key('buddies') and \
self._jobject.metadata['buddies']:
# json cannot read unicode strings
buddies_str = self._jobject.metadata['buddies'].encode('utf8')
buddies = json.read(buddies_str).values()
- return BuddyList(buddies)
+ vbox.append(BuddyList(buddies))
+ return vbox
else:
- return BuddyList([])
+ return vbox
def _create_description(self):
vbox = hippo.CanvasBox()
- #vbox.props.spacing = style.DEFAULT_SPACING
- vbox.append(hippo.CanvasText(text=_('Description:'),
- xalign=hippo.ALIGNMENT_START,
- font_desc=style.FONT_NORMAL.get_pango_desc()))
-
+ vbox.props.spacing = style.DEFAULT_SPACING
+
+ text = hippo.CanvasText(text=_('Description:'),
+ xalign=hippo.ALIGNMENT_START,
+ font_desc=style.FONT_NORMAL.get_pango_desc())
+ text.props.color=style.COLOR_BUTTON_GREY.get_int()
+ vbox.append(text)
+
description = self._jobject.metadata.get('description', '')
text_view = CanvasTextView(description, box_height=style.GRID_CELL_SIZE * 2)
vbox.append(text_view, hippo.PACK_EXPAND)
@@ -251,10 +274,13 @@ class ExpandedEntry(hippo.CanvasBox):
def _create_tags(self):
vbox = hippo.CanvasBox()
- #vbox.props.spacing = style.DEFAULT_SPACING
- vbox.append(hippo.CanvasText(text=_('Tags:'),
- xalign=hippo.ALIGNMENT_START,
- font_desc=style.FONT_NORMAL.get_pango_desc()))
+ vbox.props.spacing = style.DEFAULT_SPACING
+
+ text = hippo.CanvasText(text=_('Tags:'),
+ xalign=hippo.ALIGNMENT_START,
+ font_desc=style.FONT_NORMAL.get_pango_desc())
+ text.props.color=style.COLOR_BUTTON_GREY.get_int()
+ vbox.append(text)
tags = self._jobject.metadata.get('tags', '')
text_view = CanvasTextView(tags, box_height=style.GRID_CELL_SIZE * 2)