Commit Graph

260 Commits

Author SHA1 Message Date
Seth Hillbrand c52ab91c84 Reduce compile times by extracting headers
Break the most expensive header include chains that contaminate the
largest number of translation units

New lightweight headers for extractdded types:
font_metrics.h, mouse_drag_action.h, board_project_settings_params.h,
common_settings_internals.h, wx_infobar_message_type.h,
zone_layer_properties_grid.h
2026-02-13 17:10:45 -08:00
Mark Roszko 2222395178 Set an unhandled tag for sentry exceptions 2026-01-13 07:48:02 -05:00
Seth Hillbrand a3a12399f2 Add graphical editor for custom design rules 2026-01-12 21:42:45 -08:00
Mark Roszko 63d8988bf1 Implement OnUnhandledException and point to sentry
Some "crashes" are just unhandled exceptions that may not get logged to sentry otherwise. (though they should through WER but it doesnt seem to always work)
2026-01-06 20:52:46 -05:00
Alex Shvartzkop 3bcd2f10bf Don't call wxPGInitResourceModule on wx 3.3+
Calling wxPGInitResourceModule leaves only one module inside
internal ms_modules list, so other modules don't get cleaned up
properly, especially wxDirect2DModule, causing gs_ID2D1Factory
to leak, triggering the debug break on exit.

Fixes KICAD-49
2026-01-03 23:22:36 +05:00
Seth Hillbrand 9b9899979b Stop showing popup for library load errors
Errors are stored to a vector for display after clicking the warning
icon in the toolbar.
2025-12-31 13:15:06 -08:00
Seth Hillbrand 1b4a840820 Attempt to fix ordering issue when quitting
In some cases (mostly mac but not just), we can get to the dtor for
thread pool after the CV has already been destroyed.  This prevents that
from being possible and hopefully fixes the crash

Fixes https://gitlab.com/kicad/code/kicad/-/issues/22583
2025-12-27 15:24:35 -08:00
Jon Evans 65ee6df445 Make sure design block reload events come on main thread 2025-11-27 16:23:34 -05:00
Jon Evans d85fb038ba Port design blocks to new library table system
Generalize library adapter code to be shared
2025-10-15 22:18:54 -04:00
Jon Evans 266c8c8754 Refactor and consolidate startup wizard
- Add welcome page
- Add settings migration
- Add library table configuration
- Combine sentry and updates into a privacy step
- Support in single-top mode
2025-10-15 22:18:52 -04:00
Marek Roszko d2f927dd7e ADDED: Central startup wizard to prompt for initial settings 2025-10-15 22:18:52 -04:00
Jon Evans d0cbc983be Add support for PCM libraries to library manager 2025-10-15 22:18:51 -04:00
Jon Evans 413f095faf Load schematic libraries in the background when the editor is started 2025-10-15 22:18:49 -04:00
Jon Evans 0752b43057 Create a new library manager responsible for table loading 2025-10-15 22:18:49 -04:00
Seth Hillbrand 23c1a68da8 Make printing consistent with plotting.
How you ask?  Plot first -> then read the PDF and print directly to the
platform-specific printers.  Roundabout?  Yes.  Better than wx printing?
Darnbetcha.

Also allows multi-size page printing and proper margins and print
preview

Fixes https://gitlab.com/kicad/code/kicad/-/issues/1831
2025-08-16 20:07:45 -07:00
Seth Hillbrand 53b659dadc Update languages
Allow translators to view their work in the master branch
2025-07-18 08:08:33 -07:00
Marek Roszko a5e4ed38a3 Move most of the sentry logic to a class inside the APP_MONITOR namespace 2025-06-07 14:55:07 -04:00
Marek Roszko dea46f7780 Add a TRANSACTION class to experiment with performance metrics in nightlies 2025-06-07 11:43:11 -04:00
Jeff Young 86e1d4c684 Shorten opt-in text and improve Yes/No button labels.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20027
2025-03-20 10:24:02 +00:00
Seth Hillbrand 1b5c97d464 Remove partially translated languages <50% 2025-02-19 07:35:06 -08:00
Wayne Stambaugh f161d94521 Common folder housekeeping part 2. 2025-01-14 15:25:05 -05:00
Jon Evans 54e8233b36 Don't scan for API plugins if server is disabled 2025-01-10 21:46:51 -05:00
Seth Hillbrand 452e69de85 Move thread pool into true singleton
Thread pool needs to be stored in a single location for all of KiCad
otherwise each kiface will spin up its own pool of persistent threads
2025-01-09 09:03:08 -08:00
Marek Roszko 02b3d03c23 Fix ctest for windows with env shim that is disabled for non windows, for now.
Also stuff a dummy fontconfig file to silence the dumb error on stdout, which interferes with testing
2025-01-04 22:08:58 -05:00
Seth Hillbrand 074e6df3bc Revert "Move thread pool to singleton class"
This reverts commit 361f61a023.
2025-01-03 21:22:44 -08:00
Seth Hillbrand 361f61a023 Move thread pool to singleton class
Having thread pool as its own singleton in the library meant that each
kiface had its own threadpool, leading to many multiples of the threads
being started.  Placing a singleton class in PGM_BASE ensures that all
kifaces use the same thread pool.

