示例#1
0
 public bool switchTo(string currentFolder)
 {
     if (currentFolder == null || currentFolder.Length == 0)
     {
         return(false);
     }
     if (currentInfoIndex < 0)
     {
         ++currentInfoIndex;
         FolderInfo fi = new FolderInfo();
         info.Add(fi);
         fi.fromCurrentFolder(currentFolder);
         return(true);
     }
     else
     {
         FolderInfo lastInfo = info[currentInfoIndex];
         if (lastInfo.isEqual(currentFolder))
         {
             return(false);
         }
         int splitPathIndexInsideLastInfo = lastInfo.getSplitPathIndexFor(currentFolder);
         ++currentInfoIndex;
         FolderInfo fi = new FolderInfo();
         info.Add(fi);
         if (splitPathIndexInsideLastInfo == -1)
         {
             fi.fromCurrentFolder(currentFolder);
         }
         else
         {
             fi = lastInfo;
             fi.splitPathIndex = splitPathIndexInsideLastInfo;
             fi.currentFolder  = currentFolder;
         }
         return(true);
     }
 }