Commit Graph

3553 Commits

Author SHA1 Message Date
Maciej Suminski 51c7381fd5 Fix Choose Symbol dialog freezes in eeschema
Scrollbars are always enabled to prevent an infinite event loop caused
by alternating CreateLayout() and OnSize event handler.
More details: http://trac.wxwidgets.org/ticket/18141

Fixes: lp:1767848
* https://bugs.launchpad.net/kicad/+bug/1767848
2018-06-06 09:11:15 +02:00
Damien Espitallier 5263558eaa Fix crash when delete button of footprint filter is clicked and no footprint is selected
Fixes: lp:1775296
* https://bugs.launchpad.net/kicad/+bug/1775296
2018-06-06 00:01:47 +01:00
Jeff Young e0c881b639 Output descriptions to components in generic netlist.
Also hooks up the Python netlist reader to the descriptions so
that they appear correctly in BOMs.  (The BOM generators used
to always get the root component's description rather than the
alias's description.)

Fixes: lp:1774358
* https://bugs.launchpad.net/kicad/+bug/1774358
2018-06-06 00:01:47 +01:00
Jeff Young aaf47bbe71 Replace "unsaved changes" dialog to Global Fields Editor. 2018-06-06 00:01:47 +01:00
jean-pierre charras da392728d4 spice_value.cpp: replace std::invalid_argument by KI_PARAM_ERROR (replacement forgotten in commit a288d6199)
see commit a288d6199 for the reasons of this replacement.
2018-06-05 16:07:47 +02:00
jean-pierre charras a288d6199e Add KI_PARAM_ERROR, similar to std::invalid_argument but using wxString instead of std::string to throw errors.
std::invalid_argument does not work fine with translated strings as argument for message.
(the translated message is incorrectly or not displayed if it contains non ascii8 chars, at least on Windows).
KI_PARAM_ERROR can be throw-ed with a translatable/translated string (a wxString)
2018-06-05 13:29:51 +02:00
Wayne Stambaugh 7343e78347 Fix some Coverity uninitialized field warnings.
Fixes Coverity CIDs:

- 175824
- 169337
- 163191
- 175827
- 175440
- 175438
- 157136
2018-06-04 13:48:57 -04:00
Maciej Suminski f51f30fb1e eeschema: Disabled an assert checking if project path is empty
Empty project path is a valid case when eeschema is executed in
standalone mode without any file loaded.

There were no observed harmful consequences of running eeschema without
the project path set, but to stay safe the project specific
sym-lib-table load code is executed only when the project path is set.
2018-05-31 09:09:01 +02:00
Maciej Suminski c5cde53dff Symbol Editor: fixed a crash when modifying a symbol
In the scenario described in the bug report, the SCH_SCREEN current item
pointer stores an address of a stale object that had been deleted when
the symbol was reloaded. To prevent the crash, the current item pointer
is reset whenever a symbol is loaded.

Fixes: lp:1774296
* https://bugs.launchpad.net/kicad/+bug/1774296
2018-05-31 09:01:59 +02:00
Baranovskiy Konstantin 36504b3071 SymLibEditor: synced state of search tree tool button with its panel
Button "Toggle the search tree" from left toolbar of Symbol Library
Editor does not show actual state of visibility of the search tree
panel. State of this button (checked or unchecked) changes on clicking
only. Toggling panel visibility from menu does not make effect on tool
state.

Applied changes makes tool state (checkd/unchecked) synced with panel
state (shown/hidden).
2018-05-30 16:55:55 +02:00
Jeff Young d03e92a3a2 Field Name Template (aka Default Fields) fixes.
Move from a "default" fields model to a "seed" fields model.  See
discussion on devlist:
https://lists.launchpad.net/kicad-developers/msg35823.html.
2018-05-30 09:46:52 +01:00
Maciej Suminski 8c63dac0c3 Component Chooser: do not create FP list when the FP preview is disabled 2018-05-30 09:53:58 +02:00
jean-pierre charras 52fceb3243 Eeschema: sheet filename renaming: fix a old issue that can set incorrect filenames in sheets inside a complex hierarchy.
Fixes: lp:1773500
https://bugs.launchpad.net/kicad/+bug/1773500
2018-05-29 19:57:18 +02:00
Maciej Suminski 94f161b8c2 Eagle SCH import: validate imported symbol names
Fixes: lp:1753189
* https://bugs.launchpad.net/kicad/+bug/1753189
2018-05-29 09:29:22 +02:00
Maciej Suminski e789523632 Eagle SCH import: do not crash if nothing was imported 2018-05-29 09:29:21 +02:00
Jeff Young f914558e7b Remove overly-strict assert.
Fixes: lp:1773807
* https://bugs.launchpad.net/kicad/+bug/1773807
2018-05-28 20:37:14 +01:00
Marco Ciampa 2cb65f9c19 Make the Simulator error strings translatable 2018-05-28 14:51:10 +02:00
Maciej Suminski 61597db12d Make the Simulator dialog strings translatable 2018-05-25 11:24:25 +02:00
Jeff Young cb925a6646 Output defined default fields to netlists & BOMs.
Fixes: lp:1746814
* https://bugs.launchpad.net/kicad/+bug/1746814
2018-05-24 18:24:59 +01:00
Jeff Young 8f5cb32598 Don't write empty fields from Global Edit Fields dialog. 2018-05-23 21:35:23 +01:00
jean-pierre charras 3893c43eb0 Fix compil issues. 2018-05-23 11:31:13 +02:00
Seth Hillbrand 8c5037a48b Optionally sort reporter messages
It can be useful to have similar class messages grouped together so that
error messages in a larger report don't get lost among the
warning/info/action messages.

This patch allows sorting of messages for dialogs that benefit from
organization.  Default behavior of reporter messages remains
unchanged by this patch.

Fixes: lp:1772090
* https://bugs.launchpad.net/kicad/+bug/1772090
2018-05-22 13:55:02 -07:00
Jeff Young c4b447f3f9 Initialize field visibility checkboxes in Fields Editor. 2018-05-22 19:24:37 +01:00
Jeff Young e3c4a96f5c Default field bug fixes.
1) Commit in-progress edits before closing preferences.
2) Handle default fields in Symbol Fields Editor.
3) Save state of checkboxes in Symbol Fields Editor.
2018-05-22 12:55:39 +01:00
Maciej Suminski 8f6ae70400 Deterministic algorithm for picking field values in multiunit components
The original algorithm picked the value from the last component having
non empty value for a given field, but the processing order was
dependent on the layout of the components in the memory. It means that
for each component, the field values could have been taken from any
unit, randomly.

