Commit Graph

3859 Commits

Author SHA1 Message Date
Seth Hillbrand fb9ccd855d eeschema: Check for dangling ends when switching sheets
When you search for an item that exists on a separate sheet in the
schematic, the newly loaded schematic sheet needs to have the dangling
flags set so that we don't have a mess of non-connected "o" markers.
2018-06-08 12:51:54 -07:00
Seth Hillbrand 72238e260a Fix overload compile warning 2018-06-08 11:25:27 -07:00
Seth Hillbrand 7558c71aca When clearing annotations, keep units
Clearing annotations should only clear the settings that can be set by
the matching annotate function.  Even in components where the units are
functionally the same, the unit choice should be retained as there are
often other considerations when chosing the unit.

Fixes: lp:1769457
* https://bugs.launchpad.net/kicad/+bug/1769457
2018-06-08 10:51:56 -07:00
Seth Hillbrand a5c213c23d Set footprint splitter window canvas to transient
The splitter window can not be the parent to any additional windows.
If it acquires a child that persists past the lifetime of the splitter
window, we get a segfault.
2018-06-06 10:03:00 -07:00
Maciej Suminski 64e98c8e54 Fixed Symbol Library editor crash on start
Added a null pointer check missing in 51c7381f

Fixes: lp:1775414
* https://bugs.launchpad.net/kicad/+bug/1775414
2018-06-06 17:01:06 +02:00
Maciej Suminski 228881f552 Eagle SCH import: validate package (footprint) names 2018-06-06 10:12:04 +02:00
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
jean-pierre charras 4202bb6af6 DIALOG_EDIT_COMPONENTS_LIBID: fix the minimal size (previous code to fix this size was not working) 2018-04-21 17:53:54 +02:00
Wayne Stambaugh d776eaca83 Fix button sizer padding on symbol field edit dialog. 2018-04-20 19:19:13 -04:00
Jeff Young 4302394990 Consistency between dialog titles and menu items.
... and between eeschema and pcbnew.

Also moved the Symbol & Footprint library table tabs to the top
so it's more clear what "by Scope" means.

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

Fixes: lp:1765516
* https://bugs.launchpad.net/kicad/+bug/1765516
2018-04-20 15:33:46 +01:00
Maciej Suminski 554cb54a4f Eagle SCH import: save project file after the full path is set
Fixes: lp:1765297
* https://bugs.launchpad.net/kicad/+bug/1765297
2018-04-20 10:04:41 +02:00
Jeff Young 5506efaee5 Add a SaveAndContinue button to the Fields Editor. 2018-04-19 23:13:19 +01:00
Jeff Young b9239d8728 Add defensive coding for column widths in Fields Editor. 2018-04-19 21:39:25 +01:00
Jeff Young 9201417c06 Handle new fields in global field editor.
Fixes: lp:1765443
* https://bugs.launchpad.net/kicad/+bug/1765443
2018-04-19 20:33:03 +01:00
Maciej Suminski 1a5139b91f eeschema: renamed 'Symbol Table' to 'Fields Editor'
Fixes: lp:1765360
* https://bugs.launchpad.net/kicad/+bug/1765360
2018-04-19 16:26:17 +02:00
Maciej Suminski e3a06dca70 Fallback to system ngspice library when libngspice is not found in other paths on macOS 2018-04-19 14:48:31 +02:00
Maciej Suminski 2865084ce8 Library Field editor: validate alias name before changing it
When LIB_ALIAS is renamed, it validates the new name. In case the name
typed in the field edit dialog is invalid, there was a discrepancy
between the name used further in the code and the actual alias name.

Fixes: lp:1765375
* https://bugs.launchpad.net/kicad/+bug/1765375
2018-04-19 14:47:34 +02:00
Maciej Suminski 4526f40fe1 ngspice: add extra paths to search for libngspice
The main purpose of the patch is to load libngspice from macOS bundle.
There are also some additional paths that could make Windows developers
easier.

Fixes: lp:1630675
* https://bugs.launchpad.net/kicad/+bug/1630675
2018-04-19 11:43:29 +02:00
Maciej Suminski a8ef222517 ngspice: keep the ngspice DLL handle as an automatic variable 2018-04-19 11:44:48 +02:00
Maciej Suminski d3f23a62ec Bundle libngspice, code models and init scripts for macOS 2018-04-19 11:44:48 +02:00
Jeff Young 442d1169a8 Adjust min sizes of Global Fields editor for Windows.
Also gets rid of a slew of unnecessary sizers in the dialog.
2018-04-18 20:37:20 +01:00
Simon Richter 7e47ef7471 Fix warnings for unreferenced local variables 2018-04-18 15:08:37 -04:00
jean-pierre charras 3179e40b57 Fix compil warning (perhaps 32 bit build specific) 2018-04-18 20:41:18 +02:00
Seth Hillbrand 7b3dc9c28d Fix tabs->spaces 2018-04-18 08:22:52 -07:00
Maciej Suminski 41ac458e79 Fixed SCH_LEGACY_PLUGIN_CACHE::saveBezier() 2018-04-18 09:36:22 +02:00
Seth Hillbrand 794e8d8a04 Moving IsOk dialogs to correct parents 2018-04-17 17:27:15 -07:00
Seth Hillbrand 626c8a71f7 Reworking sheet duplication messages and annotation
The messages on sheet duplication are changed to reflect the action
perceived by the user when accepting/rejecting the change.

Annotation is also reset for duplicating sheets where maintaining
existing annotation would conflict with existing sheets.
2018-04-17 17:12:51 -07:00
Seth Hillbrand fdd3f52e2d Move debug msg to relevant section 2018-04-17 17:12:29 -07:00
Jeff Young db2cda7271 Fix some merge issues. 2018-04-17 20:26:50 +01:00
Seth Hillbrand 2d5da8b04f Fix assert when removing CurPart
Fixes: lp:1762099
* https://bugs.launchpad.net/kicad/+bug/1762099
2018-04-17 12:20:01 -07:00
Seth Hillbrand 853f73e6b7 Prevent duplicate sheetnames when using mouse copy 2018-04-17 12:01:03 -07:00
jean-pierre charras 854cb70052 Fix compil issue with gcc 4.8 on Ubuntu 2018-04-17 19:35:26 +02:00
Jeff Young 3be876c388 Cleanup of trace logs from Simon Richter. 2018-04-17 17:27:18 +01:00
jean-pierre charras 0294e41cbc fix minor compil warnings (about signed/unsigned comparison) 2018-04-17 16:08:12 +02:00
Jeff Young 000457db7c Move Fields Editor to wxGrid.
Makes in-place editing much easier and fixes some other issues
(see bug reports).

Fixed sorting bugs in References and added better sorting for
Values.

Removed Description column as it wasn't editable and caused more
confusion than value.

Removed auto-column-width after initial render.

Re-implemented undo/redo.

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

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

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

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

Fixes: lp:1761378
* https://bugs.launchpad.net/kicad/+bug/1761378
2018-04-17 11:39:44 +01:00
Jeff Young 12ec56bc15 Prevent reentrancy in footprint loading.
Also removes parallel implementation in favour of using the
normal one (with a new wxGauge-backed PROGRESS_REPORTER).

Fixes: lp:1764196
* https://bugs.launchpad.net/kicad/+bug/1764196
2018-04-16 23:19:08 +01:00
jean-pierre charras 2974a2c10a Eeschema: fix broken generation of the project library cache.
Because the cache is broken, the rescue library was never created after missing library or change in lib.

This was due to the fact the symbol name inside the cache is broken, since commit a5844c9,
because all illegal chars in symbol name are replaced by '_'.
Unfortunately, in library cache, the ':' (illegal in usual libraries) is used to build the cached symbol name.
so in lib cache, symbol names were broken, making this lib useless.

this fix allows the ':' char in symbol name in lib.

Fixes: lp:1764166
https://bugs.launchpad.net/kicad/+bug/1764166
2018-04-16 10:58:28 +02:00
jean-pierre charras d2cf2fe61c Eeschema, fix issue when rotating a hierarchical sheet: depending on the sheet size, the rotation center was not always on grid.
Therefore, in this case, pin sheets were no longer on grid.

Fixes: lp:1764270
https://bugs.launchpad.net/kicad/+bug/1764270
2018-04-16 10:39:34 +02:00
jean-pierre charras 3e64c9de38 Fix incorrect behavior of ReplaceIllegalFileNameChars( wxString& aName, int aReplaceChar ) for non ASCII8 chars.
(this function was using a comparison using chars to test wide chars)

Fixes: lp:1764055
https://bugs.launchpad.net/kicad/+bug/1764055
2018-04-15 10:06:53 +02:00
jean-pierre charras 07dc12fdd3 Fix incorrect UI management of Zoom to Selection, created by fix 2a419156 2018-04-14 17:44:17 +02:00
jean-pierre charras 4a254ee7f3 Eeschema, schematic file save issue: fix missing switch to C locale before saving files
The scale factor of bitmap images was incorrectly saved in countries using a comma as floating point separator

