Commit Graph

358 Commits

Author SHA1 Message Date
Seth Hillbrand d21eba4021 Unselected tree before syncing
On GTK, the selected item is checked for its parent when being
unselected.  This breaks if the parent has been removed by the Sync()
call, so we need to ensure that the unselect all call happens prior
2024-06-14 16:49:56 -07:00
Jeff Young ed0869aa0c Share more library tree code. 2024-06-08 19:06:10 +01:00
John Beard 4dd049ee8f Add action to focus tree searches
The default hotkey is Ctrl+L, as this is not bound by
default in the FP or symbol editor, and it is the hotkey
that is used to focus the address bar in web browsers,
which is a similar kind of action.
2024-05-05 04:18:36 +08:00
Jon Evans 1dbe78c68b Add QA tests and expand serialization for API 2024-04-02 19:51:18 -04:00
Marek Roszko 0c8e08ed58 Move some language changes to a event on the frame 2024-03-03 11:02:26 -05:00
Jeff Young e445249720 ADDED: PCB tables. 2024-02-24 20:05:51 +00:00
Jeff Young 9ff66d0e71 Don't capture references to local variables for CallAfter.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16934

(cherry picked from commit 9d40374baf)
2024-02-23 16:53:30 +01:00
Jeff Young cc058a7927 Exit pad edit mode before closing footprint editor.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16766
2024-01-26 13:49:17 +00:00
Jeff Young 1597882c1f Allow creation of groups with a single member.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16586
2024-01-19 17:32:00 +00:00
Marek Roszko 7b24167398 FromDIP symbol and footprint editor aui panes 2024-01-17 23:08:38 -05: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
Jon Evans ae13a46ace Fix display of footprint parse errors at load 2023-11-29 16:17:41 +00:00
Jeff Young 6d43ef5678 Don't specify sizes when we don't need to.
However, in some places we *do* have to because otherwise wxWidgets
will pick a minimum size for us (and it's rather large).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16039
2023-11-07 14:53:41 +00:00
jean-pierre charras 93b5038382 FOOTPRINT_EDIT_FRAME: ensure the canvas type comes from the FOOTPRINT_EDITOR_SETTINGS config
Previously, although the fp editor preferences has an option to select the canvas type,
it was read from the the PCBNEW_SETTINGS config, using Kiface().KifaceSettings().
2023-10-26 17:58:33 +02:00
Jeff Young 791aa64950 Functionally it's a "reference image".
The implementation happens to be a "bitmap".

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15932
2023-10-24 15:44:21 +01: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
Marek Roszko ba83e84b91 Move SaveCanvasImageToFile to EDA_DRAW_FRAME rather than leaking things to bitmaps 2023-10-16 18:33:11 -04:00
Marek Roszko 6b12a12b3e On second thought rename PROJECT_PCBNEW to PROJECT_PCB 2023-09-27 23:15:54 -04:00
Marek Roszko 7e8b18035f Eliminate the conditional pcbnew/cvpcb definition of PROJECT 2023-09-27 20:53:46 -04:00
Jeff Young bf493f32f5 Nullptr safety for various panels.
Also moves preference saving out to parent as different parents
save different settings.
2023-09-25 12:35:54 +01:00
Marek Roszko 22b733209d Fail GAL on its header leaking audit
Maybe we should rethink directly accessing GAL so much, but at least 600 files didn't need GAL leaked into them due to view_overlay.h
2023-09-18 19:52:27 -04:00
Alex Shvartzkop ff49d5ada9 Fix ambiguous overloads on wx 3.3 2023-09-14 19:05:46 +03:00
Marek Roszko 11de95778b Unwrap the FROM_UTF8 macro in favor of direct function
The extern just gets annoying to try to export the func later. We also yeet TO_UTF8 to string_utils.h for parity.
2023-09-09 00:10:57 -04:00
Josue Huaroto cef0f176d3
Add Unselect all in menu 2023-09-06 23:44:39 +00:00
Jeff Young bc3c8b19c6 Don't include annotations in boundingbox when not including text.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15411

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15411
2023-08-26 18:50:10 +01:00
Jeff Young 4fefd95e0c Move grid definitions to Prefs and grid origin to a separate dlg.
Grid origin is document-wide, while grid definitions are app-wide.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2262
2023-08-26 13:32:24 +01:00
Mike Williams d9c2e0ab54 PCB: start of grid overrides
Only works for moves.
2023-08-24 10:29:09 -04:00
Jeff Young c3c7f731df Fix usage of AUI SetAuiPaneSize() hack in FOOTPRINT_EDIT_FRAME.
This brings it in line with PCB_EDIT_FRAME, which seems to work
reasonably well.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14297
2023-07-16 22:29:21 +01:00
Seth Hillbrand f3122184df Remove existing footprint when force-reloading
Needs to clear the existing footprint in ReloadFootprint prior to
loading the new one.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15040
2023-06-26 17:04:03 -07:00
Ian McInerney 2fb6f19a84 Separate immediate and delayed action dispatch
Using a boolean argument just leads to a lot of trailing booleans in the
function calls and is not user friendly. Instead, introduce PostAction()
to send an action that runs after the coroutine (equivalent to passing
false or the default argument), and leave RunAction as the immediate
execution function.
2023-06-27 00:57:59 +01:00
Jon Evans 3a0f8214fa ADDED: Properties panel for schematic editor
Initial infrastructure work; follow-ons will add more
properties for schematic items.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/6351
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14105
2023-06-22 22:32:24 -04:00
Jeff Young b7f0aae006 Nullptr safety for UI Conditions.
We don't really control when these are called, so best not to assume
we've finished initialization of the frame/screen/document/whatever.

Possible fix for KICAD-KY.
2023-06-12 12:38:50 +01:00
Jeff Young 3159391e28 Make sure infobar gets created earlier.
(restoreLastFootprint() might want it.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14922
2023-06-11 11:40:51 +01:00
Jeff Young 4fc6047f91 Make sure infobar gets created earlier.
restoreLastFootprint() might want it.
2023-06-11 11:02:56 +01:00
Jeff Young 0091b9f897 Prevent Sentry KICAD-MM crash.
It'd be nicer to know what happens, but we don't have a reproducible
case, so this "fix" will at least prevent that particular crash.
2023-06-04 23:00:44 +01:00
Jeff Young 5875f89531 Centralize text size clamping.
Also introduces alg::clamp to improve readability of
std::max( min, std::max( value, max ) )

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14876
2023-06-03 20:29:51 +01:00
Seth Hillbrand 7f5d790610 Ensure we aren't trying to access a closed board 2023-06-02 15:47:46 -07: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
Jeff Young df7d62fdd3 Added a sort-order dropdown to lib-tree filters.
Also simplifies the scoring algorithm so that it only
differentiates between exact-match, match-at-start and
any-match.  The rest of the position-based matching
stuff is gone, as is the knowledge of the name vs the
keywords vs the description.  All that is left to the
provider of the weighted search terms array.
2023-05-01 21:26:43 +01:00
jean-pierre charras 0c544f1f45 FOOTPRINT_EDIT_FRAME: do not delete settings when closing the frame.
They now are read when starting kicad, and must be not deleted.
2023-04-22 11:46:52 +02:00
Jeff Young eef3492fc0 Make symbol/footprint trees sensitive to language change. 2023-04-11 23:51:58 +01:00
Jeff Young 374d3d52ef Rollback wxChoice -> wxComboBox changes for now.
wxComboBox still has serious issues on macOS.

Fixes https://gitlab.com/kicad/code/kicad/issues/14399

Fixes https://gitlab.com/kicad/code/kicad/issues/14413
2023-04-09 23:00:33 +01:00
Jeff Young bd60f38569 Possible protection from acessing deleted window data.
(Long shot for Sentry KICAD-MM.)
2023-04-03 23:44:40 +01:00
Jeff Young a4e8fa96d4 Nullptr safety.
(This is a long shot for Sentry KICAD-MV, but you never know....)
2023-04-03 23:44:40 +01:00
Jeff Young bbd6c80507 Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
Seth Hillbrand d2cc252fc7 Move via/track/grid selection widget to wxComboBox
The wxComboBox drops nicely from the top of the screen, showing the full
element list, opposed to the choice widget that centers the selection
and places the list off the top of the screen if there are many
elements.  This was broke for MacOS until wx3.2

Fixes https://gitlab.com/kicad/code/kicad/issues/1866
2023-03-09 11:45:44 -08:00
qu1ck f0dd32c3a7 Fix plugins in pcbnew breaking by opening fp editor 2023-02-23 14:20:03 +00:00
Jon Evans f7d59f2e89 Enable properties panel in footprint editor 2023-02-17 20:35:56 -05: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