The old code delayed duplicating till the end which means the
rotate/mirror would affect the original, and then be duplicated
leaving the original incorrectly rotated/mirrored.
Block rotate and mirror now work like they do in Pcbnew (that is
they're treated as part of the block move/duplicate/whatever
rather than finishing it).
Fixes: lp:1780794
* https://bugs.launchpad.net/kicad/+bug/1780794
1) when duplicating don’t keep original hidden until end of drag
2) reset selectionArea when showing it so it doesn’t flash in its previous location
3) center a pasted block on the cursor
4) don’t draw the source selectionArea when pasting a block
5) implement selection-style highlighting for contents of blocks
6) add pasted items to view so they don’t disappear when the block is placed
Fixes: lp:1747197
* https://bugs.launchpad.net/kicad/+bug/1747197
Split antialiasing options out from display options. Move
antialiasing to common. Duplicate the rest of display options
for Eeschema.
Implement OnSelectGrid and hookup GAL canvas refresh to
SetPresetGrid.
Add Grid Settings... to View menu and move Show Grid from
preferences to View Menu to match Pcbnew.
5.0 doesn't set the GAL's line width. It gets away with this since
it's using the same GAL to measure as to set up the drawing, so
the width happens to be set correctly for other reasons. 5.1 uses
a separate GAL and so isn't so lucky.
Support all symbol orientations. (Yes, SCH_COMPONENT said only the
first 8 were used, but it lied.)
Fix cases where SetTextAttributes() was overwriting previously-
set justifications.
Correct rotation of vertical text.
Fix issue where bold global label would affect thickness of next
label's outline.
Eeschema (where only the parent component is in the view) uses
draw order.
LibEdit (where the individual items are in the view) uses the
viewPriority setting.
The '/' and ':' are reserved and cannot be used in symbol or footprint
names. They will cause the LIB_ID parser and formatter to fail. While
it seems like they should be legal in symbol alias names, they will
trigger a symbol rescue the next time the schematic is loaded.
Use ID_SCH as in the Eagle schematic plugin rather than ID_ALIAS to
ensure symbol names do not need rescued the next time the schematic is
opened.
Remove ID_ALIAS since the rules for alias names are the same as the
rules for symbol names. Otherwise, allowing '/' and ':' in alias names
will force a symbol rescue on the next schematic load.
Fixes lp:1795600
https://bugs.launchpad.net/kicad/+bug/1795600
Adds Cut/Copy/Paste and Revert for footprints; introduces a new
shared Revert Changes? dialog; hooks up Add Library for footprints,
standardizes the Save As terminology.
Somewhere during v5 rc cycle, the trimming of wires laid over simple
components was removed. The wires were still removed as soon as the
user moved the component again. This corrects the first behavior to
intended action for simple components.
Fixes: lp:1794019
* https://bugs.launchpad.net/kicad/+bug/1794019
(cherry picked from commit 9831a14ef3)
Reset lock file when saving a schematic sheet to a different file name.
This prevents a file is already open error from being displayed when
opening the original file.
Fixes lp:1788507
https://bugs.launchpad.net/kicad/+bug/1788507
Under certain conditions, it was possible for the block handler to be
entered with no mouse capture callback which would raise a rather
cryptic error message to the user. This should have always been an
assertion so users will not see this issue in release builds.
Fixes lp:1791839
https://bugs.launchpad.net/kicad/+bug/1791839
The symbol library table rescue candidate was only using the item name
of the library ID object which was being compared to the fully formatted
library ID causing a comparison failure so no instances of any rescued
symbols was shown in the dialog.
Fixes lp:1791805
https://bugs.launchpad.net/kicad/+bug/1791805
Even though slash is a valid character in symbol names, it is a revision
separator, but is not the case with Eagle symbol names.
Fixes: lp:1791653
* https://bugs.launchpad.net/kicad/+bug/1791653
Spice may include a list of directives that are wrapped with
.control and .endc. Such directives do not have a dot prefix, so
they need to be handled in a special way.
Fixes: lp:1787902
* https://bugs.launchpad.net/kicad/+bug/1787902
When expanding the drag item to allow corners, we accidentally picked up
other items in the list. This limits the items that can be dragged to
only those that are explicitly in the draggable list.
A side effect of this commit is that when converting from move to drag
(with tab), items not in the draggable list will be left in place.
Fixes: lp:1787966
* https://bugs.launchpad.net/kicad/+bug/1787966
Previously, when creating a new instance of a sheet, the full set of references
was cleared.
Moreover, if this sheet has sub-sheets, the annotation was incorrectly handled
Now only (and all) new sheet path(s) created have a reference cleared, as expected.
(new sheet paths can be more than one, if the new instance of the sheet has sub-sheets)
Fixes: lp:1789048
https://bugs.launchpad.net/kicad/+bug/1789048
Using Title + Message wasn't working for all the dialogs which
did substitutions in the message (which was a lot of them).
Fixes: lp:1789348
* https://bugs.launchpad.net/kicad/+bug/1789348
We have a dialog shim that raises the ERC dialog in front of the
schematic frame, which is useful for keeping the ERC dialog visible
during debugging. But mouse move events do not pass through to the
schematic, resulting in a captured mouse pointer but no drawing updates.
As a work-around we close the ERC dialog while placing new components.
Previous ERC data still exist when the window is launched again.
Fixes: lp:1779851
* https://bugs.launchpad.net/kicad/+bug/1779851
It was only a overzealous (in this case) assert, with no issue.
The fix avoid calling DeleteAll() when there is nothing to delete.
Fixes: lp:1787810
https://bugs.launchpad.net/kicad/+bug/1787810
Also updates the file menu IDs so that we can actually handle
more than 9 items in the file history.
Also adds configurable file history length to the other gerber
files (zip, drill and job).
Fixes: lp:1745729
* https://bugs.launchpad.net/kicad/+bug/1745729
Eagle files that are edited may be missing required data. While we do
not need to handle these files, we do need to prevent segfaults in KiCad
when reading them.
Primary change is to replace most control/window borders with
AUI pane borders. We implement our own AUI border drawing
routine which avoids the ugly one-pixel white frames around
dark canvasses.
Also increases the signal-to-noise ratio of all the pane
creation code in the various frames.
The parser also now skip empty lines.
This bug created unreadable saved .dcm files and .sch files after adding a new symbol.
Fixes: lp:1786141
https://bugs.launchpad.net/kicad/+bug/1786141
The issue is in:
wxPoint( parseInt( aReader, line, &line ), parseInt( aReader, line, &line ) )
that calls parseInt() twice, but parseInt changes parameters at each call.
(Does not return the same value at each call).
However, due to some side effect or compil optimization, the value returned is incorrect.
It can be dependent of the compiler, and optimization level.
This kind of code must be avoided.
Spooling up a full PLAYER in the background takes too long.
This also fixes bugs around how the tables are saved, although
that was just missing code rather than anything architectural.
Fixes: lp:1785436
* https://bugs.launchpad.net/kicad/+bug/1785436
Be more intelligent about sorting lib tree items. (Footprint
entries, for instance, come out of an already-sorted list.)
Don't recreate menus twice when laoding Footprint Editor.
More pervasive use of WX_FILENAME to avoid expensive calls to
wxFileName::SplitPath() and string concatenation.
For POSIX kernels do all the work on the file-system side so we
don't have to keep converting back and forth between encodings.
Drop all uses of wxRAISED_BORDER and wxSUNKEN_BORDER from dialogs and
panels used in main frame windows.
Drop use of wxSP_3DSASH options on all wxSplitterWindow definitions.
Minor dialog alignment and spacing fixes.
This also fixes a bunch of bugs where an error during save would
still close the window (rather than cancelling the close action).
Fixes: lp:1785034
* https://bugs.launchpad.net/kicad/+bug/1785034
Put the buttons in platform-compliant order.
Get rid of SaveMultiOptions in favour of repeated standard save
dialogs with a "Apply to all" checkbox.
Fixes: lp:1783444
* https://bugs.launchpad.net/kicad/+bug/1783444
Eagle allows for variants of components to be listed in the schematic.
This patch copies the variant data into the imported schematic item,
prefixing the alternate variant names with "VARIANT_" and keeping the
alternate values.
There's no point in having both Save Symbol and Save Library when
only one can be selected at a time.
Also cleans up a bunch of extraneous icons, and fixes a few
copy/paste errors in menus and toolbars.
This removes the existing constructors so that all parsing must
be explicit and callers are made aware that they need to think
about illegal characters, malformed ids, etc.
Fixes: lp:1783474
* https://bugs.launchpad.net/kicad/+bug/1783474
Also brings horizontal toolbar in line with Pcbnew and Eeschema.
And updates the EDA_LIST_DIALOG to current practices.
This finishes the removal of the active library concept from the
Symbol Editor (started with the new component tree in 5.0).
Fixes: lp:1740717
* https://bugs.launchpad.net/kicad/+bug/1740717
Use standard button layout and remove extraneous heading.
Move to TransferDataTo/FromWindow.
Close dialog after printing.
Fixes: lp:1763319
* https://bugs.launchpad.net/kicad/+bug/1763319
Don't beep when inserting character from focused grid cell (but
before editor is opened).
Handle reference validation separately from name validation and
separately from user field value validation. The old way of setting
the fieldId on the validator wasn't working because the validator
gets copied.
Run validation when leaving cell. Don't just check for empty
(particularly for fields that CAN be empty).
Fixes: lp:1782917
* https://bugs.launchpad.net/kicad/+bug/1782917
(cherry picked from commit 79e04de)