Fixes: lp:1763726
https://bugs.launchpad.net/kicad/+bug/1763726
2018-04-14 16:59:17 +02:00
Wayne Stambaugh a1acec5f13 Revert broken hotkey fix.
The hotkey fix committed in 53b1ec81 broke non-us keyboards.  Change the
hotkey help hotkey from '?' to Ctrl+F1 to prevent the hotkey list dialog
from being shown when placing a bus wire junction in Eeschema and when
changing the track posture in Pcbnew.  This is still broken in the GAL
framework.
2018-04-14 08:24:25 -04:00
Jeff Young 2a419156e0 Don't try to check uncheckable menu items.
When updating toolbars make sure the events are coming from the
toolbar in question (and not the menus which share the same ID).

Fixes: lp:1763563
* https://bugs.launchpad.net/kicad/+bug/1763563
2018-04-13 21:42:31 +01:00
Wayne Stambaugh 81843c37a4 Organize trace debugging code for ease of maintenance. 2018-04-13 09:59:01 -04:00
Maciej Suminski 0e151687e3 Fixed a typo 2018-04-13 14:24:57 +02:00
Maciej Suminski a41b2d6803 Fix names of added aliases 2018-04-13 14:24:57 +02:00
Maciej Suminski b907fb856d Fix names of libraries added to symbol/footprint library tables 2018-04-13 14:24:57 +02:00
Maciej Suminski 3f734eb1b5 Improved validation of library and entry names
Symbol/footprint library and entry have the same set of forbidden
characters with a single exception, space character. To accommodate for
this difference, LIB_ID validation and fix methods have been extended to
specify the LIB_ID type that is checked (schematic/board).

LIB_ID::HasIllegalChars() and LIB_ID::FixIllegalChars() had two different
sets of characters treated as invalid in LIB_IDs. The set has been
factored out to another function to avoid duplication.
2018-04-13 14:24:57 +02:00
Maciej Suminski 862fb430e7 eeschema: Fixed setting unit condition in the component properties dialog 2018-04-13 14:24:57 +02:00
Maciej Suminski 58c27398cb Eagle SCH import: improved implicit connections resolution
Nets assigned by power pins are weak, meaning they are valid
as long as there is nothing else attached to such pins. This patch
checks whether there are other wires or pins attached to a power pin
before placing a global net label.

Fixes: lp:1755191
* https://bugs.launchpad.net/kicad/+bug/1755191
2018-04-12 18:12:22 +02:00
Jeff Young 5ef715f3d3 Scan all items when looking for the weak reference.
... not just those directly in the draw list.

Fixes: lp:1747037
* https://bugs.launchpad.net/kicad/+bug/1747037
2018-04-09 21:19:11 +01:00
Maciej Suminski 4b0d477c76 Symbol Editor: handle delete hotkey in block edit mode 2018-04-09 14:04:06 +02:00
Maciej Suminski 9bd6d5e97c Fix mirror X/Y hotkeys in the Symbol Editor
Fixes: lp:1762136
* https://bugs.launchpad.net/kicad/+bug/1762136
2018-04-09 13:40:42 +02:00
Carsten Schoenert a11714b1a4 fix misspelled 'an other' -> 'another' 2018-04-08 13:24:37 -04:00
Carsten Schoenert 1f32f7c55b fix misspelled 'allows to' -> 'allows one to' 2018-04-08 13:24:18 -04:00
Maciej Suminski cb2c447c23 Spice Simulator: add close buttons to plot tabs
Fixes: lp:1761902
* https://bugs.launchpad.net/kicad/+bug/1761902
2018-04-07 22:53:50 +02:00
Jeff Young baef22df9a Fix memory leak and push menu change to other apps.
Fixes: lp:1761848
* https://bugs.launchpad.net/kicad/+bug/1761848
2018-04-07 14:14:55 +01:00
Jeff Young 0bd5cc4470 Borrow LTSpice's unconnected net nomenclature.
Using an unqualified "?" results in all the unconnected pins
being connected to each other.

Fixes: lp:1720619
* https://bugs.launchpad.net/kicad/+bug/1720619
2018-04-07 11:01:56 +01:00
Maciej Suminski e7ed415930 Eagle SCH import: handle implicit connections
Each named power input pin in Eagle creates an implicit connection to a
net with the name of the pin (e.g. GND, VCC). It is also done for the
units (gates in Eagle nomenclature) that have not been instantiated in
the schematics.

To emulate this behaviour in KiCad:
- Placed components are checked for power input pins, so they will have
global net labels attached to create the described implicit connections.
- As the components are placed, the remaining units of the symbol are
checked for power inputs to see if they need to be instantiated together
with global net labels.

Fixes: lp:1755191
* https://bugs.launchpad.net/kicad/+bug/1755191
2018-04-06 16:20:59 +02:00
Maciej Suminski 78c9b34b5d Eagle SCH import: moved sheet bbox calculation to a function 2018-04-06 16:02:58 +02:00
Maciej Suminski 9ee698bbcd Eagle SCH import: save the imported library file once the library section is processed
It is required to access symbol data in later import stages.
2018-04-06 16:02:18 +02:00
Jeff Young 591a303777 Make ERC options dialog clearer.
Fixes: lp:1667600
* https://bugs.launchpad.net/kicad/+bug/1667600
2018-04-06 14:51:09 +01:00
Jeff Young 611d5a0dc4 Standardize "assign footprints" terminology.
Fixes: lp:1760867
* https://bugs.launchpad.net/kicad/+bug/1760867
2018-04-06 11:26:59 +01:00
Seth Hillbrand d1af5210e0 Libedit: Fix a few places where item could be NULL
Fixes: lp:1761058
* https://bugs.launchpad.net/kicad/+bug/1761058
2018-04-04 10:20:15 -07:00
Wayne Stambaugh 696ff81dc7 Load correct schematic page layout description file in stand alone mode.
Fixes lp:1678849

https://bugs.launchpad.net/kicad/+bug/1678849
2018-04-04 10:18:12 -04:00
Jeff Young df43f071e1 Keep track of open sockets and dispose of them in d'tor.
Fixes: lp:1760936
* https://bugs.launchpad.net/kicad/+bug/1760936
2018-04-04 12:02:40 +01:00
Maciej Suminski 71bf488507 Eagle SCH importer: fixed open-collector pin type, simplified pin direction matching 2018-04-03 14:26:15 +02:00
Maciej Suminski 6d06ed3579 Eagle SCH importer: minor fixes
- set correct reference for components
- handle "pwr" direction for pins
- discarded a redundant variable
2018-04-03 14:26:15 +02:00
Maciej Suminski dd56f16776 Fix symbol editor crash when modifying fields while a field is selected
Field Editor dialog calls LIB_EDIT::SetFields() that deletes the old
LIB_FIELD objects and creates new ones. If any of the old LIB_FIELD
objects had been selected before invoking the dialog, then one of the
update UI event handlers will crash trying to access the object.
2018-04-02 17:51:11 +02:00
jean-pierre charras 0171547154 Context menu: use same message for Zoom and Grid in Legacy mode and GAL mode.
a minor cosmetic other fix in Eeschema, edit submenu.
2018-04-01 21:09:52 +02:00
jean-pierre charras e750417fa0 Eeschema: fix many wxASSERT when trying to open menus from the main menubar.
This is due to the fact the same ID was used for menuitems in menubar,
and tools in toobars.
Especially, some items were not compatible due to different attributes.

Windows does not accept the same ID for 2 items inside the same frame.
It creates issues (items not shown, Asserts, ...)
2018-04-01 20:58:27 +02:00
Seth Hillbrand 62fe78f08c Eeschema: Simplify GetItem
Avoids calling HitTest on each item when it is not needed
2018-03-30 17:26:34 -07:00
Seth Hillbrand 7c70e969db Prevent warning when renaming sheet name
Renaming a subsheet but keeping the filename should not present a
warning to the user.  The was triggered due to comparing a
fully-qualified filename to a relative filename.

Fixes: lp:1744475
* https://bugs.launchpad.net/kicad/+bug/1744475
2018-03-29 13:51:02 -07:00
Maciej Suminski eb9099238a Eagle SCH import: Improved net label placement algorithm
Eagle support net labels that are naming wires not directly connected to
the labels. In KiCad it is not possible, therefore such detached net
labels need to be moved, so they touch the corresponding wire.

The initial algorithm did not take into account that a moved net label
might be placed on a wire crossing, effectively shorting two nets. This
commit improves the placement algorithm by avoiding the wire crossing
points when placing a label.

Fixes: lp:1748502
* https://bugs.launchpad.net/kicad/+bug/1748502
2018-03-29 12:16:11 +02:00
Maciej Suminski 88915f7940 SCH_EAGLE_PLUGIN::addBusEntries(): prevent operating on deleted objects 2018-03-29 12:11:36 +02:00
Maciej Suminski 99e79c077a Eagle SCH import: Code formatting 2018-03-29 12:11:35 +02:00
Jeff Young ba49bd0386 Allow XLS netlist exporters to specify a file extension.
Fixes: lp:1591779
* https://bugs.launchpad.net/kicad/+bug/1591779
2018-03-26 00:51:54 +01:00
Jeff Young f4ce8766e3 Implement shared FOOTPRINT_LIST.
While we already cache the loaded footprint files, parsing said files
into the list is also time-intensive.  Since the FOOTPRINT_LIST is
already hash-stamped against the current timestamps of the files that
make up the list, sharing a single copy of the list is quite
straight-forward.
2018-03-25 19:21:28 +01:00
Jeff Young b24b0d5dfe Dialog-ize CvPcb and implement proper Save.
Save now goes to disk (instead of just the in-memory schemaitc),
and the UI attempts to make this clear.
2018-03-25 19:21:27 +01:00
Wayne Stambaugh 8d8c422a19 Add zoom to selection menu entry to all editors.
Fixes lp:1753339

