Wayne Stambaugh
0ab8b9a2d9
Symbol editor: fix assertion attempting to copy an inherited symbol.
...
Copying or cutting an symbol to the clipboard using the context menu
in the library tree requires a root symbol. Inherited symbols must
be flattened in order to properly be added to a symbol library.
Fixes https://gitlab.com/kicad/code/kicad/issues/4901
2020-07-15 20:57:34 -04:00
Jeff Young
11ca21039a
Clear new flag when creating image pins.
...
Otherwise if you then move it we'll think it needs to be inserted
and end up with a circular drawings list.
Fixes https://gitlab.com/kicad/code/kicad/issues/4622
2020-07-16 01:39:29 +01:00
Jeff Young
e8079bf655
Make sure UI gets adjusted for Symbol property changes.
...
For instance, if the number of units is changed from 1 to not-1
or vice versa then we need to rebuild the units selector.
Fixes https://gitlab.com/kicad/code/kicad/issues/4622
2020-07-16 01:39:29 +01:00
Wayne Stambaugh
729dc75396
Symbol editor: fix copy/cut and paste bug.
...
Use the s-expression symbol library file format for copy/cut to clipboard
instead of legacy symbol file format when using the library tree context
menu copy and cut entries. Also use s-expression file format for parsing
clipboard contents using the context menu.
Fixes https://gitlab.com/kicad/code/kicad/issues/4900
2020-07-15 20:23:10 -04:00
Ian McInerney
af729d578f
Unify settings reset buttons into one location
2020-07-16 00:08:16 +01:00
Jeff Young
19d0899a80
Fix previous botched attempt to deal with duplicate field ids.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4821
Fixes https://gitlab.com/kicad/code/kicad/issues/4891
2020-07-15 13:51:12 +01:00
Jeff Young
1dc804232c
Fix issue with duplicate field IDs getting saved out.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4821
2020-07-14 16:00:38 +01:00
Seth Hillbrand
7f991ce855
Revert "Set DoubleBuffering to reduce flicker"
...
This reverts commit 106259f6e6
.
2020-07-13 20:23:12 -07:00
Seth Hillbrand
e19a7910f8
Revert "Revert "Set DoubleBuffering to reduce flicker""
...
This reverts commit c18cab6154
.
2020-07-13 20:19:10 -07:00
Jeff Young
dd61f6f019
Use pin graphic only for rubber-band selection hit-testing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4138
2020-07-13 22:41:56 +01:00
Jeff Young
1cd2a51db2
Make undo/redo lists protected.
2020-07-13 15:53:36 +01:00
Jeff Young
fa9937701f
Undo for Edit Component's LibId.
2020-07-13 14:16:21 +01:00
Jeff Young
7340c97ef9
Undo for schematic-wide operations.
...
Editing value/footprint fields of multi-unit components.
Find/Change.
Annotation.
Back annotation.
Fixes https://gitlab.com/kicad/code/kicad/issues/2122
Fixes https://gitlab.com/kicad/code/kicad/issues/4869
Fixes https://gitlab.com/kicad/code/kicad/issues/3933
Fixes https://gitlab.com/kicad/code/kicad/issues/4871
Fixes https://gitlab.com/kicad/code/kicad/issues/3899
2020-07-13 12:32:17 +01:00
Seth Hillbrand
9f09c3872f
Ensure file reads always use the C-locale variant
...
Str2Double assumes current locale. We usually switch the locale when
reading files but we should be using the function that explicitly gets
the C-locale conversion.
2020-07-12 20:03:50 -07:00
Jon Evans
a2041073ee
Skip project backup in standalone mode
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4867
2020-07-12 11:42:05 -04:00
Jeff Young
9b92b275de
Remove vestiages of old open-PCB-for-settings hack.
...
We used to have to open a PCB_EDIT_FRAME to get the settings for
the footprint editor and footprint viewer. This necessitated some
special processing when opening a PCB_EDIT_FRAME to actually edit
a board as it might already be open but unloaded.
Since the new settings architecture allows the footprint editor and
footprint viewer to init themselves we no longer need the special-
case code.
2020-07-11 21:19:49 +01:00
Jeff Young
e325d2e18f
Allow Net Inspector to create, rename and delete nets.
...
ADDED: create/edit/delete nets in PCBnew Net Inspector
ADDED: update from PCB now allows updating of changed nets
Fixes https://gitlab.com/kicad/code/kicad/issues/1996
2020-07-11 21:19:49 +01:00
Seth Hillbrand
c18cab6154
Revert "Set DoubleBuffering to reduce flicker"
...
This reverts commit 106259f6e6
.
In its place, we set double buffering to only menubars in an attempt to
find a soluton to #4785
Fixes https://gitlab.com/kicad/code/kicad/issues/4863
2020-07-11 09:43:30 -07:00
Seth Hillbrand
106259f6e6
Set DoubleBuffering to reduce flicker
...
This sets double buffering for GTK and MSW to minimize flicker when
redrawing window elements.
Fixes https://gitlab.com/kicad/code/kicad/issues/4785
2020-07-10 09:29:42 -07:00
Jon Evans
4a5792cb87
Fix bus unfolding in the wake of bus entry changes
...
Since bus entry shape is not a thing anymore,
unfolding routine can be simplified to just use size
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4853
2020-07-09 18:51:42 -04:00
Jon Evans
66bdd37637
Connectivity optimizations
...
Cache names of potential driving items
Change a few data structures based on profiling
2020-07-09 18:14:37 -04:00
Jon Evans
fc92fb076e
Cache sheet path to string conversion in UpdateSymbolInstances
...
Profiling of large designs (with many hierarchical sheets)
showed that this can be a huge (4x) speed up to schematic
loading times.
2020-07-09 18:14:37 -04:00
Jon Evans
b1b9cef5fb
Full-project automatic backup system
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4763
2020-07-09 13:55:19 +00:00
Jon Evans
282fcd5f3c
Connectivity optimizations
...
Don't copy the recursion test cache when copy-constructing
SCH_SHEET_PATHs as it's not needed in connectivity
Fix a few places that were copying unnecessarily
2020-07-08 17:42:12 -04:00
Jeff Young
741481591e
NetClass settings for Eeschema.
...
ADDED Eeschema-specific netclass settings including wire and bus
thickness, color, and line style.
Netclasses override individual wire & bus colors and line styles.
If that proves an issue we might look at something more sophisticated
with inheritance.
Fixes https://gitlab.com/kicad/code/kicad/issues/4581
2020-07-08 21:23:25 +01:00
Jeff Young
d292db866a
Fix mismatch between dialog and code.
...
(The code was updated to use INDETERMINATE_ACTION, but the dialog
wxChoice still specified an entry of "...". This moves both to the
code so it's harder for them to get out of sync.)
2020-07-08 19:31:44 +01:00
Wayne Stambaugh
41dd31babf
Symbol editor: fix unnecessary "Save As..." prompt.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4818
2020-07-08 14:06:10 -04:00
Ian McInerney
37ce9fb847
Tell wx that we really want a transparent background
...
Try more options for telling wxWidgets that we want the area
to have a transparent background. Also, fix some spacing issues.
Fixes https://gitlab.com/kicad/code/kicad/issues/4842
2020-07-08 16:29:04 +01:00
Wayne Stambaugh
4c383c51fa
Eeschema: add update symbol from library command to context menu.
...
Rather than displaying dialog that has every update option possible like
updating footprints in the board editor, this change updates the library
symbol immediately using the symbol library identifier and requires no
additional input from the user.
ADDED: Context menu entry for schematic symbols to update the symbol from
the symbol library using the existing library identifier.
2020-07-08 10:15:24 -04:00
Jon Evans
7f1e1a4abb
Fix missing pin table visible columns setting
...
This got missed in the settings merge
2020-07-07 20:59:55 -04:00
Jon Evans
788f31d743
Fix import of Eagle schematics
...
Old project needs to be unloaded before schematic is reset,
then new project has to be loaded before doing the import
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4836
2020-07-07 20:48:32 -04:00
Ian McInerney
908377f9c4
Remove incorrect factor of 2 scaling
...
This was a copy-paste error that caused the junction dots
to be twice as small as they should be.
Fixes https://gitlab.com/kicad/code/kicad/issues/4834
2020-07-08 01:45:11 +01:00
Ian McInerney
c6eb072726
eeschema: Fix cutoff text in pinmap
...
Ensure the proper bounding box is used when computing the amount
of space taken by angled text in the control.
Fixes https://gitlab.com/kicad/code/kicad/issues/4761
2020-07-07 23:12:17 +01:00
Ian McInerney
f481be3358
Set a proper default for the schematic junction size
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4834
2020-07-07 23:12:17 +01:00
Ian McInerney
ccc0ceb32f
Remove deleted item global variables
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4819
2020-07-07 23:12:17 +01:00
Seth Hillbrand
7cea4b23f1
ADDED: Expand selection in context menu
...
Break out the context menu with heuristically limited choices being
appended to the main list rather than re-selecting
Fixes https://gitlab.com/kicad/code/kicad/issues/4799
2020-07-07 14:18:35 -07:00
Jon Evans
84b02e51f1
Fix overly aggressive ERC check
...
It helps to only check for the pintypes I care about
2020-07-07 17:08:07 -04:00
Jeff Young
358cccfd73
A bit of safety if realtime connection updating isn't on.
2020-07-07 14:45:14 +01:00
Jeff Young
e66523586b
Add Assign Netclass... to context menu.
...
ADDED Assign Netclass feature to EEschema.
Netclass assignments also now shown in status bar.
Fixes https://gitlab.com/kicad/code/kicad/issues/4581
2020-07-07 14:23:39 +01:00
Jon Evans
d8be5f9ecf
Don't allow pins with NC electrical type to join other nets
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1826
2020-07-06 20:27:38 -04:00
Jon Evans
23ce2d2e36
Re-add missing include
2020-07-06 19:47:07 -04:00
Seth Hillbrand
66f38dfc10
Remove assert that fires in normal operation
...
The missing symbol happens normally when the user does not have their
cache file available. This should not be an assert
2020-07-06 14:37:03 -07:00
Jon Evans
0410fdd9fb
Push a few missed project settings out of the frame
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4823
2020-07-06 17:30:27 -04:00
Jeff Young
3939b31027
Integration of netclasses into Eeschema.
...
This is mostly architecture, with the hookup of the Schematic Setup
dialog's Net Classes page. Things like assigning to a net on the
canvas to follow.
Fixes https://gitlab.com/kicad/code/kicad/issues/2132
Fixes https://gitlab.com/kicad/code/kicad/issues/4581
2020-07-06 20:00:50 +01:00
Jeff Young
b917e9aa72
Implement import from... for pin conflicts map.
2020-07-06 20:00:50 +01:00
Jeff Young
b0ca7d5140
Netclass setup for Eeschema.
...
ADDED netclass panel in Schematic Setup dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/2132
2020-07-06 20:00:50 +01:00
Tomasz Wlostowski
c1d5394e46
properties: post-rebase fixes
2020-07-05 22:44:38 +02:00
Jeff Young
509cd8f495
Remove duplicate fix not found by merge.
2020-07-05 21:01:19 +01:00
Jeff Young
ec6c1b80b7
Fix a couple of bugs in the CurrentSheet architecture.
2020-07-05 19:53:04 +01:00
Jon Evans
e9b99cc8b7
Fix grabbing connections from power components
2020-07-04 20:59:35 -04:00
Jon Evans
04a51a5ba4
Push current sheet handling to SCHEMATIC
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4803
2020-07-04 20:59:35 -04:00
jean-pierre charras
9e669db5b4
Eeschema: fix a name collision with a Windows header.
...
the member ERROR of the class PIN_ERROR was colliding: changed to PP_ERROR
2020-07-04 17:51:00 +02:00
Jon Evans
d143e14694
Fix memory leaks in color theme editor
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4794
2020-07-03 22:34:41 -04:00
Jon Evans
f725248fd8
Fix ERC pin checking logic
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4577
2020-07-03 17:51:20 -04:00
Jon Evans
b94e29e3b1
Persist ERC pin table in project settings
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2066
Also a partial fix for https://gitlab.com/kicad/code/kicad/-/issues/4577
2020-07-03 17:11:42 -04:00
jean-pierre charras
cf38d382c7
Eeschema: ensure the netlist data is up to date before generating the netlist
...
Fixes #4779
https://gitlab.com/kicad/code/kicad/issues/4779
2020-07-03 21:08:38 +02:00
Jon Evans
0201cb4e7e
Fix schematic reload in standalone mode
2020-07-03 10:43:23 -04:00
Jon Evans
05771f74f7
Fix netlist QA test
2020-07-03 08:21:19 -04:00
Jon Evans
1c72042fc4
Clean up stale nested settings when changing project pointer
2020-07-02 23:55:46 -04:00
Jon Evans
498fa8d8ba
Fix some things about template fieldname synchronization
2020-07-02 23:42:36 -04:00
Jon Evans
4dbbe1cf68
Project settings fixes from review
...
- Fix file extension for new project
- Fixes for exceptions on MSW
- Fix some ASAN issues
- Allow SETTINGS_MANAGER to run headless
- Don't flag schematic as modified after schematic setup is closed
- Don't automatically unload projects when LoadProject is called
- Don't unload project if it's the same as the current one
- Make sure to properly init/de-init template field names
2020-07-02 22:08:54 -04:00
Jon Evans
fe5959b625
Remove the schematic and board backup file system
...
Per discussion on the developers list, this old system
no longer provides much value and is seen as annoying
by many users. The new save logic should prevent any
cases of file corruption on save, which was a major
reason for the backup file system existing.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2012
2020-07-02 22:08:54 -04:00
Jon Evans
12b4a55ae8
Port Eeschema to new project settings
...
DRC/ERC error serialization changed to use explicit tokens
Old stored severities and ignored errors are discarded
2020-07-02 22:08:54 -04:00
Jon Evans
c0aa6965de
Migrate PcbNew project settings to new framework
...
Various architecture upgrades to support this.
Creating a BOARD now requires a valid PROJECT, which caused
some (mostly transparent) changes to the Python API internals.
ADDED: Project local settings file
CHANGED: Board design settings are no longer stored in PCB file
CHANGED: Net classes are no longer stored in PCB file
CHANGED: Importing board settings now reads boards, not just projects
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2578
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4070
2020-07-02 22:08:54 -04:00
Jon Evans
0e2f9cb1bd
Migrate CvPcb project parameters
2020-07-02 22:08:54 -04:00
Jon Evans
a4fadfcdf2
Begin moving project file load to new system
2020-07-02 22:08:54 -04:00
Jon Evans
a7708fa6dc
Add PROJECT_FILE and basic load/unload methods
2020-07-02 22:08:54 -04:00
Ian McInerney
f7156a9d49
eeschema: Only warn user about off-grid pins if the position has changed
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4673
2020-07-03 02:11:47 +01:00
Jeff Young
e91acfb67b
Correct SHEETNAME validation exclusions which were for SHEETFILENAME.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4748
2020-07-02 21:38:37 +01:00
Jeff Young
7b042f4a75
Add rectangle tool to PCBNew toolbar in favour of Aux Origin.
...
ADDED new rectangle graphics tool for PCBNew and Footprint Editor.
Also adds rectangle tool to both Footprint Editor and PCBNew Place
menus.
The Aux Origin tool can come back once we have multi-select toobar
buttons.
Also collapses an unnecessary level out of the auxOrigin and gridOrigin
settings.
Fixes https://gitlab.com/kicad/code/kicad/issues/2246
2020-07-01 13:31:30 +01:00
Jeff Young
6d56ba2072
Minor cleanup to edit label dialog.
2020-06-30 19:55:04 +01:00
Jeff Young
61b5a12362
Don't allow component & sheet field IDs to collide.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4748
2020-06-30 19:17:28 +01:00
Ian McInerney
bb1afb747a
Remove bus entry shape
...
The shape isn't needed anymore, since bus entries can be rotated
and mirrored like other items.
Fixes https://gitlab.com/kicad/code/kicad/issues/4588
2020-06-30 02:09:33 +01:00
Jon Evans
8a0277eb2e
Fix null graph in some connections
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4747
2020-06-29 20:27:08 -04:00
Seth Hillbrand
67bd49b4a8
Fix order-of-ops issue in sim plot
2020-06-27 19:59:49 -07:00
Jon Evans
bd19c580f4
Add configuration for cross-probing behavior
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2317
2020-06-27 22:48:48 -04:00
Jeff Young
6acd35c981
Cleanup.
2020-06-27 20:07:26 +01:00
jean-pierre charras
0f0627a53e
Eeschema: add 4 new zoom levels (0.1, 0.15, 0.2, 0.3) in context menu.
...
However, to see them in context menu, the old eeschema.json
config file must be deleted, because it contains the list of allowed zooms.
2020-06-27 20:35:54 +02:00
Jeff Young
32c3ea4edd
Flags cleanup.
...
Remove extraneous use of FLAG0 from tracks cleaner (it was checked but
never set).
Fix issue in expand connections where two parts of it couldn't agree
on the same flag (BUSY vs SKIP_STRUCT), and where the second part was
clearing the flag instead of setting it.
Remove obsolete HIGHLIGHT infrastructure (we now use selection).
Remove extraneous use of BUSY flag in several places (it was never
set).
2020-06-27 17:53:04 +01:00
Ian McInerney
fb10406e67
Add right-click context menus for toolbar items
2020-06-26 21:29:03 +00:00
Ian McInerney
52856a8ce4
Move scaled toolbar separator into ACTION_TOOLBAR
...
* Ensure all separators are scaled separators
* Clean up toolbar creation functions
2020-06-26 21:29:03 +00:00
Wayne Stambaugh
2078e629c5
Eeschema: allow editing of junction properties diameter and color.
...
Add missing plot and print changes for the new bus entry properties.
ADDED: Junction properties diameter and color can now be edited.
Fixes: https://gitlab.com/kicad/code/kicad/issues/4593
2020-06-24 13:36:17 -04:00
Wayne Stambaugh
853cf2c9b9
Eeschema: make bus wire entry properties editable.
...
CHANGED: Bus to wire entry object properties line color, width, and style
can now be edited.
Fixes: https://gitlab.com/kicad/code/kicad/issues/4591
2020-06-24 13:36:17 -04:00
Wayne Stambaugh
b15ee1086f
Eeschema: factor out line stroke property object.
...
The line stroke property object STROKE_PARAMS was factored out an used in
the schematic line object. This will allow it to be used in other objects
that require line stroke properties so every object does not need to have
it's own definition for line stroke properties.
2020-06-24 13:36:17 -04:00
Tormod Volden
e82e30d215
bom2grouped_csv.xsl: Fix sorting of grouped references
...
Commit a96ebe8f
seems to have missed a dollar sign.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/940
hopefully for good this time.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
2020-06-23 15:48:59 +02:00
Jon Evans
158f6ad526
Fix net highlighting
2020-06-22 12:02:58 -04:00
Jon Evans
40e0a4295d
Re-add netlisting logic inadvertently removed during refactor
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4692
2020-06-21 21:43:24 -04:00
Jon Evans
202b55f4d2
Plot sheet background colors if present
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4697
2020-06-21 20:43:47 -04:00
Jon Evans
09cb75b8a1
Use a temporary file when saving boards/schematics to make the operation more atomic
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4517
2020-06-19 23:31:26 +00:00
Jon Evans
dd42a19319
Prevent grid axes from inadvertently turning on in eeschema
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4680
2020-06-19 17:22:25 -04:00
Jon Evans
6d2f30005e
Don't blow up the sheet path when selecting an ERC item
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4685
2020-06-19 17:00:41 -04:00
Jeff Young
ee9d8fcd15
Collapse Pcbnew & ModEdit display and edit settings.
...
(Prep work for reusing them with a custom shape editor.)
2020-06-18 15:38:01 +01:00
Jon Evans
15b95f2980
Fix project references in eagle importer after SCHEMATIC object
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4672
2020-06-17 17:30:24 -04:00
Jeff Young
a7703d1207
Cleanup Graphics to parallel Cleanup Tracks & Vias.
...
This also allows for easier migration to DRAWSEGMENT::S_RECTs by
auto-converting 4 rectilinear lines to a rectangle.
2020-06-17 18:44:39 +01:00
Seth Hillbrand
4480759599
Remove unused variable
2020-06-15 12:40:02 -07:00
Jeff Young
ad12c42e8b
Push grid settings dialogs down into common.
...
This also gives support for fast grid switching and a user grid
to eeschema.
Fixes https://gitlab.com/kicad/code/kicad/issues/2200
2020-06-14 19:26:37 +01:00
jean-pierre charras
a8d5d9b690
panel lib tables: avoid crash when deleting the last entry in list.
2020-06-14 17:39:32 +02:00
Jeff Young
e16426987a
Fix wxWidgets alert on integer overflow.
2020-06-13 22:44:16 +01:00
Jeff Young
c48f4272f3
Collapse a level out of the zoom settings.
...
The APP_SETTINGS_BASE now holds the list of zoom factors, and
the old legacy (screen-based) code has been removed.
2020-06-13 22:44:16 +01:00
Seth Hillbrand
a02d8a5993
Fix a number of signed/unsigned comparisons
2020-06-13 11:55:59 -07:00