Exemple #1
0
        internal void SetSort(FileSortOption option)
        {
            switch (option)
            {
            case FileSortOption.SORT_BY_NAME_LOGICAL:       //0
                window.SortSelect.SelectedIndex = 0;
                break;

            case FileSortOption.SORT_BY_NAME_LOGICAL_DESC:      //1
                window.SortSelect.SelectedIndex = 1;
                break;

            case FileSortOption.SORT_BY_DATE:           //2
                window.SortSelect.SelectedIndex = 2;
                break;

            case FileSortOption.SORT_BY_DATE_DESC:          //3
                window.SortSelect.SelectedIndex = 3;
                break;

            case FileSortOption.SORT_BY_SIZE:       //4
                window.SortSelect.SelectedIndex = 4;
                break;

            case FileSortOption.SORT_BY_SIZE_DESC:      //5
                window.SortSelect.SelectedIndex = 5;
                break;

            default:
                window.SortSelect.SelectedIndex = -1;
                break;
            }
        }
Exemple #2
0
        public static void Sort(ref List <VirtualFileInfo> vs, FileSortOption sortOption)
        {
            switch (sortOption)
            {
            case FileSortOption.SORT_BY_NAME_LOGICAL:
                SortByNameLogical(ref vs);
                break;

            case FileSortOption.SORT_BY_NAME_LOGICAL_DESC:
                SortByNameLogicalDesc(ref vs);
                break;

            case FileSortOption.SORT_BY_NAME:
                SortByName(ref vs);
                break;

            case FileSortOption.SORT_BY_NAME_DESC:
                SortByNameDesc(ref vs);
                break;

            case FileSortOption.SORT_BY_DATE:
                SortByDate(ref vs);
                break;

            case FileSortOption.SORT_BY_DATE_DESC:
                SortByDateDesc(ref vs);
                break;

            case FileSortOption.SORT_BY_SIZE:
                SortBySize(ref vs);
                break;

            case FileSortOption.SORT_BY_SIZE_DESC:
                SortBySizeDesc(ref vs);
                break;
            }
        }
Exemple #3
0
        internal void Open(string path, FileSortOption option)
        {
            try
            {
                BitmapImage upIcon     = window.Resources["UpICON"] as BitmapImage;
                BitmapImage folderIcon = window.Resources["FolderICON"] as BitmapImage;
                BitmapImage gifIcon    = window.Resources["GifICON"] as BitmapImage;
                BitmapImage jpegIcon   = window.Resources["JpegICON"] as BitmapImage;
                BitmapImage pngIcon    = window.Resources["PngICON"] as BitmapImage;
                BitmapImage zipIcon    = window.Resources["ZipICON"] as BitmapImage;
                BitmapImage iconIcon   = window.Resources["IconICON"] as BitmapImage;
                BitmapImage tiffIcon   = window.Resources["TiffICON"] as BitmapImage;
                BitmapImage bmpIcon    = window.Resources["BmpICON"] as BitmapImage;
                BitmapImage driveIcon  = window.Resources["DriveICON"] as BitmapImage;
                string      folder     = loadOption.CurrentFolder;

                window.SetWindowTitle(null);

                SetSort(option);
                System.Collections.IDictionary directory = window.Resources;
                if (path == "drive:")
                {
                    window.FolderLabel.Content = "drive:";
                    DriveList();
                    return;
                }

                string foldername = path != null ? path : loadOption.CurrentFolder;


                if (!Directory.Exists(path))
                {
                    foldername = System.Environment.GetFolderPath(Environment.SpecialFolder.MyPictures);
                }

                window.FolderLabel.Content = foldername;
                VirtualFileList list = new VirtualFileList(loadOption);
                list.ListDirectory(foldername);
                VirtualFileInfo[] dirInfos = list.dirInfos;
                VirtualFileInfo[] infos    = list.infos;
                ItemCollection    items    = window.FilerListBox.Items;

                items.Clear();
                listBoxList.Clear();


                DateTime      date = Directory.GetCreationTime(foldername);
                DirectoryInfo d    = Directory.GetParent(foldername);
                Grid          grid;
                if (d == null)
                {
                    grid = ListGrid(driveIcon, "drive:", date, -1);
                    items.Add(grid);
                    listBoxList.Add("drive:");
                }
                else
                {
                    grid = ListGrid(upIcon, d.Name, date, -1);
                    items.Add(grid);
                    listBoxList.Add(d.FullName);
                }

                if (((int)option & (int)FileSortOption.SORT_DESC) == 1)
                {
                    AddFile(gifIcon, jpegIcon, pngIcon, zipIcon, iconIcon, tiffIcon, bmpIcon, foldername, infos, items, grid);
                    AddFolder(folderIcon, dirInfos, items, grid);
                }
                else
                {
                    AddFolder(folderIcon, dirInfos, items, grid);
                    AddFile(gifIcon, jpegIcon, pngIcon, zipIcon, iconIcon, tiffIcon, bmpIcon, foldername, infos, items, grid);
                }
                int num;

                if (loadOption.CurrentFile != null)
                {
                    num = listBoxList.FindIndex(s => s.Equals(loadOption.CurrentFile));
                    LogWriter.write($"{num} Current File {loadOption.CurrentFile}");
                    LogWriter.write($"{num} Current Folder {loadOption.CurrentFolder}");
                }
                else
                {
                    num = listBoxList.FindIndex(s => s.Equals(folder));
                    LogWriter.write($"{num} Current Folder {folder}");
                }
                if (num < 0)
                {
                    num = 0;
                }
                window.FilerListBox.SelectedIndex = num;
                window.FilerListBox.ScrollIntoView(window.FilerListBox.SelectedItem);
            }
            catch (Exception e)
            {
                LogWriter.write(e.ToString());
            }
        }
Exemple #4
0
 internal void Open(FileSortOption option)
 {
     loadOption.sortOption = option;
     Open(loadOption.CurrentFolder, option);
 }