https://bugs.launchpad.net/kicad/+bug/1753339
2018-03-25 12:34:19 -04:00
Jon Evans bfe9eff878 Don't use wxTE_RICH in label editing dialog
Fixes: lp:1742296
* https://bugs.launchpad.net/kicad/+bug/1742296
2018-03-24 22:31:34 -04:00
Marco Ciampa 4594fedc2c Small typo in menubar 2018-03-24 10:36:40 -04:00
Jeff Young d2d0660647 Open viewer even when FPID is invalid.
Just show an empty viewer.
2018-03-23 12:46:17 +00:00
Jeff Young a0364a1137 Don't make user click twice to toggle checkbox in wxGrid. 2018-03-23 12:46:17 +00:00
Maciej Suminski 434b385a95 Eagle SCH importer: prepend # to references of symbols without assigned footprints
With hash character starting the reference value, schematic components
are considered as virtual and therefore netlist updater do not warn about
an unsigned footprint anymore. This approach is useful to handle logos,
frames or other virtual Eagle components.

Fixes: lp:1756281
* https://bugs.launchpad.net/kicad/+bug/1756281
2018-03-22 18:20:02 +01:00
Maciej Suminski e9537953cd Eagle SCH importer: reduced code duplication for importing labels 2018-03-22 18:20:02 +01:00
Maciej Suminski 97f8a3361e Renamed ERC rule: "Test unique global labels" to "Test single instances of global labels" 2018-03-22 18:20:02 +01:00
Maciej Suminski 058f2bffd0 Spice simulator: safety check 2018-03-22 18:20:02 +01:00
Jon Evans 5b653c0c1e Update MacOS icons
Fixes: lp:1750284
* https://bugs.launchpad.net/kicad/+bug/1750284
2018-03-22 11:45:42 -04:00
Maciej Suminski e1c8822b9e Component Properties dialog: catch IO_ERRORs when showing footprint viewer 2018-03-22 11:44:13 +01:00
Maciej Suminski 351fc0c343 eeschema: preserve unit number after pasting a component
Fixes: lp:1757373
* https://bugs.launchpad.net/kicad/+bug/1757373
2018-03-22 10:55:50 +01:00
Jeff Young 79fe134495 Init Footprint Viewer with current FPID.
Fixes: lp:1757421
* https://bugs.launchpad.net/kicad/+bug/1757421
2018-03-21 23:11:55 +00:00
Jeff Young 99e659ff54 Coverity fixes. 2018-03-21 23:11:55 +00:00
Maciej Suminski bad462a228 Spice simulator: reload ngSpice dll on error
ngSpice frequently ends up a simulation with an error:
"Error: ngspice.dll cannot recover and awaits to be detached"
The only way forward is to reload the shared library and
reinitialize ngSpice.

Fixes: lp:1753101
* https://bugs.launchpad.net/kicad/+bug/1753101
2018-03-21 18:01:38 +01:00
Maciej Suminski 61e42ba392 Spice simulator: changed NGSPICE instance type to shared_ptr
It was yet another time when I tried to free a singleton pointer.
Let's make clear it is not meant to be freed manually.
2018-03-21 18:01:38 +01:00
Maciej Suminski 50053e7f27 Spice simulator: code formatting 2018-03-21 18:01:38 +01:00
Maciej Suminski 33620ecc85 Revert "libngspice is linked at compile time"
This reverts commit 75f8b20493.
In case of problems, ngspice demands to be detached which is not
possible when it is linked at compile time.
2018-03-21 18:01:38 +01:00
Jon Evans 285bf79370 Fix strings for save/load project menu options; standardize on "Load"
Fixes: lp:1753659
* https://bugs.launchpad.net/kicad/+bug/1753659
2018-03-20 22:20:54 -04:00
Jeff Young 1a845bc4ad Safer way to commit in-progress changes in wxGrid.
In some cases the wxGrid would attempt to close the editor in
the middle of the d'tor, resulting in segfaults.
2018-03-19 12:13:28 +00:00
Jeff Young df924a5e68 Follow standard FBP naming conventions. 2018-03-18 22:17:27 +00:00
Jeff Young 1684fc735a Defensive coding to attempt to prevent wxWidgets crash.
Fixes: lp:1756255
* https://bugs.launchpad.net/kicad/+bug/1756255
2018-03-16 19:02:25 +00:00
Wayne Stambaugh 3f52e87224 Standardize terminology for automatic zoom to "Zoom to Fit".
Fixes lp:1753336

https://bugs.launchpad.net/kicad/+bug/1753336
2018-03-16 08:38:36 -04:00
jean-pierre charras 819056df9d Eeschema: Add footprint field to Cadstar netlist file.
Fixes: lp:1755996
https://bugs.launchpad.net/kicad/+bug/1755996
2018-03-16 13:20:00 +01:00
Jon Evans 2cc5c6fd45 Add ERC check in component editor for conflicting multi-unit pins
Fixes: lp:1680638
* https://bugs.launchpad.net/kicad/+bug/1680638
2018-03-15 11:11:43 -04:00
Jon Evans 0a81782b5d Add ERC check that a pin appears in only one net
Fixes: lp:1680638
* https://bugs.launchpad.net/kicad/+bug/1680638
2018-03-15 11:11:43 -04:00
jean-pierre charras e14a7c928c Fix incorrect pin num string in cadstar and orcadpcb2 format 2018-03-15 09:15:49 +01:00
Jeff Young 3d12a6889b Make sure ERC and DRC item lists respect color themes.
Fixes: lp:1492953
* https://bugs.launchpad.net/kicad/+bug/1492953
2018-03-14 14:15:16 +00:00
Maciej Suminski 83efd6b8a3 Added 'Paste' to eeschema context menus
Fixes: lp:1754891
* https://bugs.launchpad.net/kicad/+bug/1754891
2018-03-13 17:26:33 +01:00
Jon Evans 935a5cada8 Fix typo in conditional check
Fixes: lp:1755265
* https://bugs.launchpad.net/kicad/+bug/1755265
2018-03-12 22:15:27 -04:00
Jeff Young f32f14dc8f Add WX_TEXT_ENTRY_DIALOG which inherits from DIALOG_SHIM.
Fixes: lp:1754977
* https://bugs.launchpad.net/kicad/+bug/1754977
2018-03-12 22:45:51 +00:00
Jeff Young 3d32ee774e Translatable strings must be ASCII7 for translation tools. 2018-03-12 19:54:07 +00:00
Jeff Young 4eedb3a27d The _() macro affords some nullptr safety over a naked immediate.
Fixes: lp:1477448
* https://bugs.launchpad.net/kicad/+bug/1477448
2018-03-12 19:18:05 +00:00
Tomasz Wlostowski b1f613071d eeschema: workaround for 64kByte string length limit in wxString::Format() causing segfaults in netlist update under Windows
Fixes: lp:1754402
* https://bugs.launchpad.net/kicad/+bug/1754402
2018-03-12 18:26:25 +01:00
jean-pierre charras 17f6d09935 Page layout editor: fix incorrect management of block operation in context (popup) menu. 2018-03-11 18:38:27 +01:00
Seth Hillbrand ce8d5787f7 Standardize Hierarchy wording 2018-03-09 09:43:54 -08:00
Seth Hillbrand 649809a38f Standardize Keywords->Key words 2018-03-09 09:43:53 -08:00
hauptmech eeeed88425 Use fixed width on first Symbol Table column
Autosize when the reference field is a list of all components was too long.

Fixes: lp:1753330
* https://bugs.launchpad.net/kicad/+bug/1753330
2018-03-08 20:59:46 -05:00
Jeff Young 4693fd6200 Resolve env vars when looking up documentation files.
Fixes: lp:1729276
* https://bugs.launchpad.net/kicad/+bug/1729276
2018-03-08 23:51:10 +00:00
Seth Hillbrand 33423fe88d Standardize capitalization
Messages should start with capitalized letter
2018-03-08 12:33:32 -08:00
Seth Hillbrand 8ff91cc0da Standardize hotkeys table 2018-03-08 12:33:32 -08:00
Seth Hillbrand de8716bcc2 Standardize open web browser 2018-03-08 12:33:32 -08:00
Seth Hillbrand f76b89cf99 Standardize error message in Eeschema 2018-03-08 12:33:32 -08:00
Seth Hillbrand 3cbf5f4942 Spelling indentifier -> identifier 2018-03-08 12:33:32 -08:00
Maciej Suminski b3601bd540 SCH_LEGACY_PLUGIN_CACHE: Rename conflicting aliases 2018-03-08 09:48:41 +01:00
Maciej Suminski d74bb131e1 SCH_LEGACY_PLUGIN_CACHE: Do not add the root alias for loaded symbols
The root alias is added in the loop iterating through all aliases.
2018-03-08 09:48:41 +01:00
Maciej Suminski a5844c9bb8 Replace illegal characters in LIB_{ALIAS,PART} LIB_IDs
Schematic components have illegal characters replaced during load,
leading to broken component-symbol links. To avoid this, library symbols
should have their names fixed in the same way.