The patch improves the algorithm, trying to get all values from the unit
with the lowest number and resorts to other units only when there are
field values left empty.
2018-05-19 18:43:23 +02:00
Seth Hillbrand d62b4f36a6 Save hotkeys to combined app-based file
Unifies the different sections of hotkeys so that we are not storing two
[eeschema] or [pcbnew] sections in two different files.

Previous hotkey definitions are loaded at start if they exist but are
overwritten by the new format, if it exists.  Changes to hotkeys save
only in the combined format.

Hotkey editor for each application only shows the hotkeys relevant to
that application.

Fixes: lp:1741757
* https://bugs.launchpad.net/kicad/+bug/1741757

Fixes: lp:1668799
* https://bugs.launchpad.net/kicad/+bug/1668799
2018-05-18 12:57:38 -07:00
Seth Hillbrand d09445cf34 Fixing signed/unsigned warning 2018-05-17 16:47:51 -07:00
Jeff Young 5e30e4d475 Don't allow replace on Power Symbol value fields.
Fixes: lp:1771398
* https://bugs.launchpad.net/kicad/+bug/1771398
2018-05-18 00:43:40 +01:00
Jeff Young df495b1d65 Fix typo in loading of preferences Reference ID Notation menu.
Fixes: lp:1771898
* https://bugs.launchpad.net/kicad/+bug/1771898
2018-05-17 23:46:32 +01:00
jean-pierre charras afc28ef5db fix a minor compil warning 2018-05-16 18:14:06 +02:00
Maciej Suminski 538ab0eb3f kicad_netlist_reader.py: Handle gracefully the case when a library symbol is not available for a component 2018-05-14 17:58:24 +02:00
jean-pierre charras 509793a5b4 Symbol editor: Inversion sign ("~") incorectly ùmanaged in graphic texts.
It was always replaced with space in a graphic text, but it should happens
only in non quoted texts
Now graphic texts containing ' ' or '~' or '"' are always quoted
(work fine with 4.0 version)

Fixes: lp:1771105
https://bugs.launchpad.net/kicad/+bug/1771105
2018-05-14 17:49:30 +02:00
Jeff Young 1a6e8d4713 Fix typo. 2018-05-13 21:48:13 +01:00
Jeff Young c30dd24cc1 Fixup sorting for expanded component groups.
Also adds shorthand notation for groups with adjacent components.
2018-05-13 12:21:55 +01:00
jean-pierre charras 54766bac40 fix minor compil warning (signed/unsigned compar) 2018-05-13 08:56:17 +02:00
Jeff Young 9311393016 Add expand/collapse to grouped rows in Fields Editor.
Fixes: lp:1767746
* https://bugs.launchpad.net/kicad/+bug/1767746
2018-05-12 23:05:04 +01:00
Jeff Young 108dc20fba Keep first segment of wire attached to sheet pin horizontal.
If allowed to go vertical it's very hard to see on top of the
sheet boundary and liable to short out other pins.

