Commit Graph

239 Commits

Author SHA1 Message Date
jean-pierre charras 993c446fdf Fix some warnings detected by PVS-STUDIO (most are not used vars) 2022-07-25 18:23:52 +02:00
Jeff Young fa679d3601 Pinned libs can also be found in program settings. 2022-07-23 20:17:04 +01:00
Jeff Young eb27a3f8b9 Added pinning support to various EDA_LIST_DIALOGs.
Footprint Save As, Symbol Save As, etc.
2022-07-09 20:44:49 -06:00
Jeff Young fe1bff7d29 Remove empty infobar message.
I'm not sure what this was for, but it seems like a bad idea and I
got a few crashes near here.
2022-07-08 17:27:05 -06:00
Seth Hillbrand 66d3bf2bc2 Refresh draw objects when common settings change
Common settings may change colors so make sure that we refresh the draw
objects when the settings change to draw them in the proper colors.
Failing to do this may also cause left over lines on the screen
depending on OpenGL drivers

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

(cherry picked from commit 8aabdcff9c)
2022-06-28 16:46:19 -07:00
Marek Roszko 08dbc3a53c Move the symbol editor to the new filedlg customize 2022-06-11 22:59:59 -04:00
Seth Hillbrand 5cd3c07862 Catch throws in DeleteSymbol
DeleteSymbol may call SaveSymbol if the name is changed.  In this case,
SaveSymbol may throw back and needs to be caught

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

(cherry picked from commit e05c8f8852)
2022-05-06 16:13:59 -07:00
Seth Hillbrand 5f7ac58f95 Catch errors when saving individual symbols
Fixes https://gitlab.com/kicad/code/kicad/issues/11566

(cherry picked from commit f4d4f23876)
2022-05-06 09:55:28 -07:00
Jeff Young c6f83b6dec ADDED Duplicate Footprint, Rename Symbol and Rename Footprint. 2022-04-22 22:06:51 +01:00
Jeff Young 08f15fe587 ADDED New Library functionality to Footprint/Symbol Save As.
Fixes https://gitlab.com/kicad/code/kicad/issues/2343
2022-04-19 19:55:30 +01:00
Jeff Young 84f620a96e Minor dialog beautification. 2022-04-19 19:55:30 +01:00
Jeff Young cc18c31cb5 Fix some layout issues in the Project Template Selector.
Fixes https://gitlab.com/kicad/code/kicad/issues/5222
2022-04-18 22:45:02 +01:00
Seth Hillbrand ce9bd780d1 Fix crash due to cleared view data
When changing fields, we need to update the view before allowing canvas
updates

(cherry picked from commit 851f893e8e)
2022-04-15 15:14:29 -07:00
Jeff Young 16acba34d3 Don't save schematic symbol back to lib manager.
Also, since it doesn't get saved, changing symbols will lose any edits.
Make sure to ask the user first.

Fixes https://gitlab.com/kicad/code/kicad/issues/10767
2022-04-11 22:43:39 +01:00
Marek Roszko 5bb2cdf73d Revert "Stop leaking submenu items"
This reverts commit 34c70a51ea.
2022-04-10 22:33:43 -04:00
Marek Roszko 34c70a51ea Stop leaking submenu items
Our menu bar code is interestingly complex. But we were throwing away newly made menu items to the void in the cases of constructed on the fly submenus
2022-04-10 22:04:48 -04:00
Jeff Young ed361925ba Repair code that was supposed to be after LoadSymbol().
(Even the comment said so.)

Fixes https://gitlab.com/kicad/code/kicad/issues/11199
2022-04-05 14:38:05 +01:00
Jeff Young 68ca385e07 On-the-fly translations for pin electrical types.
Also add on-the-fly translation for editor title bars.