Fixes: lp:1752419
* https://bugs.launchpad.net/kicad/+bug/1752419
2018-03-08 09:48:34 +01:00
Seth Hillbrand 9c532dfada Eeschema: Prevent block duplicate from disappearing
Duplicate is handled like move/drag but shouldn't mark the original
items as moving.  This prevents a redraw from drawing the original
items.

Fixes: lp:1750083
* https://bugs.launchpad.net/kicad/+bug/1750083
2018-03-07 16:43:21 -08:00
Michael Kavanagh fabbc48b40 macOS: standardise CFBundleName to application names. 2018-03-05 01:14:00 +00:00
Seth Hillbrand 9c44d67f3b Eeschema: Simplify transformation representation
Fixes: lp:1752745
* https://bugs.launchpad.net/kicad/+bug/1752745
2018-03-05 01:05:21 +00:00
Jeff Young f4eb63f871 Size fields list correctly in symbol edit.
Fixes: lp:1753323
* https://bugs.launchpad.net/kicad/+bug/1753323
2018-03-05 00:07:50 +00:00
Maciej Suminski 2af51ef20f Eagle import: do not call TrimWire() on imported schematics
It turns out that TrimWire() may remove legit Eagle wires and effectively
change the netlist.
2018-03-04 18:04:19 +01:00
Maciej Suminski 1f09990618 Remove not used ListNets() methods 2018-03-04 18:04:19 +01:00
Maciej Suminski 260f680c6c Eagle import: fix memory leak on schematic sheets import 2018-03-04 16:47:26 +01:00
Maciej Suminski 8e8d95dd7f Eagle import: process all sheets when adding junctions; fix footprint LIB_IDs 2018-03-04 16:45:42 +01:00
Maciej Suminski 77346d81ce Eagle import plugin: add junction dots to fix connectivity 2018-03-04 16:45:42 +01:00
Maciej Suminski 1f078f533b Refactor Eagle project import to use Kiway::ExpressMail() 2018-03-04 16:45:42 +01:00
Russell Oliver 9016344bb3 Eagle Schematic Import: Fix netlist mapping for zones and vias. 2018-03-04 16:45:11 +01:00
Russell Oliver 3d9c25494c Revert "Eagle importer: use only global net labels"
This reverts commit b1f456fade.
2018-03-04 16:42:55 +01:00
Wayne Stambaugh 43147a3a7a Do not append "RESCUE" to symbol names when rescuing symbols.
Fixes lp:1741755

https://bugs.launchpad.net/kicad/+bug/1741755
2018-03-03 15:34:26 -05:00
Tomasz Włostowski 919b449595 Added 'show spice netlist' menu option in the simulator
Fixes: lp:1745887
* https://bugs.launchpad.net/kicad/+bug/1745887
2018-03-03 17:38:28 +01:00
Wayne Stambaugh aeae32b1a2 Fix file naming bug when importing Eagle projects with . in file name.
Fixes lp:1747470

https://bugs.launchpad.net/kicad/+bug/1747470
2018-03-03 08:35:53 -05:00
Seth Hillbrand cb052b42a6 LibEdit: Correct Mirroring labels in context menu
Fixes: lp:1752763
* https://bugs.launchpad.net/kicad/+bug/1752763
2018-03-02 10:17:55 -08:00
Maciej Suminski 3f1a3fe65b Derive DIALOG_MULTI_OPTIONS from wxMultiChoiceDialog 2018-03-02 18:09:27 +01:00
Seth Hillbrand 886159347a Eeschema: Verify file content exists
Fixes: lp:1752724
* https://bugs.launchpad.net/kicad/+bug/1752724
2018-03-01 14:32:59 -08:00
Wayne Stambaugh ce1bd4c6b7 Eeschema: fix remapping backup project with schematics in subfolders.
The backup code was designed for a project with all of the schematics
in the project folder which is not always the case.  Fix the schematic
backup to keep the schematic folder structure in tact during backups.

Fixes lp:1751662

https://bugs.launchpad.net/kicad/+bug/1751662
2018-02-28 11:42:05 -05:00
Carsten Schoenert 2b52415cae fix misspelled 'Unkown' -> 'Unknown' 2018-02-25 17:10:10 -05:00
Carsten Schoenert ff305781fb fix misspelled 'neeeded' -> 'needed' 2018-02-25 17:10:10 -05:00
Seth Hillbrand 948396024b Setting Eeschema white foreground for BW printing
Keep any Eeschema color except background a fraction off of true white
to ensure that BW printing shows the lines as black.  Only the
background is allowed to be white in an Eeschema printout.

Fixes: lp:1662859
* https://bugs.launchpad.net/kicad/+bug/1662859
2018-02-23 15:41:41 -05:00
jean-pierre charras 9a462d9414 dialog_bom: modify the way a command line is created (python scripts on windows only) to call python scripts
For some reason, when calling python and giving a full filename script, the last separator in the filename
must be '/', not '\'.
Otherwise the import command inside the script does not find files to import in the same folder as the script.

