224 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
Seth Hillbrand 8eb3f3c618 Enable GVFS/network filesystem visibility in file dialogs
On GTK, wxFileDialog defaults to local_only mode which hides GVFS-mounted
filesystems like Google Drive, SMB shares, and external drives mounted
through GVFS. This adds a platform-specific function that disables
local_only mode to show these network/virtual filesystems.

Apply AllowNetworkFileSystems to all file dialogs across KiCad
to ensure directories on network filesystems are visible when
browsing for files.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14372
2026-01-29 12:43:20 -08:00
Seth Hillbrand e480764577 Make image file extension filtering case-insensitive
Replace wxImage::GetImageExtWildcard() with a new FILEEXT::ImageFileWildcard()
function that uses KiCad's formatWildcardExt() to generate case-insensitive
file patterns on GTK (e.g., [pP][nN][gG] instead of just png).

This allows selecting image files with uppercase extensions like .JPG or .PNG
in the Place Image dialogs across eeschema, pcbnew, pl_editor, and
bitmap2component.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21254
2026-01-29 09:22:46 -08:00
Mark Roszko 314735e2fc Move message dialogs to KICAD_MESSAGE_DIALOG define
Fixes https://gitlab.com/kicad/code/kicad/-/issues/22830
2026-01-25 12:42:13 -05:00
Jeff Young 1f2caa041d Handle quit uniformly in COMMON_CONTROL.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/22659

Fixes https://gitlab.com/kicad/code/kicad/-/issues/22660
2026-01-06 17:07:38 +00:00
Jeff Young 88e87bab3e Don't short-cicuit Remove() or RemoveAll().
Also, make sure PCB_GRID_HELPER installs itself
as a board listener.  (Otherwise its
OnBoardItemRemoved() handler will never get
called.)
2025-12-09 14:46:55 +00:00
Mark Roszko 2cf6ec2411 Remove some obsolete LOCALE_IO 2025-08-27 20:07:27 -04:00
jack2bs 8c017c7503 bitmap2component: Adding file drag and drop 2025-06-22 08:26:57 -04:00
jean-pierre charras eaa1e6d594 Fix a collision with a Windows define and our use of the same var name.
We use IN for INCH as units, but IN is defined in a Windows header
2025-03-02 11:34:30 +01:00
Jeff Young f951497a4f Code brevity. 2025-03-01 21:58:31 +00:00
Seth Hillbrand 867e6858c8 Handle paste special case when converting bitmap
Library export to file requires a library container but when pasting, we
paste into an existing library, so we need to skip the library header.

Long term solution would be to allow pasting library with multiple
symbols into existing library

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19688
2025-01-19 17:46:54 -08:00
Jeff Young 24ec25a24c Update layer infrastructure in Image Converter.
(Also cleans up the interface a little.)
2025-01-18 14:33:03 +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
Seth Hillbrand e9bc8cfe9d Give Clipper1 a Viking funeral
Clears out the last spot where we were only using Clipper1 (how'd I
miss that?) and remove all calls to the Clipper1 structures
2024-12-23 17:12:09 -08:00
Jeff Young 0bcf6000a4 Formatting. 2024-12-08 21:46:54 +00:00
Marek Roszko aaf776db9e Point BEGIN_EVENT_TABLE at the correct base class, fix current lang indication
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17825
2024-04-30 22:47:53 -04:00
Marek Roszko 2a3b597ab9 Strip out no longer needed links on the top executables
Not needed due to kicommon
2024-04-14 07:52:02 -04:00
Marek Roszko 83ef5fd7d6 Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
Seth Hillbrand cd548e392a Add document type icons
Update Macos script to use doctype icons for icns builds

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14754
2024-02-09 15:55:57 -08:00
Jeff Young 7cc663ad77 Schematic parity checking for CLI DRC. 2024-02-02 23:05:37 +00:00
Marek Roszko b4bfdf95d3 Explicitly add 48, 128, 256 to icon bundles for each app 2024-01-16 17:21:44 -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
Marek Roszko d1ecf3790c Add generator version 2023-11-29 16:17:41 +00:00
Jon Evans 55ba667bcb Retire tstamp keyword in favor of uuid 2023-11-29 16:17:41 +00:00
Jeff Young 435e3fab8d Support text variables in STEP export filename.
Also fixes some other file browser titles to match Kicad's overall style.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15927
2023-10-23 18:01:47 +01:00
Jeff Young f708c7d962 Open Recent for Bitmap2Cmp. 2023-10-21 20:40:04 +01:00
Jeff Young c75b84f76e Fix errant removal of parens.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15744
2023-10-21 20:10:28 +01:00
Marek Roszko bee6e6be01 AddMenuLanguageList should live in EDA_BASE_FRAME, its only user 2023-10-16 19:49:52 -04:00
Seth Hillbrand f4abc43da0 PL Editor: Fix formatting error
fmt requires `:` prior to the numerical formatting
2023-09-26 12:51:33 -07:00
Jon Evans d371bb06ae New macOS installation scripts
Replaces BundleUtilities that got broken by recent updates
and is basically unmaintained by cmake.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15376
2023-09-19 17:23:30 -04:00
Marek Roszko bd3aca2887 Cleanup the kiface dll export declaration slightly
Why in the bloody world would you pass in the return type as part of the macro for export/import preprocessing
2023-09-08 20:44:08 -04:00
Marek Roszko e665cbac20 Delete line with weird comment because its weird
We should fix it for reals
2023-09-06 23:45:48 -04:00
Ian McInerney a3a701a95e Move preferences to an action instead of a wx event 2023-08-08 00:51:22 +01:00
Marek Roszko a8f3b63eb2 Use fmt instead of sprintfing into a char buf into a std::string
Also fix the EPS format header, it had the % escaped with a %, but it wasn't in a printf but direct append to the std::string
2023-07-15 14:07:22 -04:00
jean-pierre charras 8712dac1a2 Minot fix: Honor Ctrl+Q hotkey in pl_editor and pcb_calculator 2023-06-28 08:56:40 +02:00
Jeff Young 75e78f9088 Move bitmap2cmp and pcb_calculator to tool framework.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1939