Fixes https://gitlab.com/kicad/code/kicad/issues/11324
2022-04-05 13:57:28 +01:00
Jeff Young 3f9cfc0ac1 Fix incorrect m_SyncPinEdit setting.
Fixes https://gitlab.com/kicad/code/kicad/issues/11331
2022-04-04 16:56:53 +01:00
Jeff Young 09ba7468ae A better is-modified test.
Fixes https://gitlab.com/kicad/code/kicad/issues/10791
2022-03-28 21:54:24 +01:00
Wayne Stambaugh 7da7864f5e Fix some Coverity issues. 2022-03-25 15:51:05 -04:00
Seth Hillbrand 7ecc70a79d Duplicate from selected or current
When double-clicking to open a symbol, it is no longer selected in the
tree.  We need to use the `GetTargetLibId()` to pick the correct symbol
(first selected, then current) when using the duplicate command

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

(cherry picked from commit 802d20c409)
2022-03-03 16:04:22 -08:00
Jeff Young 1f16092e29 Infobar warning if symbol loading was cancelled.
Also makes sure the progress dialog is closed when we're done reading
symbols (it used to stay up for much of the symbol editor initialization).

Also makes sure that any cancel in the preLoad step is honoured in the
sync step.  (The preload is done because it is multi-threaded and therefore
faster than the single-threaded sync.)

Also makes sure that individual threads pay attention to the cancellation,
not just the GUI thread.

Fixes https://gitlab.com/kicad/code/kicad/issues/8372
2022-02-27 17:06:08 +00:00
Jeff Young f11b8011cd Separate plotting into background and foreground.
Fixes https://gitlab.com/kicad/code/kicad/issues/10390
2022-02-10 20:33:06 +00:00
Kevin Lannen 56794ab829 Eeschema: Add pin count column to pin table
ADDED: When the pin table is showing grouped pins, display a read-only column
that displays the number of pins in each row.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2416
2022-02-07 17:45:16 +00:00
Jeff Young b1cc784582 Harmonize interchangeable units checkboxes.
Fixes https://gitlab.com/kicad/code/kicad/issues/10708
2022-02-06 19:43:25 +00:00
Jeff Young c6a8100d46 Schematic and symbol text boxes.
Also fixes some plot bugs with arcs.

Also moves polygonization of arcs (when required) in plotting code
from 5 degrees to calculated based on ARC_HIGH_DEF.

Fixes https://gitlab.com/kicad/code/kicad/issues/5017
2022-01-28 21:38:15 +00:00
Jeff Young 2defd8d911 Move show-bounding-boxes to a tool on the toolbars. 2022-01-17 11:56:40 +00:00
dana 8373180cbb Handle Unicode clipboard data in pcbnew and symbol editor
Fixes #10323
2022-01-12 17:15:47 +00:00
Jeff Young 92d5a3e763 Clear caches when changing global default font. 2022-01-09 11:34:20 +00:00
Jeff Young 04c76f10e9 Performance enhancements for fonts. 2022-01-08 16:47:45 +00:00
Seth Hillbrand 88a8ad2ca1 Keep symbol synced with edit tool
Undo/Redo can change the symbol referenced by the symbol drawing tool.
This updates the current symbol before important steps to keep the
system synced

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

(cherry picked from commit b8a7a66a0a)
2022-01-05 16:52:02 -08:00
Marek Roszko c4c56de708 Neurotically update position wxPoint usages 2022-01-01 11:55:51 -05:00
Jeff Young 86cb57f4a7 Cherry-pick TEXT_ATTRIBUTES and EDA_ANGLE from rockola/kicad-strokefont 2021-12-28 22:15:20 +00:00
Jeff Young 889970a449 SCH_NETCLASS_FLAGs and SCH_FIELDs for labels.
ADDED: a new label type for netclass flags.
ADDED: the ability to define fields on labels.
2021-12-24 16:13:27 +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 2bc86fa0a8 Shapes for schematic.
ADDED arc, circle and rectangle shapes for schematic.  Shapes support
line styles and fill colors.

