diff options
author | Aleksey 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) |
commit | f93c9de3ff6b7d7f1730c5056b0b4fae9f00a201 (patch) | |
tree | 641506a30fd290471e28bcb35a2f72db898f4693 /src | |
parent | d8b1f926c950a15832dea8183de0befff1cb85f9 (diff) |
Process non-ds object in the right way in Journal #1262
Diffstat (limited to 'src')
-rw-r--r-- | src/jarabe/journal/collapsedentry.py | 2 | ||||
-rw-r--r-- | src/jarabe/journal/expandedentry.py | 41 | ||||
-rw-r--r-- | src/jarabe/journal/model.py | 9 |
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() - |