The singleton class can be extended to provide single instance
guarantee for any element across kifaces
2025-01-03 13:51:11 -08: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
Seth Hillbrand ea6c53ba5d Re-enable low-translation testing languages
Languages lower on the translation level need to be enabled in the
master branch for testing
2024-10-01 10:59:47 -07:00
Marek Roszko acec5552c0 Don't use message as part of the assert dedup
kimath overflow can generate thousands of unique messages in one run lolol
2024-06-21 07:19:53 -04:00
Marek Roszko 3d56494652 Add weirdly missing header for msvc 2024-04-28 22:22:24 -04:00
Marek Roszko 9ffa5db667 Delete m_locale in the pgm_base destructor instead of manual destroy method
We need the object in m_locale for a bit more things during program cleanup,
especially on macOS

The destructor of PGM_BASE is sufficient allowance of lifetime.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17369
2024-04-28 22:15:37 -04:00
Jon Evans 1dbe78c68b Add QA tests and expand serialization for API 2024-04-02 19:51:18 -04:00
Jon Evans 6bd02cae6d Refactor; add user control over API server 2024-04-02 19:51:18 -04:00
Jon Evans a3b6ab48a4 Add a new plugin system for the new API 2024-04-02 19:51:16 -04:00
Jon Evans f613cd1cb4 ADDED: A new IPC API based on protobuf and nng
Details, documentation, and language bindings are works in
progress and will be evolving over the course of KiCad 9
development.
2024-04-02 19:34:36 -04:00
Ian McInerney 921358b096 Make instance checker path globally writable
On Linux, this directory is shared between users, so a multi-user
machine needs to let the other users have access to the directory to
create their own lockfiles.
2024-04-01 21:59:46 +01:00
Marek Roszko 83ef5fd7d6 Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
Jon Evans e9456201a7 Don't rely on dynamic_cast across DLLs
See https://gitlab.com/kicad/code/kicad/-/issues/16998
2024-02-26 22:10:28 -05:00
Laurens Holst 755d4ada6d Correct Dutch language name to "Nederlands".
"Nederlandse" is the adjective form which is not appropriate here;
only used stand-alone when referring to nationality.
2024-02-10 23:30:50 +01:00
Jon Evans 4622738c93 Deconflict instance-checker dir with 7.0 2024-02-07 18:35:10 -05:00
Jon Evans 874be359e0 Use a more specific path for instance checker 2024-02-06 21:33:44 -05:00
Ian McInerney 6ed71e1a1a Don't translate the label for traditional Chinese, it must be in its own language 2024-01-26 20:39:29 +00:00
Jon Evans 57c40d4f17 Disable the splash screen for now 2024-01-16 17:26:02 -05:00
Marek Roszko fc62d36441 Add share/locale to catalog paths on windows 2024-01-15 22:08:17 -05:00
Marek Roszko 284df4adf8 Move two pgm_base method definitions back to pgm_base.cpp 2023-12-28 08:26:10 -05:00
Wayne Stambaugh 19e309d2d2 Dialog layout and coding policy fixes. 2023-11-04 13:57:31 -04:00
Marek Roszko d0b26ae600 Add a hack to avoid spamming sentry events due to recursive asserts 2023-10-30 19:03:54 -04:00
Marek Roszko 5a1c300cff Remove unused headers in pgm_base 2023-10-11 07:22:50 -04:00
Mark Roszko 3c0f9ec510 Revert "Give wxTheApp to python scripts that end up touching Pgm().App()"
This reverts commit 672265b564
2023-10-02 00:23:52 +00:00
Marek Roszko 672265b564 Give wxTheApp to python scripts that end up touching Pgm().App()
Fixes KICAD-QG
2023-10-01 19:02:49 -04:00