Esempio n. 1
0
 private void WatcherCreatedFile(object sender, FileSystemEventArgs e)
 {
     if (State.isWatching)
     {
         ConsoleDisplay.files = ConsoleDisplay.CombineArrays(State.currentPath);
         State.cursorPosY     = Array.IndexOf(ConsoleDisplay.files, e.FullPath);
         State.selectedFile   = e.FullPath;
         ConsoleDisplay.Display();
     }
 }
        public ConsoleDisplayChild()
        {
            int originalTop = Console.WindowTop;

            for (int i = 0; i < Console.WindowHeight - 5; i++)
            {
                Console.SetCursorPosition(60, Console.WindowTop + 5 + i);
                Console.Write(new string( ' ', Console.WindowWidth - 64 ));
            }
            try
            {
                if (State.selectedFile != null)
                {
                    FileAttributes attr = File.GetAttributes(State.selectedFile);

                    if ((attr & FileAttributes.Directory) == FileAttributes.Directory)
                    {
                        childFiles = ConsoleDisplay.CombineArrays(State.selectedFile);
                        for (int i = 0; i < childFiles.Length; i++)
                        {
                            Console.SetCursorPosition(60, Console.WindowTop + 5 + i);
                            Console.Write("|     ");
                            if (i + 7 >= Console.WindowHeight)
                            {
                                Console.SetCursorPosition(66, Console.WindowTop + 5 + i);

                                FileAttributes attrChild = File.GetAttributes(childFiles[i]);
                                if ((attrChild & FileAttributes.Directory) == FileAttributes.Directory)
                                {
                                    Console.Write(ConsoleDisplay.ShortenFileName("> " + Path.GetFileName(childFiles[i]), 26) + Path.DirectorySeparatorChar);
                                }
                                else
                                {
                                    Console.Write(ConsoleDisplay.ShortenFileName(Path.GetFileName(childFiles[i]), 26));
                                }
                                Console.SetCursorPosition(66, Console.WindowTop + 6 + i);
                                Console.Write("...");
                                break;
                            }
                            else
                            {
                                Console.SetCursorPosition(66, Console.WindowTop + 5 + i);

                                FileAttributes attrChild = File.GetAttributes(childFiles[i]);
                                if ((attrChild & FileAttributes.Directory) == FileAttributes.Directory)
                                {
                                    Console.Write(ConsoleDisplay.ShortenFileName("> " + Path.GetFileName(childFiles[i]), 26) + Path.DirectorySeparatorChar);
                                }
                                else
                                {
                                    Console.Write(ConsoleDisplay.ShortenFileName(Path.GetFileName(childFiles[i]), 26));
                                }
                            }
                        }
                        if (childFiles.Length == 0 && State.selectedFile != State.currentPath)
                        {
                            Console.SetCursorPosition(66, Console.WindowTop + 5);
                            Console.Write("(empty)");
                        }
                    }
                }
            }
            catch (UnauthorizedAccessException)
            {
                Console.SetCursorPosition(66, Console.WindowTop + 5);
                Console.Write("(Unauthorized access)");
            }
            catch (FileNotFoundException e)
            {
                Tools.DisplayError(e);
            }
            Console.SetWindowPosition(0, originalTop);
        }