News:

As usual while waiting for the next release - don't forget to check the nightly builds in the forum.

Main Menu

small feature request

Started by yckx, November 12, 2005, 05:27:24 AM

Previous topic - Next topic

yckx

This isn't really applicable to the Troubleshooting forum, but I find it even less applicable to the others.  I'd like to have cut/copy/paste functionality added to the RMB popup menu.  It seems a small thing, but it would be really nice to highlight, right-click, select copy, click where I want it, right click, select paste, all without having to move back and forth from mouse to keyboard and back.

I've said this before, but I really like this IDE ;) Don't let my issues be mistaken for dislike.

takeshimiya

It is already there, in the RMB->Edit->Copy/Paste/etc.

However, this RMB menu (context-menu) is becoming too cluttered...

yckx

Ah, I missed it; I was looking for it in the top-level popup.  Silly me :P

However, if I have text selected, it deselects when I right-click, so I can't copy anything with it  :?

takeshimiya

If I remember well that bug is fixed in CVS.

Back to the context-menu...

    The context-menu is heavy cluttered, and it isn't user configurable.
    The most common actions (Copy, Paste, Select All, ...) are located in the submenu Edit... which
    indicates the heavy grade of clutter of the menu, and in this case it's not so intuitive. :P

    The "Locate in..." of the Help Plugin doesn't seems to be a good thing because with every
    helpfile added it "helps" to clutter even more this menu, but too bad I can't think of any
    place better for it (maybe putting it in a submenu...?).

Currently the menu is:

    Toggle breakpoint
    Run to cursor
    ------
    Find declaration of: 'text'
    ------
    Close
    Close all
    Close all others
    ------
    Save
    Save all
    ------
    Switch to...
    Insert...
    ------
    Swap header/source
    ------
    Edit...
    Bookmarks...
    Folding...
    ------
    Locate in Help1
    Locate in Help2
    ------
    Add To-Do item...
    ------
    Configure editor
    ------
    Properties


A possible solution:
    Altrough this is a subject to change always over the time...
    To remove some clutter of it I would change the context-menu to something like:

    Toggle Breakpoint
    Run to Cursor
    ------
    Cut
    Copy
    Paste
    ------
    Select All
    ------
    Find Declaration of: text
    Swap Header/Source
    ------
    Insert Code Template...
    ------
    Locate in Help1
    Locate in Help2
    ------
    Add To-Do Item...
    ------
    Properties
    ------
    Close



What do you think?

thomas

The deselection bug has been fixed in CVS a week or two ago.

Generally, to work efficiently with Code::Blocks, it is advisable to follow the same basic guideline that is valid for almost every program: No matter what happens, always leave your left hand on the keyboard.

This way, you can for example type Strg-C / Strg-V while selecting and moving the cursor with the mouse, this is a lot faster and more convenient than anything else, and it allows you to type on without any further interruption, too.
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

takeshimiya

And my suggestion about the context-menu...? :(

thomas

Generally an ok suggestion, but not as easy as it may look, since the menu is constructed in many steps involving several separate builtin modules and several plugins (which are called in their order of loading, i.e. dependent on their filename!). To make things yet more complicated, some components append their menu entries to the menu, while others insert their items after another known item ("find declaration").

So yes, it is possible to rearrange the menu, but it is not a trivial task that is done in 5 minutes - rather painful.
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

takeshimiya

Yep I know all of that, that's why I said Altrough this is a subject to change always over the time... because other plugins and newer functionality will change it, with the time.

Not having the Cut/Copy/Paste triad in the context menu directly because the menu is cluttered, originates these types of posts, it happened to me that I was looking for them also.

I'll try to take a look...

yckx

It's good to know the selection bug has been fixed.  And I appreciate the explanation of the context menu construction.  While I'd really like to see an improvement similar to Takeshi's suggestion, knowing why the menu is so oddly ordered (and why we shouldn't expect a reorganization any time soon) is helpful in itself.

takeshimiya

#9
I've modified (as a proof-of-concept) the context menu to remove some clutter, but I would prefer this


Before:




After:



Here's the feature request with the patch.

rickg22

The problem with the context menus are that we need a distinction between the EDITOR context menu and the Files List context menu. Currently they use the same routine to popup, so there are more items than necessary.

takeshimiya

#11
True, and that's included in revamping of Code::Blocks menus here.

Separating Actions from Bindings, and assigning Properties to those Actions, like Action.BelongsToEditor or Action.BelongsToFileList.

EDIT: KDevelop seems to got it right (more or less)