In olive: currently folders have no status message, while they can be added, unknown, renamed, etc.. I'm not very happy with this solution. We have now 4 times this loop over the possible changes (for files and folders in _load_right and refresh_right). Might as well become a function + calls now.

Jasper
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: [EMAIL PROTECTED]
# target_branch: https://code.launchpad.net/~bzr-gtk/bzr-gtk/trunk
# testament_sha1: 07d9d1bffbf5869a9fc2c1596fddb0e9cfeef6e8
# timestamp: 2008-07-11 23:43:45 +0200
# source_branch: https://code.launchpad.net/~bzr-gtk/bzr-gtk/trunk
# base_revision_id: [EMAIL PROTECTED]
# 
# Begin patch
=== modified file 'olive/__init__.py'
--- olive/__init__.py	2008-07-01 21:56:25 +0000
+++ olive/__init__.py	2008-07-11 21:43:41 +0000
@@ -998,6 +998,55 @@
         
         # Add'em to the ListStore
         for item in dirs:
+            status = 'unknown'
+            fileid = ''
+            if not self.notbranch:
+                filename = self.wt.relpath(self.path + os.sep + item)
+                
+                try:
+                    self.wt.lock_read()
+                    
+                    for rpath, rpathnew, id, kind, text_modified, meta_modified in delta.renamed:
+                        if rpathnew == filename:
+                            status = 'renamed'
+                            fileid = id
+                    for rpath, id, kind in delta.added:
+                        if rpath == filename:
+                            status = 'added'
+                            fileid = id
+                    for rpath, id, kind in delta.removed:
+                        if rpath == filename:
+                            status = 'removed'
+                            fileid = id
+                    for rpath, id, kind, text_modified, meta_modified in delta.modified:
+                        if rpath == filename:
+                            status = 'modified'
+                            fileid = id
+                    for rpath, id, kind in delta.unchanged:
+                        if rpath == filename:
+                            status = 'unchanged'
+                            fileid = id
+                    for rpath, file_class, kind, id, entry in self.wt.list_files():
+                        if rpath == filename and file_class == 'I':
+                            status = 'ignored'
+                finally:
+                    self.wt.unlock()
+            
+            if status == 'renamed':
+                st = _i18n('renamed')
+            elif status == 'removed':
+                st = _i18n('removed')
+            elif status == 'added':
+                st = _i18n('added')
+            elif status == 'modified':
+                st = _i18n('modified')
+            elif status == 'unchanged':
+                st = _i18n('unchanged')
+            elif status == 'ignored':
+                st = _i18n('ignored')
+            else:
+                st = _i18n('unknown')
+            
             try:
                 statinfo = os.stat(self.path + os.sep + item)
             except OSError, e:
@@ -1008,8 +1057,8 @@
             liststore.append([ gtk.STOCK_DIRECTORY,
                                True,
                                item,
-                               '',
-                               '',
+                               st,
+                               status,
                                "<DIR>",
                                "<DIR>",
                                statinfo.st_mtime,
@@ -1303,6 +1352,55 @@
                 
             # Add'em to the ListStore
             for item in dirs:
+                status = 'unknown'
+                fileid = ''
+                if not self.notbranch:
+                    filename = self.wt.relpath(self.path + os.sep + item)
+                    
+                    try:
+                        self.wt.lock_read()
+                        
+                        for rpath, rpathnew, id, kind, text_modified, meta_modified in delta.renamed:
+                            if rpathnew == filename:
+                                status = 'renamed'
+                                fileid = id
+                        for rpath, id, kind in delta.added:
+                            if rpath == filename:
+                                status = 'added'
+                                fileid = id
+                        for rpath, id, kind in delta.removed:
+                            if rpath == filename:
+                                status = 'removed'
+                                fileid = id
+                        for rpath, id, kind, text_modified, meta_modified in delta.modified:
+                            if rpath == filename:
+                                status = 'modified'
+                                fileid = id
+                        for rpath, id, kind in delta.unchanged:
+                            if rpath == filename:
+                                status = 'unchanged'
+                                fileid = id
+                        for rpath, file_class, kind, id, entry in self.wt.list_files():
+                            if rpath == filename and file_class == 'I':
+                                status = 'ignored'
+                    finally:
+                        self.wt.unlock()
+                
+                if status == 'renamed':
+                    st = _i18n('renamed')
+                elif status == 'removed':
+                    st = _i18n('removed')
+                elif status == 'added':
+                    st = _i18n('added')
+                elif status == 'modified':
+                    st = _i18n('modified')
+                elif status == 'unchanged':
+                    st = _i18n('unchanged')
+                elif status == 'ignored':
+                    st = _i18n('ignored')
+                else:
+                    st = _i18n('unknown')
+                    
                 try:
                     statinfo = os.stat(self.path + os.sep + item)
                 except OSError, e:
@@ -1310,16 +1408,16 @@
                         continue
                     else:
                         raise
-                liststore.append([gtk.STOCK_DIRECTORY,
-                                  True,
-                                  item,
-                                  '',
-                                  '',
-                                  "<DIR>",
-                                  "<DIR>",
-                                  statinfo.st_mtime,
-                                  self._format_date(statinfo.st_mtime),
-                                  ''])
+                liststore.append([ gtk.STOCK_DIRECTORY,
+                                   True,
+                                   item,
+                                   st,
+                                   status,
+                                   "<DIR>",
+                                   "<DIR>",
+                                   statinfo.st_mtime,
+                                   self._format_date(statinfo.st_mtime),
+                                   ''])
             for item in files:
                 status = 'unknown'
                 fileid = ''

# Begin bundle
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
42sz3P3CwwJ5v9F3JFOFCQY/ehHA

Attachment: signature.asc
Description: OpenPGP digital signature

-- 
bzr-gtk mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.canonical.com/mailman/listinfo/bzr-gtk

Reply via email to