Ejemplo n.º 1
0
        public void AddChar(IBrowser browser, char chr)
        {
            char newChar = Char.ToLower(chr);

            curString += newChar;
            IBrowserItem cur = browser.Cursor;

            if (cur.showName.ToLower().StartsWith(curString))
            {
                return;
            }
            List <IBrowserItem> items = browser.Items;

            foreach (IBrowserItem item in items)
            {
                if (item.showName.ToLower().StartsWith(curString))
                {
                    browser.SelectItem(item);
                    return;
                }
            }
            curString = new string(newChar, 1);
            foreach (IBrowserItem item in items)
            {
                if (item.showName.ToLower().StartsWith(curString))
                {
                    browser.SelectItem(item);
                    return;
                }
            }
            curString = "";
        }
Ejemplo n.º 2
0
 void Work()
 {
     while (true)
     {
         IBrowserItem task = null;
         lock (this)
             if (tasks.Count > 0)
             {
                 task = tasks.Dequeue();
                 if (task == null)
                 {
                     return;
                 }
             }
         if (task != null)
         {
             Thread.Sleep(15);
             Icon icon = Win32.getIcon(task.FullPath);
             task.Icon = icon;
         }
         else
         {
             wh.WaitOne();         // No more tasks - wait for a signal
         }
     }
 }
Ejemplo n.º 3
0
 public void Work(BackgroundWorker report)
 {
     while (true)
     {
         IBrowserItem task = null;
         lock (tasks)
             if (tasks.Count > 0)
             {
                 task = tasks.Dequeue();
                 if (task == null)
                 {
                     return;
                 }
             }
         if (task != null)
         {
             System.Threading.Thread.Sleep(15);
             Icon icon = ShellApi.Win32.getIcon(task.FullPath);
             task.Icon = icon;
             report.ReportProgress(0, task);
         }
         else
         {
             wh.WaitOne();         // No more tasks - wait for a signal
         }
     }
 }
Ejemplo n.º 4
0
        private IWebDriver BuildWebDriver(IBrowserItem browserItem)
        {
            var driver = browserItem.GetWebDriver();

            driver.Manage().Window.Maximize();
            return(driver);
        }
Ejemplo n.º 5
0
 public ObservableSubscriber(ISubscriber <T> subscriber, IBrowserItem browserItem)
 {
     BrowserItem                   = browserItem;
     _subscriber                   = subscriber;
     _subscriber.DataUpdated      += SubscriberDataUpdated;
     _subscriber.ConnectCompleted += SubscriberConnectCompleted;
 }
Ejemplo n.º 6
0
 public void EnqueueTask(IBrowserItem task)
 {
     lock (this)
     {
         tasks.Enqueue(task);
         wh.Set();
     }
 }
Ejemplo n.º 7
0
        /// <summary>
        /// item을 선택한다.
        /// </summary>
        /// <param name="item">선택하고 싶은 item</param>
        public void addItem(IBrowserItem item)
        {
            // Mark할 수 없는 Item인 경우 Mark하지 않는다.
            if ((item.State & BrowserItemState.UnMarkable) == BrowserItemState.UnMarkable)
                return;

            m_Dict.Add(item);
            item.State = item.State | BrowserItemState.Marked;
        }
Ejemplo n.º 8
0
 public TmpLabel(IBrowserItem item)
 {
     m_item            = item;
     m_item.onChanged += delegate(object obj, EventArgs e)
     {
         Refresh();
     };
     InitializeComponent();
 }
Ejemplo n.º 9
0
        public MyLabel(IBrowserItem label)
        {
            m_item = label;

            m_item.onChanged += new EventHandler(onItemChanged);

            InitializeComponent();
            Font = Program.engine.Font;
        }
Ejemplo n.º 10
0
        public MyLabel(IBrowserItem label)
        {
            m_item = label;

            m_item.onChanged += new EventHandler(onItemChanged);

            InitializeComponent();
            Font = Program.engine.Font;
        }
