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);
 }
Example #2
0
 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;
     }
 }
Example #4
0
        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);
         }
     }
 }
Example #6
0
        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);
     }
 }
Example #8
0
 private static void ddmrGroupButton_ItemMiddleClicked(object sender, ItemRightClickedEventArgs e)
 {
     InstanceManager.GetThreadTabBar().ReplaceByGroup(e.ClickedItem.Text);
 }
Example #9
0
 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();
     }
 }
Example #10
0
 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();
         }
     }
 }
Example #11
0
 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();
         }
     }
 }
Example #12
0
 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();
         }
     }
 }
Example #13
0
 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);
         }
     }
 }
Example #14
0
        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);
     }
 }
Example #17
0
 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.");
         }
     }
 }
Example #18
0
 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;
     }
 }
Example #19
0
 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);
 }
 protected virtual void OnItemMiddleClicked(ItemRightClickedEventArgs e) {
     if(ItemMiddleClicked != null) {
         ItemMiddleClicked(this, e);
         if(e.HRESULT != 0xffff) {
             Close(ToolStripDropDownCloseReason.ItemClicked);
         }
     }
 }
Example #22
0
        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);
 }
Example #24
0
 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);
 }
 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;
     }
 }
Example #26
0
 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);
     }
 }
Example #27
0
 private void ddrmrGroups_ItemMiddleClicked(object sender, ItemRightClickedEventArgs e) {
     ReplaceByGroup(e.ClickedItem.Text);
 }
Example #28
0
 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.");
             }
         }
     }
 }
Example #29
0
 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();
     }
 }
Example #30
0
 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);
     }
 }
Example #31
0
 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;
     }
 }