Fixes: lp:1685508
* https://bugs.launchpad.net/kicad/+bug/1685508
2018-05-11 21:50:43 +01:00
Jeff Young 62d6750ced Use default for attribute "display" if not found.
Fixes: lp:1767447
* https://bugs.launchpad.net/kicad/+bug/1767447
2018-05-11 16:11:38 +01:00
Jeff Young e91e88bfa1 Make sure read-only attr sticks when grid table rebuilt. 2018-05-11 12:33:53 +01:00
Jeff Young 6e83f99c72 Relax fully-annotated constraint for BOM editor.
Also fixes a bug where unannotated components would get references
of the form R-1 (because their reference number was -1).

Fixes: lp:1768814
* https://bugs.launchpad.net/kicad/+bug/1768814
2018-05-11 12:33:44 +01:00
Maciej Suminski 194c57133c SCH_LEGACY_PLUGIN::loadHierarchy() uses a stack to maintain sheet paths
Path keeping stack copes well with paths pointing outside the project
directory (e.g. "../path"). The so far used wxFileName::GetDirCount() and
wxFileName::RemoveLastDir() remove too many directories, as ".." is also
counted as a directory.

Fixes: lp:1769746
* https://bugs.launchpad.net/kicad/+bug/1769746
2018-05-09 11:30:23 +02:00
Maciej Suminski c8f4e1051b Eagle SCH import: keep multi-unit parts not interchangeable
Eagle supports more sophisticated unit swapping information,
so the safest choice is to prevent any unit manipulation.
2018-05-08 12:17:46 +02:00
jean-pierre charras 44bf92ae64 Annotate schematic: fix annotation bug with multi-unit parts when these parts have a duplicate reference.
It happens only with option "Reset, but keep order of multi-unit parts, because the algo tried
to propagate the new reference to parts having the same old reference,
without testing if this old reference was duplicated.

Fixes: lp:1769250
https://bugs.launchpad.net/kicad/+bug/1769250
2018-05-08 09:46:25 +02:00
Jeff Young 5a90858a46 Convert unit indicies to reference letters for annotation messages.
Fixes: lp:1769244
* https://bugs.launchpad.net/kicad/+bug/1769244
2018-05-06 00:23:04 +01:00
Jeff Young aa7da5dfcd Treat ${...} and $(...) envvar references uniformly.
Fixes: lp:1769282
* https://bugs.launchpad.net/kicad/+bug/1769282
2018-05-05 23:40:40 +01:00
Jeff Young c23b263e39 Fix display issues in Layers list in Keepout Zone Properties. 2018-05-04 23:55:03 +01:00
Wayne Stambaugh 0f5eb421b3 Fix duplicate menu shortcuts in Eeschema View menu.
Both "Leave Sheet" and "Library Browser" menu entries were mapped to the
'L' key.  Mapped the "Library Browser" entry to the 'B' key.

Fix "Show hidden pins" menu entry capitalization.

Map "Show Hidden Pins" to 'P' key and "Full Window Crosshair" to 'W' key.

Fixes lp:1768671

https://bugs.launchpad.net/kicad/+bug/1768671
2018-05-03 10:49:44 -04:00
Jeff Young d0d9bb25c0 Menu consistence (add Config Paths to LibEdit). 2018-05-03 15:07:24 +01:00
Maciej Suminski 8411ef04d0 Size fields list correctly in symbol properties editor
This patch prevents fields with long text values from unreasonable
dialog resizing. It is basically commit f4eb63f8 applied to a
corresponding field editor dialog in the Symbol Editor.
2018-05-03 12:20:40 +02:00
Maciej Suminski 70cd27314b Autocompletion for Spice model selector 2018-05-03 11:58:13 +02:00
Maciej Suminski 72a70d61d8 Fixed the default value generated for Spice_Node_Sequence field
Values generated by NETLIST_EXPORTER_PSPICE::GetSpiceFieldDefVal()
and the actual value that was stored in a netlist differed when a
component has multiple units.

Due to that, the Spice model editor dialog incorrectly recognized
"alternate node sequence" value as the default one and cleared it
when the dialog was closed.
2018-05-03 11:29:34 +02:00
Jeff Young bf135b0690 Change Libedit save icon from Save Library to Save All Libraries.
Also changes Save Library and Save Library As to work off the
visible selection if there is one.

