Commit Graph

15314 Commits

Author SHA1 Message Date
Jon Evans 74ace97249 Don't update graph when entering/leaving sheets 2019-03-31 19:57:25 -04:00
Jon Evans 05ed906aea Restore ERC checks that were accidentally removed 2019-03-31 19:57:12 -04:00
Jon Evans babdc9fd7b Improve naming of weak subgraphs 2019-03-31 19:57:06 -04:00
Jon Evans 9589427960 Refactor how at-load schematic normalization is called
Don't prepend "/" for nets at the top level

Revert "Don't prepend "/" for nets at the top level"

This reverts commit fa9533222f7d33eee5f3fa2320bd9f3167e28076.
2019-03-31 19:57:00 -04:00
Jon Evans 4bc7e6fdfa Add missing junctions during schematic cleanup 2019-03-31 19:56:54 -04:00
Jon Evans b687a178ef Suppress ERC warnings about multiple labels if the text is the same 2019-03-31 19:56:47 -04:00
Jon Evans b15da3c656 Don't connect bus entries and bus labels that happen to overlap 2019-03-31 19:56:40 -04:00
Jon Evans 65af2c8b6c Bump file format version 2019-03-31 19:56:35 -04:00
Jon Evans 4d10183e78 Try harder to reassign copper zones on netlist import 2019-03-31 19:56:28 -04:00
Jon Evans 82d4029831 Clean up cruft in netlist export 2019-03-31 19:56:22 -04:00
Jon Evans e98debfeb2 Fix a few issues with hierarchical propagation 2019-03-31 19:56:07 -04:00
Jon Evans 3c714f1d8c Fix undo handling of SchematicCleanUp 2019-03-31 19:55:57 -04:00
Jon Evans 7b9f186464 Fix false assert when CONNECTIVITY_DEBUG is enabled 2019-03-31 19:55:49 -04:00
Jon Evans 54bfeb742c Fix issues with bus unfolding position 2019-03-31 19:55:42 -04:00
Jon Evans 464fa820b1 Support bus entries with highlighting 2019-03-31 19:55:30 -04:00
Jon Evans 9cd2e65787 Don't generate connections between two bus-wire entries 2019-03-31 19:55:20 -04:00
Jon Evans 5cf82f1a9e Begin refactoring netlist creation 2019-03-31 19:55:12 -04:00
Jon Evans c8c0b89eef Fix issue where some power symbols would show up in netlist 2019-03-31 19:55:00 -04:00
Jon Evans 83c7e7fc65 New connectivity algorithm and bus upgrades
Bus upgrades: core new connectivity code

Bus upgrades: eeschema integration and modifications

Bus upgrades: eeschema dialogs

Bus upgrades: netlist export

Bus upgrades: file format changes
2019-03-31 19:53:41 -04:00
Wayne Stambaugh 8985badc64 Revert "appdata.xml: Remove additional license metadata"
This reverts commit e5de787f88.
2019-03-31 14:33:59 -04:00
Michael Kavanagh a611269975 Read Footprint Library Browser grid settings from Footprint Editor.
Implements commit 3a0dbf48c8 for Footprint Library Browser/Editor.

Fixes: lp:1822401
https://bugs.launchpad.net/kicad/+bug/1822401
2019-03-31 07:00:45 -07:00
jean-pierre charras d29ee13fda Due to new features (hatched zones, chamfered round rect pads) set SEXPR_BOARD_FILE_VERSION to 20190331 2019-03-31 08:46:36 +02:00
jean-pierre charras 7170720f3c Allow hatch pattern in filled zones
the filled areas can use a hatch pattern (crossing lines) using square holes.
The zone filler removes too small holes (truncated holes) from hatch pattern.
It avoid to create small holes when a hole pattern is truncated by the filled area base shape.
2019-03-31 08:21:40 +02:00
jean-pierre charras b00413b7d6 Symbol editor, DIALOG_LIB_EDIT_PIN_TABLE: fix crash when trying to delete a pin when the table is empty.
Fixes: lp:1822406
https://bugs.launchpad.net/kicad/+bug/1822406
2019-03-30 09:29:38 +01:00
John Beard a7270f8c1c Formatting: prefer a Git config variable to env var
The keeps all the formatting config together in the Git ecosystem
and keeps the config on a per-repo basis, unless the user explicitly
sets it --global.