We cannot replace blindly '\' to '/' in command line because it does not work for file on a server (name starting by \\server_name\).
So the fix is just replacing one '\' in python script full filename.
This is not perfect, but at least it works for newly created plugin commands.
2018-02-23 09:50:15 +01:00
Michael afd4710045 Eeschema: New menubar structure
Update menubar to new structure and use common hotkeys.
2018-02-22 20:43:21 -05:00
Jeff Young 4dda8a39fe Add inc/dec current layer alpha to menus.
Also adds indicators in layers palette for feedback.
Also generates sized images for all indicators instead of using
scaled bitmaps (which didn't look great).
Also fixes a completely unrelated typo in a UI string.
2018-02-22 17:48:14 +01:00
Jeff Young c47821a689 Stop nagging me about annotating.
Adds a checkbox to turn off confirmation dialogs.
2018-02-20 19:12:59 -05:00
Wayne Stambaugh df2819e5bc Eeschema: fix sheet schematic file naming bug.
Fixes lp:1750468

https://bugs.launchpad.net/kicad/+bug/1750468
2018-02-20 16:01:52 -05:00
Jeff Young 4d5e1489fb New menu structure for ModEdit.
Includes some dialog changes to go with the menu update.
Includes promoting the Pcbnew graphics mode back to main menu.
Includes renaming Graphics modes to Toolsets.
2018-02-20 10:49:41 -05:00
Jeff Young 4b01c9e04e Fix undo of pin edit.
Undo stashing must happen before modifications.

Fixes: lp:1750401
* https://bugs.launchpad.net/kicad/+bug/1750401
2018-02-19 15:03:23 -05:00
jean-pierre charras 0e493a3f91 Disallow '/' in labels, Step 2: disallow not allowed chars in all labels (local, global, hierarchical, and sheet pin)
Currently, if a old label already containing a '/' (or a space) is edited, it is accepted,
but no new not allowed char can be added to the label.
(Previously, a sheet pin label was not filtered)
2018-02-19 18:15:53 +01:00
Jeff Young 04d1d503ee Disallow '/' in labels.
Fixes: lp:1749232
* https://bugs.launchpad.net/kicad/+bug/1749232
2018-02-19 18:08:09 +01:00
Jeff Young 447fd1bf02 Add a start number to annotate.
This also makes the dialog modeless so that one switch between
sheets while annotating to choose the base numbers for each
sheet (assuming they don't like the base number we pick because
of the order of the sheets).

Fixes: lp:1154131
* https://bugs.launchpad.net/kicad/+bug/1154131
2018-02-19 09:32:54 -05:00
Jeff Young d67ceea568 Set current sheet number when only annotating a single sheet.
Fixes: lp:1750096
* https://bugs.launchpad.net/kicad/+bug/1750096
2018-02-18 21:12:07 -05:00
jean-pierre charras af1281433b fix minor compil warning 2018-02-18 21:22:16 +01:00
Jeff Young b3884669cf Proper error reporting for Annotate dialog.
Also fixes:
- forcing the annotation scope to "full schematic" when run
  as a prerequisite to Generate Netlist.

- a long-standing bug where displaying extra items in a dialog
  would mess up the height of the HTML_REPORT_PANEL (becasue
  we were setting the html window's height rather than its
  parent flexgrid.

- initializing the annotation radio buttons to safe values
  (full schematic and keep existing)

Fixes: lp:1750062
* https://bugs.launchpad.net/kicad/+bug/1750062
2018-02-18 15:08:24 -05:00
Maciej Suminski 24fcdb00cc Eagle importer: convert special characters in net names
Convert '!' to '~' to reflect overbar toggling and change '~' to '~~'.
Now it matches the net names in schematics import plugin.
2018-02-17 00:03:28 +01:00
Maciej Suminski b1f456fade Eagle importer: use only global net labels
Local net labels are preceded with sheetpath (even for single sheet
schematics it is '/') causing net name conflicts between schematics and
layout. It can be easily avoided by using exclusively global net
labels, at the cost having uglier schematics.
2018-02-17 00:03:28 +01:00
Maciej Suminski 9e80eff90a Eagle importer: two stage netlist update
After Eagle project import, schematic and board netlists are inconsistent:
footprints do not have sheetpaths assigned, schematics are unannotated.

One can update netlist either by references or timestamps, but timestamps
are empty in pcbnew, and updating by reference must by preceded by
annotation which may lead to broken links between board and schematics
(Eagle does not require references to end with a number, so KiCad annotater
will add numbers in such cases).

To fix the problem, there is a two step netlist update:
- update by reference without the annotation step, to assign
correct sheetpaths to footprints
- update by timestamp, after symbols are annotated, in order to
update references in the board

Fixes: lp:1748502
* https://bugs.launchpad.net/kicad/+bug/1748502
2018-02-16 19:37:23 +01:00
Maciej Suminski 43523a6179 Options for board update KiWay request (MAIL_SCH_UPDATE[_REQUEST])
Board update KiWay request may now contain options in the message
payload:
- "no-annotate": do not enforce annotation
- "quiet-annotate": annotate without displaying a dialog
- "by-reference": update netlist by reference, no dialog displayed
- "by-timestamp": update netlist by timestamp, no dialog displayed
2018-02-16 19:37:23 +01:00
Maciej Suminski 67ccf769c7 Symbol Editor: fix a crash when saving/reverting a library not present in sym-lib-table 2018-02-16 12:13:02 +01:00
Maciej Suminski 3c9a5b0966 Library Editor: make 'Save All' the default save action
Fixes: lp:1748555
* https://bugs.launchpad.net/kicad/+bug/1748555
2018-02-16 11:28:37 +01:00
Jeff Young e7d98f89a1 Fix display of datasheet URLs and shorten them if necessary.
Fixes: lp:1676174
* https://bugs.launchpad.net/kicad/+bug/1676174
2018-02-15 22:01:35 +01:00
Maciej Suminski 570f4dd991 Coverity fixes
CIDs:
174166
174170
174171
2018-02-15 10:27:01 +01:00
jean-pierre charras 4012aa70da Fix a few minor Coverity warnings 2018-02-15 10:16:17 +01:00
jean-pierre charras dded3429fd Add missing hotkey to help menu 2018-02-15 09:23:42 +01:00
Wayne Stambaugh b8c00a0d07 Fix hierarchical schematic file sheet path bug.
Sheet file name paths were not being saved and restored properly under
certain conditions when walking the sheet hierarchy causing schematic
load errors.

Changed debugging output to use wxLogTrace left over from last fix.

Fixes lp:1748401

https://bugs.launchpad.net/kicad/+bug/1748401
2018-02-14 13:45:41 -05:00
Seth Hillbrand fd0b364b91 Eeschema: Ensure all items in a block are deleted
Deleting lines can create new ones when old lines are merged as the
result of a delete operation.  This checks that all items inside a
selection block are deleted before finishing.

Fixes: lp:1748907
* https://bugs.launchpad.net/kicad/+bug/1748907
2018-02-14 13:16:42 -05:00
Jeff Young 4bae901dc8 Centralize zoom-to-fit code.
Fixes a bunch of errors:
- libedit and libbrowser would zoom to bounding box but centre on canvas
- libedit, libbrowser and gerbview didn’t take the scroll bars into account
- pcbnew didn’t take scroll bars into account or apply the 10% margin
- appending a board file would re-centre, but not re-zoom

Fixes: lp:1504302
* https://bugs.launchpad.net/kicad/+bug/1504302
2018-02-13 20:06:03 -05:00
Maciej Suminski ac9fc949bd Code formatting for 013f7b4d 2018-02-13 14:56:11 +01:00
Russell Oliver 34b52c91b7 Add empty eeschema page layout for Eagle schematic import.
Fixes: lp:1729722
* https://bugs.launchpad.net/kicad/+bug/1729722
2018-02-13 14:56:11 +01:00
jean-pierre charras a1af13f34d replace '%s' by \"%s\" in a few sentences to be consistent with all other messages 2018-02-13 10:22:05 +01:00
Maciej Suminski c9d9cec6ad LIB_MANAGER: exception handlers display error messages 2018-02-13 08:50:51 +01:00
Jeff Young ac09cfaef4 Wire up <return> for eeschema find dialog.
Fixes: lp:1749026
* https://bugs.launchpad.net/kicad/+bug/1749026
2018-02-12 19:41:34 -05:00
Wayne Stambaugh 01faca2799 Fix release build error caused by previous commit. 2018-02-12 13:36:03 -05:00
Jeff Young 9d26253b2c Don't rely on live pointers in search data.
Try as you might to keep them fresh, there's no gaurantee.
Instead, just treat them as weak references and search the
existing items for a pointer-value match.

This also allows us to remove some code which kept recycling
the search position back to the start ever time a replace
was done.

Fixes: lp:1559258
* https://bugs.launchpad.net/kicad/+bug/1559258
2018-02-12 11:46:39 -05:00
Russell Oliver e340e8a838 Eagle Schematic Import: Label Placement fix.
Extra labels to preserve eagle named nets feature are now placed at the
end of a wire segment instead of the middle of a wire. Prevents a label
being placed on crossing wires that are not connected by a junction
resulting in an incorrent netlist.
2018-02-12 15:35:28 +01:00
Jeff Young 0bbf961881 Clean up Cancel vs Close buttons in dialogs.
Many had already been fixed but weren't working on Mac because
of the DIALOG_SHIM hack (now fixed).  Others hadn't been updated
yet.  Also includes some cleanup for elipses in buttons and
layout.

Fixes: lp:1748506
* https://bugs.launchpad.net/kicad/+bug/1748506
2018-02-10 17:53:12 -05:00
Jeff Young 1afbfad44a Use "..." uniformly in menus.
See the bug report for some wording changes and a couple of
menu restructurings that were also cleaned up.

Fixes: lp:1597827
* https://bugs.launchpad.net/kicad/+bug/1597827
2018-02-10 17:32:28 -05:00
jean-pierre charras dba198e576 Fix code after renaming files
Change class names according to the new name of the main dialog
2018-02-09 17:36:54 +01:00
jean-pierre charras 35a0688bf7 rename dialog_bom_editor* files to dialog_fields_editor_global*
rename also associated files
2018-02-09 17:36:52 +01:00
Kristoffer Ödmark 8f4a954236 Differ the dialog text for when choosing power-symbols and all symbols 2018-02-09 11:00:32 +01:00
Maciej Suminski 2c3a7c9dc4 CMP_TREE_MODEL: Reset SearchTextNormalized flag when a node is updated 2018-02-09 11:00:32 +01:00
jean-pierre charras 07fff6ed35 Eeschema, choose component dialog: remember the relative size of the component tree and the symbol viewer canvas during a session 2018-02-09 08:08:14 +01:00
Michael Geselbracht b04b1dcfb5 Update fields: Add option to omit empty fields
Fixes lp:1747405

https://bugs.launchpad.net/kicad/+bug/1747405
2018-02-08 21:05:10 -05:00
Jeff Young 6c61a46721 Rationalize label orientations for dialog display.
Fixes: lp:593795
* https://bugs.launchpad.net/kicad/+bug/593795
2018-02-08 20:16:26 -05:00
Jeff Young 17ce87a7a5 Add library descriptions to component tree.
Fixes: lp:1747547
* https://bugs.launchpad.net/kicad/+bug/1747547
2018-02-07 08:45:33 +01:00
Chris Pavlina d1a45d1476 Remove icon scaling diagnostic from eeschema 2018-02-05 19:49:07 -07:00
Wayne Stambaugh 00749af914 Eeschema: fix using subpaths in sheets.
Fix double path name issue when using sheet file name paths that differ
from the project path.

This fix also allows for nesting schematics in subfolder in multiple
root paths.

Fixes lp:1745109
https://bugs.launchpad.net/bugs/1745109

Fixes lp:1735982
https://bugs.launchpad.net/bugs/1735982
2018-02-05 17:07:33 -05:00
Maciej Suminski 351a8d72b8 Better test whether a symbol library is saved to its original file
File names can be reliable compared only after normalization. The
problem is the easiest to observe on Windows, where one can use slash or
backslash as path separator, so even though C:/file.txt and C:\file.txt
pointed to the same file - simple string comparison would indicate they
are different files.

Fixes: lp:1744724
* https://bugs.launchpad.net/kicad/+bug/1744724
2018-02-05 17:04:10 +01:00
jean-pierre charras 821668d96c rename class_collector.h to collector.h 2018-02-04 10:49:37 +01:00
Seth Hillbrand fddd5abef1 Merges a line after manually removing its junction.
Fixes: lp:1746998
* https://bugs.launchpad.net/kicad/+bug/1746998
2018-02-03 10:50:10 +01:00
Maciej Suminski 0668cd9d4c Symbol Library Editor: save sym-lib-table only if it had been modified 2018-01-31 10:46:39 +01:00
jean-pierre charras 39b4afecfa fix code after file renaming 2018-01-31 09:24:02 +01:00
Jeff Young 99ad5cf394 More performance optimizations for symbol libraries
1) don't call UI-level LIB_PIN routines when reading library --
not only are they a performance hit, they set the modified flag
too
2) limit progress dialog updating to 15 times a second (this
had crept back up to 31% of the time spent loading libraries)