CHANGED sheet background color in Edit Text & Graphics Properties to
fill color (and it now affects shapes).

Pushed STROKE_PARAMS down into common and moved all shapes to using it
for stroke descriptions.
2021-12-23 20:36:07 +00:00
Jeff Young 9af33cdfe8 Don't leave stranded symbols/footprints in editors when doc closes.
Fixes https://gitlab.com/kicad/code/kicad/issues/10026
2021-12-23 16:54:03 +00:00
Jeff Young 4f60d7ac78 Don't use lib tree target if lib tree isn't shown.
Fixes https://gitlab.com/kicad/code/kicad/issues/9913
2021-12-10 00:34:22 +00:00
Jeff Young 87e71072b1 Default line width to 0 in symbol editor.
Also removes some atrophied settings for repeated non-pins in
symbol editor (which only ever repeats pins).

Fixes https://gitlab.com/kicad/code/kicad/issues/9776
2021-11-27 11:53:38 +00:00
Roberto Fernandez Bautista 2eb5d4fa7a Symbol Editor: Allow save as all the time, as long as we have a symbol to save
There doesn't appear to be any reason why the LIBID needs to be populated
before a "save as", seeing as the user will be inputting the new lib name
and lib nickname via the dialog.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9744
2021-11-24 19:43:09 +00: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 c1703212dc "Document" properties go in File menu; Edit menu is for item props. 2021-11-20 22:44:43 +00:00
Jeff Young c01649fc6e Make it easier to open legacy files. 2021-11-19 13:36:14 +00:00
Jeff Young 12a75ffb94 A fuller implementation of allowing cut/copy/paste in search boxes.
This one also works for other text entry widgets, and also works
for other frames.
2021-11-15 18:13:35 +00:00
Jeff Young efc64e972c Fix pasting into LIB_TREE search control.
We have a hack for turning accelerator keys that wxWidgets turns into
menu commands back in to accelerator keys -- but it requires that the
corresponding menu items be enabled in order to work.
2021-11-13 19:45:10 +00:00
Jeff Young cc6e3841ae Formatting. 2021-11-13 19:45:10 +00:00
Jeff Young da58e9ee4c Don't rely on selection when updating edited symbol in schematic.
Fixes https://gitlab.com/kicad/code/kicad/issues/9600
2021-11-11 16:43:06 +00:00
Seth Hillbrand 6e5a918377 Writeable -> Writable 2021-11-08 15:56:51 -08:00
Seth Hillbrand dd99b2dc2f Add action to edit symbol from Library
Analog of ea4e06124e for symbol editor.  Allows scripting to open
library symbol
2021-10-26 12:59:59 -07:00
Seth Hillbrand 512ba167e8 Escape symbols when adding to library
Can't escape by default because the allowed characters differ in the
read-only libraries and existing schematics that reference them.  So,
escape when we import into standard KiCad Libraries

Fixes https://gitlab.com/kicad/code/kicad/issues/9419
2021-10-18 10:42:58 -07:00
Seth Hillbrand 9a8d1246cc We don't keep a CHANGELOG.TXT
Direct interested readers to AUTHORS.TXT instead.
2021-10-05 19:46:53 -07:00
Jeff Young 574bef2237 Normalize drawing sheet path to env vars & prj, not just prj.
Also cleans up the dialog a bit.

Also changes the workings of NormalizePath to return the input if
it couldn't be shortened which saves open coding that behaviour in
all its callers.

Fixes https://gitlab.com/kicad/code/kicad/issues/9036
2021-10-02 23:39:45 +01:00
Jeff Young ef74421922 Move centering of lib-tree item to idle event.
Fixes https://gitlab.com/kicad/code/kicad/issues/9294
2021-10-01 22:46:14 +01:00
Jeff Young 5f5ee7335d Formatting. 2021-10-01 21:49:14 +01:00
Jeff Young b9596a0a5d Update dangling flags in color settings' preview. 2021-09-30 18:53:39 +01:00
Jeff Young b84d1456d5 KIFACE_I -> KIFACE_BASE. 2021-09-14 23:45:14 +01:00
Jeff Young 3aae3c6f65 Dark mode for a bunch of HTML dialogs.
WX_HTML_REPORT_BOX
WX_HTML_REPORT_PANEL
HTML_MESSAGEBOX
DIALOG_DISPLAY_HTML_TEXT

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

