Esempio n. 1
0
        public override ContextMenuStrip GetContextMenu(ItemContextMenuRequestEventArgs requestEventArgs)
        {
            ContextMenuStrip menu = null;

            if (requestEventArgs.Column != null)
            {
                switch ((ColumnId)requestEventArgs.SubItemId)
                {
                case ColumnId.Graph:
                    var ncid = ListBox.GetNextVisibleColumnIndex(requestEventArgs.ColumnIndex);
                    if (ncid >= 0 && ncid < ListBox.Columns.Count)
                    {
                        var column = ListBox.Columns[ncid];
                        if (IsAlignToGraphEnabled(column))
                        {
                            return(GetContextMenu(new ItemContextMenuRequestEventArgs(
                                                      requestEventArgs.Item, column, ncid,
                                                      requestEventArgs.X, requestEventArgs.Y)));
                        }
                    }
                    break;

                case ColumnId.Name:
                case ColumnId.Subject:
                    menu = PointerBounds.GetContextMenu(_drawnPointers, requestEventArgs.X, requestEventArgs.Y);
                    break;
                }
            }
            if (menu == null)
            {
                menu = new RevisionMenu(DataContext);
            }
            Utility.MarkDropDownForAutoDispose(menu);
            return(menu);
        }
Esempio n. 2
0
        /// <summary>Gets the context menu.</summary>
        /// <param name="requestEventArgs">Request parameters.</param>
        /// <returns>Context menu for specified location.</returns>
        public override ContextMenuStrip GetContextMenu(ItemContextMenuRequestEventArgs requestEventArgs)
        {
            ContextMenuStrip menu = null;

            if (Repository != null)
            {
                menu = new ContextMenuStrip();
                menu.Items.Add(GuiItemFactory.GetRefreshReferencesItem <ToolStripMenuItem>(Repository, DataContext, Resources.StrRefresh));
                switch (DataContext)
                {
                case ReferenceType.LocalBranch:
                    menu.Items.Add(GuiItemFactory.GetCreateBranchItem <ToolStripMenuItem>(Repository));
                    break;

                case ReferenceType.RemoteBranch:
                    menu.Items.Add(GuiItemFactory.GetAddRemoteItem <ToolStripMenuItem>(Repository));
                    break;

                case ReferenceType.Tag:
                    menu.Items.Add(GuiItemFactory.GetCreateTagItem <ToolStripMenuItem>(Repository));
                    break;
                }
            }
            if (menu != null)
            {
                Utility.MarkDropDownForAutoDispose(menu);
            }
            return(menu);
        }
Esempio n. 3
0
        public override ContextMenuStrip GetContextMenu(ItemContextMenuRequestEventArgs requestEventArgs)
        {
            var menu = new RecentRepositoryMenu(this);

            Utility.MarkDropDownForAutoDispose(menu);
            return(menu);
        }
        public override ContextMenuStrip GetContextMenu(ItemContextMenuRequestEventArgs requestEventArgs)
        {
            var menu = new RedmineMenu(WorkingEnvironment, GuiProvider);

            Utility.MarkDropDownForAutoDispose(menu);
            return(menu);
        }
Esempio n. 5
0
        public override ContextMenuStrip GetContextMenu(ItemContextMenuRequestEventArgs requestEventArgs)
        {
            var menu = new ConfigParameterMenu(this);

            Utility.MarkDropDownForAutoDispose(menu);
            return(menu);
        }
Esempio n. 6
0
        public override ContextMenuStrip GetContextMenu(ItemContextMenuRequestEventArgs requestEventArgs)
        {
            var menu = new BranchMenu(DataContext);

            Utility.MarkDropDownForAutoDispose(menu);
            return(menu);
        }
Esempio n. 7
0
        private void InvokeItemContextMenuRequested(ItemContextMenuRequestEventArgs e)
        {
            var handler = ItemContextMenuRequested;

            if (handler != null)
            {
                handler(this, e);
            }
        }
Esempio n. 8
0
 public override ContextMenuStrip GetContextMenu(ItemContextMenuRequestEventArgs requestEventArgs)
 {
     if(Repository != null)
     {
         var menu = new StashMenu(Repository);
         Utility.MarkDropDownForAutoDispose(menu);
         return menu;
     }
     else
     {
         return null;
     }
 }