Fixes: lp:1734773
* https://bugs.launchpad.net/kicad/+bug/1734773
2018-01-30 10:31:51 -05:00
jean-pierre charras 8022f1cc01 fix code after renamin files 2018-01-30 11:49:51 +01:00
jean-pierre charras 833d6223a0 rename files 2018-01-30 11:08:03 +01:00
jean-pierre charras 2bc9cac234 rename files 2018-01-30 10:51:55 +01:00
jean-pierre charras 1f88b466de move SCH_EDIT_FRAME methods from netlist.cpp to netform.cpp 2018-01-30 10:45:35 +01:00
jean-pierre charras 795a36c9fe Fix code after renaming files, and a bit of code cleanup (remove useless includes and multiple includes of the same files) 2018-01-30 09:57:25 +01:00
jean-pierre charras 87a437c26e rename files in eeschema 2018-01-30 09:57:22 +01:00
jean-pierre charras 5d72aebd22 Fix code after renaming files 2018-01-29 16:40:22 +01:00
jean-pierre charras d0754acf00 Fix code after renaming files 2018-01-29 11:37:29 +01:00
jean-pierre charras d44494beda Update code after file renaming 2018-01-29 09:39:49 +01:00
jean-pierre charras 4c5bd01887 Rename a few files 2018-01-28 22:02:31 +01:00
jean-pierre charras e499d337d8 rename files: update filenames in sources 2018-01-28 19:12:26 +01:00
Jeff Young 899afa1e90 Reinstate OSX cursor shape selection
Mark it as not supported in Legacy graphics.

Fixes: lp:1745097
* https://bugs.launchpad.net/kicad/+bug/1745097
2018-01-28 10:47:20 -05:00
Martin Sivak d5cdd78062 eeschema: keystroke zoom should obey disabled centering
Keystroke zoom (F1/F2) always centered the screen, because it
was handled as ID_POPUP_ZOOM_IN event. Mousewheel scrolling
was ok, because it is handled using different event based
on the configuration.

This patch introduces special event ids for keystroke
zooming that are then properly translated to either
ID_POPUP_ZOOM_IN or ID_OFFCENTER_ZOOM_IN depending
on the configuration.

The same issue is fixed for legacy canvas pcbnew.

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

Signed-off-by: Martin Sivak <mars@montik.net>
2018-01-27 20:20:32 -05:00
Jeff Young 7a28f3d4cf Implement undo/redo for origins in legacy
PICKED_ITEMS_LIST knows the architecture of the undo commands so
that it can delete those ITEMs which it owns.  This represents poor
encapsulation so instead of adding yet another case, I added a
UR_TRANSIENT item flag which is set by callers whenever they create
new objects to “give to” the undo/redo stack.  This allowed some
cleanup of other code, but cleaning up UR_DELETE and UR_WIRE_IMAGE
will be a bigger task and have to wait for another day.

Fixes: lp:1542018
* https://bugs.launchpad.net/kicad/+bug/1542018
2018-01-27 19:51:44 -05:00
Jeff Young f88c4ccb02 Add an Edit button to the Symbol Properties aliases list
Fixes: lp:1248451
* https://bugs.launchpad.net/kicad/+bug/1248451
2018-01-27 18:57:33 -05:00
Jeff Young 829c236437 Symbol library load performance enhancements.
1) Edit Symbol gets similar fix as Place Symbol
2) progress dialog updating reduced to once every 50ms
3) SearchText gets lazy normalization
4) TypeNames get lazy translation
5) default fieldNames get translated a single time per language change

These fixes reduce first-load-time of both Edit Symbol and Place Symbol
by about 2/3, and second-load-time of Edit Symbol to near-instantaneous.
2018-01-27 08:29:43 -05:00
jean-pierre charras 54ebd45749 DIALOG_EDIT_COMPONENT_IN_SCHEMATIC: ensure mandatory field names are always correctly translated after changing the locale. 2018-01-26 20:21:12 +01:00
Tomasz Włostowski 7a6e3bf3ed eeschema: remember last browsed directory in the Symbol Lib Table dialog 2018-01-26 18:39:09 +01:00
jean-pierre charras d54418c14a Fix minor compil warnings 2018-01-26 09:35:22 +01:00
ludovic léau-mercier 0d532b43de Support .title directive in spice netlist exporter
Spice netlist exporter processes all texts on the exported schematic
sheet to find spice directives and include them in the output file.
By default it also added ".title KiCad schematic" in the first line, so
if there was another .title directive in the exported schematic sheet,
the generated file would contain two .title directives.

This patch looks for .title directive and when one is found - it uses
the specified title in the first line.
2018-01-26 08:57:35 +01:00
Maciej Suminski 8e18aea11d New ERC rule verifying if all units of a component use the same footprint 2018-01-25 12:19:41 +01:00
Maciej Suminski 0ef785981b Add pin numbering exception to sync pin edit mode description 2018-01-25 12:08:29 +01:00
Maciej Suminski 6c32b6f955 Pin edit coupling: renamed and changed the description
This commit aims at making the pin edit coupling easier to understand.
It renames the mode to 'synchronized pin edit', shortens the description
and inverts the logic to avoid double negation.

To make the code clearer, two items have their name changed to fit the
new description:
- m_editPinsSeparately       -> m_syncPinEdit
- ID_LIBEDIT_EDIT_PIN_BY_PIN -> ID_LIBEDIT_SYNC_PIN_EDIT
2018-01-25 11:45:34 +01:00
Seth Hillbrand 7a2d9dff62 Sets additional conditions for when a wire is trimmed
This adds a set of conditions that will prevent a wire from being
automatically trimmed.  Wires that are currently being moved or are
newly created or are explicitly avoided will not be removed.  This also
adds a function to set a flag on items in a block.

Fixes: lp:1744632
* https://bugs.launchpad.net/kicad/+bug/1744632
2018-01-24 19:47:14 -05:00
Wayne Stambaugh 2b460bc1ff Eeschema: improve alias load performance.
Don't use wxFileName == operator when comparing cache file name.  There
is a lot of overhead the wxFileName == operator that is not necessary
so just do a comparison with the original string used to create the
cache.
2018-01-24 19:37:07 -05:00
Jeff Young eb7ecf1dfd Load each symbol library atomically for better performance. 2018-01-24 19:21:56 -05:00
Maciej Suminski a99d0c44e1 Code comments 2018-01-24 15:18:19 +01:00
jean-pierre charras 270a63daac DRAWSEGMENT, S_POLYGON shape: remove useless copies or conversion to std::vector<wxPoint> of SHPE_POLY_SET polygon shape.
Rename GetPolyPoint() to BuildPolyPointsList(), because GetPolyPoint() looks like an accessor, but it is not an accessor.
(Using it as accessor can creates a *very long calculation time* for very basic access to polygon vertices)

Fixes: lp:1745050
https://bugs.launchpad.net/kicad/+bug/1745050
2018-01-24 14:22:43 +01:00
Jeff Young c6d0075076 Keep value, footprint and datasheet in sync in multi-unit parts
Fixes: lp:1731743
* https://bugs.launchpad.net/kicad/+bug/1731743
2018-01-23 11:46:27 -05:00
Jeff Young 76885169c4 Fix delete issues in symbol aliases list in libedit.
The alias list now displays the user model (multiple aliases *of*
a root part, rather than a collection of names *including* the
root part).  This simplified the error detection logic, fixing
the first bug in the bug report.

Updating the part in the library is now done uniformly on OK
(which was the second bug in the bug report).

Fixes: lp:1744656
* https://bugs.launchpad.net/kicad/+bug/1744656
2018-01-23 14:49:20 +01:00
Maciej Suminski cbf433fe04 Symbol Library Editor: save anchor position when modified
OnModify() stores the edited symbol in its edit buffer, therefore it has
to be called after a modification.

Fixes: lp:1744540
* https://bugs.launchpad.net/kicad/+bug/1744540
2018-01-23 14:04:31 +01:00
Maciej Suminski 2d3ef0fa6e Symbol Editor: Remove a redundant separator from symbol context menu 2018-01-23 12:19:19 +01:00
Maciej Suminski 6b9a286a85 Fix crash when a renamed part is saved
The crash happened when during rename operation, when the original part
buffer has been marked as deleted, but its memory was not yet freed. The
renamed part was still using the original SCH_SCREEN object, which was
freed together with the original part buffer.
2018-01-22 17:46:30 +01:00
jean-pierre charras 6322c90c50 Symbol editor: Fix incorrect pin edition coupling for non interchangeable multi-units symbols.
Fixes: lp:1744680
https://bugs.launchpad.net/kicad/+bug/1744680
2018-01-22 13:33:24 +01:00
Jeff Young 2201482e47 Add '*' to modified files in libedit cmptree, and change highlighting.
The highlight colour on some platforms (OSX, for instance)
renders nearly invisible against a white background.  However,
wxWidgets doesn't handle background colours on OSX and GTK+.
A separate commit to the new kicad/wxWidgets fork fixes OSX,
and we continue to use the old highlighting on GTK+

