KiCad 5.1.2-1, macOS"Select All" (and its key shortcut, command-a) is missing from KiCad.It's a standard item in the Edit menu on (almost) all macOS applications,like Cut, Copy, Paste and Delete. It's particularly useful when editing atext field, like a label.
Context menus over texts are different on different platforms, but Iwouldn't have guessed that such an item would be missing. On Windows itseems to work. See the attached screenshot. Ctrl+a works too.Application: EeschemaVersion: (5.99.0-51-g4c9e4c947), release buildLibraries: wxWidgets 3.0.4 libcurl/7.61.1 OpenSSL/1.1.1 (WinSSL) zlib/1.2.11 brotli/1.0.6libidn2/2.0.5 libpsl/0.21.0 (+libidn2/2.1.1) nghttp2/1.34.0Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian,wxMSWBuild Info: wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) Boost: 1.68.0 OpenCASCADE Community Edition: 6.9.1 Curl: 7.61.1 Compiler: GCC 8.2.0 with C++ ABI 1013Build settings: KICAD_SCRIPTING=ON KICAD_SCRIPTING_MODULES=ON KICAD_SCRIPTING_PYTHON3=OFF KICAD_SCRIPTING_WXPYTHON=ON KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF KICAD_SCRIPTING_ACTION_MENU=ON BUILD_GITHUB_PLUGIN=ON KICAD_USE_OCE=ON KICAD_USE_OCC=OFF KICAD_SPICE=ON
The edit menu on the menubar contains the items for working on the PCB ingeneral. A "select all" placed into that menu would select all items on theboard rather than the text in the field.As for it not being in the right-click menu, I believe that is beinghandled by OSX rather than us. That menu is generated by OSX for the field,and we have no control over what is in it. It is further complicated by thefact it is actually a combobox rather than a simple text control.It looks like the keyboard shortcut for select all will be included in the3.1 branch of wxWidgets, so we will hopefully get it in v6.
Thanks, Ian, but there's a little confusion here. What you describe isn'thow the Edit menu works in macOS. The Cut/Copy/Paste/Delete/Select Allmenu items affect the item that currently has focus (i.e. where the cursoris).For the example I gave, if you select text in a dialog box (in this casethe text in Label Properties) you can use the Edit menu (or keyequivalents) to Cut, Copy and Paste that text correctly now.What's missing from the Edit menu is Select All (and command-A).Additionally, the Delete item from the Edit menu should also work on thistext. It's currently disabled.I was wrong to complain about Select All missing from the context menu. Itgenerally doesn't appear there in standard Mac apps.In any case, I'm glad to hear that the keyboard shortcut for Select Allwill come for free in V6. Hopefully the whole Edit menu also behave like atraditional Mac application.I appreciate your attention to this stuff. I'm a long time Mac user(1984!) but new KiCad user and am so glad for it to be available on theMac. These little details really help usability and make KiCad morewelcoming to people like me. Thanks!
So, I am not sure about this one. My experiments show that when using a text field in KiCad on OSX our edit menu doesn't get any text modification entries (such as copy/paste, etc.), it is only the grayed out entries from our frames. wxWidgets has added the select all shortcut to the keyboard, and the context menu being generated is actually the OS context menu (wx doesn't create it, OSX does).
I am actually not sure if there is anything for us to really do here.
That should be doable. It is probably going to be good to implement the ability to select specific types of items as well (e.g. for pcbnew select all modules/text/traces/vias/etc. on specific layers/all layers, for eeschema just select specific items).
@craftyjon@orsonmmz is this basically the selection filtering that is on the roadmap?
Yes, although the way I was thinking about it, it would not show up on the edit menu.
The selection filter would be a stateful thing, so while a filter is active, all selection operations would be passed through the filter.
For example, if the filter is set to tracks + vias, but everything else turned off, then a drag-select around the entire board would only select tracks + vias. I think it seems fine to add a Select All to the Edit menu, and in this case, Select All would also only select tracks + vias if the filter is set that way.
Currently I'm thinking the UI for this will live on the new right panel (i.e. upgraded Layers Widget) but have to discuss with Orson
Sounds reasonable. I think that can be accomplished by making the selection tool smarter - so it will keep track of the current selection filter and then select operations would naturally pass through the filter as they use the selection tool.
Yea, I think putting the UI on a panel to the right would be good. Having it be a specific dialog will probably interrupt workflows.
There is also another kind of filtered selection, which is the "advanced find" dialog
Basically if you have a find dialog where you can match on parameters, object type would be one parameter that can be matched. This dialog is also referred to as "find similar objects" in some conversations, because that's what a similar dialog is called in Altium
Then, you have in that dialog the action to take on the find results, which could include selecting, deselecting, highlighting, zoom to fit, etc.
This is a "one shot" action so I think it would be done separately from the selection filter logic in the selection tool, and depends more heavily on Orson's property system. I think maybe he is working on a prototype of this?