Esempio n. 9
0
 public override ContextMenuStrip GetContextMenu(ItemContextMenuRequestEventArgs requestEventArgs)
 {
     if (Repository != null)
     {
         var menu = new StashMenu(Repository);
         Utility.MarkDropDownForAutoDispose(menu);
         return(menu);
     }
     else
     {
         return(null);
     }
 }
Esempio n. 10
0
 public override ContextMenuStrip GetContextMenu(ItemContextMenuRequestEventArgs requestEventArgs)
 {
     if (DataContext.Status == FileStatus.Unmerged)
     {
         var mnu = new ConflictedFileMenu(DataContext);
         Utility.MarkDropDownForAutoDispose(mnu);
         return(mnu);
     }
     else
     {
         return(base.GetContextMenu(requestEventArgs));
     }
 }
Esempio n. 11
0
 public override ContextMenuStrip GetContextMenu(ItemContextMenuRequestEventArgs requestEventArgs)
 {
     if(_repository != null)
     {
         var menu = new ContextMenuStrip();
         var item = new ToolStripMenuItem(
             Resources.StrAddService.AddEllipsis(), null,
             (s, e) => ShowAddServiceDialog());
         menu.Items.Add(item);
         Utility.MarkDropDownForAutoDispose(menu);
         return menu;
     }
     return base.GetContextMenu(requestEventArgs);
 }
Esempio n. 12
0
 public override ContextMenuStrip GetContextMenu(ItemContextMenuRequestEventArgs requestEventArgs)
 {
     if (_repository != null)
     {
         var menu = new ContextMenuStrip();
         var item = new ToolStripMenuItem(
             Resources.StrAddService.AddEllipsis(), null,
             (s, e) => ShowAddServiceDialog());
         menu.Items.Add(item);
         Utility.MarkDropDownForAutoDispose(menu);
         return(menu);
     }
     return(base.GetContextMenu(requestEventArgs));
 }
Esempio n. 13
0
        /// <summary>Gets the context menu.</summary>
        /// <param name="requestEventArgs">Request parameters.</param>
        /// <returns>Context menu for specified location.</returns>
        public override ContextMenuStrip GetContextMenu(ItemContextMenuRequestEventArgs requestEventArgs)
        {
            ContextMenuStrip menu = null;

            switch ((ColumnId)requestEventArgs.SubItemId)
            {
            case ColumnId.Subject:
                menu = PointerBounds.GetContextMenu(_drawnPointers, requestEventArgs.X, requestEventArgs.Y);
                break;
            }
            if (menu == null)
            {
                menu = new ReflogRecordMenu(DataContext);
            }
            Utility.MarkDropDownForAutoDispose(menu);
            return(menu);
        }
Esempio n. 14
0
        /// <summary>Gets the context menu.</summary>
        /// <param name="requestEventArgs">Request parameters.</param>
        /// <returns>Context menu for specified location.</returns>
        public override ContextMenuStrip GetContextMenu(ItemContextMenuRequestEventArgs requestEventArgs)
        {
            ContextMenuStrip menu = null;

            switch (Type)
            {
            case FakeRevisionItemType.UnstagedChanges:
                menu = new UnstagedChangesMenu(Repository);
                break;

            case FakeRevisionItemType.StagedChanges:
                menu = new StagedChangesMenu(Repository);
                break;
            }
            if (menu != null)
            {
                Utility.MarkDropDownForAutoDispose(menu);
            }
            return(menu);
        }
Esempio n. 15
0
 /// <summary>Gets the context menu.</summary>
 /// <param name="requestEventArgs">Request parameters.</param>
 /// <returns>Context menu for specified location.</returns>
 public override ContextMenuStrip GetContextMenu(ItemContextMenuRequestEventArgs requestEventArgs)
 {
     if (Repository != null)
     {
         var menu = new ContextMenuStrip();
         menu.Items.AddRange(
             new ToolStripItem[]
         {
             GuiItemFactory.GetOpenUrlItem <ToolStripMenuItem>(Resources.StrOpenInWindowsExplorer, null, Repository.WorkingDirectory),
             GuiItemFactory.GetOpenCmdAtItem <ToolStripMenuItem>(Resources.StrOpenCommandLine, null, Repository.WorkingDirectory),
             new ToolStripSeparator(),
             GuiItemFactory.GetExpandAllItem <ToolStripMenuItem>(requestEventArgs.Item),
             GuiItemFactory.GetCollapseAllItem <ToolStripMenuItem>(requestEventArgs.Item),
         });
         Utility.MarkDropDownForAutoDispose(menu);
         return(menu);
     }
     else
     {
         return(null);
     }
 }
