62 Commits

Author SHA1 Message Date
Jeff Young
ce140d8dfc Formatting. 2025-09-01 22:04:59 +01:00
Seth Hillbrand
17d9ff4fe7 Add the ability to edit advanced config
If you set the env var KICAD_EDIT_ADVANCED_CFG=1, you get a new menu
option in the KiCad project window's Edit menu.  Lets you modify the
settings for advanced config graphically without having to
remember/lookup the magic incantation
2025-08-14 15:37:02 -07: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
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
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
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
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
Marek Roszko
1cc11bc589 Move the editors launcher to a notebook for future expansion 2024-09-05 20:49:19 -04: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
jean-pierre charras
3f70387a17 KISTATUSBAR: code refinement and add comments 2024-01-07 09:47:40 +01:00
Marek Roszko
c8f646efb1 ADDED: KiCad update check
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15026
2023-12-13 20:47:40 -05:00
Jon Evans
47e25d617e ADDED: Icon scaling for toolbars only
Unlike the old "icon scale" (that actually scaled all bitmaps)
this one actually changes the toolbar size while making use
of the new bitmap bundle functionality

Add more resolutions for all tool icon bitmaps

Wouldn't want Mark's eyes to bleed
2023-10-22 14:02:06 -04:00
Alex Shvartzkop
21ee65aa9c ADDED: Importers for EasyEDA (JLCEDA) Standard / Professional. 2023-09-07 11:02:40 +03:00
Alex Shvartzkop
76e0d5981d Import system refactor for PCB plugins. 2023-08-15 05:26:12 +03:00
Marek Roszko
5319316815 Enhance the status bar with background progress and notifications 2023-08-04 22:06:08 -04:00
jean-pierre charras
aa3e298890 Kicad manager: build the PLUGIN_CONTENT_MANAGER only un request, not in
KICAD_MANAGER_FRAME Ctor. Two advantages:
- it is built after the splash screen is dismissed.
- if there are issues when creating the PLUGIN_CONTENT_MANAGER, this is more
easy to debug
2023-07-18 11:19:52 +02:00
Jon Evans
5abf73e3c9 Never call ReCreateMenuBar inside a menu event handler
As of wxWidgets 3.2, the wxWidgets event handler runs code after the
the client event handler that depends on the menu still existing.
Because there are potentially many paths to call ReCreateMenuBar from
within a menu event handler, let's just wrap this action in a CallAfter
to make sure it happens after the wx handler call completes.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13149
2022-12-16 16:37:51 -05:00
frutiemax
7d78f0b4d3 Use forward declarations in kicad_manager_frame.h 2022-11-30 03:08:35 +00:00
lulu731
0180bcf90a ADDED: Implement Drag and Drop
dropping files to Kicad manager :
  *.kicad_pro, *.pro -> open project;
  gerber and job files -> open in Gerbview editor;
  Eagle and Cadstar files -> open project.
dropping file to schematic editor -> append schematic;
dropping library file to Symbol editor -> add library;
dropping board file to PCB editor -> append board;
dropping library or footprint file to Footprint editor -> add library or import footprint;
dropping ZIP file or gerber files to Gerbview editor -> open files;
dropping sheet file to Drawing Sheet editor -> open sheet.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11638
2022-09-14 22:28:09 +00:00
qu1ck
f4fa3b02c5 PCM: automatic check for repository updates 2022-08-18 20:41:43 +00:00
lulu731
f4f3638103 Adding drag and drop project file feature.
ADDED Drag and drop of project file from file explorer to Kicad manager window.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8146
2022-05-12 22:38:45 +00:00
Jeff Young
d28714167c All the preferences, all the time.
Fixes https://gitlab.com/kicad/code/kicad/issues/7877

Fixes https://gitlab.com/kicad/code/kicad/issues/5153
2021-12-24 13:08:44 +00:00
Wayne Stambaugh
37b200cb3e Pass wxString objects by reference instead of on the stack. 2021-07-27 08:41:27 -04:00
jean-pierre charras
c35cceca62 fix compil warnings ( "multi-line comment" ) and missing override 2021-06-18 09:38:19 +02:00
Jon Evans
e06aa32780 Launcher tweaks 2021-02-13 08:59:33 -05:00
Jon Evans
1bb3135888 Let's try a new layout for kicad manager 2021-02-12 22:39:37 -05:00
Jeff Young
4a0543c099 Formatting and naming conventions. 2020-12-02 14:27:43 +00:00
Marek Roszko
763da6b3bb Add forward declaration in kicad/kicad_manager_frame.h 2020-10-12 23:29:08 -04:00
Marek Roszko
9db12be714 Cleanup some includes and enum in kicad 2020-10-12 19:38:40 -04:00
Roberto Fernandez Bautista
72b904a978 ADDED: CADSTAR Archive project importer 2020-09-27 23:50:20 +00:00
Jeff Young
34d069ffd8 Bubble cancel up from app to kicad manager when closing.
Fixes https://gitlab.com/kicad/code/kicad/issues/5402
2020-08-31 11:49:29 +01:00
Mark Roszko
89e74140eb Save file / window states for kicad project locally 2020-08-24 02:01:14 +00:00
Ian McInerney
72a1c71e07 Implement a framework to handle wxUpdateUIEvents for tool actions
This allows for the tool framework to keep track of a universal
set of conditions for the UI state (enabled/checked/shown) for
controls of actions. It removes the need for the main menubar
menus to be CONDITIONAL_MENUs and be rebuilt on each open,
and instead makes the updates of the check and enabling of
items handled in the native wxWidgets way.