Ejemplo n.º 11
0
        /// <summary>
        /// item을 선택한다.
        /// </summary>
        /// <param name="item">선택하고 싶은 item</param>
        public void addItem(IBrowserItem item)
        {
            // Mark할 수 없는 Item인 경우 Mark하지 않는다.
            if ((item.State & BrowserItemState.UnMarkable) == BrowserItemState.UnMarkable)
            {
                return;
            }

            m_Dict.Add(item);
            item.State = item.State | BrowserItemState.Marked;
        }
Ejemplo n.º 12
0
        private void IconGetter_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            IBrowserItem item = e.UserState as IBrowserItem;

            if (item != null)
            {
                var temp = item.onChanged;
                if (temp != null)
                {
                    temp(item, EventArgs.Empty);
                }
            }
        }
Ejemplo n.º 13
0
 /// <summary>
 /// 특정 IBrowserItem 객체를 커서로 지정한다.
 /// </summary>
 /// <param name="item">커서로 지정하고자 하는 객체</param>
 public void SelectItem(IBrowserItem item)
 {
     if (Cursor == item)
     {
         return;
     }
     try
     {
         int curpos = m_ItemList.FindIndex(delegate(IBrowserItem it)
         {
             return(it == item);
         });
         CursorIndex = curpos;
     }
     catch (System.ArgumentNullException EE)
     {
         MessageBox.Show(EE.Message);
         // ignore
     }
 }
Ejemplo n.º 14
0
        /// <summary>
        /// item이 선택되어 있으면 해제하고, 그렇지 않은 경우 선택한다.
        /// </summary>
        /// <param name="item">선택/해제하고 싶은 item</param>
        public void MarkItem(IBrowserItem item)
        {
            // Mark할 수 없는 Item인 경우 Mark하지 않는다.
            if (item.State.HasFlag(BrowserItemState.UnMarkable))
            {
                return;
            }

            // 이미 Mark된 경우 해제하고, 안그런 경우 선택한다.
            if (item.State.HasFlag(BrowserItemState.Marked))
            {
                m_Dict.Remove(item);
            }
            else
            {
                m_Dict.Add(item);
            }

            // Mark flag값을 XOR해준다.
            item.State = item.State ^ BrowserItemState.Marked;
        }
Ejemplo n.º 15
0
 public void EnqueueTask(IBrowserItem item)
 {
     // do nothing
 }
Ejemplo n.º 16
0
 /// <summary>
 /// item이 선택되었는지 여부를 알려준다.
 /// </summary>
 /// <param name="item">확인하고 싶은 item</param>
 /// <returns>선택 여부, true면 선택된 상태, false인 경우 선택되지 않은 상태</returns>
 public bool isSelected(IBrowserItem item)
 {
     return(m_Dict.Contains(item));
 }
Ejemplo n.º 17
0
 public void EnqueueTask(IBrowserItem item)
 {
     Icon icon = Win32.getIcon(item.FullPath);
     item.Icon = icon;
 }
Ejemplo n.º 18
0
 public BrowserFactory(IList <IBrowserItem> webDriverItems, IBrowserItem defaultWebDriverItem)
 {
     _webDriverItems       = webDriverItems;
     _defaultWebDriverItem = defaultWebDriverItem;
 }
Ejemplo n.º 19
0
 public TmpLabel(IBrowserItem item)
 {
     m_item = item;
     m_item.onChanged += delegate(object obj, EventArgs e)
     {
         Refresh();
     };
     InitializeComponent();
 }
Ejemplo n.º 20
0
 public void EnqueueTask(IBrowserItem item)
 {
     // do nothing
 }
Ejemplo n.º 21
0
        public void EnqueueTask(IBrowserItem item)
        {
            Icon icon = Win32.getIcon(item.FullPath);

            item.Icon = icon;
        }
