134 Commits

Author SHA1 Message Date
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
Jon Evans
47e25d617e ADDED: Icon scaling for toolbars only
Unlike the old "icon scale" (that actually scaled all bitmaps)
this one actually changes the toolbar size while making use
of the new bitmap bundle functionality

Add more resolutions for all tool icon bitmaps

Wouldn't want Mark's eyes to bleed
2023-10-22 14:02:06 -04:00
Alex Shvartzkop
21ee65aa9c ADDED: Importers for EasyEDA (JLCEDA) Standard / Professional. 2023-09-07 11:02:40 +03:00
Jeff Young
e30b05fcd0 Try not to forget file history and window state on a crash.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15343
2023-08-15 12:13:34 +01:00
Alex Shvartzkop
76e0d5981d Import system refactor for PCB plugins. 2023-08-15 05:26:12 +03:00
Marek Roszko
a0ebedc0ac Add a KICAD_TEST_NOTI env var for a fake notification on launch 2023-08-06 15:51:35 -04:00
Marek Roszko
5319316815 Enhance the status bar with background progress and notifications 2023-08-04 22:06:08 -04:00
jean-pierre charras
aa3e298890 Kicad manager: build the PLUGIN_CONTENT_MANAGER only un request, not in
KICAD_MANAGER_FRAME Ctor. Two advantages:
- it is built after the splash screen is dismissed.
- if there are issues when creating the PLUGIN_CONTENT_MANAGER, this is more
easy to debug
2023-07-18 11:19:52 +02:00
Marek Roszko
b0fa2561b6 Add support for enum based policies 2023-07-13 19:01:04 -04: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
Ian McInerney
480223f67c More RunAction specialization 2023-06-20 21:52:50 +01: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
Jon Evans
09e8f72196 Don't try to open files multiple times
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14703
2023-05-07 21:46:39 -04:00
jean-pierre charras
72cc2766ed kicad manager, OnOpenFileInTextEditor(): do not quote the filename.
It will be quoted later.
Fixes #14086
https://gitlab.com/kicad/code/kicad/issues/14086
2023-02-26 08:34:38 +01:00
Marek Roszko
ac94995f70 Some more wxS 2023-01-16 19:07:50 -05:00
Seth Hillbrand
98d55ce82f Avoid rebuilding with each commit
We shouldn't include the kicad_build_info.h outside of the wrapper
build_info.h.  Also adds an error directive to prevent re-introduction
of define dependencies
2023-01-04 11:32:15 -08:00
Jeff Young
4c63b4e061 Class name <-> file name sync. 2022-12-29 18:05:57 +00:00
frutiemax
7d78f0b4d3 Use forward declarations in kicad_manager_frame.h 2022-11-30 03:08:35 +00:00
Alex
53b9baa5ba Some refactoring around Gerber files extension checking.
Fixes a case where most Protel inner layer files couldn't be drag and dropped.
2022-11-18 09:55:34 +05:00
Alex
95b8fe26b4 Fix display and archiving of Protel gerber files in Project manager. 2022-11-18 04:39:18 +05:00
Ian McInerney
fdb97a46c1 Don't copy items in for loops when not needed 2022-09-24 03:46:06 +01:00
Jeff Young
30a4d3d2de Coverity fixes. 2022-09-20 00:19:15 +01:00
Jeff Young
64a6fc0fd4 Push UNITS_PROVIDER down into a low-level mixin.
This allows us to also construct cheap UNIT_PROVIDERs for specific
tasks when necessary.
2022-09-19 17:10:59 +01:00
lulu731
0180bcf90a ADDED: Implement Drag and Drop
dropping files to Kicad manager :
  *.kicad_pro, *.pro -> open project;
  gerber and job files -> open in Gerbview editor;
  Eagle and Cadstar files -> open project.
dropping file to schematic editor -> append schematic;
dropping library file to Symbol editor -> add library;
dropping board file to PCB editor -> append board;
dropping library or footprint file to Footprint editor -> add library or import footprint;
dropping ZIP file or gerber files to Gerbview editor -> open files;
dropping sheet file to Drawing Sheet editor -> open sheet.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11638
2022-09-14 22:28:09 +00:00
jean-pierre charras
1a18f9a839 Kicad/PCM: Better message asking for **plugins** update.
Previous message asked for update, but the update is not for Kicad, only for loaded plugins
2022-08-21 08:39:42 +02:00
qu1ck
f4fa3b02c5 PCM: automatic check for repository updates 2022-08-18 20:41:43 +00:00
Jeff Young
5c9aed62aa Use wxWidgets IDs for cut/copy/paste.
This allows them to work in places like search boxes in standard file
dialogs.  If wxWidgets doesn't find the standard IDs in our menus
then it won't enable them.
2022-08-07 11:28:16 +01:00
lulu731
f4f3638103 Adding drag and drop project file feature.
ADDED Drag and drop of project file from file explorer to Kicad manager window.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8146
2022-05-12 22:38:45 +00:00
Marek Roszko
8030bf1cc4 Implement use of the kicad nightly icon where needed 2022-01-23 09:21:07 -05:00
Seth Hillbrand
fd9d923bb7 Do not call SafeYield on close
wxSafeYield() is not "safe".  Pending actions may include deletion of
the currently active class.  This will cause crashes when exiting.  If
needed for specific behaviors, we should use wxSafeYieldFor( flag ) with
the appropriate events specified rather than a general yield which can
cause more problems

