7
mirror of https://gitlab.com/kicad/code/kicad.git synced 2025-04-16 13:39:18 +00:00
Commit Graph

6891 Commits

Author SHA1 Message Date
Mark Roszko
50e2a12e17 Fix palette icon scaling on Windows, also extend KiBitmapBundle because we use bundles wrong
wxBitmapBundle assumes the smallest bitmap added is the intended "original" size for a particular use case.
And generally that is probably true. However, we re-use icons in some places where we intend for them to start at 16
or start at 24. This is problematic when GetPreferredBitmapSizeFor is called for calculations because it'll return the
16*scale number instead of 24*scale number. So let's just allow passing in a min height restriction to KiBitmapBundle
for when we reuse bitmaps.
2025-01-31 10:37:00 -05:00
John Beard
636c6c4efb Eeschema/pcbnew: fix pasted image saving
The m_imageData buffer in the BITMAP_BASE is an
internal implementation - the public API to persist the
data to a stream appears to be SaveImageData - so use that,
which hides the implementation (and generates the image data
"live" when needed).

Remove the public access to the m_imageData buffer as it isn't
needed for public use, and also is misleading.

Also break out the formatting of the data into KICAD_FORMAT,
as it's currently replicated in eeschema/pcb/pagelayout
formatting code.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19772
2025-01-31 23:01:07 +08:00
Jeff Young
a5d643cbaa Formatting. 2025-01-30 13:02:07 +00:00
Jeff Young
9083c9e6ab Remove dead code. 2025-01-29 20:54:33 +00:00
Jeff Young
8bdc7f108b Report errors when library is missing. 2025-01-29 20:54:33 +00:00
Seth Hillbrand
c436207659 Update new bitmaps
Forgot to commit the bitmap_info previously
Updated the jobset to be usable for new and open forms
Added remaining icon references
2025-01-29 09:33:31 -06:00
Seth Hillbrand
683be91b60 Adding new icons 2025-01-29 05:42:57 -06:00
Seth Hillbrand
81fbaacae2 Keep track of user layer mapping for footprints
Footprints in orgs have standard naming.  We need to allow designers to
keep their standard namings outside of boards where they are fixed.
This belongs in the preferences as a set-once for local standards
2025-01-28 12:22:39 -08:00
Seth Hillbrand
7ea6206126 dynamic_bitset requires both sets to be same size 2025-01-28 12:22:39 -08:00
Seth Hillbrand
919931f0f0 Get embedded files panel working for lib_symbol
The symbol library embedded files were implicit, which made them hard to
work with.  Adding the panel makes it clearer and setting the panel
correctly to the callback ensures that the structure is updated on
close.