Ejemplo n.º 22
0
 /// <summary>
 /// item이 선택되었는지 여부를 알려준다.
 /// </summary>
 /// <param name="item">확인하고 싶은 item</param>
 /// <returns>선택 여부, true면 선택된 상태, false인 경우 선택되지 않은 상태</returns>
 public bool isSelected(IBrowserItem item)
 {
     return m_Dict.Contains(item);
 }
Ejemplo n.º 23
0
 /// <summary>
 /// item의 선택을 해제한다.
 /// </summary>
 /// <param name="item">선택 해제하고 싶은 item</param>
 public void removeitem(IBrowserItem item)
 {
     m_Dict.Remove(item);
     item.State = item.State & (~BrowserItemState.Marked);
 }
Ejemplo n.º 24
0
        /// <summary>
        /// item이 선택되어 있으면 해제하고, 그렇지 않은 경우 선택한다.
        /// </summary>
        /// <param name="item">선택/해제하고 싶은 item</param>
        public void MarkItem(IBrowserItem item)
        {
            // Mark할 수 없는 Item인 경우 Mark하지 않는다.
            if ((item.State & BrowserItemState.UnMarkable) == BrowserItemState.UnMarkable)
                return;

            // 이미 Mark된 경우 해제하고, 안그런 경우 선택한다.
            if ((item.State & BrowserItemState.Marked) == BrowserItemState.Marked)
            {
                m_Dict.Remove(item);
            }
            else
            {
                m_Dict.Add(item);
            }

            // Mark flag값을 XOR해준다.
            item.State = item.State ^ BrowserItemState.Marked;
        }