Esempio n. 16
0
        public override ContextMenuStrip GetContextMenu(ItemContextMenuRequestEventArgs requestEventArgs)
        {
            ContextMenuStrip menu = null;
            var branch            = DataContext as RemoteRepositoryBranch;

            if (branch != null)
            {
                menu = new RemoteBranchMenu(branch);
            }
            else
            {
                var tag = DataContext as RemoteRepositoryTag;
                if (tag != null)
                {
                    menu = new RemoteTagMenu(tag);
                }
            }
            if (menu != null)
            {
                Utility.MarkDropDownForAutoDispose(menu);
            }
            return(menu);
        }
Esempio n. 17
0
 private void OnItemContextMenuRequested(object sender, ItemContextMenuRequestEventArgs e)
 {
     OnItemContextMenuRequested(e);
 }
Esempio n. 18
0
 private void OnItemContextMenuRequested(object sender, ItemContextMenuRequestEventArgs e)
 {
     InvokeItemContextMenuRequested(e);
 }
 public override ContextMenuStrip GetContextMenu(ItemContextMenuRequestEventArgs requestEventArgs)
 {
     var menu = new RedmineMenu(WorkingEnvironment, GuiProvider);
     Utility.MarkDropDownForAutoDispose(menu);
     return menu;
 }