This commit switchs the 3d viewer and kicad project manager window
over to this system.
2020-08-16 19:10:25 +00:00
Ian McInerney
0975f3817a Fix project handling in eagle project import and ensure the titlebar is correct
Previously it didn't properly close or create a new project for the
Eagle project.

Also, update the titlebar text whenever the project changes (so it is
cleared properly when a project is unloaded).

Fixes https://gitlab.com/kicad/code/kicad/issues/5152
2020-08-16 12:37:51 +01:00
Jon Evans
79e40cf765 Fix a few issues with Close Projects MR
Store list of previously open projects only in kicad.json
Keep all management of open projects in SETTINGS_MANAGER

Also add kicadSettings() for convenience
2020-08-08 16:00:49 -04:00
Fabien Corona
bc357dff8a Add "Close project"
Allow the user to close a project from the project manager.
Distinguish the open project from the file history.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/4964
2020-08-08 18:52:14 +00:00
jean-pierre charras
5ef50ab27a Kicad manager: cosmetic fixes: fix incorrect bitmaps in Kicad manager tree file.
Use the right bitmap for .gbr and .gbrjob files.
2020-07-23 14:07:26 +02:00
Jeff Young
3fd0a3f842 Update text variables even when they're changed from other binary.
For instance, you might have PCBNew open but change the variable
value through EEschema > Schematic Setup.

Fixes https://gitlab.com/kicad/code/kicad/issues/4918
2020-07-17 21:05:11 +01:00
Ian McInerney
f3e44fb029 Fix showing new formats in project tree
* Differentiate between new JSON and old project files
* Show both old and new schematic files in the tree
2020-07-07 23:12:17 +01:00
Wayne Stambaugh
616ac50cfb KiCad: add support for missing file format extensions.
Don't rename symbol libraries when performing a project "Save As.."
except for the legacy cache library.  Changing library file names
breaks the symbol library table.  This was the less painful  option
than updating the symbol library table.

Fixes https://gitlab.com/kicad/code/kicad/issues/4605
2020-06-03 16:13:42 -04:00
Ian McInerney
e662e33104 Store the current filename in the history on close 2020-05-17 00:12:49 +01:00
Jeff Young
06dea92bcb Fix issues with Kicad Manager frame and new kicad_sch files.
Fixes https://gitlab.com/kicad/code/kicad/issues/4410
2020-05-12 15:20:17 +01:00
Wayne Stambaugh
7183e9f97e Make the new schematic and symbol library file formats the default.
This is a very large and potentially disruptive change so this will be an
unusually long and detailed commit message.

The new file formats are now the default in both the schematic and symbol
library editors.  Existing symbol libraries will be saved in their current
format until new features are added to library symbols.  Once this happens,
both the legacy schematic and symbol file formats will be no longer be
savable and existing libraries will have to be converted.  Saving to the
legacy file formats is still available for round robin testing and should
not be used for normal editing.

When loading the legacy schematic file, it is imperative that the schematic
library symbols are rescued and/or remapped to valid library identifiers.
Otherwise, there will be no way to link to the original library symbol and
the user will be required manually set the library identifier.  The cached
symbol will be saved in the schematic file so the last library symbol in
the cache will still be used but there will be no way to update it from the
original library.

The next save after loading a legacy schematic file will be converted to
the s-expression file format.  Schematics with hierarchical sheets will
automatically have all sheet file name extensions changed to .kicad_sym
and saved to the new format as well.

Appending schematics requires that the schematic to append has already been
converted to the new file format.  This is required to ensure that library
symbols are guaranteed to be valid for the appended schematic.

The schematic symbol library symbol link resolution has been moved out of
the SCH_COMPONENT object and move into the SCH_SCREEN object that owns the
symbol.  This was done to ensure that there is a single place where the
library symbol links get resolved rather than the dozen or so different
code paths that previously existed.  It also removes the necessity of the
SCH_COMPONENT object of requiring any knowledge of the symbol library table
and/or the cache library.

When opening an s-expression schematic, the legacy cache library is not
loaded so any library symbols not rescued cannot be loaded.  Broken library
symbol links will have to be manually resolved by adding the cache library
to the symbol library table and changing the links in the schematic symbol.

Now that the library symbols are embedded in the schematic file, the
SCH_SCREEN object maintains the list of library symbols for the schematic
automatically.  No external manipulation of this library cache should ever
occur.

ADDED: S-expression schematic and symbol library file formats.
2020-05-04 12:40:03 +00:00
Jeff Young
122b1ddaae Unwrap an unnecessary layer now that we have new config stuff. 2020-04-13 20:58:12 +01:00