Jeff Young
18e107529a
Don't force callers of GetAppSettings to implement exception processing.
2025-06-14 20:25:59 +01:00
jean-pierre charras
9e510759b8
FP_LIB_TABLE_ROW::LibraryExists(): ensure environment variables are expanded
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19800
2025-01-31 09:14:42 +01:00
Jeff Young
9083c9e6ab
Remove dead code.
2025-01-29 20:54:33 +00:00
Jeff Young
8bdc7f108b
Report errors when library is missing.
2025-01-29 20:54:33 +00:00
Wayne Stambaugh
5c8f4697ca
Common folder housekeeping part 1.
2025-01-12 12:06:45 -05:00
Ian McInerney
6be3401b92
Add more global extensions and switch archiver to use them
2025-01-05 21:59:53 +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
Jeff Young
753d385473
Reduce dependency on dynamic_cast.
...
Also switches to checking __clang__ instead of __WXMAC__.
2024-12-08 21:46:54 +00:00
JamesJCode
3f1a8f0e1d
Fix clang build warning
2024-10-17 19:24:30 +01:00
jean-pierre charras
4631ce6d3e
FP_LIB_TABLE::IsFootprintLibWritable( const wxString& aNickname ) fix crash
...
When aNickname is not found in fp_lib_table, return false instead of crash.
2024-10-16 12:37:57 +02:00
Jeff Young
431087fc7c
Don't deadlock when adding rows.
2024-07-23 17:49:34 +01:00
Jeff Young
0f099ac65e
Use lock when clearing and loading libTables.
...
Also make sure it's re-indexed after loading.
2024-07-23 09:53:01 +00:00
Jeff Young
9e1330184c
Patch another dynamic_cast-across-compile-unit-boundaries issue.
2024-05-15 10:55:51 +01:00
Jeff Young
a53bc9e026
Attempt to prevent KICAD-YP.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17560
2024-03-24 18:12:58 +00:00
Lucas Dumont
13c647ef6f
Fix resources leak reported by coverity
...
For unique_ptr, release only set the ownership to null, but don't free the resource behind. On the other hand, reset do.
Closes Coverity ID 483269
Closes Coverity ID 471974
Closes Coverity ID 471973
2024-03-03 16:23:49 +00:00
Jon Evans
7b0bb59b37
Remove hard-coded versioned env vars in most places
2024-02-15 15:31:08 +00:00
Ian McInerney
f2702b223c
Introduce base IO_MGR class and unify RELEASER objects
...
The IO_RELEASER is a thin-wrapper around a std::unique_ptr, but done
this way to allow easier addition of a custom deleter in the future if
something needs to call back into the IO_MGR.
2023-12-29 00:37:38 +00:00
Ian McInerney
743e9d669a
Push library management into IO_BASE
2023-12-27 01:21:53 +00:00
Ian McInerney
d8b47d18d3
Initial rename of file plugin infrastructure components to IO
2023-12-24 01:22:21 +00:00
Marek Roszko
121ea99824
Move the settings path to PATHS to allow shifting other classes into kicommon
2023-09-23 20:06:58 -04:00
jean-pierre charras
1c11a2c7bd
Capture exceptions thrown by FP_LIB_TABLE::FindRow() in some places.
...
FindRow() exception is unfortunately not captured in all places using it.
The result is the application closes.
2023-08-20 12:27:37 +02:00
qu1ck
2975f53647
PCM: auto reload global libs after dialog is run
...
This adds Reset() method to KIFACE to reload global libs stored in
global static vars.
Also refactors some lib reload code in various frames to have
common MAIL_RELOAD_LIB handler.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12500
2023-02-17 17:24:32 +00:00
Jon Evans
d04cda35c5
Handle hidden attribute in fp-lib-table
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13689
2023-01-28 09:23:25 -05:00
Jeff Young
51293858b3
Allow empty lib tables.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13653
2023-01-24 23:45:55 +00:00
Seth Hillbrand
442ee52905
Add versioning to lib tables
...
Sets lib table version to allow easier migration between versions
2023-01-23 22:21:12 +00:00
Seth Hillbrand
efe12f2da5
Cleanup variable naming
...
Also remove ancient/unused code for lazy resolving
2023-01-23 22:21:12 +00:00
Seth Hillbrand
a9ed47f06c
Update KICAD6->KICAD7
2023-01-23 22:21:12 +00:00
Marek Roszko
0ff32d20cd
wxS more things
2023-01-22 09:41:42 -05:00
Marek Roszko
ac94995f70
Some more wxS
2023-01-16 19:07:50 -05:00
jean-pierre charras
bd28bd7a00
fix a few compil warnings
2022-09-23 18:30:42 +02:00
qu1ck
6ebb3baa3b
PCM: autoload libs from installed packages to global lib tables
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9713
2022-09-23 16:16:13 +00:00
Jeff Young
b84d1456d5
KIFACE_I -> KIFACE_BASE.
2021-09-14 23:45:14 +01:00
Wayne Stambaugh
bcd6bddfd4
Start expunging NULL.
...
Given that KiCad is a C++ project, we should really be using nullptr
instead of NULL.
2021-07-15 15:44:45 -04:00
Jeff Young
a1dfc36233
More error message regularization.
2021-06-29 01:08:26 +01:00
Jeff Young
062c4fda62
More error message regularization (and translatability improvements).
2021-06-28 00:45:24 +01:00
jean-pierre charras
6eb2e2a6e3
Fp editor: do not change item UUIDs when loading a footprint from library.
...
Fixes #8066
https://gitlab.com/kicad/code/kicad/issues/8066
2021-03-30 12:58:22 +02:00
Wayne Stambaugh
1eee72ec65
Fix library tree behavior when duplicate project table entry is disabled.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5438
2021-01-11 07:46:07 -05:00
Seth Hillbrand
8de9cff4e0
Change environmental variables to human-readable
...
Versions specific variables that may point to objects that change
through versions, allowing multiple KiCad versions to operate correctly
(even on MSW) on the same machine.
2021-01-01 16:20:35 +00:00
Jeff Young
1c0d4ac02d
Simplify some error messages.
2020-12-18 00:30:26 +00:00
Jeff Young
bdbb68f813
MODULE -> FOOTPRINT.
2020-11-13 16:04:03 +00:00
Jeff Young
84dd5108ba
Remove some "class_" prefixes from files.
2020-11-13 15:16:23 +00:00
Ian McInerney
31e626f279
Cleanup creation of all our smart pointers
2020-10-26 23:52:44 +00:00
jean-pierre charras
f6b4b66a86
Avoid include wx/wx.h in many files that do not actually use this include.
...
Including wx.h includes the full set of wxWidgets include files, that is not good,
and can create some conflicts with some Windows headers on msys2.
2020-10-18 18:21:34 +02:00
jean-pierre charras
36bc44e6d7
more cleanup about removing useless include
2020-10-02 19:56:10 +02:00
Jeff Young
dd0f33bcbb
Get rid of extraneous char conversion.
2020-08-05 22:23:53 +01:00
Jeff Young
33480ecad1
Show all symbol libraries by default.
...
Also fixes an issue where the plugin wasn't getting reset if the
library type was changed.
2020-07-17 18:33:14 +01:00
Jon Evans
e59a3d981e
Implement a new settings framework across all of KiCad
...
CHANGED: Settings are now stored in versioned sub-directories
ADDED: First-run dialog for migrating settings from a previous version
CHANGED: Settings are now stored as JSON files instead of wxConfig-style INI files
CHANGED: Color settings are now all stored in a separate settings file
CHANGED: The symbol editor and footprint editor now have their own settings files
CHANGED: Color settings are no longer exposed through BOARD object
CHANGED: Page layout editor now uses Eeschema's color scheme
Settings are now managed through a central SETTINGS_MANAGER held by PGM_BASE.
Existing settings will be migrated from the wxConfig format on first run of each application.
Per-application settings are now stored in one class for each application.
2020-02-19 23:44:56 -05:00
Jeff Young
e269b5d1b9
Workaround an issue where a throw terminates (even when there's a catch for it).
...
You can trigger it before this fix by running Cvpcb when a .kicad_mod file is
incorrectly set as "Legacy" in your footprint table.
2019-08-31 15:18:27 +01:00
Jeff Young
20036f8105
Add FootprintExists() which can be more careful about FS differences.
...
(And in particular, MSW's case-insensitive FS.)
Fixes: lp:1835999
* https://bugs.launchpad.net/kicad/+bug/1835999
2019-07-11 23:00:01 +01:00
Wayne Stambaugh
a55d9819bc
Do not use project path when searching for default library tables.
...
When no default library tables are found, set the default wxFilePickerCtrl
to the users configuration path instead of the current project path to
prevent any project library tables from being used as the default.
Fixes lp:1809769
https://bugs.launchpad.net/kicad/+bug/1809769
2019-01-26 16:19:02 -05:00