Esempio n. 20
0
 protected override void OnPreviewKeyDown(PreviewKeyDownEventArgs e)
 {
     e.IsInputKey = true;
     switch(e.KeyCode)
     {
         case Keys.Enter:
             if(_itemFocus.IsTracked)
             {
                 var item = _itemFocus.Item;
                 item.Activate();
             }
             break;
         case Keys.Escape:
             if(_columnResizeProcess != null)
             {
                 _columnResizeProcess.Cancel();
                 _columnResizeProcess = null;
             }
             break;
         case Keys.Right:
             if(_itemPlainList.Count == 0) return;
             if(_itemFocus.Index < 0 || _itemFocus.Index >= _itemPlainList.Count)
             {
                 FocusAndSelectItem(0);
             }
             else
             {
                 var item = _itemPlainList[_itemFocus.Index];
                 if(item.Items.Count == 0) return;
                 if(item.IsExpanded)
                 {
                     FocusAndSelectItem(_itemFocus.Index + 1);
                 }
                 else
                 {
                     item.IsExpanded = true;
                 }
             }
             break;
         case Keys.Left:
             if(_itemPlainList.Count == 0) return;
             if(_itemFocus.Index < 0 || _itemFocus.Index >= _itemPlainList.Count)
             {
                 FocusAndSelectItem(_itemPlainList.Count - 1);
             }
             else
             {
                 var item = _itemPlainList[_itemFocus.Index];
                 if(item.IsExpanded)
                 {
                     if(_showRootTreeLines || item.Level != 0)
                     {
                         item.IsExpanded = false;
                     }
                 }
                 else
                 {
                     if(item.Parent == null) return;
                     FocusAndSelectItem(_itemPlainList.IndexOf(item.Parent));
                 }
             }
             break;
         case Keys.Home:
             if(_itemPlainList.Count == 0) return;
             if(_itemFocus.Index != 0)
             {
                 FocusAndSelectItem(0);
             }
             else
             {
                 EnsureVisible(_itemFocus.Index);
             }
             break;
         case Keys.End:
             if(_itemPlainList.Count == 0) return;
             if(_itemFocus.Index != _itemPlainList.Count - 1)
             {
                 FocusAndSelectItem(_itemPlainList.Count - 1);
             }
             else
             {
                 EnsureVisible(_itemFocus.Index);
             }
             break;
         case Keys.PageUp:
             if(_itemPlainList.Count == 0) return;
             {
                 var index = _itemFocus.Index - GetItemsOnPage();
                 if(index < 0) index = 0;
                 if(_itemFocus.Index != index)
                 {
                     FocusAndSelectItem(index);
                 }
                 else
                 {
                     EnsureVisible(_itemFocus.Index);
                 }
             }
             break;
         case Keys.PageDown:
             if(_itemPlainList.Count == 0) return;
             {
                 var index = _itemFocus.Index + GetItemsOnPage();
                 if(index >= _itemPlainList.Count) index = _itemPlainList.Count - 1;
                 if(_itemFocus.Index != index)
                 {
                     FocusAndSelectItem(index);
                 }
                 else
                 {
                     EnsureVisible(_itemFocus.Index);
                 }
             }
             break;
         case Keys.Up:
             if(_itemPlainList.Count == 0) return;
             if(_itemFocus.Index > 0)
             {
                 int index = _itemFocus.Index - 1;
                 if(Control.ModifierKeys == Keys.Control)
                 {
                     FocusItem(index);
                 }
                 else
                 {
                     FocusAndSelectItem(index);
                 }
             }
             break;
         case Keys.Down:
             if(_itemPlainList.Count == 0) return;
             if(_itemFocus.Index < _itemPlainList.Count - 1)
             {
                 int index = _itemFocus.Index + 1;
                 if(Control.ModifierKeys == Keys.Control)
                 {
                     FocusItem(index);
                 }
                 else
                 {
                     FocusAndSelectItem(index);
                 }
             }
             break;
         case Keys.Space:
             switch(_selectedItems.Count)
             {
                 case 0:
                     if(_itemFocus.IsTracked)
                     {
                         FocusAndSelectItem(_itemFocus.Index);
                     }
                     break;
                 default:
                     if(Control.ModifierKeys == Keys.Control)
                     {
                         if(_itemFocus.IsTracked)
                         {
                             var item = _itemPlainList[_itemFocus.Index];
                             if(item.IsSelected)
                             {
                                 _selectedItems.Remove(item);
                                 InvalidateItem(_itemFocus.Index);
                             }
                             else if(_multiselect)
                             {
                                 _selectedItems.Add(item);
                                 InvalidateItem(_itemFocus.Index);
                             }
                         }
                     }
                     else
                     {
                         if(_selectedItems.Count == 1)
                         {
                             if(_showCheckBoxes)
                             {
                                 var item = _selectedItems[0];
                                 switch(item.CheckedState)
                                 {
                                     case CheckedState.Checked:
                                         item.CheckedState = CheckedState.Unchecked;
                                         break;
                                     case CheckedState.Unchecked:
                                         item.CheckedState = CheckedState.Checked;
                                         break;
                                 }
                             }
                             else
                             {
                                 FocusAndSelectItem(_itemFocus.Index);
                             }
                         }
                     }
                     break;
             }
             break;
         case Keys.A:
             if(_multiselect && Control.ModifierKeys == Keys.Control)
             {
                 if(_selectedItems.Count != _itemPlainList.Count)
                 {
                     _selectedItems.Clear();
                     _selectedItems.AddRange(_itemPlainList);
                     Invalidate(_itemsArea);
                 }
             }
             break;
         case (Keys)0x5D:
             {
                 ToolStripDropDown menu;
                 var p = _itemsArea.Location;
                 p.X += _itemHeight / 2;
                 int columnIndex = -1;
                 CustomListBoxColumn column = null;
                 for(int i = 0; i < _columns.Count; ++i)
                 {
                     if(_columns[i].IsVisible)
                     {
                         columnIndex = i;
                         column = _columns[i];
                         break;
                     }
                 }
                 switch(_selectedItems.Count)
                 {
                     case 0:
                         {
                             var args = new ContextMenuRequestEventArgs(column, columnIndex, p.X, p.Y);
                             Events.Raise(ContextMenuRequestedEvent, this, args);
                             if(args.OverrideDefaultMenu)
                             {
                                 menu = args.ContextMenu;
                             }
                             else
                             {
                                 menu = GetFreeSpaceContextMenu(args);
                             }
                         }
                         break;
                     case 1:
                         {
                             var index = _itemPlainList.IndexOf(_selectedItems[0]);
                             EnsureVisible(index);
                             p.Y = GetItemY1Offset(index) + _itemsArea.Top + _itemHeight / 2;
                             var args = new ItemContextMenuRequestEventArgs(_selectedItems[0], column, columnIndex, p.X, p.Y);
                             Events.Raise(ItemContextMenuRequestedEvent, this, args);
                             if(args.OverrideDefaultMenu)
                             {
                                 menu = args.ContextMenu;
                             }
                             else
                             {
                                 menu = _selectedItems[0].GetContextMenu(args);
                             }
                         }
                         break;
                     default:
                         {
                             var args = new ItemsContextMenuRequestEventArgs(_selectedItems, column, columnIndex, p.X, p.Y);
                             Events.Raise(ItemsContextMenuRequestedEvent, this, args);
                             if(args.OverrideDefaultMenu)
                             {
                                 menu = args.ContextMenu;
                             }
                             else
                             {
                                 menu = GetMultiselectContextMenu(args);
                             }
                         }
                         break;
                 }
                 if(menu != null)
                 {
                     menu.Renderer = Style.ToolStripRenderer;
                     menu.Show(this, p, ToolStripDropDownDirection.Default);
                 }
             }
             break;
         default:
             e.IsInputKey = false;
             break;
     }
     base.OnPreviewKeyDown(e);
 }
