Hmm.. patch caused a crash when olive is started from a branch. The _load_right() method had no ignored_files bool like refresh_right(). Now it does. :)
Sorry for spamming the list so much.

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: c8a759e5769ffd55153884d36dd347bdbb6c382b
# timestamp: 2008-07-13 10:42:43 +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-13 08:41:30 +0000
@@ -308,7 +308,7 @@
                 
                 # We're local
                 try:
-                    self.wt, self.wtpath = WorkingTree.open_containing(path)
+                    self.wt, self.wtpath = WorkingTree.open_containing(os.path.realpath(path))
                 except (bzrerrors.NotBranchError, bzrerrors.NoWorkingTree):
                     self.notbranch = True
                 
@@ -982,6 +982,7 @@
         
         # Fill the appropriate lists
         dotted_files = self.pref.get_preference('dotted_files', 'bool')
+        ignored_files = self.pref.get_preference('ignored_files', 'bool')
         for item in os.listdir(self.path):
             if not dotted_files and item[0] == '.':
                 continue
@@ -998,6 +999,16 @@
         
         # Add'em to the ListStore
         for item in dirs:
+            status = ''
+            st = ''
+            fileid = ''
+            if not self.notbranch:
+                filename = self.wt.relpath(self.path + os.sep + item)
+                    
+                st, status = self.statusmapper(filename, delta)
+                if not ignored_files and status == 'ignored':
+                    continue
+            
             try:
                 statinfo = os.stat(self.path + os.sep + item)
             except OSError, e:
@@ -1008,62 +1019,23 @@
             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'
+            status = ''
+            st = ''
             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')
+                st, status = self.statusmapper(filename, delta)
+                if not ignored_files and status == 'ignored':
+                    continue
             
             try:
                 statinfo = os.stat(self.path + os.sep + item)
@@ -1291,7 +1263,7 @@
             # Try to open the working tree
             notbranch = False
             try:
-                tree1 = WorkingTree.open_containing(path)[0]
+                tree1 = WorkingTree.open_containing(os.path.realpath(path))[0]
             except (bzrerrors.NotBranchError, bzrerrors.NoWorkingTree):
                 notbranch = True
             
@@ -1303,6 +1275,16 @@
                 
             # Add'em to the ListStore
             for item in dirs:
+                status = ''
+                st = ''
+                fileid = ''
+                if not notbranch:
+                    filename = tree1.relpath(os.path.realpath(path) + os.sep + item)
+                    
+                    st, status = self.statusmapper(filename, delta)
+                    if not ignored_files and status == 'ignored':
+                        continue
+                
                 try:
                     statinfo = os.stat(self.path + os.sep + item)
                 except OSError, e:
@@ -1310,67 +1292,26 @@
                         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'
+                status = ''
+                st = ''
                 fileid = ''
                 if not notbranch:
-                    filename = tree1.relpath(path + os.sep + item)
+                    filename = tree1.relpath(os.path.realpath(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')
-                    if not ignored_files:
+                    st, status = self.statusmapper(filename, delta)
+                    if not ignored_files and status == 'ignored':
                         continue
-                else:
-                    st = _i18n('unknown')
                 
                 try:
                     statinfo = os.stat(self.path + os.sep + item)
@@ -1475,6 +1416,53 @@
         # Set sensitivity
         self.set_sensitivity()
 
+    def statusmapper(self, filename, delta):
+        status = 'unknown'
+        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')
+        return st, status
+
     def _harddisks(self):
         """ Returns hard drive letters under Win32. """
         try:

# Begin bundle
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

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