188 Commits

Author SHA1 Message Date
Mark Roszko
9d32d208b8 Fix project lock both working and not working.
Turns out project locks would get created and only stick around for a short duration as the default move constructor was letting the og object free the lock.
But if you crashed kicad or managed something weird, you can get a lock file with no override prompt which also creates confusion as some stuff gets set read only.

So lets just fix this up.

- Implement move constructor on lockfile so that the old object will no longer free the lockfile
- Move lock ownership to the project itself, just slightly less weird to handle for the lock override
- Implement the override lock prompt
2025-06-01 20:20:49 -04:00
Mark Roszko
3d68d47f09 Show [read-only] in the title bar based on the project's state
(cherry picked from commit 9d07784835591171defd5bb2e5855faba2e1f935)

Co-authored-by: Marek Roszko <mark.roszko@gmail.com>
2025-05-24 20:11:36 +00:00
Jeff Young
4bb54b3439 Move more stuff to ACTIONs framework. 2025-05-23 15:19:49 +01:00
Wayne Stambaugh
1b40ddaba5 Update default schematic when creating a new project.
Adding the missing default page number ("1") allows the CLI plotting and
printing by page number to work correctly even if the schematic hasn't been
saved in the schematic editor.

This also adds a default new schematic UUID and embedded font setting.

Use the fancy new file formatting style.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20448
2025-03-25 11:13:33 -04:00
Seth Hillbrand
f83e607e6e Enable/disable git tracking in user prefs
Don't require advanced config for people who want to disable
2025-03-24 11:52:50 -07:00
Jeff Young
d8cdb69831 Jobset Output -> Destination. 2025-03-03 18:34:33 +00:00
Jeff Young
26871b56f0 Provide easier on-ramp for jobsets.
1) Perform initial save of new jobset.
2) Add default output folder to new jobset.
2025-02-28 18:49:26 +00:00
Ian McInerney
85810510f4 Tweak toolbar settings a bit
* Manage the settings using the settings manager for better lifetimes
* Better architect the internals and JSON to make it easier to identify
  the various tool types
2025-02-28 01:57:37 +00:00
Ian McInerney
548334b4e2 Load toolbar configuration from settings 2025-02-28 01:57:37 +00:00
Ian McInerney
29c62e9d9a Move project manager actions to the tool framework 2025-02-28 01:57:37 +00:00
Ian McInerney
7ad1103f55 Move toolbars to a serializable storage format 2025-02-28 01:57:37 +00:00
Seth Hillbrand
e81956f292 Import Altium Projects
Handle Altium project file format

Parse individual schematic files and layout files
Create top-level schematic file
Link imported UUIDs between schematic symbol and footprints based on
refdes
Create KiCad project
Map Altium layout layers between KiCad

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2117
2025-02-27 14:36:24 -08:00
Jon Evans
0ca9791577 Fix some GCC build warnings 2025-02-14 22:20:20 -05:00
Jon Evans
5426bfcdcd Don't autosave future formats of project settings
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19910