Esempio n. 21
0
 private void HandleItemDefaultMouseDown(int itemIndex, MouseEventArgs e)
 {
     EnsureVisible(itemIndex);
     switch(Control.ModifierKeys)
     {
         case Keys.Control:
             if(_multiselect)
             {
                 var id = _selectedItems.IndexOf(_itemPlainList[itemIndex]);
                 if(id != -1)
                 {
                     _selectedItems.RemoveAt(id);
                 }
                 else
                 {
                     _itemFocus.Track(itemIndex, _itemPlainList[itemIndex]);
                     _selectedItems.Add(_itemPlainList[itemIndex]);
                 }
                 InvalidateItem(itemIndex);
                 _lastClickedItemIndex = itemIndex;
             }
             break;
         case Keys.Shift:
             if(_multiselect)
             {
                 int startId = _lastClickedItemIndex;
                 if(startId == -1) startId = _itemFocus.Index;
                 if(startId == -1) startId = 0;
                 int endId = itemIndex;
                 if(endId < startId)
                 {
                     var temp = endId;
                     endId = startId;
                     startId = temp;
                 }
                 int minY = GetItemY1Offset(startId);
                 int maxY = GetItemY2Offset(endId);
                 for(int i = 0; i < _selectedItems.Count; ++i)
                 {
                     int id = _itemPlainList.IndexOf(_selectedItems[i]);
                     var y1 = GetItemY1Offset(id);
                     if(y1 >= _itemsArea.Height || y1 <= -_itemHeight)
                     {
                         continue;
                     }
                     var y2 = y1 + _itemHeight - 1;
                     if(y1 < minY) minY = y1;
                     if(y2 > maxY) maxY = y2;
                 }
                 _selectedItems.Clear();
                 for(int i = startId; i <= endId; ++i)
                 {
                     _selectedItems.Add(_itemPlainList[i]);
                 }
                 Invalidate(Rectangle.Intersect(_itemsArea, new Rectangle(_itemsArea.X, _itemsArea.Y + minY, _itemsArea.Width, maxY - minY + 1)));
             }
             break;
         default:
             var item = _itemPlainList[itemIndex];
             if(e.Button != MouseButtons.Right || !_multiselect || !item.IsSelected)
             {
                 _itemFocus.Track(itemIndex, item);
                 _lastClickedItemIndex = itemIndex;
                 var rc = GetItemDisplayRect(itemIndex);
                 if(_selectedItems.Count == 0)
                 {
                     _selectedItems.Add(item);
                     Invalidate(GetItemDisplayRect(itemIndex));
                 }
                 else
                 {
                     if(_selectedItems.Count == 1)
                     {
                         if(_selectedItems[0] != _itemPlainList[itemIndex])
                         {
                             var index = _itemPlainList.IndexOf(_selectedItems[0]);
                             _selectedItems[0] = item;
                             Invalidate(GetItemDisplayRect(index));
                             Invalidate(rc);
                         }
                     }
                     else
                     {
                         if(_selectedItems.Contains(item))
                         {
                             var indices = new int[_selectedItems.Count - 1];
                             int j = 0;
                             for(int i = 0; i < _selectedItems.Count; ++i)
                             {
                                 if(_selectedItems[i] != item)
                                 {
                                     indices[j++] = _itemPlainList.IndexOf(_selectedItems[i]);
                                 }
                             }
                             _selectedItems.Clear();
                             _selectedItems.Add(item);
                             for(int i = 0; i < indices.Length; ++i)
                             {
                                 Invalidate(GetItemDisplayRect(indices[i]));
                             }
                         }
                         else
                         {
                             var indices = new int[_selectedItems.Count + 1];
                             indices[0] = itemIndex;
                             for(int i = 0; i < _selectedItems.Count; ++i)
                             {
                                 indices[i + 1] = _itemPlainList.IndexOf(_selectedItems[i]);
                             }
                             _selectedItems.Clear();
                             _selectedItems.Add(item);
                             for(int i = 0; i < indices.Length; ++i)
                             {
                                 Invalidate(GetItemDisplayRect(indices[i]));
                             }
                         }
                     }
                 }
                 item.OnMouseDown(e.Button, e.X - rc.X, e.Y - rc.Y);
             }
             switch(e.Button)
             {
                 case MouseButtons.Left:
                     if(_itemActivation == ItemActivation.SingleClick)
                     {
                         item.Activate();
                     }
                     break;
                 case MouseButtons.Right:
                     if(!_disableContextMenus)
                     {
                         var x = e.X;
                         var y = e.Y;
                         var cid = GetColumn(ref x, y);
                         var col = (cid != -1) ? (_columns[cid]) : null;
                         switch(_selectedItems.Count)
                         {
                             case 1:
                                 {
                                     int cmnuX = e.X - _itemsArea.X;
                                     int cmnuY = e.Y - _itemsArea.Y;
                                     var args = new ItemContextMenuRequestEventArgs(item, col, cid, cmnuX, cmnuY);
                                     Events.Raise(ItemContextMenuRequestedEvent, this, args);
                                     var menu = args.OverrideDefaultMenu ?
                                         args.ContextMenu :
                                         item.GetContextMenu(args);
                                     if(menu != null)
                                     {
                                         menu.Renderer = Style.ToolStripRenderer;
                                         menu.Show(this, e.Location);
                                     }
                                 }
                                 break;
                             default:
                                 {
                                     int cmnuX = e.X - _itemsArea.X;
                                     int cmnuY = e.Y - _itemsArea.Y;
                                     var args = new ItemsContextMenuRequestEventArgs(_selectedItems, col, cid, cmnuX, cmnuY);
                                     Events.Raise(ItemsContextMenuRequestedEvent, this, args);
                                     var menu = args.OverrideDefaultMenu ?
                                         args.ContextMenu :
                                         GetMultiselectContextMenu(args);
                                     if(menu != null)
                                     {
                                         menu.Renderer = Style.ToolStripRenderer;
                                         menu.Show(this, e.Location);
                                     }
                                 }
                                 break;
                         }
                     }
                     break;
             }
             break;
     }
 }