Also implements enablement for Save All Libraries.

Fixes: lp:1764081
* https://bugs.launchpad.net/kicad/+bug/1764081
2018-05-02 23:41:00 +01:00
Jeff Young af739f5b00 Check for duplicates when adding libraries.
This is particularly important when bulk adding (by director, etc.)
as otherwise the user might end up having to click OK to many
many error dialogs.

Fixes: lp:1764057
* https://bugs.launchpad.net/kicad/+bug/1764057
2018-05-02 21:49:57 +01:00
jean-pierre charras 7395949ae0 LIB_ID: fix incorrect detection of illegal chars, when values are not ASCII values.
Fixes: lp:1764055
https://bugs.launchpad.net/kicad/+bug/1764055
2018-04-30 11:46:24 +02:00
jean-pierre charras b636aaddf6 Eeschema: fix incorrect UI messages in dialogs due to using UTF8 strings instead of wxStrings (unicode) to build them.
(Added a explicit to build a Unicode string in UI messages to avoid mistakes)
2018-04-30 11:46:23 +02:00
Jeff Young 7b734551d3 Make sure pin-caches are up-to-date before testing dangling ends.
Fixes: lp:1767745
* https://bugs.launchpad.net/kicad/+bug/1767745
2018-04-29 16:55:24 +01:00
Jeff Young 21ceb786ac Clear annotations *after* rebuilding symbol links.
We need to symbol links to determine whether or not units are
locked (ie: non-interchangeable).

Fixes: lp:1767744
* https://bugs.launchpad.net/kicad/+bug/1767744
2018-04-29 15:09:28 +01:00
Jeff Young 91cfecaa12 Don't allow wxDataViewCtrl updates during model update.
Also checks to make sure libraries are activated before adding
them to the component tree.

Fixes: lp:1765286
* https://bugs.launchpad.net/kicad/+bug/1765286
2018-04-28 10:45:32 +01:00
Maciej Suminski 5a051358b7 Removed an obsolete comment 2018-04-28 01:19:42 +02:00
Maciej Suminski 9960416e32 Spice simulator: plot currents in DC sweep simulation
Fixes: lp:1767457
* https://bugs.launchpad.net/kicad/+bug/1767457
2018-04-28 01:14:00 +02:00
Maciej Suminski 4d6947b56a Spice simulator: do not display V(0) in the signals list 2018-04-28 01:14:00 +02:00
Maciej Suminski 539d12b08f Spice simulator: more elegant approach to generating Spice device names
Code fixing Spice device names (prefixing reference with a character
corresponding to the assigned device model type) that was duplicated in
a few places has been moved to a function (NETLIST_EXPORTER_PSPICE::GetSpiceDevice()).
2018-04-28 01:14:00 +02:00
Maciej Suminski 095112a902 Spice simulator: add device prefix only when necessary for DC sweep (missing in bc67d1ad) 2018-04-27 23:09:58 +02:00
jean-pierre charras 502bed083d Fix a minimal size for the spice simulator frame.
For an obscure reason, the minimal frame size fixed in EDA_BASE_FRAME was not working.
2018-04-27 20:35:23 +02:00
jean-pierre charras a9dd5b5335 Sim spice fix: the frame size was not the last stored size (like for other frames) but a default fixed value.
The frame size (and its subframes) is now the last used.
2018-04-27 18:33:13 +02:00
Jeff Young 942d4e7658 Check footprint history list for validity.
Fixes: lp:1767108
* https://bugs.launchpad.net/kicad/+bug/1767108
2018-04-27 15:26:00 +01:00
Maciej Suminski bc67d1ad8c Spice simulator: prefix reference with device type only when necesary
Fixes: lp:1767271
* https://bugs.launchpad.net/kicad/+bug/1767271

Fixes: lp:1700853
* https://bugs.launchpad.net/kicad/+bug/1700853
2018-04-27 14:18:53 +02:00
Jeff Young 5e5e80d392 Don't allow panel to overwrite values set in Spice Model editor.
Fixes: lp:1766920
* https://bugs.launchpad.net/kicad/+bug/1766920
2018-04-26 19:13:19 +01:00
Jeff Young 6ccc8577ad Hand-code calculation of field names column width.
Fixes: lp:1737361
* https://bugs.launchpad.net/kicad/+bug/1737361
2018-04-26 19:13:19 +01:00
Jeff Young 888c434776 Treat Mac as special case rather than GTK.
(Windows also needs the padding we use for GTK.)
2018-04-26 15:51:34 +01:00
Jeff Young dcf02f5f67 Use a single calc-column-width-impl for Fields Editor.
Also adds calculation of the initial splitter position based on
the widths of the fields in the list.

