controls/FolderTree.py
branchpython3
changeset 3750 f62625418bff
parent 3636 99b20dff00d5
child 3752 9f6f46dbe3ae
equal deleted inserted replaced
3749:fda6c1a37662 3750:f62625418bff
    21 # You should have received a copy of the GNU General Public License
    21 # You should have received a copy of the GNU General Public License
    22 # along with this program; if not, write to the Free Software
    22 # along with this program; if not, write to the Free Software
    23 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
    23 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
    24 
    24 
    25 
    25 
    26 from __future__ import absolute_import
    26 
    27 import os
    27 import os
    28 
    28 
    29 import wx
    29 import wx
    30 from six.moves import xrange
    30 from six.moves import xrange
    31 
    31 
    32 from util.BitmapLibrary import GetBitmap
    32 from util.BitmapLibrary import GetBitmap
    33 
    33 
    34 DRIVE, FOLDER, FILE = range(3)
    34 DRIVE, FOLDER, FILE = list(range(3))
    35 
    35 
    36 
    36 
    37 def sort_folder(x, y):
    37 def sort_folder(x, y):
    38     if x[1] == y[1]:
    38     if x[1] == y[1]:
    39         return cmp(x[0], y[0])
    39         return cmp(x[0], y[0])
    97         self.Tree.SetImageList(self.TreeImageList)
    97         self.Tree.SetImageList(self.TreeImageList)
    98 
    98 
    99         self.Filters = {}
    99         self.Filters = {}
   100         if self.Filter is not None:
   100         if self.Filter is not None:
   101             filter_parts = filter.split("|")
   101             filter_parts = filter.split("|")
   102             for idx in xrange(0, len(filter_parts), 2):
   102             for idx in range(0, len(filter_parts), 2):
   103                 if filter_parts[idx + 1] == "*.*":
   103                 if filter_parts[idx + 1] == "*.*":
   104                     self.Filters[filter_parts[idx]] = ""
   104                     self.Filters[filter_parts[idx]] = ""
   105                 else:
   105                 else:
   106                     self.Filters[filter_parts[idx]] = filter_parts[idx + 1].replace("*", "")
   106                     self.Filters[filter_parts[idx]] = filter_parts[idx + 1].replace("*", "")
   107                 self.Filter.Append(filter_parts[idx])
   107                 self.Filter.Append(filter_parts[idx])
   113             self.CurrentFilter = ""
   113             self.CurrentFilter = ""
   114 
   114 
   115     def _GetFolderChildren(self, folderpath, recursive=True):
   115     def _GetFolderChildren(self, folderpath, recursive=True):
   116         items = []
   116         items = []
   117         if wx.Platform == '__WXMSW__' and folderpath == "/":
   117         if wx.Platform == '__WXMSW__' and folderpath == "/":
   118             for c in xrange(ord('a'), ord('z')):
   118             for c in range(ord('a'), ord('z')):
   119                 drive = os.path.join("%s:\\" % chr(c))
   119                 drive = os.path.join("%s:\\" % chr(c))
   120                 if os.path.exists(drive):
   120                 if os.path.exists(drive):
   121                     items.append((drive, DRIVE, self._GetFolderChildren(drive, False)))
   121                     items.append((drive, DRIVE, self._GetFolderChildren(drive, False)))
   122         else:
   122         else:
   123             try:
   123             try: