Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@member.fsf.org>2009-09-07 10:26:52 (GMT)
committer Aleksey Lim <alsroot@member.fsf.org>2009-09-07 10:26:52 (GMT)
commit549be18e280fd24cd6c2b16f21c144de4d6fe415 (patch)
tree574c71ae425f183653cc21acd91e585b9e94672a /src
parent569bf1d6f3474a961417e0fdf7f0fb1b92ea933a (diff)
Process non-ds object in the right way in Journal #1262
Diffstat (limited to 'src')
-rw-r--r--src/jarabe/journal/expandedentry.py41
-rw-r--r--src/jarabe/journal/listview.py5
-rw-r--r--src/jarabe/journal/model.py9
3 files changed, 40 insertions, 15 deletions
diff --git a/src/jarabe/journal/expandedentry.py b/src/jarabe/journal/expandedentry.py
index 9c0f922..ff830bf 100644
--- a/src/jarabe/journal/expandedentry.py
+++ b/src/jarabe/journal/expandedentry.py
@@ -159,12 +159,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,
@@ -297,8 +303,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
@@ -322,8 +331,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
@@ -345,9 +357,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
@@ -373,6 +386,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/listview.py b/src/jarabe/journal/listview.py
index 9d69419..5e829bc 100644
--- a/src/jarabe/journal/listview.py
+++ b/src/jarabe/journal/listview.py
@@ -263,6 +263,8 @@ class BaseListView(gtk.Bin):
def __favorite_clicked_cb(self, cell, path):
row = self._model[path]
metadata = model.get(row[ListModel.COLUMN_UID])
+ if not model.is_editable(metadata):
+ return
if metadata.get('keep', 0) == '1':
metadata['keep'] = '0'
else:
@@ -325,6 +327,9 @@ class BaseListView(gtk.Bin):
self._scroll_position = self.tree_view.props.vadjustment.props.value
logging.debug('ListView.__map_cb %r', self._scroll_position)
+ is_editable = self._query.get('mountpoints', '') == '/'
+ self.cell_title.props.editable = is_editable
+
def _is_query_empty(self):
# FIXME: This is a hack, we shouldn't have to update this every time
# a new search term is added.
diff --git a/src/jarabe/journal/model.py b/src/jarabe/journal/model.py
index 8ae78d8..f452a7f 100644
--- a/src/jarabe/journal/model.py
+++ b/src/jarabe/journal/model.py
@@ -371,9 +371,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']
@@ -529,7 +531,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()
-