Fixes: lp:1741719
* https://bugs.launchpad.net/kicad/+bug/1741719
2018-01-22 10:37:06 +01:00
Jeff Young 6b9866de8b Sort pins in pin-table.
Fixes: lp:1744509
* https://bugs.launchpad.net/kicad/+bug/1744509
2018-01-21 08:47:26 +01:00
Jeff Young cba430deab Fix undo/redo and revert for libedit name changes and aliases
Three interrelated issues:
1) Implement an undo/redo type for renames so that we know to delete
the old lib entry and add a new lib entry
2) When doing so (for the undo/redo OR the original edit), we must
make a copy of the 'original' LIB_PART which is used for revert, and
hand it to the new lib entry
3) When comparing a modified component tree item with the current item
we must also check for aliases.

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

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

Fixes: lp:1744373
* https://bugs.launchpad.net/kicad/+bug/1744373
2018-01-20 11:20:22 +01:00
jean-pierre charras 448dbf476c Dialog symbol lib table editor: fix incorrect tool tips
Fixes: lp:1744416
https://bugs.launchpad.net/kicad/+bug/1744416
2018-01-20 10:47:19 +01:00
jean-pierre charras d4dbdcd638 Symbol editor, Pin table editor: always display a icon in Pin Type column
At least on Linux, if a null icon is used as icon in Pin Type column, other icons are not
displayed. So the workaround is to use a neutral icon when a specific icon cannot be used
(i.e. when pins are grouped)

Fixes: lp:1559542
https://bugs.launchpad.net/kicad/+bug/1559542
2018-01-20 09:59:15 +01:00
jean-pierre charras afeaf909fa Better error message 2018-01-19 11:51:01 +01:00
Jon Evans 10b635ffe2 Clear autoplaced flag when modifiying field orientation/justification
Fixes: lp:1743893
* https://bugs.launchpad.net/kicad/+bug/1743893
2018-01-19 10:09:00 +01:00
Jeff Young 959767c09f Don't warp mouse when context menu was cancelled.
Fixes: lp:1674199
* https://bugs.launchpad.net/kicad/+bug/1674199
2018-01-18 13:43:24 -05:00
Maciej Suminski 8721f7ed70 Changed remaining occurences of 'part' to 'symbol' in the symbol editor 2018-01-18 11:24:02 +01:00
Jeff Young 17e6720bc9 Implement undo for eeschema's "Import existing drawings"
Fixes: lp:1522189
* https://bugs.launchpad.net/kicad/+bug/1522189
2018-01-17 15:30:36 -05:00
Seth Hillbrand 2fa5c723d8 Don't cleanup schematic when symbols are rescued.
Schematic cleanup only makes sense after the libraries are fully updated
and loaded.  Before pin caching, this was a minor difference but once we
needed to update pin caches, schematic cleanup can remove junctions from
pin-wire connections incorrectly.

Instead, we use the global OpenProjectFiles() schematic cleanup call to
be sufficient and not call a second time, prior to all libraries being
rescued and loaded.

Fixes: lp:1743148
* https://bugs.launchpad.net/kicad/+bug/1743148
2018-01-17 12:53:38 -05:00
Maciej Suminski 60963fe2fc Fixes for 590cac9d
The original patch did properly recognize the case when all transient
source definition fields are empty, which is perfectly valid.
2018-01-17 10:37:57 +01:00
Dan Weatherill 590cac9d55 Fix transient SPICE source field check logic
Fixes: lp:1743486
https://bugs.launchpad.net/kicad/+bug/1743486
2018-01-17 10:36:35 +01:00
Maciej Suminski ac1771a9f0 Handle block selection removal of libraries in SYMBOL_LIB_TABLE dialog
Fixes: lp:1741543
* https://bugs.launchpad.net/kicad/+bug/1741543
2018-01-17 09:59:48 +01:00
jean-pierre charras 2e79b93b99 Eeschema: fix issue (2 tools not working in left vertical toolbar) created by commit 7e6a6540c8 2018-01-16 19:39:31 +01:00
Jeff Young 947a4839fd Use generic Save (and New and Open) commands where unambiguous.
Fixes: lp:1743426
* https://bugs.launchpad.net/kicad/+bug/1743426
2018-01-16 08:39:12 -05:00
Oliver 195b85b0c5 Cleanup of KiCad Icons
Major cleanup of many icons (started as a simple effort to tweak libedit and modedit icons)
Ref: https://lists.launchpad.net/kicad-developers/msg32860.html
* Each application icon has been updated
* Consolidated icon "modifiers" across many icons
* Replaced confusing arrows with "load" and "save" icons
* Slight code updates to reference correct icons
* Consolidate multiple representations of single icon type(s)
2018-01-12 14:06:45 -05:00
Seth Hillbrand 98c8a5ac0c Fix non-conforming signbit test
Fixes: lp:1742803
* https://bugs.launchpad.net/kicad/+bug/1742803
2018-01-12 19:58:33 +01:00
Wayne Stambaugh 41f5c754e5 Eeschema: fix minor component tree model bug.
The component tree model was always saving the root symbol name which
prevented the actual alias from be selected in the symbol chooser
dialog.  This also prevented the correct documentation information
from being shown in the information panel.

Fixes lp:1740742

https://bugs.launchpad.net/kicad/+bug/1740742
2018-01-12 11:59:26 -05:00
Wayne Stambaugh 3c9316957d Eeschema: allow remapping if a project symbol library table exists.
Change the behavior of the remapping algorithm to remap even if a
project symbol library table exists in the project file in case a
previous attempt to remap failed.  The existing symbol library table
is backed up to the back folder and rebuilt.

Fixes lp:1741983