Adds some copy/move semantics for EMBEDDED_FILES to take advantage of
how the multiple copies are handled in the library editor

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18935
2025-01-28 12:22:39 -08:00
Seth Hillbrand
0d86b88008 Unify embedded files handling btw editors
Each editor needs the embedded files tab in the
schematic/pcb/symbol/footprint settings.  But the footprint may add an
embedded file from the 3d models tab and symbols/footprints may add
embedded files from the grid.  This should be immediately visible in the
embedded files tab.  Additionally, removing the reference to an embedded
file in the grid or 3d models now removes the embedded file as well.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18934
2025-01-28 12:22:39 -08:00
Seth Hillbrand
6c2a559cbe Set base user layer count
Default colors cycle through repetition for unknown layers.  Allows
importing from complex Altium/CADSTAR boards with more than 10
documentation layers
2025-01-28 12:22:39 -08:00
Damjan
0ba7f0e766 Eeschema: Default value for line style combo box in Graphic properties dialog window is Combo! 2025-01-28 15:21:27 +00:00
Jeff Young
e8e0b07223 Honour on-the-fly language changes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19773
2025-01-28 15:09:11 +00:00
Jon Evans
8903a82c50 Fix design block panel trampling symbol chooser settings
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19190
2025-01-26 18:32:00 -05:00
Jon Evans
42b9a9604b Fix several data races triggered by parallel library loading 2025-01-25 11:44:15 -05:00
John Beard
c120254aa4 Pcbnew: snap to object faster if no objects activated
Otherwise it's annoying to snap to the first item you get to
if you have to wait every time.
2025-01-25 23:57:38 +08:00
Jeff Young
60c2469c75 Don't use dynamic_cast across compile boundaries.
(Especially not after we've already tested the
filenames explicitly so that we don't have to.)
2025-01-24 16:54:52 +00:00
Jeff Young
e19bce2f93 Reduce reliance on MANDATORY_FIELDS and their implied order. 2025-01-22 17:51:57 +00:00
Alex Shvartzkop
0c694de209 Protect against calling curl_easy_cleanup after curl_global_cleanup.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17103
Fixes KICAD-7DP
2025-01-22 13:52:28 +03:00
Jeff Young
a0dd0485e9 Pull a little harder on the MANDATORY_FIELDs string.
We still conflate the fieldID, the position in the
array of fields, and whether or not that means the
field is mandatory.  But this attempts to clean up
*some* of that, without introducing too much risk.
2025-01-21 16:48:13 +00:00
Jeff Young
d50b69f1ae Reconcile divergence of MANDATORY_FIELDS between symbols and footprints.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19697
2025-01-21 13:28:28 +00:00
Seth Hillbrand
427d7d2dad Move git password management to local password control
Don't keep passwords in plain text config files that may be checked into
version control.  Passwords stored in system-specific password managers

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18053
2025-01-20 17:33:55 -08:00
Jeff Young
240a745aa7 Hack-fix for paste into std dialog search box.
It's hard to know how widely this fix needs to be
applied, but this should at least get most of the
cases.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19684
2025-01-20 12:58:00 +00:00
Jeff Young
6b6729284c Remove default line styles from all items except eeschema wires and buses. 2025-01-20 11:30:46 +00:00
Seth Hillbrand
3a5eeef9df Auto update list of fonts when embedding files
Get the list of currently used fonts to populate the list of embedded
files when the user checks the "embed fonts" checkbox
2025-01-16 18:07:07 -08:00
Jeff Young
89706aedae Resolve some variables from the project. 2025-01-16 15:59:51 +00:00
Jeff Young
d1411e2c69 Don't report filepath messages for jobs.
(They'll just point to temp files anyway.)

Also moves schematic netlist fetching to
MAIL_SCH_GET_NETLIST.
Eeschema's generateSchematicNetlist() hasn't
worked in some time.

Also suppresses parity error counts when parity
not run due to failure to find or load schematic.

Also writes out ERC/DRC reports even when they're
set to fail the job.
2025-01-16 13:12:25 +00:00
John Beard
6e7b22904e Array tool: when changing axis numbering, default to valid numbering
Otherwise, when you change the axis numbering type, and don't update
the start offset string, you get an error on dialog save. Instead,
if the number isn't valid, change it to a valid one.
2025-01-16 19:43:15 +08:00
JamesJCode
c80a71f64a Make netclass name methods clearer, and improve doc strings
There are two netclass name methods, which previously were not
obvious in their uses. These have been renamed to now have:

GetName() : Used for internal or tooling (e.g. netlist export) usage
GetHumanReadableName() : Used for display to users (e.g. in infobars)

Fixing the previous unclear naming will result in fewer bugs
when users start using the multiple netclass functionality, as
the incorrect usage had started creeping in to new code. Also this
will help authors of new code select the correct name method.
2025-01-14 20:44:09 +00:00
Wayne Stambaugh
f161d94521 Common folder housekeeping part 2. 2025-01-14 15:25:05 -05:00
Jeff Young
d30f507fd8 Cache bboxes for all lines.
(Otherwise iterating over them makes the cache useless.)

Also fixes two bugs where the cache pos wasn't copied.
2025-01-14 12:24:24 +00:00
Jeff Young
ce483c848a Remove previous version of disable-previews-when-menu-open.
(It had been rendered inoperative by the fix for
#16844.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19117
2025-01-13 19:45:49 +00:00
Seth Hillbrand
f24dba97f4 Block preview while menus are shown
When the user is navigating a drop down menu, they don't want the
preview window to pop over their screen.  This glues between the
LIB_TREE and the frame to block these preview events

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19117
2025-01-13 10:22:26 -08:00
Jeff Young
a7c130b82d Hook up TITLE_BLOCK resolver to jobs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19471
2025-01-12 22:31:09 +00:00
Wayne Stambaugh
5c8f4697ca Common folder housekeeping part 1. 2025-01-12 12:06:45 -05:00
Marek Roszko
db56d51838 Fix output paths for jobs again 2025-01-11 19:05:45 -05:00
Jon Evans
37a3c6f8cf Infobar close buttons also need to react to theme changes 2025-01-11 18:53:58 -05:00
Seth Hillbrand
1bce0b733e Make infobar sensitive to color changes 2025-01-11 15:39:06 -08:00
Wayne Stambaugh
42a1d1cf0b Include folder and 3D viewer code housekeeping. 2025-01-11 07:25:14 -05:00
John Beard
3b490cdd3b Eeschema: yeet wire-with-plus icon
This icon was only used for auto-starting a wire, which was
inconsistent with auto-starting a bus or graphic line.

Also the plus sign is a little confusing as it could also be
interpreted as the origin marker (which is really bottom left),
which is also plus-shaped.
2025-01-11 00:34:48 +08:00
Jon Evans
c6d8f4a62e Fix wiping out non-controlled GAL layer visibility
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19544
2025-01-10 08:37:11 -05:00
Dhinesh
e02b6be4c9 Fix error-marker highlighting for multiple markers at the same location
Previously, if multiple error markers were placed at the same location,
the selected marker was not visually differentiated from the unselected
ones, even if one was at the top of the stack. To fix this, Need to pass
overlapping markers to the FocusOnItems() function instead of calling
FocusOnItem() with only the selected marker.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9778
2025-01-09 23:41:02 +00:00
Sam Schweigel
373d9c9281 Disable touch events on OSX only, allowing them on GTK and Windows
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14374
2025-01-09 23:00:53 +00:00
Jeff Young
dd7c076bc9 Use std::optional for pad connection overrides.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19555
2025-01-09 17:32:05 +00:00
Marek Roszko
1ebcd24944 Forward declarations are your friends
Why leak gl headers into most of kicad
2025-01-09 09:03:08 -08:00
Seth Hillbrand
09e30adbb1 Move GL_CONTEXT_MGR into PGM_BASE singleton
This is the second try at 5326c36a5f.  The difference here is that we
have moved GL_CONTEXT_MGR into kicommon first which will hopefully
address some of the Windows linkage issues

The GL context lock needs to be shared across kifaces.  Otherwise, we
can end up blocking the lock from one kiface.  Unfortunately, I can't
find the issue in GitLab right now for where the footprint viewer shows
a blank screen after opening too many contexts.  But that's what this
fixes.
2025-01-09 09:03:08 -08:00
Seth Hillbrand
d48c40ba26 Move GL_CONTEXT_MANAGER to kicommon 2025-01-09 09:03:08 -08:00
Seth Hillbrand
452e69de85 Move thread pool into true singleton
Thread pool needs to be stored in a single location for all of KiCad
otherwise each kiface will spin up its own pool of persistent threads
2025-01-09 09:03:08 -08:00
Jon Evans
6858561731 Fixes for building against recent wxWidgets 3.3 2025-01-09 08:38:49 -05:00