(cherry picked from commit 9864337914eb7c166c1ff068dbe216301cd6b4ac)
2022-01-06 12:36:51 -08:00
qu1ck
211820a689 Remove KICAD_PCM cmake option 2022-01-03 04:16:42 +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
Seth Hillbrand
a4db439cf8 Move quitting flag to manager quit
The flag is to protect against the frame going out of scope with the
references intact.  This shouldn't be in CloseProject because we close
the project without removing the frame.  Instead, placing it in OnExit
gets set correctly when closing the whole project manager

Fixes https://gitlab.com/kicad/code/kicad/issues/10018
2021-12-17 13:10:27 +00:00
Seth Hillbrand
84cfa052a1 Unify KiCad Manager title bar versions 2021-11-29 16:19:37 -08:00
Jeff Young
ba6ae4fa9b Kicad has many plugins. This one is for the pcb. 2021-11-25 12:56:46 +00:00
Seth Hillbrand
f950d96324 Prevent dereferencing frame on exit
Processing a menu event for quitting results in the frame being
destroyed.  This crashes the program when it tries to access the newly
freed frame to check for autosave data.  We bind the closing flag into
the base program which will be the last item freed on exit to ensure we
can correctly check for data loss

Fixes https://gitlab.com/kicad/code/kicad/issues/8638
2021-11-15 10:07:28 -08:00
Jeff Young
47cb7f53fd Stope event propagation when closing project.
Fixes https://gitlab.com/kicad/code/kicad/issues/8638
2021-11-15 00:13:09 +00:00
Jeff Young
66d9e7073f More discrete borders for Kicad mgr, PCM and appearances panels.
Fixes https://gitlab.com/kicad/code/kicad/issues/9616
2021-11-14 15:01:44 +00:00
Seth Hillbrand
cf6b18ec7e Remove escaped double-quotes
For some reason, escaped double quotes in wxString::Format cause issues
on Mac.  We can replace them with single quotes in most places without
loss of clarity
2021-11-03 17:03:14 -07:00
Jeff Young
23c76cccf3 Give a timeslice to show Save Changes? dialog before things get ugly.
This also moves closing the existing project earlier to improve the
workflow -- so there's a chance that the main fix might not be needed
anymore, but it's still safer to not have a control-flow that crashes
rather than to just not use that control-flow.

Fixes https://gitlab.com/kicad/code/kicad/issues/9200
2021-09-21 11:14:42 +01:00
Jeff Young
6e7ce09572 Use more descriptive terminology for preferred text editor.
Also improves execution to allow the preferred editor to include
parameters, such as "/usr/bin/open -e".

Fixes https://gitlab.com/kicad/code/kicad/issues/9131
2021-09-19 15:17:26 +01:00
Jeff Young
9c78e4cf54 Mac needs different font size handling than MSW & GTK.
Mac already uses diverse font sizes (for instance, smaller fonts for
radio button groups), and the anti-aliasing is a lot better.  The
other platforms need a more limited range of sizes.

Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-11 23:40:31 +01:00
Jeff Young
fbee62fc15 Tie font size scaling to when automatic icon scaling fails.
It appears that SetSymbolicSize() and ConvertDialogToPixes() fail
under the same circumstances.
2021-09-11 15:29:51 +01:00
Jeff Young
ad59254be8 Another round of font sizing tweaks.
It appears that both strategies in the last commit worked, leaving us
with squared scaling.  The dialog pixel architecture seems safer than
our icon scaling stuff, so this version attempts to use only it.

Also works around a bug where wxELLIPSIZE_MIDDLE doesn't work on Mac.

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

Fixes https://gitlab.com/kicad/code/kicad/issues/8375
2021-09-10 21:46:13 +01:00
jean-pierre charras
749d2d5987 Fix typo in commit cf8618 2021-09-06 18:45:09 +02:00
jean-pierre charras
cf8618a0d5 A very ugly hack to fix an issue on Linux: if the wxbase315u_xml_gcc_custom.so is
used **only** in PCM (in Kicad manager), it is not found in some cases at run time.
So just use it in the main module to avoid a not found issue for the
wxbase315u_xml_gcc_custom shared object when launching Kicad
(the cost is very low)
2021-09-06 17:03:04 +02:00
Jon Evans
ae55db77c5 Allow hiding version from manager title bar with advanced config 2021-07-14 18:24:21 -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
Ian McInerney
3ab69939f9 Remove wx.h from many files 2021-06-03 02:19:20 +01:00
Jeff Young
e8102d85dc Shut down fileWatcher more aggresively.
While I haven't been able to reproduce the crash, my theory is that
those that do are running into situations where wxWidgets defers
destructing the window.

Fixes https://gitlab.com/kicad/code/kicad/issues/8458
2021-05-20 16:54:24 +01:00