https://bugs.launchpad.net/kicad/+bug/1741983
2018-01-12 10:13:41 -05:00
jean-pierre charras de9161be85 Larger dialog size. 2018-01-11 14:21:36 +01:00
jean-pierre charras 47dfabc6c8 Add size control to HTML_MESSAGE_BOX. Fix incorrect default size of a few dialogs.
Clean code: remove useless code and not used parameters.
2018-01-11 10:48:52 +01:00
Chris Pavlina 7e6a6540c8 Implement primitive icon scaling for high DPI
This is meant as a stopgap for 5.0, with plans to add proper scaled
icons in the 6.0 cycle. A function KiScaledBitmap() is added, which
works like KiBitmap() except it scales the bitmap according to the
calling window's font size. Controls have been added to all the main
applications to let the user select scaling manually (these were omitted
from smaller apps that didn't already have a place to put them).

In addition, in eeschema only, the pixel height of the system font is
shown in the options dialog for diagnostics. This is only for collecting
feedback before 5.0 release from users with different displays and will
be removed.
2018-01-10 21:26:06 -07:00
Wayne Stambaugh 998d9179e9 Eeschema: fix library naming bugs in symbol rescuer and re-mapper.
File names with spaces were causing invalid symbol names in both the
rescue library and the cache which would cause both libraries to fail
to load because library symbol names are not escaped so the spaces
tripped up the library parser.  Replace the spaces in the file names
with hyphens and in both the rescuer and the remapping code so the
library nickname in the symbol library table does not contain spaces.

Update the symbol library table dialog to prevent users from defining
library nicknames with spaces.  This is different than the footprint
library table which allows nicknames with spaces.  This solution is
a temporary fix until the new symbol library and schematic file formats
are implemented.

Fix off by one row in illegal nickname error message in the symbol
library table editor.
2018-01-10 16:04:32 -05:00
jean-pierre charras 87045ea94c Fix tipo and tooltip 2018-01-10 14:48:14 +01:00
Maciej Suminski efe55b6f0a Symbol Library Editor: fix renaming symbols with multiple aliases
Fixes: lp:1737964
* https://bugs.launchpad.net/kicad/+bug/1737964
2018-01-10 12:15:12 +01:00
Maciej Suminski c09cf252c6 Symbol Library Editor: update node information on library sync 2018-01-10 12:04:34 +01:00
Maciej Suminski 12041551a1 Removed unnecessary debug messages 2018-01-10 12:03:53 +01:00
Maciej Suminski 8c42abc10c Symbol Library Editor: fix crash after renaming a symbol
Crash was caused by removal of the selected item from the
wxDataViewModel, which was later accessed in
COMPONENT_TREE::GetSelectedLibId(). To avoid the problem, the selection
is validated before regenerating the tree widget.

Fixes: lp:1740952
* https://bugs.launchpad.net/kicad/+bug/1740952
2018-01-10 08:52:17 +01:00
Maciej Suminski 6e65049a56 Do not modify LIB_ID in LIB_PART::SetLib()
This commit is a partial revert of aa81f5b9 & 445ac505. LIB_ID should
not be modified when a library is assigned to its part, as the library
nickname cannot be evaluated during the assignment and might be
different than its filename.
2018-01-10 08:52:17 +01:00
Camille f5f7ba4746 Fix loop variable copy in for-range loop, use const reference instead 2018-01-09 19:18:44 -05:00
Camille 9ff66a5274 Fix unnecessary value parameter detected by clang-tidy. - Replace value parameter by const reference parameter or move-assignement in some cases 2018-01-09 18:55:51 -05:00
Camille 3168d03fe5 Fix unnecessary copy initialization detected by clang-tidy 2018-01-09 18:22:10 -05:00
Wayne Stambaugh 28692c40e1 Eeschema, project rescue bug fix and other minor improvements.
Fix a bug where the full LIB_ID was not being used to look up the name
of the symbol in the cache library preventing the rescue to work when
rescuing symbol library table projects.

Add information as to why a symbol was rescued rather than only showing
what symbols were rescued.

Do not add rescue suffix to symbol name for symbol library table rescues
because if a symbol name exists in multiple libraries that need rescued
at the same time will cause subsequent symbol rescues to be overwritten.
Append the nickname of the schematic symbol library to prevent symbol
name clashes in the rescue library.
2018-01-09 15:41:26 -05:00
Wayne Stambaugh 00fb70088f Eeschema: fix progress dialog title capitalization. 2018-01-09 10:58:01 -05:00
Wayne Stambaugh 69560ec587 Eeschema, fix bug in edit one field dialog.
Verify the library symbol of the field being edited still exists rather
than use an assertion because it is entirely feasible that the library
symbol or library containing this symbol has been deleted and will cause
a segfault.  Unfortunately there is no way to determine if the symbol is
a power symbol or not so just set it as a regular symbol so the user can
still edit the schematic symbol field.

Fixes lp:1742111

https://bugs.launchpad.net/kicad/+bug/1742111
2018-01-09 09:20:54 -05:00
Maciej Suminski 82fc038c9b Fixed wxLogTrace for LIB_ALIAS
When a LIB_PART object is removed, it deletes all of its aliases.
When the last one is removed, it tries to report the name of the
parent part, but as it has no aliases - it cannot return a valid name.
2018-01-09 09:55:05 +01:00
Maciej Suminski ee140ce6c8 Symbol Library Editor: do not leave the old part after renaming 2018-01-09 09:55:01 +01:00
jean-pierre charras 019eed0d28 Symbol editor: rework on multi-unit symbols: pin edition synchronization is now only between units (Work in progress)
The synchronization between body styles of the same units is removed.
This is easier to understand by users.
2018-01-09 08:54:48 +01:00
jean-pierre charras 1d2752ee47 Symbol editor: rework on multi-unit symbols are pin edition synchronization between units (work in progress)
User Interface: better tooltips and better messages.
Code: better comments, and better member name.
Fix a few minor issues.
2018-01-09 08:54:47 +01:00
Wayne Stambaugh 0e9c8a4238 Prevent segfault when remapping project with corrupt cache library.
Use the symbol found in the library when the symbol is not in the cache
library.

Add an assert to prevent dereferncing a null pointer in the future even
thought this should not happen as the rescue algorithm does not add a
candidate when a symbol cannot be found in either the cache or any other
library.

Fixes lp:1741964

https://bugs.launchpad.net/kicad/+bug/1741964
2018-01-08 17:33:32 -05:00
Maciej Suminski 7fe6249ac3 Alternative fix for lp:1741050
Calling wxListBox::SetSelection( wxNOT_FOUND ) changes the internal
state of the widget without the intended visual effect (show nothing
selected). It leads to a situation when the default choice is overridden
with wxNOT_FOUND, even though the list box shows a valid value.

As there is no point in calling wxListBox::SetSelection( wxNOT_FOUND ),
the confusing call has been removed.
2018-01-08 16:02:34 +01:00
Maciej Suminski 12c6b3337b LIB_MANAGER does not hold a SYMBOL_LIB_TABLE pointer
SYMBOL_LIB_TABLE might be destroyed without a forewarning, so
it is safer to request it every time it is needed.

Fixes: lp:1741820
* https://bugs.launchpad.net/kicad/+bug/1741820
2018-01-08 15:19:25 +01:00
ludovic leau-mercier 31902f967a Fixed an assert when selected the default semiconductor model
Fixes: lp:1741050
* https://bugs.launchpad.net/kicad/+bug/1741050
2018-01-08 12:53:57 +01:00
Chris Pavlina 6cee19d37d eeschema: neatly wrap placeholder text in symbol chooser 2018-01-07 19:30:56 -07:00
Jon Evans ca264f8982 Add bidirectional net highlight cross-probing
Fixes: lp:1738875
* https://bugs.launchpad.net/kicad/+bug/1738875
2018-01-07 14:12:50 -05:00
jean-pierre charras 504e7a4a51 Very minor fix in a menuitem label 2018-01-07 16:31:15 +01:00
jean-pierre charras 20e66253bb symbol editor: add icons in popup menus of the symbol tree list. 2018-01-07 13:18:18 +01:00
Chris Pavlina c5b2ad9595 simulator: DPI-independent default size 2018-01-06 22:23:58 -07:00
Chris Pavlina 7b1c9c145f DIALOG_BOM_EDITOR: DPI-independent size 2018-01-06 20:37:49 -07:00
Chris Pavlina e971b0e698 Don't call FinishDialogSettings in DIALOG_EDIT_COMPONENTS_LIBID
Dialogs displaying a lot of scrollable data should use SetSizeInDU()
instead, as FinishDialogSettings() will set a minimum size equal to
whatever can contain all the data (making it overflow the screen for
large amounts).
2018-01-06 20:08:57 -07:00
Chris Pavlina 917804ef12 Make eeschema color select widget DPI-independent 2018-01-06 17:29:07 -07:00
Chris Pavlina 119a0f665b DIALOG_SYMBOL_REMAP: raise after remap is complete
On macOS in particular, there is a tendency for this to fall behind
other windows where the user has no clue it's still up.
2018-01-06 14:51:53 -07:00
Chris Pavlina 13bc706518 Fix several dialogs with bad default sizing
- Add helper methods for DPI-independent sizes
- Make splitter sashes visible on macOS
- Remove SetSizeInChars() - wx has a built-in way that I missed
- DIALOG_CHOOSE_COMPONENT: DPI-indep splitter sizes
- DIALOG_RESCUE_EACH: DPI-indep default size and sensible HTML window
  size
- COMPONENT_TREE: DPI-indep sizing
- DIALOG_FP_LIB_TABLE, DIALOG_SYMBOL_LIB_TABLE
2018-01-06 14:39:17 -07:00
Dan Weatherill 0dcf95ee1a automatically add extension to sim workbook files
CHANGED: When a workbook file is saved from the simulation dialog
in eeschema, the extension is automatically added if it is not
specified. This behaviour is consistent with the workbook loading
dialog, which filters the filelist for only ".wbk" files with no
"all files" option.
2018-01-06 12:04:53 -05:00
jean-pierre charras b98f6a2fd1 Minor fixes in strings and I18N fix. 2018-01-06 10:57:46 +01:00
jean-pierre charras cb60da3bc5 Fix Symbol editor: some hotkeys are not working (Delete item and Drag item)
Fixes: lp:1741145
https://bugs.launchpad.net/kicad/+bug/1741145
2018-01-06 10:36:56 +01:00
Mark Roszko b98cc0b937 Some coverity fixes 2018-01-05 22:51:03 -07:00
Chris Pavlina 57fe3739ca Symbol chooser: base default size on font for DPI flexibility 2018-01-05 22:02:05 -07:00
Wayne Stambaugh c842787492 Minor UI menu string improvements.
Change term "Flip Horizontal" to "Mirror About Horizontal(X) Axis" in
the schematic editor symbol context menu to improve clarity.

Change term "Flip Vertical" to "Mirror About Vertical(Y) Axis" in the
schematic editor symbol context menu to improve clarity.

Change to the same mirror terminology in the block context menu.

Change "Exchange Footprint" to "Change Footprint" in the board footprint
context menu for improved clarity.

Fixes lp:1740593

https://bugs.launchpad.net/kicad/+bug/1740593
2018-01-05 13:07:59 -05:00
Chris Pavlina 0945c319f0 eeschema: make footprint preview optional
The footprint preview and selection has been problematic for some users;
I'd rather option it out for 5.0 and work on polishing it for 6.0.
2018-01-03 18:28:44 -07:00
Wayne Stambaugh 4298d4ff4e Change missed UI string termonology from part/component to symbol. 2018-01-03 14:19:26 -05:00
Wayne Stambaugh 202cd43864 Eeschema: minor remapping improvements.
Create separate folder in project path to backup files changed during
remapping.

Add time stamp to backup file names in case multiple remappings are
performed.

Add backup file information to report panel instead of using debug
trace messages.

Disable the remap button if the user does not have write privileges to
the current project path.
2018-01-03 11:25:19 -05:00
Wayne Stambaugh bf44d394c3 Eeschema: fix remapping bug on windows builds.
The Windows drive specifier C: was being interpreted as a valid URL by
wxURI which was performing a URL comparison instead of a file comparison
which always failed in LIB_TABLE_BASE::FindRowByURI().  Change test for
URI to search string for "://" to determine if the comparison should be
a URI (string) comparison or a file (wxFileName) comparison.

Don't run final rescue unless the user performs the remapping.
2018-01-03 08:37:54 -05:00
jean-pierre charras c5b8c749da minor fix: use right parent to show the symbol or footprint viewer in dialog 2018-01-01 18:06:02 +01:00
jean-pierre charras 7d6230ab38 Eeschema: Cannot close opening Library Browser frame when reassigning symbols from the Library Browser (wxGTK specific)
Fixes: lp:1740607
https://bugs.launchpad.net/kicad/+bug/1740607
2018-01-01 13:40:23 +01:00
jean-pierre charras 6bb349e933 Better management of KIWAY_PLAYER frame when called in modal mode, and having the wxFLOAT_ON_PARENT style option.
(previously, did not use the actual parent)
2018-01-01 10:41:43 +01:00