Commit Graph

174 Commits

Author SHA1 Message Date
jean-pierre charras 0bd83d3096 Footprint viewer: ensure the footprint is updated after new library selection
Previously, if the first fp of the new lib has the same name as the old
displayed fp, the old fp was not replace by the new fp.
2023-03-29 16:53:49 +02:00
Mike Williams b32ba16da4 UI: Add Numpad Enter as "Return" equivalent in missing places
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/14244
2023-03-10 16:25:17 -05: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
Marek Roszko aacc9746e3 Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere 2023-02-18 22:57:18 -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
Wayne Stambaugh 68decdd4f2 Fix static event table derived object definitions. 2023-01-28 14:10:06 -05:00
Ian McInerney 51c8f2c119 Fix library sort order in library viewers
The lib table returns a properly sorted list of libraries already, which
we just iterate through. A std::set is a sorted collection, but uses a
different sorting function than the lib table, so appending to a
std::set breaks the initial sorting that was done already.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13530
2023-01-27 23:39:50 +00:00
jean-pierre charras b2f6c13b6a Fp editor and Fp viewer: fix missing info on msg panel after loading a fp
Fix also duplicate/not used code
Fixes #11404
https://gitlab.com/kicad/code/kicad/issues/11404
2023-01-25 17:47:04 +01:00
Gary Kim 8e8a3c7bdc
Do not translate name in version info
Leave the application name in version info untranslated when
viewed, copied, or used in a bug report.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13298
2022-12-31 20:28:45 -05:00
Jon Evans cc2b107649 Footprint Viewer: resolve canvas type after menus are created
SaveSettings can't be called until the menus are in place

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13243
2022-12-22 12:14:55 -05:00
Jeff Young 18ac169ac7 Add contexts to EDA_COMBINED_MATCHER. 2022-08-14 22:56:29 +01:00
jean-pierre charras 4d48376eae Fix some warnings detected by PVS-STUDIO (not used vars) 2022-07-26 16:00:14 +02:00
Jeff Young e10158ff10 ADDED show pin names on footprint pads when assigning to symbol.
Fixes https://gitlab.com/kicad/code/kicad/issues/4576
2022-07-24 23:41:41 +01:00
Jeff Young 1bad72f14f Remove bad static_cast.
(m_settings isn't a PCBNEW_SETTINGS in non-PCB_EDIT_FRAMEs)
2022-07-24 23:41:41 +01:00
Jeff Young fa679d3601 Pinned libs can also be found in program settings. 2022-07-23 20:17:04 +01:00
Jeff Young 6a9c6e8599 Hook up ID_GRID_SETTINGS for footprint viewers.
Fixes https://gitlab.com/kicad/code/kicad/issues/12030
2022-07-19 21:24:45 +01:00
Seth Hillbrand 93fb00d815 Protect the Kiway dereference
Also find a few more places where we are reaching into a new frame to
perform actions that need to have dialogs closed.

Running actions should also wait for the next cycle rather than being
immediately executed when we are calling into a new frame.  This allow
for the cleanup actions onClose() to happen prior to the next action
starting

Fixes https://gitlab.com/kicad/code/kicad/issues/11891
2022-07-14 11:37:45 -07:00
Jeff Young 0a623bff9f Save fp browser list widths and apply known hack to work around wxWidgets bug.
Fixes https://gitlab.com/kicad/code/kicad/issues/11744

Fixes https://gitlab.com/kicad/code/kicad/issues/11745
2022-07-10 23:07:04 -06:00
Jeff Young 190fb23e88 Add pinned library support to Footprint and Symbol Viewers.
Also includes adding libraray and symbol filters to Symbol Viewer.
2022-07-09 17:41:10 -06:00
Jeff Young 9b70308f5c Nullptr defensive code.
Fixes https://gitlab.com/kicad/code/kicad/issues/11690
2022-06-11 22:32:12 +01:00
jean-pierre charras 0211d07060 Footprint viewers: fix regression: re-add automatic zoom option when loading a new footprint
Fixes #11402
https://gitlab.com/kicad/code/kicad/issues/11402
2022-04-18 11:15:14 +02:00
Seth Hillbrand c9746fb34b Handle list double-click without shortcuts
The LIST_DCLICK event can be fired by spacebar or enter in GTK.  This
conflicts with using the spacebar to reset local coordinates.  Instead,
we capture the double-click event manually to add the footprint to the
board

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

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

(cherry picked from commit ff6f398607)
2022-02-25 16:53:27 -08:00
Jeff Young 7ccac79192 More wxString wide literals. 2022-02-05 21:29:34 +00:00
Jeff Young 2defd8d911 Move show-bounding-boxes to a tool on the toolbars. 2022-01-17 11:56:40 +00:00
Jeff Young 5e4a704155 Remove some more duplicated preferences.
Fixes https://gitlab.com/kicad/code/kicad/issues/10112
2021-12-26 13:37:28 +00:00
Jeff Young 9ee28ea8f5 Flatten out some more preferences. 2021-12-24 15:43:20 +00:00
Jeff Young d28714167c All the preferences, all the time.
Fixes https://gitlab.com/kicad/code/kicad/issues/7877

Fixes https://gitlab.com/kicad/code/kicad/issues/5153
2021-12-24 13:08:44 +00:00
Jeff Young ef10b36948 Add mask-to-copper clearance parameter and rename mask margin. 2021-12-24 12:36:41 +00:00
jean-pierre charras c360bbba20 Browse footprint libraries now remember window-size and position
(resolveCanvasType() saves the settings, so it must come after they are loaded)
Fixes #9935
https://gitlab.com/kicad/code/kicad/issues/9935
2021-12-12 09:02:15 +01:00
Seth Hillbrand 126563c839 Fix initilization project / ordering
We cannot resolve the Canvas type without the canvas being initialized.
But saving settings sometimes requests canvas access.  This protects the
calls against failure by checking for canvas before saving
canvas-specific settings

Fixes https://gitlab.com/kicad/code/kicad/issues/9729
2021-11-22 11:47:42 -08:00
Seth Hillbrand 3f2d86adec Make OpenGL default for all apps
Fixes https://gitlab.com/kicad/code/kicad/issues/9699
2021-11-21 12:33:07 -08:00
Jeff Young 0438a45176 Don't allow reentrancy into PlaceFootprint.
Fixes https://gitlab.com/kicad/code/kicad/issues/9269
2021-09-29 17:01:33 +01:00
Jeff Young 3651d7c5e7 Remove vestiges of old zoom-auto architecture.
Fixes https://gitlab.com/kicad/code/kicad/issues/9055
2021-09-19 18:32:15 +01:00
Jon Evans 5f2d238c93 Work around GTK issue with wxSearchCtrl
Also remove redundant icons in LIB_TREE (recent GTK
search controls have an icon built-in)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9019
2021-08-24 23:04:28 -04:00
Jeff Young 77680eba30 Naming conventions. 2021-08-05 14:31:36 +01:00
Jeff Young 95b87ba29a Freshen microwave polygon dialog and remove a bunch of dead code. 2021-08-03 01:11:11 +01:00
Wayne Stambaugh cf00319c85 More NULL expunging. 2021-07-20 07:27:18 -04:00
Jeff Young 2889861c0b Remove unused variables. 2021-07-11 23:42:40 +01:00
Marek Roszko 11cd8738a3 Put wxSearchCtrl back by eliminating the excess focus events that in Windows land cause a "select all"
The setfocus calls were really because of the overtly aggressive mouse handler for the canvas that has been patched out.
2021-07-09 18:08:32 -04:00
Marek Roszko 49e6b80fc5 Rollback searchctrl change for FOOTPRINT_VIEWER_FRAME
Fixes #8751
2021-07-08 07:26:42 -04:00
Marek Roszko a92d337905 Use wxSearchCtrl in the footprint viewer/picker. 2021-07-04 22:06:01 -04:00
Jeff Young 685ee31c35 Workaround a few more OSX printf problems.
Also regularizes the frame title processing.

Also fixes a type where the library name wasn't processed for
variable expansion.

Fixes https://gitlab.com/kicad/code/kicad/issues/7742
2021-06-20 22:48:19 +01:00
Marek Roszko 7faee5eda5 Stop salt the eart with wxhtml.h 2021-06-03 07:49:49 -04:00
Jon Evans 619a353c5e Decouple 3D view dirty marking and refresh
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8154
2021-04-08 22:09:19 -04:00
Roberto Fernandez Bautista 7077e59395 Make moving pads independent of footprint much harder with new setting
It is still possible to move a pad independent of footprint through
the pad properties dialog. This is a much more conscious decision
than using the move tools.

ADDED: "Allow free pads" preference setting in pcbnew, default to off.
When enabled, allows moving unlocked pads independent of the footprint
(i.e. previous behaviour). When disabled (default), any attempt to move
a pad will move the parent footprint instead.

REMOVED: "Lock pads of newly added footprints" preference setting in
pcbnew. (Pad lock state is now loaded from the footprint definition)

CHANGED: There are now only two possible lock states for a footprint:
locked and unlocked. The lock state of the pads in the footprint is
now independent of the footprint lock state.

Also fixed a latent bug that would allow a pad to be moved when the
parent footprint was locked (see m_selectionTool->RequestSelection
lambdas in edit_tool.cpp)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/7739
2021-03-31 18:28:18 +00:00
Ian McInerney 0a0935e0f3 Remove ACTIONS::TranslateLegacyId and TOOL_DISPATCHER::DispatchWxCommand
After commit 9535153f9e there were no more IDs inside the legacy ID
system. Therefore the entire system for dispatching and looking up
the legacy ideas and handling those events can now be removed and
the tool dispatcher simplified (it no longer needs to know about
the ACTIONS class).
2021-03-30 23:20:22 +00:00
Jon Evans 52e2bf0000 Keep focus on filter boxes in footprint viewer
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4884
2021-03-14 15:10:20 -04:00
Jon Evans 18037e2f65 Rework bitmap system to load from archived PNGs
Bitmaps are now identified by an enum class instead of by pointers.
Bitmap loading and caching is now handled by a class in common, and
we no longer compile most bitmaps into the binary, so there is no
longer a bitmaps static library.

Instead, bitmaps are archived to a .tar.gz file which is installed
in ${KICAD_DATA}/resources/images.tar.gz

The source PNGs are checked in to Git as the original CPP files were,
so that people can build without the required dependencies to convert
SVGs to PNGs.

Initial support is also added for dark theme icons, although this
is not yet exposed in the GUI.

Stubs are present for multi-resolution image resources, but this is
not fully-baked yet and could use some refinement.
2021-03-11 08:37:35 -05:00
Jeff Young 57e948ff08 Make sure axesEnabled is set before saving config.
We don't actually allow the user to change this at present, so one
could argue that we should remove it from what is saved out of the
config.  But this is a smaller, safer change.

Fixes https://gitlab.com/kicad/code/kicad/issues/7666
2021-03-01 20:37:04 +00:00
Jeff Young 66b33834b5 Always enable save; move dirty bit to asterisk in title bar.
Also unifies PCB Editor and Schematic Editor names with other
locations in the GUI (which were still Pcbnew and Eeschema).

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

Fixes https://gitlab.com/kicad/code/kicad/issues/7594
2021-02-18 16:05:42 +00:00