155 Commits

Author SHA1 Message Date
Seth Hillbrand
aac15f4596 Encapsulate libgit commands into single backend
Sets stage for allowing alternate backends for version control
2025-09-08 21:04:31 -07:00
Seth Hillbrand
82c61efcbd Revert "When re-launching on MacOS, create a new instance"
Needs to launch without jumping back in and allow switching

This reverts commit 1885f4bdee6656d988bf088b048fbfbb70ac0f3d.
2025-09-01 06:39:34 -07:00
Seth Hillbrand
1885f4bdee When re-launching on MacOS, create a new instance
Allows people to run multiple copies of KiCad.  Only launches new copies
if the TLW is already shown.  Otherwise, sticks with the default MacOS
behavior of raising the running window
2025-08-31 12:54:55 -07:00
Jeff Young
cf5c00bcf2 Make more use of shared dialogs. 2025-08-10 21:32:10 +01:00
Jeff Young
875fcffdf9 Mac has no fallback graphics. 2025-07-28 19:38:39 +01:00
Seth Hillbrand
0271047b26 Add a method to force KiCad to software rendering
There are enough cases of problematic OpenGL implementations to need a
way to avoid calling OpenGL in the first place.  This provides a
temporary method for people experiencing crashing KiCad or starting
KiCad over a remote terminal to temporarily enforce software rendering
2025-07-27 17:23:53 -07:00
Mark Roszko
c594e1da5c Quote the relaunch command string 2025-07-12 19:23:15 -04:00
Mark Roszko
2c9f189441 Fix the relaunch command 2025-07-11 18:33:58 -04:00
Mark Roszko
49db4df92d Add a -n arg for "new instance" to kicad.exe for use with the relaunch command 2025-07-08 23:17:46 -04:00
Mark Roszko
572d394be7 Fix shift+middle click on windows no longer working
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21267
2025-07-08 23:17:46 -04:00
Jeff Young
e74f56c629 Check file extensions before trying to open. 2025-07-03 17:11:58 -06: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
Jon Evans
3129e072c4 API: Move graphics and text handling to common
Required moving API_HANDLER_COMMON out of kicommon
2024-11-28 11:28:06 -05:00
Mike Williams
895c977dd3 design blocks: move all loading out the main kicad frame
This lets standalone eeschema at least use the global table if a project
is not loaded, similar to how symbols/footprints work.
2024-09-10 15:50:03 -04:00
Mike Williams
2eec2489ea design blocks: move globals behind accessor functions
Prepare for lazy loading
2024-09-10 15:50:03 -04:00
Mike Williams
2c99bc6c6d new feature: Schematic Design Blocks
Added to advanced config, default to off.
EnableDesignBlocks=1 in kicad_advanced to test

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/2263
2024-09-05 08:35:49 -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
Marek Roszko
83ef5fd7d6 Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
Jon Evans
7b0bb59b37 Remove hard-coded versioned env vars in most places 2024-02-15 15:31:08 +00:00
Ian McInerney
d44b04978a Allow enabling WXTRACE in release builds on all platforms
Setting the environment variable KICAD_ENABLE_WXTRACE now enables wx
trace logging on all platforms. MSW still requires its original
environment variables to be set to get the console displayed.
2024-02-02 14:21:33 +00:00
Marek Roszko
918327efb3 Use FromDIP helper for initial kicad frame size 2024-01-16 15:24:49 -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
Seth Hillbrand
d99641be40 ADDED: Git integration support
Adds support for project-based git integration, branch support, commit,
revert and updates

Fixes https://gitlab.com/kicad/code/kicad/issues/10441
2023-10-20 12:51:47 +00:00
Marek Roszko
f6951c3ce0 Hide the splash earlier in kicad 2023-09-04 08:34:14 -04:00
Marek Roszko
74d6dc6642 ADDED: Startup splashscreen
This is purely loading in the background based and has no artificial delay.
Will be more useful once kicad.exe ends up loading more on launch immediately ;)
Right now the splash is probably visible the longest launching pcbnew standalone.