Esempio n. 22
0
        private void OnContextMenuRequested(object sender, ItemContextMenuRequestEventArgs e)
        {
            var vm  = ViewModel as TreeViewModel;
            var rts = vm != null ? vm.TreeSource : null;

            if (rts != null)
            {
                var item = ((ITreeItemListItem)e.Item);
                var file = item.TreeItem as TreeFile;
                if (file != null)
                {
                    var menu = new ContextMenuStrip();
                    menu.Items.AddRange(
                        new ToolStripItem[]
                    {
                        GuiItemFactory.GetExtractAndOpenFileItem <ToolStripMenuItem>(DataSource.Data, file.RelativePath),
                        GuiItemFactory.GetExtractAndOpenFileWithItem <ToolStripMenuItem>(DataSource.Data, file.RelativePath),
                        GuiItemFactory.GetSaveAsItem <ToolStripMenuItem>(DataSource.Data, file.RelativePath),
                        new ToolStripSeparator(),
                        new ToolStripMenuItem(Resources.StrCopyToClipboard, null,
                                              new ToolStripItem[]
                        {
                            GuiItemFactory.GetCopyToClipboardItem <ToolStripMenuItem>(Resources.StrFileName, file.Name),
                            GuiItemFactory.GetCopyToClipboardItem <ToolStripMenuItem>(Resources.StrRelativePath, file.RelativePath),
                            GuiItemFactory.GetCopyToClipboardItem <ToolStripMenuItem>(Resources.StrFullPath, file.FullPath),
                        }),
                        new ToolStripSeparator(),
                        GuiItemFactory.GetBlameItem <ToolStripMenuItem>(rts.Revision, file),
                        GuiItemFactory.GetPathHistoryItem <ToolStripMenuItem>(rts.Revision, file),
                        new ToolStripSeparator(),
                        GuiItemFactory.GetCheckoutPathItem <ToolStripMenuItem>(rts.Revision, file),
                    });
                    Utility.MarkDropDownForAutoDispose(menu);
                    e.ContextMenu         = menu;
                    e.OverrideDefaultMenu = true;
                    return;
                }
                var directory = item.TreeItem as TreeDirectory;
                if (directory != null)
                {
                    var menu = new ContextMenuStrip();
                    menu.Items.AddRange(
                        new ToolStripItem[]
                    {
                        new ToolStripMenuItem(Resources.StrOpen, null, (s, args) => e.Item.Activate()),
                        GuiItemFactory.GetPathHistoryItem <ToolStripMenuItem>(rts.Revision, directory),
                        new ToolStripSeparator(),
                        GuiItemFactory.GetCheckoutPathItem <ToolStripMenuItem>(rts.Revision, directory),
                    });
                    Utility.MarkDropDownForAutoDispose(menu);
                    e.ContextMenu         = menu;
                    e.OverrideDefaultMenu = true;
                    return;
                }
                var commit = ((ITreeItemListItem)e.Item).TreeItem as TreeCommit;
                if (commit != null)
                {
                    var menu = new ContextMenuStrip();
                    menu.Items.AddRange(
                        new ToolStripItem[]
                    {
                        GuiItemFactory.GetPathHistoryItem <ToolStripMenuItem>(rts.Revision, commit),
                        new ToolStripSeparator(),
                        new ToolStripMenuItem(Resources.StrCopyToClipboard, null,
                                              new ToolStripItem[]
                        {
                            GuiItemFactory.GetCopyToClipboardItem <ToolStripMenuItem>(Resources.StrName, commit.Name),
                            GuiItemFactory.GetCopyToClipboardItem <ToolStripMenuItem>(Resources.StrRelativePath, commit.RelativePath),
                            GuiItemFactory.GetCopyToClipboardItem <ToolStripMenuItem>(Resources.StrFullPath, commit.FullPath),
                        }),
                        new ToolStripSeparator(),
                        GuiItemFactory.GetCheckoutPathItem <ToolStripMenuItem>(rts.Revision, commit),
                    });
                    Utility.MarkDropDownForAutoDispose(menu);
                    e.ContextMenu         = menu;
                    e.OverrideDefaultMenu = true;
                    return;
                }
            }
        }