Ejemplo n.º 25
0
        private void _RunCommand(string cmd)
        {
            string vimpath      = @"C:\Program Files (x86)\Vim\vim73\gvim.exe";
            string explorerpath = @"C:\Windows\explorer.exe";
            string daemonpath   = @"C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe";

            switch (cmd)
            {
            case "edit this":
            {
                FileInfo     file = new FileInfo(vimpath);
                IBrowserItem item = getComponent <IBrowser>().Cursor;
                Win32.SHExecute(file, "\"" + item.FullPath + "\"", false);
                return;
            }

            case "sudo edit this":
            {
                FileInfo     file = new FileInfo(vimpath);
                IBrowserItem item = getComponent <IBrowser>().Cursor;
                Win32.SHExecute(file, "\"" + item.FullPath + "\"", true);
                return;
            }

            case "explore here":
            {
                FileInfo      file = new FileInfo(explorerpath);
                DirectoryInfo dir  = getComponent <IBrowser>().CurrentDir;

                Win32.SHExecute(file, dir.FullName, false);
                return;
            }

            case "select this":
            {
                IBrowser browser = getComponent <IBrowser>();
                browser.MarkItem(browser.Cursor);
                return;
            }

            case "select all":
            {
                IBrowser            browser = getComponent <IBrowser>();
                List <IBrowserItem> items   = browser.Items;
                Selection           sel     = browser.Selection;
                foreach (IBrowserItem item in items)
                {
                    sel.addItem(item);
                }
                return;
            }

            case "alt-u":
            {
                IBrowser browser = getComponent <IBrowser>();
                if (browser.Selection.Count > 0)
                {
                    browser.Selection.clear();
                }
                else
                {
                    RunCommand("select all");
                }
                return;
            }

            case "refresh":
            {
                getComponent <IBrowser>().Refresh();
                return;
            }

            case "delete silent":
            {
                DeleteFiles(true);
                return;
            }

            case "delete":
            {
                DeleteFiles(false);
                return;
            }

            case "mount this":
            {
                FileInfo     file = new FileInfo(daemonpath);
                IBrowserItem item = getComponent <IBrowser>().Cursor;
                Win32.SHExecute(file, "-mount 0," + item.FullPath, false);
                return;
            }

            case "!cmd":
            case "!":
            case "cmd":
            {
                Win32.SHExecute("cmd", "", false);
                return;
            }

            case "paste":
            {
                Paste();
                return;
            }

            case "cut selected":
            {
                SetDropFileList(true);
                return;
            }

            case "copy selected":
            {
                SetDropFileList(false);
                return;
            }

            case "goroot":
            {
                getComponent <IBrowser>().CurrentDir = getComponent <IBrowser>().CurrentDir.Root;
                return;
            }

            case "test":
            {
                var temp = UINotify;
                if (temp != null)
                {
                    temp(this, new Notification.NotifyArgs("Asdfnews"));
                }
                return;
            }

            case "gc":
            {
                GC.Collect();
                GC.WaitForPendingFinalizers();
                GC.Collect();
                return;
            }

            case "set":     // FIXME: temporary
            {
                getComponent <Components.Config.IConfig>()["Font"] = "FixedSys, 12pt";
                return;
            }

            default:
            {
                if (cmd.StartsWith("notify ", true, null))
                {
                    string msg = cmd.Substring(7);
                    throw new Exception(msg);
                }
                if (cmd.StartsWith("mkdir ", true, null))
                {
                    string dirName = cmd.Substring(6);
                    Directory.CreateDirectory(getComponent <IBrowser>().CurrentDir.FullName + "\\" + dirName);
                    getComponent <IBrowser>().Refresh();
                    return;
                }
                if (cmd.StartsWith("cd ", true, null))
                {
                    getComponent <IBrowser>().CurrentDir = new DirectoryInfo(cmd.Substring(3));
                    return;
                }
                if (cmd.StartsWith("open ", true, null))
                {
                    getComponent <IBrowser>().CurrentDir = new DirectoryInfo(cmd.Substring(5));
                    return;
                }
                if (cmd.StartsWith("select ", true, null))
                {
                    IBrowser     browser = getComponent <IBrowser>();
                    string       tmp     = cmd.Substring(7);
                    IBrowserItem selItem;
                    selItem = browser.Items.Find(delegate(IBrowserItem item)
                        {
                            return(item.showName == tmp);
                        });
                    if (selItem == null)
                    {
                        throw new FileNotFoundException();
                    }
                    browser.Selection.addItem(selItem);
                    return;
                }
                if (cmd.StartsWith("rename ", true, null))
                {
                    string   newFilename = cmd.Substring(7);
                    IBrowser browser     = getComponent <IBrowser>();
                    browser.Cursor.accept(new RenameVisitor(this, newFilename));
                    browser.Refresh();
                    return;
                }
                if (cmd.StartsWith("save"))
                {
                    string vv = cmd.Substring(4);
                    getComponent <Components.Config.IConfig>()["Bookmark" + vv] = getComponent <IBrowser>().CurrentDir.FullName;
                    return;
                }
                if (cmd.StartsWith("load"))
                {
                    string vv = cmd.Substring(4);
                    getComponent <IBrowser>().CurrentDir = new DirectoryInfo(getComponent <Components.Config.IConfig>()["Bookmark" + vv]);
                    return;
                }
                if (cmd.StartsWith("new "))
                {
                    string vv = cmd.Substring(4);
                    File.Create(getComponent <IBrowser>().CurrentDir.FullName + "\\" + vv).Close();
                    getComponent <IBrowser>().Refresh();
                    return;
                }
                throw new NotImplementedException("Operation " + cmd + " is not implemented");
            }
            }
        }
Ejemplo n.º 26
0
 public void MarkItem(IBrowserItem item)
 {
     m_curSelection.MarkItem(item);
 }
Ejemplo n.º 27
0
 public void EnqueueTask(IBrowserItem task)
 {
     lock (tasks)
     {
         tasks.Enqueue(task);
         wh.Set();
     }
 }
Ejemplo n.º 28
0
 /// <summary>
 /// item의 선택을 해제한다.
 /// </summary>
 /// <param name="item">선택 해제하고 싶은 item</param>
 public void removeitem(IBrowserItem item)
 {
     m_Dict.Remove(item);
     item.State = item.State & (~BrowserItemState.Marked);
 }
