Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@member.fsf.org>2009-09-07 10:26:52 (GMT)
committer Daniel Drake <dsd@laptop.org>2009-12-01 17:57:38 (GMT)
commitf93c9de3ff6b7d7f1730c5056b0b4fae9f00a201 (patch)
tree641506a30fd290471e28bcb35a2f72db898f4693
parentd8b1f926c950a15832dea8183de0befff1cb85f9 (diff)
Process non-ds object in the right way in Journal #1262
-rw-r--r--src/jarabe/journal/collapsedentry.py2
-rw-r--r--src/jarabe/journal/expandedentry.py41
-rw-r--r--src/jarabe/journal/model.py9
3 files changed, 37 insertions, 15 deletions
diff --git a/src/jarabe/journal/collapsedentry.py b/src/jarabe/journal/collapsedentry.py
index d3c94a1..c3c45a3 100644
--- a/src/jarabe/journal/collapsedentry.py
+++ b/src/jarabe/journal/collapsedentry.py
@@ -211,6 +211,8 @@ class BaseCollapsedEntry(hippo.CanvasBox):
def __keep_icon_button_release_event_cb(self, button, event):
logging.debug('__keep_icon_button_release_event_cb')
+ if not model.is_editable(metadata):
+ return
metadata = model.get(self._metadata['uid'])
if self.get_keep():
metadata['keep'] = 0
diff --git a/src/jarabe/journal/expandedentry.py b/src/jarabe/journal/expandedentry.py
index b996649..34f08d9 100644
--- a/src/jarabe/journal/expandedentry.py
+++ b/src/jarabe/journal/expandedentry.py
@@ -154,12 +154,18 @@ class ExpandedEntry(hippo.CanvasBox):
return icon
def _create_title(self):
- title = CanvasEntry()
- title.set_background(style.COLOR_WHITE.get_html())
- title.props.text = self._metadata.get('title', _('Untitled'))
- title.props.widget.connect('focus-out-event',
- self._title_focus_out_event_cb)
- return title
+ entry = gtk.Entry()
+ entry.props.text = self._metadata.get('title', _('Untitled'))
+
+ bg_color = style.COLOR_WHITE.get_gdk_color()
+ entry.modify_bg(gtk.STATE_INSENSITIVE, bg_color)
+ entry.modify_base(gtk.STATE_INSENSITIVE, bg_color)
+
+ entry.props.editable = model.is_editable(self._metadata)
+ if entry.props.editable:
+ entry.connect('focus-out-event', self._title_focus_out_event_cb)
+
+ return hippo.CanvasWidget(widget=entry)
def _create_date(self):
date = hippo.CanvasText(xalign=hippo.ALIGNMENT_START,
@@ -261,8 +267,11 @@ class ExpandedEntry(hippo.CanvasBox):
vbox.append(text_view, hippo.PACK_EXPAND)
text_view.text_view_widget.props.accepts_tab = False
- text_view.text_view_widget.connect('focus-out-event',
- self._description_focus_out_event_cb)
+ editable = model.is_editable(self._metadata)
+ if editable:
+ text_view.text_view_widget.connect('focus-out-event',
+ self._description_focus_out_event_cb)
+ text_view.text_view_widget.props.editable = editable
return vbox, text_view
@@ -286,8 +295,11 @@ class ExpandedEntry(hippo.CanvasBox):
vbox.append(text_view, hippo.PACK_EXPAND)
text_view.text_view_widget.props.accepts_tab = False
- text_view.text_view_widget.connect('focus-out-event',
- self._tags_focus_out_event_cb)
+ editable = model.is_editable(self._metadata)
+ if editable:
+ text_view.text_view_widget.connect('focus-out-event',
+ self._tags_focus_out_event_cb)
+ text_view.text_view_widget.props.editable = editable
return vbox, text_view
@@ -309,9 +321,10 @@ class ExpandedEntry(hippo.CanvasBox):
needs_update = False
old_title = self._metadata.get('title', None)
- if old_title != self._title.props.text:
- self._icon.palette.props.primary_text = self._title.props.text
- self._metadata['title'] = self._title.props.text
+ new_title = self._title.props.widget.props.text
+ if old_title != new_title:
+ self._icon.palette.props.primary_text = new_title
+ self._metadata['title'] = new_title
self._metadata['title_set_by_user'] = '1'
needs_update = True
@@ -337,6 +350,8 @@ class ExpandedEntry(hippo.CanvasBox):
return int(self._metadata.get('keep', 0)) == 1
def _keep_icon_activated_cb(self, keep_icon):
+ if not model.is_editable(self._metadata):
+ return
if self.get_keep():
self._metadata['keep'] = 0
else:
diff --git a/src/jarabe/journal/model.py b/src/jarabe/journal/model.py
index 19d437b..1b4e236 100644
--- a/src/jarabe/journal/model.py
+++ b/src/jarabe/journal/model.py
@@ -397,9 +397,11 @@ def _datastore_updated_cb(object_id):
def _datastore_deleted_cb(object_id):
deleted.send(None, object_id=object_id)
-def find(query, page_size):
+def find(query_, page_size):
"""Returns a ResultSet
"""
+ query = query_.copy()
+
if 'order_by' not in query:
query['order_by'] = ['-mtime']
@@ -539,7 +541,10 @@ def _get_unique_file_name(mount_point, file_name):
return file_name
+def is_editable(metadata):
+ mountpoint = metadata.get('mountpoint', '/')
+ return mountpoint == '/'
+
created = dispatch.Signal()
updated = dispatch.Signal()
deleted = dispatch.Signal()
-