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 = ""; }
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 } } }
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 } } }
private IWebDriver BuildWebDriver(IBrowserItem browserItem) { var driver = browserItem.GetWebDriver(); driver.Manage().Window.Maximize(); return(driver); }
public ObservableSubscriber(ISubscriber <T> subscriber, IBrowserItem browserItem) { BrowserItem = browserItem; _subscriber = subscriber; _subscriber.DataUpdated += SubscriberDataUpdated; _subscriber.ConnectCompleted += SubscriberConnectCompleted; }
public void EnqueueTask(IBrowserItem task) { lock (this) { tasks.Enqueue(task); wh.Set(); } }
/// <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; }
public TmpLabel(IBrowserItem item) { m_item = item; m_item.onChanged += delegate(object obj, EventArgs e) { Refresh(); }; InitializeComponent(); }
public MyLabel(IBrowserItem label) { m_item = label; m_item.onChanged += new EventHandler(onItemChanged); InitializeComponent(); Font = Program.engine.Font; }
/// <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; }
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); } } }
/// <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 } }
/// <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; }
public void EnqueueTask(IBrowserItem item) { // do nothing }
/// <summary> /// item이 선택되었는지 여부를 알려준다. /// </summary> /// <param name="item">확인하고 싶은 item</param> /// <returns>선택 여부, true면 선택된 상태, false인 경우 선택되지 않은 상태</returns> public bool isSelected(IBrowserItem item) { return(m_Dict.Contains(item)); }
public void EnqueueTask(IBrowserItem item) { Icon icon = Win32.getIcon(item.FullPath); item.Icon = icon; }
public BrowserFactory(IList <IBrowserItem> webDriverItems, IBrowserItem defaultWebDriverItem) { _webDriverItems = webDriverItems; _defaultWebDriverItem = defaultWebDriverItem; }
/// <summary> /// item이 선택되었는지 여부를 알려준다. /// </summary> /// <param name="item">확인하고 싶은 item</param> /// <returns>선택 여부, true면 선택된 상태, false인 경우 선택되지 않은 상태</returns> public bool isSelected(IBrowserItem item) { return m_Dict.Contains(item); }
/// <summary> /// item의 선택을 해제한다. /// </summary> /// <param name="item">선택 해제하고 싶은 item</param> public void removeitem(IBrowserItem item) { m_Dict.Remove(item); item.State = item.State & (~BrowserItemState.Marked); }
/// <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; }
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"); } } }
public void MarkItem(IBrowserItem item) { m_curSelection.MarkItem(item); }
public void EnqueueTask(IBrowserItem task) { lock (tasks) { tasks.Enqueue(task); wh.Set(); } }
/// <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 } }
/// <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(); }