Keep the old env var behaviour for now for backwards compatibility.
2019-03-29 15:06:48 +00:00
John Beard a69cdf1793 Formatting: exclude generated files from git formatting hook
Add a .gitattributes files to provide a place to store file
attributes. Add a custom attribute for files that should be under
KiCad style guidelines.

Exclude generated files from the style enforcement. So far:

* bitmap .cpp files
* wxFormBuilder base classes
* Lemon grammars

It's now trivial to add the 'generated' attribute to any such
file.

Putting this into .gitattributes also means it can be retreived
programmatically, by other scripts, git alaises or on the command
line.

Use the attributes to provide a utility script to show or apply
formatting to controlled files (plain git clang-format won't
pick up our custom git attributes). Add details for the script in
the dev docs.

Also modiify the check-format hook to follow the .gitattributes
and only apply to cached (staged for commit) changes. Then you
won't be stopped committing because of bad formatting in unstaged
changed, or uncontrolled files.

Concept and some aspects of the implementation inspired by
CMake commit d5f39a56 [1].

[1]: d5f39a56a4

tool
2019-03-29 15:06:48 +00:00
Wayne Stambaugh 37edf0e9a6 Remove superfluous build library dependencies.
It looks like someone's paste keys got stuck and added repeated sets of
link libraries in multiple places.
2019-03-29 09:01:56 -04:00
John Beard 49d75e2383 QA: nullptr_t -> std::nullptr_t
This fixes a build failure on some systems.
2019-03-29 12:47:56 +00:00
John Beard ad76ebd82a QA: Allow BOOST_CHECKing of nullptr_t
Before Boost 1.64, there was no test logging function
for std::nullptr_t.

Add a logging struct to Boost to deal with this, and some
macros to assist in similar cases. These macros are bit
untidy-looking, but due to GCC bug #56480, we can't use
namespace aliasing to solve this. From Boost 1.64 onwards,
these namespaces are not needed at all.

Remove some code added to work around lack of nullptr printing
in the past.

These macros, and the nullptr printer, can be removed when
the Boost min version is 1.64 or greater.
2019-03-29 09:50:09 +00:00
Wayne Stambaugh 2447933b54 Eeschema: do not merge graphical lines with different attributes.
Fixes lp:1821728

https://bugs.launchpad.net/kicad/+bug/1821728
2019-03-28 13:46:05 -04:00
Carsten Schoenert e5de787f88 appdata.xml: Remove additional license metadata
The extra field metadata is not really needed nor helpful as various
other additional licenses are used within the KiCad project.
All used licenses are documented with the file LICENSE.README within top
root folder of the source.
2019-03-27 14:47:44 -04:00
Carsten Schoenert 54aed9b17e Adding license text for CC-BY-SA-4.0 for completeness
As for the other used licenses adding also the license content for the
CC-BY-SA-4.0 license.
2019-03-27 14:47:35 -04:00
Carsten Schoenert 444050c7d5 Adding license information for demo files
The demo files are covered by the CC-BY-SA-4.0 license.
Please note some discussion about this on the developers mailing list:

https://lists.launchpad.net/kicad-developers/msg39174.html
2019-03-27 14:46:00 -04:00
jean-pierre charras e1d3df54eb Kicad and Gerbview: add .nc and .xnc file ext to files seen as drill files.
.nc is an other usual Excellon drill file ext, and .xnc will be soon also in use.
2019-03-27 16:47:13 +01:00
John Beard 3536840f52 Clang-format: break after templates
Enforce the following format:

template<>
void function<TYPE>()

Rather than:

template<> void function<TYPE>()

This is the more common format in KiCad (about 8:1) and agrees
with the uncrustify.cfg rules.
2019-03-27 14:13:23 +00:00
John Beard d6b8e9e037 Pcbnew: Improve tab traversal in text properties dialog
Tab through the grid vertically, then horizontally, as the fields
are laid out with "related" fields (like the co-ords) vertically.

Also neaten headers.

