Esempio n. 1
0
 public DirectoryContent(int x, int y, int width, int height)
 {
     _searchEdit = null;
     isCopyDir   = false;
     copy        = null;
     isCut       = false;
     this._x     = x;
     this._y     = y;
     this._w     = width;
     this._h     = height;
     children    = new ArrayList();
     _edit       = new EditControl(x, y, width, height);
     _counter++;
     textColor = ConsoleColor.Gray;
     isActive  = false;
     _path     = "";
     curY      = 0;
     maxY      = 0;
     Console.SetCursorPosition(1, Console.WindowHeight - 1);
 }
 public DirectoryContent(int x, int y, int width, int height)
 {
     _searchEdit = null;
     isCopyDir = false;
     copy = null;
     isCut = false;
     this._x = x;
     this._y = y;
     this._w = width;
     this._h = height;
     children = new ArrayList();
     _edit = new EditControl(x, y, width, height);
     _counter++;
     textColor = ConsoleColor.Gray;
     isActive = false;
     _path = "";
     curY = 0;
     maxY = 0;
     Console.SetCursorPosition(1, Console.WindowHeight - 1);
 }
Esempio n. 3
0
        public void findKeyProc(ArrayList files, ArrayList dirs)
        {
            if (_searchEdit != null)
            {
                _searchEdit.destruct();
            }
            _searchEdit = new EditControl(15, 15, Console.WindowWidth - 30, Console.WindowHeight - 30);


            _searchEdit.active();
            foreach (DirectoryInfo file in dirs)
            {
                _searchEdit.addChild(Func.getDirStr(file.FullName, Console.WindowWidth - 32));
            }
            foreach (FileInfo file in files)
            {
                _searchEdit.addChild(Func.getFileStr(file.FullName, Console.WindowWidth - 32));
            }


            Console.SetCursorPosition(16, 16);
            Console.Write(Func.strWithLength("Search results", Console.WindowWidth - 32));
            Console.SetCursorPosition(16, 17);
            Console.Write(new string(' ', Console.WindowWidth - 32));
            Console.SetCursorPosition(15, Console.WindowHeight - 15);
            Console.BackgroundColor = ConsoleColor.DarkYellow;
            Console.ForegroundColor = ConsoleColor.Black;
            Console.Write(Func.strWithLength("F12 - open parent filder | ESC - close", Console.WindowWidth - 30));
            int curY = 0;

            _searchEdit.activate(curY);
            ConsoleKeyInfo key;
            bool           isEscape = false;

            while (true)
            {
                key = Console.ReadKey();
                switch (key.Key)
                {
                case ConsoleKey.Enter:
                {
                    if (curY < dirs.Count)
                    {
                        setPath(((DirectoryInfo)dirs[curY]).FullName);
                    }
                    else
                    {
                        System.Diagnostics.Process.Start(((FileInfo)files[curY - dirs.Count]).Directory.FullName);
                    }
                    isEscape = true;
                    break;
                }

                case ConsoleKey.Escape:
                {
                    isEscape = true;
                    break;
                }

                case ConsoleKey.UpArrow:
                {
                    if (curY - 1 >= 0)
                    {
                        _searchEdit.deActivate(curY);
                        curY--;
                        _searchEdit.activate(curY);
                    }
                    break;
                }

                case ConsoleKey.DownArrow:
                {
                    if (curY + 1 < dirs.Count + files.Count)
                    {
                        _searchEdit.deActivate(curY);
                        curY++;
                        _searchEdit.activate(curY);
                    }
                    break;
                }

                case ConsoleKey.F12:
                {
                    if (curY < dirs.Count)
                    {
                        setPath(((DirectoryInfo)dirs[curY]).Parent.FullName);
                    }
                    else
                    {
                        setPath(((FileInfo)files[curY - dirs.Count]).Directory.FullName);
                    }
                    isEscape = true;
                    break;
                }
                }
                Console.SetCursorPosition(0, Console.WindowHeight - 1);
                if (isEscape)
                {
                    break;
                }
            }

            _searchEdit.destruct();
            _searchEdit = null;
        }
        public void findKeyProc(ArrayList files,ArrayList dirs)
        {
            if (_searchEdit != null) _searchEdit.destruct();
            _searchEdit = new EditControl(15, 15, Console.WindowWidth - 30, Console.WindowHeight - 30);

            _searchEdit.active();
            foreach (DirectoryInfo file in dirs)
                _searchEdit.addChild(Func.getDirStr(file.FullName, Console.WindowWidth - 32));
            foreach (FileInfo file in files)
                _searchEdit.addChild(Func.getFileStr(file.FullName, Console.WindowWidth - 32));

            Console.SetCursorPosition(16, 16);
            Console.Write(Func.strWithLength("Search results",Console.WindowWidth-32));
            Console.SetCursorPosition(16, 17);
            Console.Write(new string(' ',Console.WindowWidth-32));
            Console.SetCursorPosition(15, Console.WindowHeight - 15);
            Console.BackgroundColor = ConsoleColor.DarkYellow;
            Console.ForegroundColor = ConsoleColor.Black;
            Console.Write(Func.strWithLength("F12 - open parent filder | ESC - close",Console.WindowWidth-30));
            int curY=0;
            _searchEdit.activate(curY);
            ConsoleKeyInfo key;
            bool isEscape = false;
            while (true)
            {
                key=Console.ReadKey();
                switch (key.Key)
                {
                    case ConsoleKey.Enter:
                        {
                            if (curY < dirs.Count) setPath(((DirectoryInfo)dirs[curY]).FullName);
                            else System.Diagnostics.Process.Start(((FileInfo)files[curY - dirs.Count]).Directory.FullName);
                            isEscape = true;
                            break;
                        }
                    case ConsoleKey.Escape:
                        {
                            isEscape = true;
                            break;
                        }
                    case ConsoleKey.UpArrow:
                        {
                            if (curY - 1 >= 0)
                            {
                                _searchEdit.deActivate(curY);
                                curY--;
                                _searchEdit.activate(curY);
                            }
                            break;
                        }
                    case ConsoleKey.DownArrow:
                        {
                            if (curY + 1 < dirs.Count + files.Count)
                            {
                                _searchEdit.deActivate(curY);
                                curY++;
                                _searchEdit.activate(curY);
                            }
                            break;
                        }
                    case ConsoleKey.F12:
                        {
                            if (curY < dirs.Count) setPath(((DirectoryInfo)dirs[curY]).Parent.FullName);
                            else setPath(((FileInfo)files[curY-dirs.Count]).Directory.FullName);
                            isEscape = true;
                            break;
                        }
                }
                Console.SetCursorPosition(0, Console.WindowHeight - 1);
                if (isEscape) break;
            }

            _searchEdit.destruct();
            _searchEdit = null;
        }