protected override void OnKeyUp(KeyEventArgs e) { if ((e.KeyCode == Keys.Apps) && (this.ItemRightClicked != null)) { foreach (ToolStripItem item in this.Items) { if (item.Selected) { if ((item is ToolStripMenuItem) && ((ToolStripMenuItem)item).HasDropDownItems) { ((ToolStripMenuItem)item).DropDown.Close(ToolStripDropDownCloseReason.AppFocusChange); } this.CancelClosingAncestors(true, false); ItemRightClickedEventArgs args = new ItemRightClickedEventArgs(item, true, base.PointToScreen(new Point(item.Bounds.X, item.Bounds.Y + item.Height))); this.ItemRightClicked(this, args); this.CancelClosingAncestors(false, (args.HRESULT != 0xffff) && (args.HRESULT != 0xfffd)); break; } } } else if ((e.KeyCode == Keys.Space) && this.fSpaceKeyExecute) { foreach (ToolStripItem item2 in base.Items) { if (item2.Selected) { this.OnItemClicked(new ToolStripItemClickedEventArgs(item2)); return; } } } base.OnKeyUp(e); }
private void subDirTip_MultipleMenuItemsRightClicked(object sender, ItemRightClickedEventArgs e) { if (SubDirTip_MultipleMenuItemsRightClicked != null) { SubDirTip_MultipleMenuItemsRightClicked(sender, e); } }
protected override void OnMouseUp(MouseEventArgs e) { if((fReordered && (ReorderFinished != null)) && (draggingItem != null)) { if(fReorderEnabled) { ReorderFinished(this, new ToolStripItemClickedEventArgs(draggingItem)); } draggingItem = null; } ToolStripItem itemAt = GetItemAt(e.Location); if((!fReordered && (itemAt != null)) && !(itemAt is ToolStripSeparator)) { if(e.Button == MouseButtons.Right) { if(ItemRightClicked != null) { itemAt.Select(); if((itemAt is ToolStripMenuItem) && ((ToolStripMenuItem)itemAt).HasDropDownItems) { ((ToolStripMenuItem)itemAt).DropDown.Close(ToolStripDropDownCloseReason.AppFocusChange); } CancelClosingAncestors(true, false); ItemRightClickedEventArgs args = new ItemRightClickedEventArgs(itemAt, false, e.Location); ItemRightClicked(this, args); CancelClosingAncestors(false, (args.HRESULT != 0xffff) && (args.HRESULT != 0xfffd)); } } else { base.OnMouseUp(e); if(e.Button == MouseButtons.Middle) { OnItemMiddleClicked(new ItemRightClickedEventArgs(itemAt, false, e.Location)); } } } else { fReordered = false; } }
public static void GroupMenu_ItemRightClicked(object sender, ItemRightClickedEventArgs e) { DropDownMenuReorderable reorderable = (DropDownMenuReorderable)sender; string path = TrackGroupContextMenu(e.ClickedItem.Text, e.IsKey ? e.Point : Control.MousePosition, reorderable.Handle); if (!string.IsNullOrEmpty(path)) { Action <QTTabBarClass> open = tabBar => { using (IDLWrapper idlw = new IDLWrapper(path)) { tabBar.OpenNewTabOrWindow(idlw); } }; QTTabBarClass threadBar = InstanceManager.GetThreadTabBar(); if (threadBar != null) { open(threadBar); } else { InstanceManager.InvokeMain(open); } } else { e.HRESULT = 0xfffd; } }
protected virtual void OnItemMiddleClicked(ItemRightClickedEventArgs e) { if(ItemMiddleClicked != null) { ItemMiddleClicked(this, e); if(e.HRESULT != 0xffff) { Close(ToolStripDropDownCloseReason.ItemClicked); } } }
public static void GroupMenu_ItemRightClicked(object sender, ItemRightClickedEventArgs e) { DropDownMenuReorderable reorderable = (DropDownMenuReorderable)sender; string str = TrackGroupContextMenu(e.ClickedItem.Text, e.IsKey ? e.Point : Control.MousePosition, reorderable.Handle); if (!string.IsNullOrEmpty(str)) { QTUtility2.SendCOPYDATASTRUCT(QTUtility.instanceManager.CurrentHandle, (IntPtr)0xf30, str, IntPtr.Zero); } else { e.HRESULT = 0xfffd; } }
private void subDirTip_MultipleMenuItemsRightClicked(object sender, ItemRightClickedEventArgs e) { if(SubDirTip_MultipleMenuItemsRightClicked != null) { SubDirTip_MultipleMenuItemsRightClicked(sender, e); } }
private static void ddmrGroupButton_ItemMiddleClicked(object sender, ItemRightClickedEventArgs e) { InstanceManager.GetThreadTabBar().ReplaceByGroup(e.ClickedItem.Text); }
private void menuitemExecuted_ItemRightClicked(object sender, ItemRightClickedEventArgs e) { using(IDLWrapper wrapper = new IDLWrapper(e.ClickedItem.ToolTipText)) { e.HRESULT = shellContextMenu.Open(wrapper, e.IsKey ? e.Point : MousePosition, ((DropDownMenuReorderable)sender).Handle, true); } if(e.HRESULT == 0xffff) { StaticReg.ExecutedPathsList.Remove(e.ClickedItem.ToolTipText); e.ClickedItem.Dispose(); } }
private void ddmrUndoClose_ItemRightClicked(object sender, ItemRightClickedEventArgs e) { QMenuItem clickedItem = e.ClickedItem as QMenuItem; if(clickedItem != null) { using(IDLWrapper wrapper = new IDLWrapper(clickedItem.Path)) { e.HRESULT = shellContextMenu.Open(wrapper, e.IsKey ? e.Point : MousePosition, ((DropDownMenuReorderable)sender).Handle, true); } if(e.HRESULT == 0xffff) { StaticReg.ClosedTabHistoryList.Remove(clickedItem.Path); e.ClickedItem.Dispose(); } } }
private void ddmrUndoClose_ItemRightClicked(object sender, ItemRightClickedEventArgs e) { QMenuItem clickedItem = e.ClickedItem as QMenuItem; if(clickedItem != null) { using(IDLWrapper wrapper = new IDLWrapper(clickedItem.Path)) { e.HRESULT = ShellMethods.PopUpSystemContextMenu(wrapper, e.IsKey ? e.Point : Control.MousePosition, ref this.iContextMenu2, ((DropDownMenuReorderable)sender).Handle, true); } if(e.HRESULT == 0xffff) { QTUtility.ClosedTabHistoryList.Remove(clickedItem.Path); e.ClickedItem.Dispose(); } } }
private void ddmr45_ItemRightClicked(object sender, ItemRightClickedEventArgs e) { QMenuItem clickedItem = e.ClickedItem as QMenuItem; if(clickedItem != null) { bool fCanRemove = sender == ddmrRecentlyClosed; using(IDLWrapper wrapper = new IDLWrapper(clickedItem.Path)) { e.HRESULT = ShellMethods.PopUpSystemContextMenu(wrapper, e.IsKey ? e.Point : MousePosition, ref iContextMenu2, ((DropDownMenuReorderable)sender).Handle, fCanRemove); } if(fCanRemove && (e.HRESULT == 0xffff)) { QTUtility.ClosedTabHistoryList.Remove(clickedItem.Path); clickedItem.Dispose(); } } }
private void subDirTip_MenuItemRightClicked(object sender, ItemRightClickedEventArgs e) { QMenuItem clickedItem = e.ClickedItem as QMenuItem; if(clickedItem != null) { using(IDLWrapper wrapper = new IDLWrapper(clickedItem.Path)) { e.HRESULT = iContextMenu2_Desktop.Open(wrapper, e.IsKey ? e.Point : MousePosition, ((SubDirTipForm)sender).Handle, false); } } }
private void subDirTip_MenuItemRightClicked(object sender, ItemRightClickedEventArgs e) { // the calling thread can be taskBar or desktop using(IDLWrapper idlw = new IDLWrapper(((QMenuItem)e.ClickedItem).IDL, false)) { if(sender == subDirTip) { e.Result = ShellMethods.PopUpShellContextMenu(idlw, e.IsKey ? e.Point : MousePosition, ref iContextMenu2_Desktop, subDirTip.Handle, false); } else // subDirTip_TB { e.Result = ShellMethods.PopUpShellContextMenu(idlw, e.IsKey ? e.Point : MousePosition, ref iContextMenu2, subDirTip_TB.Handle, false); } if(e.Result == MC.COMMANDID_OPENPARENT) { using(IDLWrapper idlwParent = new IDLWrapper(ShellMethods.GetParentIDL(idlw.PIDL))) { if(idlwParent.Available) { Thread thread = new Thread(OpenTab); thread.SetApartmentState(ApartmentState.STA); thread.IsBackground = true; thread.Start(new object[] {null, ModifierKeys, idlwParent.IDL}); } } } } }
private void dropDownMenues_ItemRightClicked(object sender, ItemRightClickedEventArgs e) { QMenuItem clickedItem = e.ClickedItem as QMenuItem; if(clickedItem == null) { return; } Point pnt = e.IsKey ? e.Point : MousePosition; if(clickedItem.Target == MenuTarget.VirtualFolder) { return; } if(clickedItem.Genre == MenuGenre.Group) { fContextmenuedOnMain_Grp = sender == contextMenu; string str = MenuUtility.TrackGroupContextMenu(e.ClickedItem.Text, pnt, ((DropDownMenuReorderable)sender).Handle); fContextmenuedOnMain_Grp = false; if(!string.IsNullOrEmpty(str)) { OpenTab(new object[] { str, ModifierKeys }); return; } e.HRESULT = 0xfffd; return; } bool fCanRemove = clickedItem.Genre != MenuGenre.Application; using(IDLWrapper wrapper = new IDLWrapper(clickedItem.Path)) { e.HRESULT = ShellMethods.PopUpSystemContextMenu(wrapper, pnt, ref iContextMenu2, ((DropDownMenuReorderable)sender).Handle, fCanRemove); } if(e.HRESULT != 0xffff) { return; } if(clickedItem.Genre == MenuGenre.History) { QTUtility.ClosedTabHistoryList.Remove(clickedItem.Path); UndoClosedItemsList.Remove(clickedItem); try { using(RegistryKey key = Registry.CurrentUser.CreateSubKey(@"Software\Quizo\QTTabBar")) { QTUtility.SaveRecentlyClosed(key); } goto Label_019F; } catch { goto Label_019F; } } if(clickedItem.Genre == MenuGenre.RecentFile) { QTUtility.ExecutedPathsList.Remove(clickedItem.Path); RecentFileItemsList.Remove(clickedItem); try { using(RegistryKey key2 = Registry.CurrentUser.CreateSubKey(@"Software\Quizo\QTTabBar")) { QTUtility.SaveRecentFiles(key2); } } catch { } } Label_019F: clickedItem.Dispose(); }
private void subDirTip_MenuItemRightClicked(object sender, ItemRightClickedEventArgs e) { using(IDLWrapper wrapper = new IDLWrapper(((QMenuItem)e.ClickedItem).Path)) { e.HRESULT = ShellMethods.PopUpSystemContextMenu(wrapper, e.IsKey ? e.Point : MousePosition, ref iContextMenu2, ((SubDirTipForm)sender).Handle, false); } }
private void pluginDropDown_ItemRightClicked(object sender, ItemRightClickedEventArgs e) { ToolStripDropDownItem ownerItem = (ToolStripDropDownItem)((DropDownMenuReorderable)sender).OwnerItem; Plugin plugin; string pluginID = Config.BBar.ActivePluginIDs[((int)ownerItem.Tag).HiWord() - 1]; QTTabBarClass tabbar = InstanceManager.GetThreadTabBar(); if(tabbar != null && tabbar.pluginServer.TryGetPlugin(pluginID, out plugin)) { try { ((IBarDropButton)plugin.Instance).OnDropDownItemClick(e.ClickedItem, MouseButtons.Right); } catch(Exception exception) { PluginManager.HandlePluginException(exception, ExplorerHandle, plugin.PluginInformation.Name, "On dropdown menu is right clicked."); } } }
public static void GroupMenu_ItemRightClicked(object sender, ItemRightClickedEventArgs e) { DropDownMenuReorderable reorderable = (DropDownMenuReorderable)sender; string str = TrackGroupContextMenu(e.ClickedItem.Text, e.IsKey ? e.Point : Control.MousePosition, reorderable.Handle); if(!string.IsNullOrEmpty(str)) { QTUtility2.SendCOPYDATASTRUCT(QTUtility.instanceManager.CurrentHandle, (IntPtr)0xf30, str, IntPtr.Zero); } else { e.HRESULT = 0xfffd; } }
private void subDirTip_MenuItemRightClicked(object sender, ItemRightClickedEventArgs e) { QMenuItem clickedItem = e.ClickedItem as QMenuItem; if(clickedItem != null) { using(IDLWrapper wrapper = new IDLWrapper(clickedItem.Path)) { e.HRESULT = ShellMethods.PopUpSystemContextMenu(wrapper, e.IsKey ? e.Point : Control.MousePosition, ref this.iContextMenu2, ((SubDirTipForm)sender).Handle, false); } } }
private void subDirTip_MultipleMenuItemsRightClicked(object sender, ItemRightClickedEventArgs e) { List<string> executedDirectories = ((SubDirTipForm)sender).ExecutedDirectories; e.HRESULT = ShellMethods.PopUpSystemContextMenu(executedDirectories, e.IsKey ? e.Point : MousePosition, ref iContextMenu2, ((SubDirTipForm)sender).Handle); }
private void dropDowns_ItemRightClicked(object sender, ItemRightClickedEventArgs e) { QMenuItem qmi = e.ClickedItem as QMenuItem; // Is not valid menu item, or Virutal folder, do nothing if(qmi == null || qmi.Target == MenuTarget.VirtualFolder) { // cancel closing. //e.Result = MC.COMMANDID_USERCANCEL; hmm... return; } Point pnt = e.IsKey ? e.Point : MousePosition; if(qmi.Genre == MenuGenre.Group) { // Group MenuUtility.GroupMenu_ItemRightClicked(sender, e); } else { // RecentlyClosed, User apps, Recent files. // menu items can be removed | menu items have idl data // RecentClosedTab Y | Y // User Apps N | N // RecentFiles Y | N bool fCanRemove = qmi.Genre != MenuGenre.Application; const int COMMANDID_REMOVEITEM = 0xffff; // todo: move to const class const int COMMANDID_OPENPARENT = 0xfffe; const int COMMANDID_USERCANCEL = 0xfffd; using( IDLWrapper idlw = qmi.Genre == MenuGenre.History ? new IDLWrapper(qmi.IDLData, false) : new IDLWrapper(qmi.Path)) { e.HRESULT = iContextMenu2.Open(idlw, pnt, ((DropDownMenuReorderable)sender).Handle, fCanRemove); if(e.HRESULT == COMMANDID_OPENPARENT) { using(IDLWrapper idlwParent = idlw.GetParent()) { if(idlwParent.Available) { OpenFolder(idlwParent); } } } else if(e.HRESULT == COMMANDID_REMOVEITEM) { if(qmi.Genre == MenuGenre.History) { StaticReg.ClosedTabHistoryList.Remove(qmi.Path); lstUndoClosedItems.Remove(qmi); } else if(qmi.Genre == MenuGenre.RecentFile) { StaticReg.ClosedTabHistoryList.Remove(qmi.Path); lstRecentFileItems.Remove(qmi); } qmi.Dispose(); } } } }
protected override void OnKeyUp(KeyEventArgs e) { if((e.KeyCode == Keys.Apps) && (ItemRightClicked != null)) { foreach(ToolStripItem item in Items) { if(item.Selected) { if((item is ToolStripMenuItem) && ((ToolStripMenuItem)item).HasDropDownItems) { ((ToolStripMenuItem)item).DropDown.Close(ToolStripDropDownCloseReason.AppFocusChange); } CancelClosingAncestors(true, false); ItemRightClickedEventArgs args = new ItemRightClickedEventArgs(item, true, PointToScreen(new Point(item.Bounds.X, item.Bounds.Y + item.Height))); ItemRightClicked(this, args); CancelClosingAncestors(false, (args.HRESULT != 0xffff) && (args.HRESULT != 0xfffd)); break; } } } else if((e.KeyCode == Keys.Space) && fSpaceKeyExecute) { foreach(ToolStripItem item2 in base.Items) { if(item2.Selected) { OnItemClicked(new ToolStripItemClickedEventArgs(item2)); return; } } } base.OnKeyUp(e); }
private void subDirTip_MultipleMenuItemsRightClicked(object sender, ItemRightClickedEventArgs e) { List<string> executedDirectories = ((SubDirTipForm)sender).ExecutedDirectories; // TODO: Replace ExecutedDirectories with ExecutedIDLs. List<byte[]> executedIDLs = executedDirectories.Select(path => { using(IDLWrapper wrapper = new IDLWrapper(path)) { return wrapper.IDL; } }).ToList(); e.HRESULT = iContextMenu2_Desktop.Open(executedIDLs, e.IsKey ? e.Point : MousePosition, ((SubDirTipForm)sender).Handle); }
private void subDirTip_MultipleMenuItemsRightClicked(object sender, ItemRightClickedEventArgs e) { if(sender == subDirTip) { e.Result = ShellMethods.PopUpShellContextMenu(subDirTip.ExecutedIDLs, e.IsKey ? e.Point : MousePosition, ref iContextMenu2_Desktop, subDirTip.Handle); } else if(sender == subDirTip_TB) { e.Result = ShellMethods.PopUpShellContextMenu(subDirTip_TB.ExecutedIDLs, e.IsKey ? e.Point : MousePosition, ref iContextMenu2, subDirTip_TB.Handle); } }
private void ddrmrGroups_ItemMiddleClicked(object sender, ItemRightClickedEventArgs e) { ReplaceByGroup(e.ClickedItem.Text); }
private void pluginDropDown_ItemRightClicked(object sender, ItemRightClickedEventArgs e) { ToolStripDropDownItem ownerItem = (ToolStripDropDownItem)((DropDownMenuReorderable)sender).OwnerItem; int num = ((int)ownerItem.Tag) - 0x10000; if((PluginManager.ActivatedButtonsOrder.Count > num) && (num > -1)) { Plugin plugin; string pluginID = PluginManager.ActivatedButtonsOrder[num]; if(pluginManager.TryGetPlugin(pluginID, out plugin)) { try { ((IBarDropButton)plugin.Instance).OnDropDownItemClick(e.ClickedItem, MouseButtons.Right); } catch(Exception exception) { PluginManager.HandlePluginException(exception, ExplorerHandle, plugin.PluginInformation.Name, "On dropdown menu is right clicked."); } } } }
private void menuitemExecuted_ItemRightClicked(object sender, ItemRightClickedEventArgs e) { using(IDLWrapper wrapper = new IDLWrapper(e.ClickedItem.ToolTipText)) { e.HRESULT = ShellMethods.PopUpSystemContextMenu(wrapper, e.IsKey ? e.Point : MousePosition, ref iContextMenu2, ((DropDownMenuReorderable)sender).Handle, true); } if(e.HRESULT == 0xffff) { QTUtility.ExecutedPathsList.Remove(e.ClickedItem.ToolTipText); e.ClickedItem.Dispose(); } }
private void ddmrGroupButton_ItemMiddleClicked(object sender, ItemRightClickedEventArgs e) { IntPtr tabBarHandle = QTUtility.instanceManager.GetTabBarHandle(ExplorerHandle); if(tabBarHandle != IntPtr.Zero) { QTUtility2.SendCOPYDATASTRUCT(tabBarHandle, (IntPtr)80, e.ClickedItem.Text, IntPtr.Zero); } }
public static void GroupMenu_ItemRightClicked(object sender, ItemRightClickedEventArgs e) { DropDownMenuReorderable reorderable = (DropDownMenuReorderable)sender; string path = TrackGroupContextMenu(e.ClickedItem.Text, e.IsKey ? e.Point : Control.MousePosition, reorderable.Handle); if(!string.IsNullOrEmpty(path)) { Action<QTTabBarClass> open = tabBar => { using(IDLWrapper idlw = new IDLWrapper(path)) { tabBar.OpenNewTabOrWindow(idlw); } }; QTTabBarClass threadBar = InstanceManager.GetThreadTabBar(); if(threadBar != null) { open(threadBar); } else { InstanceManager.InvokeMain(open); } } else { e.HRESULT = 0xfffd; } }