Esempio n. 1
0
 public void active()
 {
     isActive  = true;
     textColor = ConsoleColor.White;
     _edit.active();
     Console.ForegroundColor = textColor;
     Console.BackgroundColor = ConsoleColor.DarkGray;
     Console.SetCursorPosition(_x + 1, _y + 1);
     Console.Write(Func.strWithLength(_path, _w - 2));
     Border.drawHorizontal(_x + 1, _y + 2, _w - 2, textColor);
 }
Esempio n. 2
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;
        }