Fixes https://gitlab.com/kicad/code/kicad/issues/9156
2021-09-14 21:23:57 +01:00
Jeff Young 69fac89e86 Fix some issues with incorrectly scaled defaults given in mils. 2021-08-25 20:04:06 +01:00
Wayne Stambaugh 1d8fd22cd8 Symbol editor: fix message panel units when selecting from combo box.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8991
2021-08-20 15:45:57 -04:00
Wayne Stambaugh 46b959c3e3 Move plotter headers into include folder. 2021-08-18 16:38:31 -04:00
Wayne Stambaugh 6427197962 Remove duplicate headers in plot and associated code. 2021-08-17 15:41:25 -04:00
Jeff Young 41619ebbe2 Decouple PROGRESS_REPORTER interface from implementations. 2021-08-14 21:05:49 +01:00
Jeff Young 6eb59b9d9e Dialog naming conventions. 2021-08-06 20:54:26 +01:00
Jeff Young 95b87ba29a Freshen microwave polygon dialog and remove a bunch of dead code. 2021-08-03 01:11:11 +01:00
Seth Hillbrand d5abbd0d14 Allow overwriting existing symbols
This allows the workflow:
1) Edit symbol in schematic
2) Save As to original library

Also allows the user to quickly overwrite a symbol they don't want,
either by importing over the existing symbol or creating a new one.
2021-07-30 10:36:08 -07:00
Jeff Young 6aaf4413b3 Fix kicad_string.h / string.cpp mismatch.
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
2021-07-29 16:03:25 +01:00
Jeff Young 46338403e7 Unwrap some std::library typedefs. 2021-07-28 22:16:38 +01:00
Jeff Young 6d4c454e8c Fix some more missing escaping for symbol ids.
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-07-28 18:37:09 +01:00
Jeff Young 726f4d8016 Fix up some more cases of missing escaping for symbol names.
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-07-28 16:40:38 +01:00
Mike Williams 36b2ff262d Symbol Editor: Auto select newly added/created library
CHANGED: When creating a new library, the usual intention is to add a
new symbol to it. Without this, the "No symbol library selected."
message will appear if the user attempts to add a new symbol without
manually selecting their new library.
2021-07-25 21:37:08 +00:00
Wayne Stambaugh cb72da294a More NULL expunging. 2021-07-16 16:13:41 -04:00
Jeff Young c11ee69499 Save 3D prefs after editing, and load some of them into FP Props.
Fixes https://gitlab.com/kicad/code/kicad/issues/8712
2021-07-04 13:20:55 +01:00
Jeff Young b1b4caee6a Escape "naughty" characters in symbol names.
It's tempting to say that we don't need to exclude filename chars
from symbols, but we might regret that decision down the road.  Better
to just escape them.

Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-06-30 13:12:57 +01:00
Jeff Young a1dfc36233 More error message regularization. 2021-06-29 01:08:26 +01:00
Jeff Young 4aa8318dc2 More error message regularization. 2021-06-27 14:24:02 +01:00
Jeff Young 0dfb5fcaf9 Error message cleanup.
wxString::Format is redundant in a wxLogXXX call.
Error messages should generally be translatable.
Error messages should use generally consistent sentence forms.
2021-06-26 22:53:24 +01:00
Jeff Young 5c21f93803 Consistency in progress and error messages. 2021-06-26 13:23:43 +01: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
Jeff Young 1722bc03b0 Consistent terminology and punctuation. 2021-06-17 00:05:17 +01:00
Seth Hillbrand 7953a5c62b Work around MacOS printf/format issues
MacOS wxWidgets implementation of wxPrintf/Format suffers from some
issues when mixing string types.  We avoid this by manually formatting
the string ourselves.