Fixes: lp:1821887
* https://bugs.launchpad.net/kicad/+bug/1821887
2019-03-27 13:56:03 +00:00
John Beard b7017167f0 Pcbnew: Align right margins in text properties dialog 2019-03-27 13:56:03 +00:00
John Beard dd3252445d Pcbnew: update text properties dialog wxFB version
No actual changes, but this keeps the diffs clean(er).
2019-03-27 13:56:03 +00:00
Michael Kavanagh b681e4a68e Open drill file in gerbview from KiCad manager tree
Fixes lp:1819754
https://bugs.launchpad.net/kicad/+bug/1819754
2019-03-27 09:04:16 -04:00
John Beard edd94ce2d6 Eeschema: internal tidying of field editor ApplyData
Make a few things const (specficially the reference into
m_fieldStore - we should commit to not modifying that in this
function.

Also avoid a couple of needless string copies.

Also explicitly dereference the into a (non-const) reference at the outset.
For the whole if this function, comp is the same object and may not
be null (as it is used unchecked).
2019-03-27 10:22:21 +00:00
Baranovskiy Konstantin 11f03c8551 Eeschema: place new field near parent component
For now fields created in Fields Editor are placed at
position (0, 0).
Every new field must be placed at the origin of
the parent component.
2019-03-27 10:22:21 +00:00
jean-pierre charras 9e5bc5d2d3 Eeschema: fix incorrect handling of Escape key.
Key events do not have to be skipped after they are handled.
2019-03-27 10:09:16 +01:00
Michael Kavanagh bbcea3c98d Fix mnemonic typo in pcbnew menubar 2019-03-26 19:10:01 -04:00
Seth Hillbrand c1c4a0925d sim: Prevent stepping
Introduced by 416e64a334.  The code
appears to have been stepped on purpose but this would be incorrect for
most applications.  There remains a good deal of cleanup in mathplot
available for the motivated dev.

Fixes: lp:1810311
* https://bugs.launchpad.net/kicad/+bug/1810311
2019-03-26 14:56:33 -07:00
jean-pierre charras 175a2bc0b4 Force time stamp to 32 bits unsigned values, and make it tolerant to files using 64 bits values.
define timestamp_t as uint32_t.

Fixes: lp:1821476
https://bugs.launchpad.net/kicad/+bug/1821476
2019-03-26 14:28:14 +01:00
John Beard aef369f4af Fix MSYS2 build breakage
wxPlatformInfo::Get() causes a linker error on Msys2.

Fix this by making common link wx explicitly, rather
than implicity via it's dependencies, which cause
wrong-order linker command lines on windows.
2019-03-26 10:49:19 +00:00
John Beard 567bdd9b9d Add configuration of Hi-DPI canvas scaling in OpenGL
First, add automatic detection of toolkit DPI scaling options. For now, this
is, in order,

* Check the GDK_SCALE option under GTK+ (users can set this to force the scaling)
* Check the value from WX's GetContentScalingFactor(). This will start to work
  correctly from WX 3.1 and GTK+ 3.10.

Then, add a user-settable override in the main prefs panel, next to the icon
scaling. This is independent of the icon scaling options.

DPI handling is performed in a standalone class, so they can be shared between
the prefs UI and the OpenGL backend easily. Also means Cairo could use the same
interface in future.

Also adjust the OpenGL grid drawing code to use the computed scale factor,
which avoids over-thick grids in scaled environments (the user can manually
thicken the grid if wanted).

Fixes: lp:1797308
* https://bugs.launchpad.net/kicad/+bug/1797308
2019-03-25 15:00:55 +00:00
jean-pierre charras ff73f69d3e Gerbview: fix crash when reading a .gbrjob, and when a file given by the .gbrjob is not found.
A incorrect gerber image was created, creating crash on exit or when enable the layer view.
2019-03-24 17:32:57 +01:00
Jon Evans ab74445df4 Fix loading of components with convert parameter set to zero 2019-03-23 18:51:13 -04:00
jean-pierre charras fdfe5eabfb Fix incorrect detection of filled zones changes in DRC check.
Commit 6006703798 fixed a crash but broke the filled zones changes detection.
Filled zones were always seen as not up to date due to the fact the filled areas were cleared too early.

The up to date detection is also optimized: the old filled polygons are no longer stored.
Instead of, the MD5_HASH is calculated and stored before clearing the filled polygons.
2019-03-21 15:27:05 +01:00