The actual splash image can be considered a placeholder
2023-06-20 20:51:08 -04:00
Mark Roszko
03990ee7e0 Move the custom assert handler to release builds only 2023-06-13 13:04:37 +00:00
Marek Roszko
992ed34365 Disable sizer asserts in release 2023-06-13 07:08:33 -04:00
Marek Roszko
8eb265bf4c Add a central assert handler that generates sentry events 2023-05-31 21:56:59 -04:00
Seth Hillbrand
14f6e32c74 ADDED: Change watcher for libraries
When editing or viewing library symbols, the files are watched for
underlying changes.  If any occur, the user is either prompted to reload
(if reloading would overwrite their current edits) or the file is
silently updated to the current version on disk.

This also sets a custom assertion handler to avoid unneeded crashes when
recieving invalid SAMBA packets and turns off assertions entirely when
running in release (non-debug) mode
2023-05-31 13:46:00 -07:00
Marek Roszko
3dc308464c Replace the exception handler in another spot 2023-04-19 21:21:18 -04:00
Seth Hillbrand
a9ed47f06c Update KICAD6->KICAD7 2023-01-23 22:21:12 +00:00
Seth Hillbrand
a5e6f11682 Fix crash when closing non-modal 2023-01-12 13:21:22 -08:00
Seth Hillbrand
fa91d906d0 Fix event blocker on GTK
We block events when a modal window is active.  But detecting when the
modal window is closed is harder on GTK than just counting modal closes
because the modal flag can sometimes be unset before the wxEVT_SHOW
event fires.  Instead, we track the stack of modal windows opened and
close the window and subsequent windows when the object pointer matches

Fixes https://gitlab.com/kicad/code/kicad/issues/13372
2023-01-12 11:53:00 -08:00
Jeff Young
4c63b4e061 Class name <-> file name sync. 2022-12-29 18:05:57 +00:00
jean-pierre charras
562676b9f8 Fix missing initialization in PGM_KICAD.
This init was probably removed by mistake.
Fixes #12935
https://gitlab.com/kicad/code/kicad/issues/12935
2022-11-18 09:25:20 +01:00
Marek Roszko
2bac898298 Make -f set standalone mode in kiway 2022-10-04 23:03:03 -04:00
Marek Roszko
3fe004fd1b New kicad-cli will now be the cli interface 2022-10-04 22:24:13 -04:00
Marek Roszko
201dcabb97 Fix kicad.exe as well for file args 2022-10-04 07:35:03 -04:00
Mark Roszko
fb8a4c10f7 Shove kicad2step into pcbnew itself with a new cli 2022-10-04 01:53:37 +00:00
qu1ck
f4fa3b02c5 PCM: automatic check for repository updates 2022-08-18 20:41:43 +00:00
Jeff Young
b84d1456d5 KIFACE_I -> KIFACE_BASE. 2021-09-14 23:45:14 +01:00
Wayne Stambaugh
01515680b3 Code cleaning. 2021-07-14 15:47:32 -04:00
luz paz
f968fc8719 Fix source comment / documentation typos 2021-06-09 19:32:58 +00:00
jean-pierre charras
56058314be Fix minor Coverity warnings and minor compil warnings.
(uninitialized or shadowed vars)
2021-05-05 08:58:55 +02:00
Wayne Stambaugh
d2a7f81b10 Debugging improvements and clean up.
* Remove unused wxLogDebug calls.
* Add add application level character tracing to detect unhandled key
  events.
* Catch unhandled exceptions in KiCad main event loop like single top
  applications.
2021-05-03 18:08:15 -04:00
Ian McInerney
41f88dbabc Refactor platform-specific init into two phases
The first phase is for the environment before the OS
apps are created, and the second phase is for after
the OS app is created but before all of our processing.

Fixes https://gitlab.com/kicad/code/kicad/issues/7992
2021-03-23 19:11:08 +00:00
Jon Evans
c04e19f9ac Include optimization: move some things from common.h to point-of-use 2021-03-20 12:09:18 -04:00
Ian McInerney
3036683a2c Move platform-specific init tasks into KIPLATFORM 2021-03-19 21:26:07 +00:00
Jeff Young
b47453a93b Fix app names in Quit menu items on Mac. 2021-03-09 16:45:33 +00:00
Jon Evans
4f4b95456d Fix order of user template search paths
Make sure that documents path overrides the system path
set by KICAD6_TEMPLATE_DIR if that var exists.
2021-02-28 11:02:25 -05:00