Fixes https://gitlab.com/kicad/code/kicad/-/issues/7561
2023-06-16 15:37:58 +01:00
Jeff Young 150e2b8a19 Separate BITMAP2CMP_PANEL from BITMAP2CMP_FRAME.
This is primarily to allow wxFormBuilder to create the panel without
the dangerous hack of passing a wxWindow ID into KIWAY_PLAYER's ctor.
2023-06-15 17:39:10 +01:00
Jeff Young 46564055f4 More protection around an exceedingly dangerous hack.
The API is needed for wxFormBuilder, and I couldn't figure out any
way around it, but we can at least reduce the risk of someone calling
it accidentally (again).
2023-06-14 12:52:49 +01:00
jean-pierre charras 707b0becee bitmap2component: fix incorrect min size of the main frame.
It was due to the fact the sizers were set without menubar, created later.
A dummy menubar is now added at frame creation, to allow sizers to be
correctly initialized.
Fixes #14859
https://gitlab.com/kicad/code/kicad/-/issues/14859
2023-06-01 16:26:19 +02:00
jean-pierre charras bd71cec826 Bitmap2component: enhancement: add more PCB layers in PCB layer list selector. 2023-05-13 12:28:48 +02:00
Nimish Telang 51e55dd750 Convert sprintf to snprintf in most files 2023-04-17 15:39:34 +00:00
Jeff Young c4ef08bead Exercise more caution with user filenames.
In particular, don't assume "1" is an extension in "Schematic_1.1".

Fixes https://gitlab.com/kicad/code/kicad/issues/14263
2023-03-12 15:52:45 +00:00
aris-kimi 22bca5c2a0 Disable link maps by default and fix compile issue with lld linker
The link maps were actually disabled by default before
912f1d5cec, and required KICAD_MAKE_LINK_MAPS
to be provided to enable them. So switch back to disabling them by
default.

Also, The lld linker is unable to accept a single dash cref option, while
ld and gold can. Instead, use the double dash version that is supported
by all three.

xref: https://github.com/llvm/llvm-project/issues/60932

Co-authored-by: aris-kimi <aris_kimi@hotmail.com>
Co-authored-by: Ian McInerney <ian.s.mcinerney@ieee.org>
2023-02-22 23:18:36 +00:00
Ian McInerney bcb93e9aa7 Modernize setting of compiler definitions in CMake
add_compile_definitions was added in 3.12, and our minimum is now
greater than that.
2023-02-22 01:44:06 +00:00
Marek Roszko ac94995f70 Some more wxS 2023-01-16 19:07:50 -05:00
Wayne Stambaugh 8973f83030 Image converter main window layout improvements.
Pad controls that were slammed against the sides of static box sizers.
2023-01-08 11:23:53 -05: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
Alexander Dewing 02325130fa Initial arm64 work 2022-12-09 23:48:31 +00:00
kliment 4a943facd0 bitmap2component: bring file formats up to date with latest v7. 2022-11-24 18:36:32 +00:00
Jeff Young 79e9e6b01e Give the Image Converter a more standard presentation.
Adds a close box, Quit menu item and Open... menu item, as well as
platform-specific menus.

Fixes https://gitlab.com/kicad/code/kicad/issues/12927
2022-11-19 19:41:33 +00:00