Ejemplo n.º 29
0
 public void MarkItem(IBrowserItem item)
 {
     m_curSelection.MarkItem(item);
 }
Ejemplo n.º 30
0
 /// <summary>
 /// 특정 IBrowserItem 객체를 커서로 지정한다.
 /// </summary>
 /// <param name="item">커서로 지정하고자 하는 객체</param>
 public void SelectItem(IBrowserItem item)
 {
     if (Cursor == item) return;
     try
     {
         int curpos = m_ItemList.FindIndex(delegate(IBrowserItem it)
         {
             return it == item;
         });
         CursorIndex = curpos;
     }
     catch (System.ArgumentNullException EE)
     {
         MessageBox.Show(EE.Message);
         // ignore
     }
 }
Ejemplo n.º 31
0
        /// <summary>
        /// Run Console Command
        /// </summary>
        /// <param name="cmd">Command wanna be run</param>
        /// <remarks>Command should be valid</remarks>
        /// <exception cref="NotImplementedException">Command is not recognized nor implemented</exception>
        public void RunCommand(string cmd)
        {
            string vimpath      = @"C:\Program Files (x86)\Vim\vim72\gvim.exe";
            string explorerpath = @"C:\Windows\explorer.exe";
            string daemonpath   = @"C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe";

            if (cmd == "edit this")
            {
                FileInfo     file = new FileInfo(vimpath);
                IBrowserItem item = Browser.Cursor;
                Win32.SHExecute(file, "\"" + item.FullPath + "\"", false);
                return;
            }
            if (cmd == "sudo edit this")
            {
                FileInfo     file = new FileInfo(vimpath);
                IBrowserItem item = Browser.Cursor;
                Win32.SHExecute(file, "\"" + item.FullPath + "\"", true);
                return;
            }
            if (cmd == "explore here")
            {
                FileInfo      file = new FileInfo(explorerpath);
                DirectoryInfo dir  = Browser.CurrentDir;

                Win32.SHExecute(file, dir.FullName, false);
                return;
            }
            if (cmd == "save 1 here")
            {
                object[] args = new object[3];
                args[0] = "save";
                args[1] = 1;
                args[2] = Browser.CurrentDir;
                DynamicConfig.execute(args);
                return;
            }
            if (cmd == "load 1")
            {
                object[] args = new object[2];
                args[0] = "load";
                args[1] = 1;
                DynamicConfig.execute(args);
                return;
            }
            if (cmd == "select this")
            {
                Browser.MarkItem(Browser.Cursor);
                return;
            }
            if (cmd == "select all")
            {
                List <IBrowserItem> items = Browser.Items;
                Selection           sel   = Browser.Selection;
                foreach (IBrowserItem item in items)
                {
                    sel.addItem(item);
                }
                return;
            }
            if (cmd.StartsWith("open ", true, null))
            {
                Browser.CurrentDir = new DirectoryInfo(cmd.Substring(5));
                return;
            }
            if (cmd == "refresh")
            {
                Browser.Refresh();
                return;
            }
            if (cmd == "delete")
            {
                DeleteFiles();
                return;
            }
            if (cmd == "mount this")
            {
                FileInfo     file = new FileInfo(daemonpath);
                IBrowserItem item = Browser.Cursor;
                Win32.SHExecute(file, "-mount 0," + item.FullPath, false);
                return;
            }
            if (cmd == "!cmd" || cmd == "!")
            {
                Win32.SHExecute("cmd", "", false);
                return;
            }
            if (cmd == "paste")
            {
                Paste();
                return;
            }
            if (cmd == "cut selected")
            {
                SetDropFileList(true);
                return;
            }
            if (cmd == "copy selected")
            {
                SetDropFileList(false);
                return;
            }
            if (cmd == "goroot")
            {
                Browser.CurrentDir = Browser.CurrentDir.Root;
                return;
            }
            throw new NotImplementedException();
        }