Esempio n. 23
0
 /// <summary>Gets the context menu.</summary>
 ///	<param name="requestEventArgs">Request parameters.</param>
 /// <returns>Context menu for specified location.</returns>
 public virtual ContextMenuStrip GetContextMenu(ItemContextMenuRequestEventArgs requestEventArgs)
 {
     if(requestEventArgs == null) return null;
     ContextMenuRequested.Raise(this, requestEventArgs);
     return requestEventArgs.ContextMenu;
 }
Esempio n. 24
0
 private void OnItemContextMenuRequested(ItemContextMenuRequestEventArgs e)
 => ItemContextMenuRequested?.Invoke(this, e);
Esempio n. 25
0
 private void InvokeItemContextMenuRequested(ItemContextMenuRequestEventArgs e)
 {
     var handler = ItemContextMenuRequested;
     if(handler != null)
     {
         handler(this, e);
     }
 }
Esempio n. 26
0
        private void OnItemContextMenuRequested(object sender, ItemContextMenuRequestEventArgs e)
        {
            var item = e.Item as ITreeItemListItem;

            if (item != null)
            {
                var file = item.TreeItem as TreeFile;
                if (file != null)
                {
                    var menu = new ContextMenuStrip();
                    menu.Items.AddRange(
                        new ToolStripItem[]
                    {
                        GuiItemFactory.GetOpenUrlItem <ToolStripMenuItem>(Resources.StrOpen, null, file.FullPath),
                        GuiItemFactory.GetOpenUrlWithItem <ToolStripMenuItem>(Resources.StrOpenWith.AddEllipsis(), null, file.FullPath),
                        GuiItemFactory.GetOpenUrlItem <ToolStripMenuItem>(Resources.StrOpenContainingFolder, null, Path.GetDirectoryName(file.FullPath)),
                        new ToolStripSeparator(),
                        new ToolStripMenuItem(Resources.StrCopyToClipboard, null,
                                              new ToolStripItem[]
                        {
                            GuiItemFactory.GetCopyToClipboardItem <ToolStripMenuItem>(Resources.StrFileName, file.Name),
                            GuiItemFactory.GetCopyToClipboardItem <ToolStripMenuItem>(Resources.StrRelativePath, file.RelativePath),
                            GuiItemFactory.GetCopyToClipboardItem <ToolStripMenuItem>(Resources.StrFullPath, file.FullPath),
                        }),
                        new ToolStripSeparator(),
                        GuiItemFactory.GetBlameItem <ToolStripMenuItem>(Repository.Head, file.RelativePath),
                        GuiItemFactory.GetPathHistoryItem <ToolStripMenuItem>(Repository.Head, file.RelativePath),
                    });
                    Utility.MarkDropDownForAutoDispose(menu);
                    e.ContextMenu = menu;
                    return;
                }
                var directory = item.TreeItem as TreeDirectory;
                if (directory != null)
                {
                    var menu = new ContextMenuStrip();
                    menu.Items.AddRange(
                        new ToolStripItem[]
                    {
                        GuiItemFactory.GetOpenUrlItem <ToolStripMenuItem>(Resources.StrOpenInWindowsExplorer, null, directory.FullPath),
                        GuiItemFactory.GetOpenCmdAtItem <ToolStripMenuItem>(Resources.StrOpenCommandLine, null, directory.FullPath),
                    });
                    if (e.Item.Items.Count != 0)
                    {
                        menu.Items.AddRange(
                            new ToolStripItem[]
                        {
                            new ToolStripSeparator(),
                            GuiItemFactory.GetExpandAllItem <ToolStripMenuItem>(e.Item),
                            GuiItemFactory.GetCollapseAllItem <ToolStripMenuItem>(e.Item),
                        });
                    }
                    menu.Items.AddRange(
                        new ToolStripItem[]
                    {
                        new ToolStripSeparator(),
                        GuiItemFactory.GetPathHistoryItem <ToolStripMenuItem>(Repository.Head, directory.RelativePath + "/"),
                    });
                    Utility.MarkDropDownForAutoDispose(menu);
                    e.ContextMenu = menu;
                    return;
                }
                var commit = item.TreeItem as TreeCommit;
                if (commit != null)
                {
                    var menu = new ContextMenuStrip();
                    menu.Items.AddRange(
                        new ToolStripItem[]
                    {
                        GuiItemFactory.GetOpenAppItem <ToolStripMenuItem>(
                            Resources.StrOpenWithGitter, null, Application.ExecutablePath, commit.FullPath.SurroundWithDoubleQuotes()),
                        GuiItemFactory.GetOpenUrlItem <ToolStripMenuItem>(Resources.StrOpenInWindowsExplorer, null, commit.FullPath),
                        GuiItemFactory.GetOpenCmdAtItem <ToolStripMenuItem>(Resources.StrOpenCommandLine, null, commit.FullPath),
                        new ToolStripSeparator(),
                        GuiItemFactory.GetPathHistoryItem <ToolStripMenuItem>(Repository.Head, commit.RelativePath),
                    });
                    Utility.MarkDropDownForAutoDispose(menu);
                    e.ContextMenu = menu;
                    return;
                }
            }
        }