Fixes: lp:1737361
* https://bugs.launchpad.net/kicad/+bug/1737361
2018-04-26 11:10:58 +01:00
Jeff Young ac778bc5b4 Only draw hidden pins if requested or in LibEdit.
Fixes: lp:1742485
* https://bugs.launchpad.net/kicad/+bug/1742485
2018-04-25 20:07:22 +01:00
jean-pierre charras 68e69fe95d eeschema: context menu pops up on 2nd click after ESC key was pressed twice
other very minor fixes

Fixes: lp:1766830
https://bugs.launchpad.net/kicad/+bug/1766830
2018-04-25 14:28:41 +02:00
jean-pierre charras 528a67b27c Fix incorrect sizing of 2 columns in dialog, on GTK (issue perhaps depending on GTK/wxWidget version) 2018-04-25 12:07:43 +02:00
Maciej Suminski 26ee673a6b Validate symbol alias names read from .dcm files
Fixes: lp:1766551
* https://bugs.launchpad.net/kicad/+bug/1766551
2018-04-25 10:15:44 +02:00
Jeff Young 4b3772cf07 Update value field when changing power symbol reference.
Fixes: lp:1765932
* https://bugs.launchpad.net/kicad/+bug/1765932
2018-04-25 00:36:08 +01:00
Jeff Young 7e29ff0bc4 Conditional compilation for global fields editor listbox. 2018-04-24 23:45:44 +01:00
Seth Hillbrand 2694a76785 Standardize colons in symbol library dialog 2018-04-23 12:33:21 -07:00
Seth Hillbrand 3e652f2d40 Standardize colons and units in spice model dialog 2018-04-23 12:31:23 -07:00
Seth Hillbrand 2baca1d650 Standardize colons and units in spice sim settings dialog 2018-04-23 12:31:17 -07:00
Seth Hillbrand 445c0e66fb Align search field 2018-04-23 11:55:28 -07:00
Seth Hillbrand 722886c9c7 Standardize colons in schematic plot dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand 805c38ffc5 Standardize colons in new component dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand 60abff1c02 Standardize colons in library text dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand 424fe8acd4 Standardize colons in libedit pin dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand 2c1f14fce5 Standardize colons in draw item dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand c55cb8c557 Standardize colons in ERC dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand f451ffb877 Standardize colons in schematic editor options dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand 83319f74c3 Standardize colons in line style dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand 2da575d539 Standardize wording and colons in libentry fields dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand 617d9288ab Standardize colons in edit label dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand 32bb6064d7 Standardize colons in edit schematic component dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand 07281d78ad Standardize colons in edit component dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand 8c2a7138d1 Standardize colons in BOM dialog 2018-04-23 11:53:18 -07:00
Seth Hillbrand 4640a656a2 Standardize colons in annotate dialog 2018-04-23 11:53:18 -07:00
Jeff Young aa71d41a59 Calculate column widths based on actual text & fontsize.
Fixes: lp:1737361
* https://bugs.launchpad.net/kicad/+bug/1737361
2018-04-23 18:24:10 +01:00
Maciej Suminski 50588dcd1e Fix disabled 'save library' button in the symbol editor
With uninitialized COMPONENT_TREE::m_menuActive there were cases when
application logic erroneously decided to fetch the current library name
from the right click menu selection, even though there was no menu
opened, so an empty string was returned. Empty library name is
equivalent to no library loaded, therefore the save button appeared
disabled.

Fixes: lp:1765937
* https://bugs.launchpad.net/kicad/+bug/1765937
2018-04-23 15:29:26 +02:00
Maciej Suminski cfa9916836 Prevent issuing a print command before the previous one is finished
Fixes: lp:1765965
* https://bugs.launchpad.net/kicad/+bug/1765965
2018-04-23 11:25:28 +02:00
Wayne Stambaugh 648803dcf7 Eeschema: fix missing part in part list bug in netlist exporter.
Use LIB_ID for LIB_PART_LESS_THAN comparison.  This prevents parts with
library name clashes from being dropped from the part list.
2018-04-22 16:33:34 -04:00
Wayne Stambaugh 41c1657eb6 Eeschema: fix bug in sheet path loading logic.
When a relative sheet path was not in the project path or a subfolder
within the project path, the schematic path would be empty.  Set the
base path to the project path when the schematic path is no within
the project path hierarchy.
2018-04-22 09:47:54 -04:00