Attachments you submit will be routed for moderation. If you have an account, please log in first.

Ticket #1262: sugar-1262.patch

File sugar-1262.patch, 5.6 KB (added by alsroot, 4 years ago)
  • src/jarabe/journal/expandedentry.py

    From 0126491a4d4936fd6bfe61d5de9c954b3a82b320 Mon Sep 17 00:00:00 2001
    From: Aleksey Lim <alsroot@member.fsf.org>
    Date: Sun, 6 Sep 2009 11:53:48 +0000
    Subject: Process non-ds object in the right way in Journal #1262
    
    ---
     src/jarabe/journal/expandedentry.py |   41 +++++++++++++++++++++++-----------
     src/jarabe/journal/listview.py      |    8 ++++++
     src/jarabe/journal/model.py         |    9 ++++++-
     3 files changed, 43 insertions(+), 15 deletions(-)
    
    diff --git a/src/jarabe/journal/expandedentry.py b/src/jarabe/journal/expandedentry.py
    index 9c0f922..ff830bf 100644
    a b  
    159159        return icon 
    160160 
    161161    def _create_title(self): 
    162         title = CanvasEntry() 
    163         title.set_background(style.COLOR_WHITE.get_html()) 
    164         title.props.text = self._metadata.get('title', _('Untitled')) 
    165         title.props.widget.connect('focus-out-event', 
    166                                    self._title_focus_out_event_cb) 
    167         return title 
     162        entry = gtk.Entry() 
     163        entry.props.text = self._metadata.get('title', _('Untitled')) 
     164 
     165        bg_color = style.COLOR_WHITE.get_gdk_color() 
     166        entry.modify_bg(gtk.STATE_INSENSITIVE, bg_color) 
     167        entry.modify_base(gtk.STATE_INSENSITIVE, bg_color) 
     168 
     169        entry.props.editable = model.is_editable(self._metadata) 
     170        if entry.props.editable: 
     171            entry.connect('focus-out-event', self._title_focus_out_event_cb) 
     172 
     173        return hippo.CanvasWidget(widget=entry) 
    168174 
    169175    def _create_date(self): 
    170176        date = hippo.CanvasText(xalign=hippo.ALIGNMENT_START, 
     
    297303        vbox.append(text_view, hippo.PACK_EXPAND) 
    298304 
    299305        text_view.text_view_widget.props.accepts_tab = False 
    300         text_view.text_view_widget.connect('focus-out-event', 
    301                                            self._description_focus_out_event_cb) 
     306        editable = model.is_editable(self._metadata) 
     307        if editable: 
     308            text_view.text_view_widget.connect('focus-out-event', 
     309                    self._description_focus_out_event_cb) 
     310        text_view.text_view_widget.props.editable = editable 
    302311 
    303312        return vbox, text_view 
    304313 
     
    322331        vbox.append(text_view, hippo.PACK_EXPAND) 
    323332 
    324333        text_view.text_view_widget.props.accepts_tab = False 
    325         text_view.text_view_widget.connect('focus-out-event', 
    326                                            self._tags_focus_out_event_cb) 
     334        editable = model.is_editable(self._metadata) 
     335        if editable: 
     336            text_view.text_view_widget.connect('focus-out-event', 
     337                    self._tags_focus_out_event_cb) 
     338        text_view.text_view_widget.props.editable = editable 
    327339 
    328340        return vbox, text_view 
    329341 
     
    345357        needs_update = False 
    346358 
    347359        old_title = self._metadata.get('title', None) 
    348         if old_title != self._title.props.text: 
    349             self._icon.palette.props.primary_text = self._title.props.text 
    350             self._metadata['title'] = self._title.props.text 
     360        new_title = self._title.props.widget.props.text 
     361        if old_title != new_title: 
     362            self._icon.palette.props.primary_text = new_title 
     363            self._metadata['title'] = new_title 
    351364            self._metadata['title_set_by_user'] = '1' 
    352365            needs_update = True 
    353366 
     
    373386        return int(self._metadata.get('keep', 0)) == 1 
    374387 
    375388    def _keep_icon_activated_cb(self, keep_icon): 
     389        if not model.is_editable(self._metadata): 
     390            return 
    376391        if self.get_keep(): 
    377392            self._metadata['keep'] = 0 
    378393        else: 
  • src/jarabe/journal/listview.py

    diff --git a/src/jarabe/journal/listview.py b/src/jarabe/journal/listview.py
    index 82e76b0..26f309d 100644
    a b  
    261261    def __favorite_clicked_cb(self, cell, path): 
    262262        row = self._model[path] 
    263263        metadata = model.get(row[ListModel.COLUMN_UID]) 
     264        if not model.is_editable(metadata): 
     265            return 
    264266        if metadata.get('keep', 0) == '1': 
    265267            metadata['keep'] = '0' 
    266268        else: 
     
    310312        else: 
    311313            self._clear_message() 
    312314 
     315        is_editable = False 
     316        mountpoints = self._query.get('mountpoints') 
     317        if mountpoints is not None and len(mountpoints): 
     318            is_editable = mountpoints[0] == '/' 
     319        self.cell_title.props.editable = is_editable 
     320 
    313321    def _is_query_empty(self): 
    314322        # FIXME: This is a hack, we shouldn't have to update this every time 
    315323        # a new search term is added. 
  • src/jarabe/journal/model.py

    diff --git a/src/jarabe/journal/model.py b/src/jarabe/journal/model.py
    index 8ae78d8..f452a7f 100644
    a b  
    371371def _datastore_deleted_cb(object_id): 
    372372    deleted.send(None, object_id=object_id) 
    373373 
    374 def find(query, page_size): 
     374def find(query_, page_size): 
    375375    """Returns a ResultSet 
    376376    """ 
     377    query = query_.copy() 
     378 
    377379    if 'order_by' not in query: 
    378380        query['order_by'] = ['-mtime'] 
    379381 
     
    529531 
    530532    return file_name 
    531533 
     534def is_editable(metadata): 
     535    mountpoint = metadata.get('mountpoint', '/') 
     536    return mountpoint == '/' 
     537 
    532538created = dispatch.Signal() 
    533539updated = dispatch.Signal() 
    534540deleted = dispatch.Signal() 
    535