Fixes https://gitlab.com/kicad/code/kicad/issues/8404
2021-06-16 11:54:55 -07:00
Wayne Stambaugh ff099453c8 Rename class_library.[h|cpp] to symbol_library.[h|cpp]. 2021-06-15 09:24:55 -04:00
Wayne Stambaugh ee3eac325d Expunge the use of the word part from Eeschema code. 2021-06-15 08:32:11 -04:00
Wayne Stambaugh fb46cd8bc5 Expunge the use of the word component from Eeschema code.
The only exception to this is the SPICE simulator's use of component
when referring to physical component (R, L, C, etc.) values.
2021-06-14 14:00:21 -04:00
Wayne Stambaugh 71c183d7bb Rename LIB_PART to LIB_SYMBOL. 2021-06-14 07:11:17 -04:00
Wayne Stambaugh fbc135e69f Rename SCH_COMPONENT to SCH_SYMBOL. 2021-06-10 10:34:49 -04:00
Marek Roszko d946d6e68f Cleanup some pgm_base.h includes 2021-06-08 21:56:00 -04:00
Jeff Young 3ff670d2a4 Disable ACTIONS::openPreferences for now.
wxWidgets needs to move the item to the KiCad menu on Mac, and it
can only find it if it has the id wxID_PREFERENCES.
2021-06-07 20:51:45 +01:00
Jon Evans c9a660a80c Rework JSON integration to speed up build 2021-06-05 17:08:38 -04:00
Marek Roszko 4df3cb912d Remove another leaky wx/log.h header 2021-06-03 08:11:15 -04:00
Marek Roszko cf2bb5692a Remove the wxLog calls from math/util.h for now
This was leaking windows headers and partial wx headers to 1084 compilation units......
This also means math/util.h is leaking to 1084 compilation units which seems a bit high too.
2021-06-01 18:44:22 -04:00
Seth Hillbrand f274a00c08 Remove PYTHON_* compile options 2021-06-01 20:18:24 +00:00
Marek Roszko 1b94534451 Revert "Use lambdas to fix paste conditions"
This reverts commit 65c7c77c3d.
2021-05-30 21:25:42 -04:00
Marek Roszko 65c7c77c3d Use lambdas to fix paste conditions
`SELECTION_CONDITIONS::Idle && ` was evaluating as always true because this was referencing the function pointer
2021-05-30 20:37:16 -04:00
jean-pierre charras 81c7fb61f8 Sub-menu "Preferences..." in main menu "Preferences": fix not working accelerator key.
Accelerator keys are disable in our WX_MENUBAR. A common ACTION_MENU is used and
"Preferences..." is now shown in Hotkeys list.
2021-05-29 18:09:49 +02:00
Seth Hillbrand 752ae4d519 Rename modification flag routines
Differentiates better between the EDA_ITEM IsModified(), referring to
items themselves changing and the EDA_SCREEN IsContentModified(),
referring to whether we have made any unsaved changes.
2021-05-28 12:07:04 -07:00
Seth Hillbrand d7f219e98f Unify IsSave and IsModify
The flags and calls were used identically, leading to potential
confusion/bugs.  Testing for modification should go through
IsContentModified()
2021-05-28 11:51:54 -07:00
Wayne Stambaugh 16bb45208a Fix save accelerator key handling when library tree has focus.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8247
2021-05-03 19:41:07 -04:00
jean-pierre charras 0427bda768 Remove useless wx/wx.h include, that create sometimes compil warnings on msys.
wx/wx.h includes all wxWidgets .h files, and sometimes creates collision
names in #define between kicad and windows headers
Moreover, blindly including a lot of useless files is compil time consuming
2021-05-01 19:32:15 +02:00