(cherry picked from commit 7d689e0c616c8af4b056f20ce3c95c37624e3df7)
2025-02-10 19:20:56 -05:00
Jeff Young
72a59c547c Formatting and better use of common code. 2025-02-02 15:00:52 +00:00
Jeff Young
8874f137fa Read hotkeys from disk after they change.
(Otherwise we'll write the old versions back out
when closing one app.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19612
2025-02-01 20:01:13 +00:00
Jeff Young
d562336760 Always start kicad mgr with the apps page.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19711
2025-01-22 18:01:00 +00:00
Jeff Young
62041fdb69 Naming consistency. 2025-01-12 20:24:33 +00:00
Seth Hillbrand
8f9b7ca757 Hide the AUI notebook tabs if we only have 1 2025-01-09 13:39:41 -08:00
Jon Evans
846f6127fd More fixes to autosaving migrated projects
- Disable jobsets memory when opening migrated project
- Add WasMigrated to project file

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19540
2025-01-08 12:09:47 -05:00
Jeff Young
f665760a8e Don't skip every other jobset when closing. 2025-01-07 18:04:21 +00:00
Jeff Young
043fb29589 Don't open a non-existant jobset. 2025-01-04 13:39:36 +00:00
Jeff Young
40ade0b9f1 Long live jobsets! 2025-01-03 13:36:48 +00:00
Jeff Young
8a68bf88d6 Make open jobset paths relative. 2025-01-03 13:15:23 +00:00
JamesJCode
e13b31fd42 Don't smash the preferences while loading previous job sets 2025-01-03 00:30:45 +00:00
Jeff Young
757a16b4bf Remember open jobsets. 2025-01-02 23:44:09 +00:00
Seth Hillbrand
0b2d4d4879 Revise Copyright statement to align with TLF
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
2025-01-01 14:12:04 -08:00
Marek Roszko
d033b7bebb Missing half of last open jobset commit 2024-12-30 23:50:51 -05:00
Marek Roszko
f7b01d8eb9 Prevent jobset creation when no project is active
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19427
2024-12-30 21:22:13 -05:00
Alex Shvartzkop
af8ad6651a Project manager: Fix wrong background near left toolbar after changing Preferences on MSW. 2024-12-25 03:58:40 +03:00
Alex Shvartzkop
537932d417 Project manager: Update more captions/labels when switching languages. 2024-12-23 18:59:48 +03:00
Alex Shvartzkop
7ef3c6d7df Increase default project manager width to fit more languages. 2024-12-22 16:05:11 +03:00
Alex Shvartzkop
27ee082ab2 Translate "Editors" tab in project manager frame. 2024-12-22 16:05:11 +03:00
Alex Shvartzkop
1ea3173175 Center the Project manager frame on screen at first launch. 2024-12-22 00:42:01 +03:00
Marek Roszko
66b208d547 Don't open the same jobset file twice 2024-12-21 12:02:30 -05:00
Wayne Stambaugh
cc4c623bf9 Improve initial size of launcher window.
To avoid clipping the launcher buttons, this size was determined by hand
tweaking on Linux so it may be less than optimal on other platforms.  This
only affects the very first launch of a new version.  Once the frame size
is saved in the configuration file, that is the new size until the user
changes it.
2024-12-21 08:01:18 -05:00
John Beard
e24d43178a Pcbnew: fp load: tidy up FOOTPRINT_SELECT_WIDGET::Load
The call to FOOTPRINT_LIST::GetInstance( aKiway ) returns
a null pointer when it fails, rather than throwing. So this
wouldn't actually catch a KiWay failure and avert a segfault.

And no other caller of ReadFootprintFiles is in a try - so either
this function won't throw, or if it does, all callsites need
updating. For now, go with the majority.
2024-11-11 23:44:27 +08:00
Marek Roszko
d74caace0a Initial jobset creation and running within the CLI and GUI.
Incomplete, just pushing this before feature freeze, much fixing left
2024-09-30 20:04:53 -04:00
John Beard
e024f1695b Fix warning (signed vs unsigned) 2024-09-05 23:29:19 +01:00
Marek Roszko
1cc11bc589 Move the editors launcher to a notebook for future expansion 2024-09-05 20:49:19 -04:00
jean-pierre charras
4ce9648d34 Fix a few minor Coverity and compil warnings. 2024-08-23 09:54:29 +02:00
jean-pierre charras
f33559ff22 KICAD_MANAGER_FRAME: rename RecreateBaseHToolbar to RecreateBaseLeftToolbar
Since kicad V6, the horizontal toolbar was changed to a vertical toolbar
Calling it HToolbar is going to create mistakes.
No actual code change.
2024-08-17 16:42:45 +02:00
Mark Roszko
46771a2470 Unbind the char events in KICAD_MANAGER_FRAME destructor 2024-08-16 01:51:27 +00:00
Marek Roszko
7709de3667 FromDIP the left tree view in kicad frame 2024-01-17 21:57:23 -05:00
Marek Roszko
b4bfdf95d3 Explicitly add 48, 128, 256 to icon bundles for each app 2024-01-16 17:21:44 -05:00
jean-pierre charras
3f70387a17 KISTATUSBAR: code refinement and add comments 2024-01-07 09:47:40 +01:00
jean-pierre charras
1649b7dd56 Kicad manager: fix some issues about the wxStatusBar:
- fix broken code KICAD_MANAGER_FRAME::PrintPrjInfo()
- fix issues created by using KISTATUSBAR instead of wxStatusBar
(the user field count differs because there are 4 other fields added)
- do do use a fixed size in KISTATUSBAR for FIELD_OFFSET_BGJOB_TEXT field:
fixed field size does not work fine if the text to display is not known
Fixes #16535
https://gitlab.com/kicad/code/kicad/-/issues/16535
2024-01-06 20:23:37 +01:00
Marek Roszko
9195de9849 Disable the update check on non-apple, non windows systems by default 2024-01-03 19:32:05 -05:00
Marek Roszko
9a890cdba9 Kick the wildcards and file exts into a static class, export it from kicommon 2023-12-27 21:10:01 -05:00
Ian McInerney
e6632bb983 Rename PCB IO classes/files 2023-12-24 01:22:21 +00:00