Footprints in orgs have standard naming. We need to allow designers to
keep their standard namings outside of boards where they are fixed.
This belongs in the preferences as a set-once for local standards
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo. Avoids needing to
repeatly update.
Also updates AUTHORS.txt from current repo with contributor names
Useful both as a confusion reduction measure when confronted with the
inforbar message, and also useful when you pressed Ctrl+E, not
Ctrl+Shift+E.
Also bind Ctrl+Shift+E in the editor to perform this action
(again, useful when you used the wrong hotkey).
When creating a footprint from the main menu, as opposed to from
a library context menu, there is no library set until it's saved
(the user will get a save-as dialog to set the library at that
point). So lack of a library doesn't mean 'read-only'.
So, don't show the 'read only library' warning in that case -
the user will not be able to save the footprint "in place" as there is
no "place" yet, but it's a reasonable and consistent workflow (like
editing a File->New'd file in a text editor).
Counterpart to the sym editor change. It will only copy
the FP in question, rather than also offer to to copy the whole
library, as that function isn't obviously available.
Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/18370
Schematics, symbols, boards and footprints all get the ability to store
files inside their file structures. File lookups now have a
kicad-embed:// URI to allow various parts of KiCad to refer to files
stored in this manner.
kicad-embed://datasheet.pdf references the file named "datasheet.pdf"
embedded in the document. Embeds are allowed in schematics, boards,
symbols and footprints. Currently supported embeddings are Datasheets,
3D Models and drawingsheets
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6918
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2376
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17827
On GTK, the selected item is checked for its parent when being
unselected. This breaks if the parent has been removed by the Sync()
call, so we need to ensure that the unselect all call happens prior
The default hotkey is Ctrl+L, as this is not bound by
default in the FP or symbol editor, and it is the hotkey
that is used to focus the address bar in web browsers,
which is a similar kind of action.
Previously, although the fp editor preferences has an option to select the canvas type,
it was read from the the PCBNEW_SETTINGS config, using Kiface().KifaceSettings().
Using a boolean argument just leads to a lot of trailing booleans in the
function calls and is not user friendly. Instead, introduce PostAction()
to send an action that runs after the coroutine (equivalent to passing
false or the default argument), and leave RunAction as the immediate
execution function.