We are using the unix separator in filenames in all platforms.
However on Windows some filenames can contain native separators.
We now ensure all filenames use the unix separator before comparison.
Fix#6742
Apparently wxFileName stats the file on Windows when using the == operator
which causes slow response when adding sheets in designs saved on remote
shares.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5596
Saving csv files loses precision when time/data steps are smaller than
10^-6. This switches to engineering notation when dealing with higher
precision.
Ref KiCad Services ticket 281
- fix environment variable changes after running Pcbnew in some cases.
- kicad manager: correct bitmap icon for gerber job files
- incorrect position of some checkboxes (not readable) when compiled with
wxWidgets 3.1.4
Loading the schematic symbol preserves the invalid LIB_ID characters in
the symbol name. Unfortunately, loading the library symbol automatically
fixes the invalid characters so this caused the symbol rescue to not find
library symbols with invalid characters. Replacing the invalid characters
in the schematic symbol name during rescue fixed the issue. This fix
isn't perfect because there is the off chance that replacing the invalid
characters could lead to a name clash in the library resulting in the
incorrect symbol to be rescued.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2319
(cherry picked from commit d90d734166)
Using wxFileName::GetPath( wxPATH_WITH_SEPARATOR ) does not include the
drive specifier (A:, B:, C:, etc.) on windows which fails the comparison
with the project path 100% of the time. wxFileName::GetPathWithSep()
solves the issue nicely.
Fixes https://gitlab.com/kicad/code/kicad/issues/5077
(cherry picked from commit 03423f13a1)
Previously, they were being interpreted as inches, and then being
displayed as mils - leading to a multiplication by 1000 if there
was no unit string included.
Fixes https://gitlab.com/kicad/code/kicad/issues/5117
(Cherry-picked from 259cacf648)
This is the proper fix for the symbole preview widget. It will ensure
there are no size changes between the two panels (preview and status),
and also ensure that the status panel has the same background color as
the preview panel.
Fixes https://gitlab.com/kicad/code/kicad/issues/4997
This canvas supports mouse interaction, and navigating using the
scrollbars is very difficult (it causes large jumps). Also, having
the scrollbars causes the background to bleed through around them,
making them appear floating in the canvas.
Fixes https://gitlab.com/kicad/code/kicad/issues/4997
When it was uninitialized, cancelling the dialog could lead to the
sheet's annotations being cleared because the variable wasn't set
to false anywhere.
Apparently the < operator was never implemented for SCH_JUNCTION objects
so they were not get sorted which was causing the large diffs between
schematic saves.
Fixes https://gitlab.com/kicad/code/kicad/issues/4370
(cherry picked from commit 35f3eb6220)
recreate comboboxes when clearing toolbars. Clearing toolbars delete only
tools, not other widgets. recreating comboboxes creates strange cosmetic issues.
From master, commit 598ed8b39.
Move the hierarchical sheet loading outside of the try exception block
so that any sheets that were loaded when a schematic file load fails
are loaded rather than skipped. This allows more of the schematic to
be loaded when any parser errors occur.
(cherry picked from commit 1a8082c6d6)
SCH_SHEET objects can only have another SCH_SHEET object as a parent
or nullptr for the root sheet so overload EDA_ITEM::SetParent() to
prevent the parent from being set to another type of object and add
some checks to the root sheet code just in case someone gets clever
and attempts to bypass the overloaded SetParent() call.
(cherry picked from commit fa57c8a570)
Once the gal canvas hsad the focus, it was not possible to use arrow keys in library
or symbols or fp lists even after clicking on an item.
This focus issue is now fixed.
From the fix in Master
Use an underscore character instead of a semicolon between the library
ID library nickname and symbol name in library ID search strings when
looking up symbols in the cache library since that is how they are saved
when creating the cache library. This fixes rescuing missing symbols
from the cache when they have been removed from the original library and
preventing a broken symbol link indicator from being shown when a symbol
is removed from the library.
Add some defensive testing to make sure the library passed to function
SchGetLibPart() is actually the cache library.
(cherry picked from commit f6d7ef367d)
The code that checked for pin conflicts to determine if a symbol needed
rescued did not check either the pin convert setting so it was possible
for a pin from the other convert on symbols that do not have identical
units to appear to not have a pin conflict. Add tests for pin unit and
convert setting to prevent that from breaking the comparison. This must
have always been broken.
Fix the symbol preview widget to prevent drawing all symbols on top of
each other (if we need to do this the code will have to be revised) and
also show the convert if valid.
Fix broken symbol cache library when saving alias symbols.
Fixes https://gitlab.com/kicad/code/kicad/issues/3879
(cherry picked from commit e91f1f57dd)
The margin fix prevented some schematics from printing. Reverting in
favor of transitioning to the Cairo print base in eeschema
(cherry picked from commit 9de7547c25)
Previously, to list changes, the Reference field was used in comparisons.
In complex hierarchies, this is incorrect: the Reference field contains
only the last displayed reference, not the reference of a given sheet.
The comparison uses now the sheet paths for ref and unit selection.
From a similar fix in master branch.
The symbol check output the HTML message for each item. This is _very_
slow and can lock the system reponsiveness. Changing to a queue/flush
method is much faster
cherry-picked from 245b778454
When searching for fields, the code was sometimes comparing
translated and not translated names. This is an issue for mandatory fields,
in non English languages.
From master branch.