Commit Graph

7200 Commits

Author SHA1 Message Date
Seth Hillbrand 52bbfb9109 Remove dependency of dot size on linear mils
Changes a dot to be a square pixel (linewidth x linewidth).  This allows
the removal of IU dependencies and ensures that a dot is always visible
on screen.  Also makes sure that cairo is setting the current linewidth
during its stroke routines

Fixes https://gitlab.com/kicad/code/kicad/issues/9362
2021-10-10 09:40:26 -07:00
Roberto Fernandez Bautista 0fa8e1f311 DRC Control: Clear pointer to MARKER after it has been centered
Also, added asserts to verify SelectMarker and CenterMarker actually
do select one.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9344
2021-10-10 16:22:04 +01:00
Seth Hillbrand 3c29e68992 Use wxFFileInputStream to avoid dangling pointer
Cases where fp was left open could lead to dangling files until KiCad is
closed.  Stack-based file stream automatically closes after parsing and
on exception

Fixes https://gitlab.com/kicad/code/kicad/issues/9336
2021-10-08 13:42:04 -07:00
Ian McInerney c14bdf7fe0 pcb_calculator: Update panel images/text when system theme changes 2021-10-08 17:31:21 +01:00
Marek Roszko 4377f8019d Add (optional) trace mask setting as advanced config option
Maximize laziness!
This does not affect the environment variable usage
2021-10-07 21:05:58 -04:00
Wayne Stambaugh 034bc1e815 Fix ever shrinking window height for frame windows that are not maximized.
For some reason this does not affect the KiCad frame manager window so it
is an exception to prevent it from becoming an ever growing window height
issue.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8889
2021-10-07 16:58:54 -04:00
Mikolaj Wielgus faad5ee1ce Use system text and background colors in PCB calculator
wxHtmlWindow forces white background and black text. Force it back to
system settings.
2021-10-07 19:09:42 +00:00
Mike Williams 27765cd584 TOOL_DISPATCHER: drag activation should always use screen coordinates
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9325
2021-10-06 19:05:18 +00:00
Jeff Young 1bb5fc3fd6 Work around EnsureVisible bug in wxWidgets during DRC cross-probe.
Also adds double-click-marker to open DRC dialog and select marker
in list.

Fixes https://gitlab.com/kicad/code/kicad/issues/7246
2021-10-06 11:17:03 +01:00
Jeff Young 95f841a037 A more nuanced method of making Board & Schematic Setup read-only.
This one still allows you to scroll to see all contents.

Fixes https://gitlab.com/kicad/code/kicad/issues/9302
2021-10-06 11:16:46 +01:00
Seth Hillbrand 9a8d1246cc We don't keep a CHANGELOG.TXT
Direct interested readers to AUTHORS.TXT instead.
2021-10-05 19:46:53 -07:00
Seth Hillbrand 9066165792 Fix compile error on Mac 2021-10-05 19:44:35 -07:00
Seth Hillbrand 548e5f49bd Clean up unused variable usage
Unused variables in function calls can be commented out.  Unused
return variables get a new routine `ignore_unused()` that silences the
warnings with zero overhead.
2021-10-05 10:00:30 -07:00
Seth Hillbrand 043c326278 Add Boonchai K as Thai translator 2021-10-05 10:00:30 -07:00
Jeff Young ffd6fde700 Improve consistency and hotkey access in Appearances.
Added hotkey for cycling through net & netclass color modes.
Added hotkey for cycling through ratsnest layer visibilities.
Added code to display hotkey (if set) on the above and on high-contrast
cycle.

Fixes https://gitlab.com/kicad/code/kicad/issues/9312
2021-10-04 13:44:43 +01:00
Jeff Young 930c4e5582 Cleanup.
Formatting.
Naming conventions.
Use of auto.
Use of STL cover types.
2021-10-03 19:42:29 +01:00
Jeff Young 11c91c7179 Improve obscuring dialog algorithm to handle multiple dialogs.
Fixes https://gitlab.com/kicad/code/kicad/issues/8970
2021-10-03 13:27:46 +01:00
Jeff Young 574bef2237 Normalize drawing sheet path to env vars & prj, not just prj.
Also cleans up the dialog a bit.

Also changes the workings of NormalizePath to return the input if
it couldn't be shortened which saves open coding that behaviour in
all its callers.

Fixes https://gitlab.com/kicad/code/kicad/issues/9036
2021-10-02 23:39:45 +01:00
Jeff Young e2baacec21 Add cross-probing between PCB (markers) and DRC marker list.
Fixes https://gitlab.com/kicad/code/kicad/issues/7246
2021-10-02 23:39:45 +01:00
Jeff Young 10dd70881c New paramaterized interface doesn't like quoted parameters.
(At least on MSW, anyway.)
2021-10-02 14:08:36 +01:00
Jeff Young 4e9b747e86 Fix wx3.0 (presumably) compile issue. 2021-10-02 12:39:33 +01:00
Jeff Young 671e9f2dba A better algorithm for centering library items in the tree.
It still doesn't center as wxWidgets' API is poorly suited for that.
But it does now at least keep it off the very top or bottom.
2021-10-02 10:41:26 +01:00
Jeff Young f606679164 Proper numeric sorting for intersheet refs.
Also expunges the horrifically named std::remove and std::remove_if
(neither of which remove anything).
2021-10-01 18:29:21 +01:00
jean-pierre charras e96108d3c8 Fix int ExecuteFile(...) incorrect behavior with quoted filename.
It uses a wxExecute() version that add quotes to filename, so the final
filename was incorrect.
Fixes #9292
https://gitlab.com/kicad/code/kicad/issues/9292
2021-10-01 17:26:01 +02:00
Seth Hillbrand c4fcff46ab Add Thai language option 2021-09-30 08:38:41 -07:00
Marek Roszko 0e3b001c51 Lock the windows when we ask about unsaved changes
Fix #9274
2021-09-29 23:01:06 -04:00
Seth Hillbrand 9e72c3b38d Don't add quotes for LaunchExternal in 3.0 either
The quotes do not work in GTK 3.0.5.  Since GTK is the only platform we
have left running 3.0, we can remove this.
2021-09-29 16:19:49 -07:00
Jeff Young 2489408c34 Use position as well as time-based drag semantics on Mac.
Fixes https://gitlab.com/kicad/code/kicad/issues/9276
2021-09-29 18:30:46 +01:00
Jon Evans 0458afe20a Fix escaping of double quotes in LIB_IDs 2021-09-28 20:38:36 -04:00
Jon Evans 62ef27e372 Remove hard-coded anchor color in eeschema 2021-09-28 20:26:47 -04:00
Mikolaj Wielgus adafb15126 Remove LaunchURL()
Unused and insecure.

Related to https://gitlab.com/kicad/code/kicad/-/issues/9236
2021-09-28 22:39:18 +02:00
Seth Hillbrand fda7d68243 Hide extra edit label elements
By default, we don't need to see the drop-down choice menu in the edit
text dialog.  It is shown by the routines that use it
2021-09-28 09:17:45 -07:00
Jeff Young f73042fe24 Some minor performance enhancements. 2021-09-28 14:28:35 +01:00
Jeff Young 9f841da98e Don't try and highlight netnames or holes of selected items.
Fixes https://gitlab.com/kicad/code/kicad/issues/9256
2021-09-27 23:22:59 +01:00
Jeff Young 3413358992 Make sure there is a filename before creating a parameter for it.
Fixes https://gitlab.com/kicad/code/kicad/issues/9263
2021-09-27 22:57:15 +01:00
Mike Williams 9ca836d1ea Tools: Respect system drag
Also remove the time-based aspect. We aren't all super speed clickers.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8765
2021-09-27 16:44:32 +00:00
Mikolaj Wielgus 1d26a29fc0 Remove tilde expansion
Fixes https://gitlab.com/kicad/code/kicad/issues/9213
2021-09-27 16:10:36 +00:00
Jeff Young c05e4376f9 Update backups folder name when doing project save as.
Fixes https://gitlab.com/kicad/code/kicad/issues/9254
2021-09-27 13:24:45 +01:00
Jeff Young 3e298f1175 Fix 0-sized HTML window on OSX. 2021-09-27 12:47:14 +01:00
Jeff Young cef5792e78 Formatting. 2021-09-27 10:34:32 +01:00
Jeff Young 5f3c67bd2b Fill in some missing GetMsgPanelItems and make some others consistent.
Also expunges a std::vector<MSG_PANEL_ITEM> cover type.
2021-09-27 00:23:40 +01:00
Jeff Young 5dc82037fb Fix typo. 2021-09-26 17:26:56 +01:00
Jeff Young 1723106b4d Compile fixes for wx3.0. 2021-09-26 17:02:27 +01:00
Jeff Young 88ad249f76 Cleanup. 2021-09-26 16:34:32 +01:00
Jeff Young 67fb8cbe9e Compile fix. 2021-09-26 16:20:46 +01:00
Jeff Young 2e0b3b8a82 Attempt to fix 0-sized error dialogs. 2021-09-26 15:28:17 +01:00
Jeff Young fa032400ee Fix compile error. 2021-09-26 15:28:17 +01:00
Jeff Young bbea8afdc5 Trim some (probably) excess includes. 2021-09-26 15:28:17 +01:00
Jeff Young 5bf042fcc1 Use individual parameter version of wxExecute.
Fixes https://gitlab.com/kicad/code/kicad/issues/9236
2021-09-26 15:03:06 +01:00
Jeff Young c6bcb85562 Excise system() calls.
Fixes https://gitlab.com/kicad/code/kicad/issues/9236
2021-09-25 20:09:06 +01:00
Seth Hillbrand e955ee7bd2 Disable ALT disambiguation for MSW
Better to not show anything than to show a broken dialog.
Disambiguation is accessible using the long-click function

Fixes https://gitlab.com/kicad/code/kicad/issues/9232
2021-09-25 09:04:59 -07:00
Jeff Young 46949abe4a Don't scroll to highlight an object already visible. 2021-09-25 15:31:52 +01:00
jean-pierre charras 5aea7b8123 Cairo: fix incorrect handling of arcs with angle >= 360 deg in some cases.
Fixes #9231
https://gitlab.com/kicad/code/kicad/issues/9231
2021-09-25 09:06:09 +02:00
Seth Hillbrand c69a16ca6d Wrap around highlights to ensure distinguishing
Bright colors are maxed out for highlighting.  Modestly darkening them
helps to distinguish them from their neighbors but keep the blue value
to help "glow" the selection

Fixes https://gitlab.com/kicad/code/kicad/issues/5560
2021-09-24 17:18:54 -07:00
Seth Hillbrand 64be61b4d6 Allow user to set footprint type up front
The default is usually wrong and presenting the basic footprint
information when creating an empty footprint allows the user to
establish their preference before mistakes occur.

Fixes https://gitlab.com/kicad/code/kicad/issues/9215
2021-09-24 13:48:01 -07:00
Jeff Young c7f098ab25 Remove unused variable. 2021-09-24 16:03:13 +01:00
Jeff Young 8eb2e986cf Fix a crash bug on quitting on OSX. 2021-09-24 14:07:57 +01:00
Jeff Young b065ff33dc Looks like clang (or OSX?) needs an extra include.... 2021-09-23 20:14:03 +01:00
jean-pierre charras 0cf81b6d4e LOCALE_IO rework to fix issues on linux when using env vars with non ASCII7 chars.
We need to use a "C" locate to read/write files, and therefore switch the locale.
Removing use of setlocale( LC_NUMERIC, "C" ) and use only
wxLocale( "C", "C", "C", false ) was too fast: on linux it breaks the env vars.
on MSW
    using setlocale( LC_NUMERIC, "C" ) generates an alert message in debug mode,
    and this message ("Decimal separator mismatch") must be disabled.
    But calling wxLocale( "C", "C", "C", false ) works fine
On unix:
    calling wxLocale( "C", "C", "C", false ) breaks env vars containing non ASCII7 chars.
    these env vars return a empty string from wxGetEnv() in many cases, and if such a
    var must be read after calling wxLocale( "C", "C", "C", false ), it looks like empty

So use wxLocale on Windows and setlocale on unix
2021-09-23 14:31:25 +02:00
Jeff Young 157c21d325 Only run Unix file handling stuff on Unix.
Fixes https://gitlab.com/kicad/code/kicad/issues/9217
2021-09-23 13:08:31 +01:00
Jeff Young c38de1dcaf Pull back some 7.0 fixes to Custom Rules code completion. 2021-09-23 13:08:31 +01:00
Jeff Young d11c10252d More changes to file resolvers.
Copy Kicad2Step fixes back to Kicad's file resolver.

Remove Kicad2Step's autogeneration of some variables in favour of
just reading the config file passed by Kicad verbatim.

Fixes https://gitlab.com/kicad/code/kicad/issues/7670
2021-09-22 11:28:45 +01:00
Seth Hillbrand 8a5388cf65 Make the python window follow the parent app
The Python window is pinned to the main KiCad application but to the
user, it appears that the window opens in response to their clicking
eeschema or pcbnew.  For this reason, we should re-center the python
window when the user will expect to see it when showing.

Fixes https://gitlab.com/kicad/code/kicad/issues/8623
2021-09-21 15:01:27 -07:00
Jeff Young 24f3c49631 Fix logic error in FileResolvers.
If Normalize() was not needed after finding a searchpath then we were
never updating tname and just blindly returning it.

Fixes https://gitlab.com/kicad/code/kicad/issues/7670
2021-09-21 12:35:16 +01:00
Marek Roszko 91e456113f Use StartsWith instead of Contains for the Intel check 2021-09-20 18:56:06 -04:00
Marek Roszko 1b8259701e Expand "Intel" GL_VENDOR check for workaround
Fix #7444 maybe
2021-09-20 18:20:57 -04:00
Seth Hillbrand 0f10748226 Disallow Ctrl-Tab and Ctrl-Shift-Tab as hotkeys
Fixes https://gitlab.com/kicad/code/kicad/issues/9010
2021-09-20 11:13:50 -07:00
Jeff Young f66654247a Read netclasses when importing Eagle projects.
Also creates a DRU file with the various netclass-to-netclass
clearance rules from the Eagle clearance matrix.

Fixes https://gitlab.com/kicad/code/kicad/issues/1774
2021-09-20 12:38:56 +01:00
Seth Hillbrand c088de5f75 Fix compile issues on non-mac 2021-09-19 08:41:10 -07:00
jean-pierre charras bdb1231169 Fix compil issues on GTK and MSW. 2021-09-19 17:28:14 +02:00
Jeff Young 6e7ce09572 Use more descriptive terminology for preferred text editor.
Also improves execution to allow the preferred editor to include
parameters, such as "/usr/bin/open -e".

Fixes https://gitlab.com/kicad/code/kicad/issues/9131
2021-09-19 15:17:26 +01:00
jean-pierre charras 2f9c6dd5cc PANEL_FP_PROPERTIES_3D_MODEL: fix an issue in FILENAME_RESOLVER::ValidateFileName():
Allows ':' if it is a disk separator in filenames on MSW (missing in commit b93188).
2021-09-19 08:57:48 +02:00
jean-pierre charras b931883876 PANEL_FP_PROPERTIES_3D_MODEL: fix an issue when trying to edit a filename (MSW specific).
On Windows, FILENAME_RESOLVER::ValidateFileName() always returned a illegal filename test,
because the separators ('/' and '\') are in list of illegal chars in filenames on MSW.
2021-09-18 18:17:54 +02:00
Jeff Young 5c07441e24 Remove Setup Dialog assignment of netclasses to buses.
Also removes the message bar display of assigned netclass for
buses and bus-to-bus entries.

Also fixes a bug where assigning a netclass via the canvas only
looked at the first level of bus members (and not any nested
members).

Also fixes a bug where the bus name validator tried to validate
a vector bus first -- which doesn't work as a vector bus may be
nested in a group bus.

Also fixes a bug where we were failing to check for illegal
chars in bus definitions which otherwise passed the bus parsers.

See additional comments in the bug report.

Fixes https://gitlab.com/kicad/code/kicad/issues/9160
2021-09-17 22:01:17 +01:00
Jeff Young 364ecc02ee Hide scaling hacks on platforms that don't need them.
Fixes https://gitlab.com/kicad/code/kicad/issues/9171
2021-09-17 12:37:53 +01:00
Jeff Young 2479e1d7b1 Improve common settings property grouping.
Also moves apply-icon-scaling-to-fonts to its own checkbox.  (We used
to try to infer when to do it, but that turns out to be a rathole.)
2021-09-16 18:31:44 +01:00
Tokita, Hiroshi 1f8b72c194 Added Japanese translators missing from the list
Some of the Japanese translators who are contribuinge to kicad-i18n
(https://gitlab.com/kicad/code/kicad-i18n) are
not contain the list, so add them.

I found the following translators was missed in the list.

```
Hidemichi Gotou <hgotou@pop16.odn.ne.jp>
KaoruZenyouji <kaoruzen@gmail.com>
kinichiro <kinichiro.inoguchi@gmail.com>
nosuzuki <nosuzuki@postcard.st>
starfort-jp <starfort@nifty.com>
```
2021-09-16 15:25:39 +00:00
Jeff Young fdd9df6dff Linear brightening doesn't work well for colours near white. 2021-09-16 14:17:52 +01:00
Jeff Young 6197717251 Avoid poor choices for point colors.
Also adjusts the point size to account for the fact that it now has a border.
2021-09-16 14:17:52 +01:00
Jeff Young b84d1456d5 KIFACE_I -> KIFACE_BASE. 2021-09-14 23:45:14 +01:00
Jeff Young 3aae3c6f65 Dark mode for a bunch of HTML dialogs.
WX_HTML_REPORT_BOX
WX_HTML_REPORT_PANEL
HTML_MESSAGEBOX
DIALOG_DISPLAY_HTML_TEXT

Fixes https://gitlab.com/kicad/code/kicad/issues/9157

Fixes https://gitlab.com/kicad/code/kicad/issues/9156
2021-09-14 21:23:57 +01:00
jean-pierre charras 666f7ea38c WX_GRID::EnsureColLabelsVisible(): avoid updating column label size when not needed.
Updating column label size generates a UI event and if EnsureColLabelsVisible()
is called inside a UI event, this is a bit annoying.
2021-09-14 20:08:48 +02:00
Seth Hillbrand 754464cb3b Fix coverity error
Check failed to open file before dereferencing
2021-09-14 10:15:43 -07:00
Jeff Young 38e1e780a8 Use EnvVar resolver not full resolver when expanding 3D search paths.
Fixes https://gitlab.com/kicad/code/kicad/issues/7670
2021-09-14 14:48:09 +01:00
Jeff Young 7a993c0211 Add support mode for dark mode to SCINTILLA_TRICKS.
Also removes the return value from the BITMAP_STORE's themeChanged
method as it will provide the wrong answer for the second frame it's
called on.

Also hooked up ACTION_TOOLBAR, the app launcher, and the project tree
to the wx event for system color changes so they change on the fly.

Fixes https://gitlab.com/kicad/code/kicad/issues/6026
2021-09-14 00:18:50 +01:00
Seth Hillbrand ab46aba5c9 Correct Language ID for Latin American Spanish 2021-09-13 11:00:23 -07:00
Jeff Young a5247471f7 Expunge a bunch more fixed font specs from wxFormBuilder files.
Also removes the -1 sizing of the status bar on GTK and MSW.

Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-12 13:53:12 +01:00
Jeff Young 9c78e4cf54 Mac needs different font size handling than MSW & GTK.
Mac already uses diverse font sizes (for instance, smaller fonts for
radio button groups), and the anti-aliasing is a lot better.  The
other platforms need a more limited range of sizes.

Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-11 23:40:31 +01:00
Jeff Young 769ca2d255 Add a quantized scaling mode for bitmaps.
125% scaled bitmaps look bad in the Launcher so we pin to 100%,
200%, 300%, etc.
2021-09-11 23:40:31 +01:00
Jon Evans 0a5bb093d0 Fix gcc build 2021-09-11 15:02:59 -04:00
Jeff Young ed8b63505d Fix font scaling issues in StatusBar and Selection Filter.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-11 18:25:11 +01:00
Roberto Fernandez Bautista 625e56676a Add progress reporting to CADSTAR Schematic & PCB importers
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8685
2021-09-11 17:50:19 +01:00
Jeff Young fbee62fc15 Tie font size scaling to when automatic icon scaling fails.
It appears that SetSymbolicSize() and ConvertDialogToPixes() fail
under the same circumstances.
2021-09-11 15:29:51 +01:00
Jeff Young cc13d6b2e8 Try out GTK font scaling based on icon scaling architecture.
wxWidgets symbolic sizes fail on HiDPI GTK screens; the dialog pixel
stuff fails on non-scaled GTK screens.

Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-11 10:57:25 +01:00
Jeff Young ad59254be8 Another round of font sizing tweaks.
It appears that both strategies in the last commit worked, leaving us
with squared scaling.  The dialog pixel architecture seems safer than
our icon scaling stuff, so this version attempts to use only it.

Also works around a bug where wxELLIPSIZE_MIDDLE doesn't work on Mac.

Fixes https://gitlab.com/kicad/code/kicad/issues/8608

Fixes https://gitlab.com/kicad/code/kicad/issues/8375
2021-09-10 21:46:13 +01:00
Seth Hillbrand abfc60acfc Split European Spanish and Latin American Spanish
This is a test split per requests.  While "Latin American Spanish" is
not really homogeneous, there are distinct differences to European
spanish, so we are splitting in an effort to allow both translations.
If one is less viable, this may re-merge in the future.
2021-09-10 12:45:59 -07:00
Jeff Young 7a822b55aa Another round of changes to attempt to fix the GTK font size issue.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-10 15:59:50 +01:00
Seth Hillbrand 29c2f3b7d4 Prevent jumping into disambiguation if moved
Moving points should not be overrided by disambiguation menu, so we
track where the disambiguation event started and only trigger the menu
if the mouse hasn't moved a full unit in x/y

Fixes https://gitlab.com/kicad/code/kicad/issues/9132
2021-09-09 16:24:18 -07:00
Seth Hillbrand 23024eb9e3 Fix typo 2021-09-09 11:30:00 -07:00
Seth Hillbrand dc574bcb24 Split Portuguese
Split the dialects of Portuguese into Bazilian Portgugese and Portugal
Portuguese
2021-09-09 11:18:32 -07:00
Seth Hillbrand fe9bdd41d9 Finalize modifier update
Update the preference pane info text

Also standardizes the use of "Option" instead of "Alt" for Mac users.

Fixes https://gitlab.com/kicad/code/kicad/issues/9129
2021-09-09 10:47:43 -07:00
Jeff Young 7a035e2675 More font scaling changes.
These may or may not fix scaling issues on GTK with HiDPI monitors.
2021-09-09 11:17:21 +01:00
Jeff Young 61ef431c56 Apply fixes from Kicad2Step filename resolver back to Kicad. 2021-09-09 11:17:21 +01:00
Jeff Young f013dbc7c4 More uniform handling of status fonts.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-08 21:34:22 +01:00
Jeff Young e7debc495b WIP 2021-09-08 20:17:59 +01:00
Wayne Stambaugh 3b16c38756 Coverity issue fixes.
Fix Coverity issues 157138, 338547, and 338716.
2021-09-08 14:51:27 -04:00
Roberto Fernandez Bautista a2c28b18a8 "Fernandez Bautista" comes after "Evans"
In Spain we have two surnames. More details on wikipedia:
https://en.wikipedia.org/wiki/Spanish_naming_customs
2021-09-08 18:47:54 +01:00
Seth Hillbrand f901fe9ecf Re-add Korean language option
Korean has recently been fully updated by a group of dedicated
translators.  This adds the official menu entry.

Also remove Catalan as it hasn't been maintained during v6
2021-09-08 09:58:28 -07:00
Wayne Stambaugh ad1ee958b0 Code cleaning. 2021-09-07 15:18:42 -04:00
Seth Hillbrand c8b2e69332 Check if selection is primary tool
Previously, we were checking if the selection tool was the top of the
stack but this ignored many other "secondary" tools that might be
running such as the point editor.  These still allow the selection tool
to handle events such as clicks.  This change allows the selection tool
to handle clicks when it is the primary tool on the stack rather than
the top

Fixes https://gitlab.com/kicad/code/kicad/issues/9110
2021-09-07 10:42:01 -07:00
Wayne Stambaugh 41c7089417 Minor dialog layout improvements. 2021-09-07 08:06:02 -04:00
Michael Kavanagh 0e3c79d3b2 Remove inappropriate icons
Icons should be used sparingly to draw attention to the most used actions
2021-09-06 21:23:52 +00:00
Seth Hillbrand 343dbf0f5b Change default 45° hotkey to shift-space
This requires enabling the space key to be bound with shift, which was
disabled based on an overbroad limit of only allowing shift to be mapped
with letter keys
2021-09-06 12:18:29 -07:00
jean-pierre charras 56374ffa26 Try to fix a compil issue that does not happen on my computers. 2021-09-06 18:36:27 +02:00
jean-pierre charras 36048fa436 OPENGL_GAL::DrawArcSegment(): use a better number of segm to approximate the arc.
Previously, the count of segments used a magic number optimized for Pcbnew.
This is not good, and does not work well on Gerbview.
The count uses now a max error acceptable is approximation (5 microns in Gerbview and Pcbnew).
Fixes #9101
https://gitlab.com/kicad/code/kicad/issues/9101
2021-09-06 16:36:47 +02:00
Seth Hillbrand 7312bb4584 Fix compile error 2021-09-06 07:02:10 -07:00
Jeff Young c861fadc31 Make 3D path resolvers agnostic about alias syntax.
Some code seems to think it's :alias:path while other code thinks it's
alias:path.  This commit updates both the Kicad2Step resolver and the
KiCad internal resolver to be agnostic.

In 7.0 we should probably get rid of aliases entirely.  But that's a
story for another day....

Fixes https://gitlab.com/kicad/code/kicad/issues/9002
2021-09-06 14:26:24 +01:00
Jeff Young 0321e55f0b Add a hack to keep OSX from hijacking our help menu.
For some reason once a player is opened from the Kicad Manager window
all the items under the help menu get grayed out.  This prevents that
from happening.
2021-09-06 12:43:48 +01:00
Jeff Young f9417c6584 Update some comments. 2021-09-06 10:48:26 +01:00
Seth Hillbrand 8aba629fe5 All additive/subtractive with disambiguation key
This should work when clicking as disambiguation can occur in addition
to the modifiers
2021-09-05 19:34:42 -07:00
Seth Hillbrand 0a9a6dec7d Re-add alt as a backup option for heuristic skips 2021-09-05 19:32:07 -07:00
Marek Roszko 525099ea06 Use the correct define for windows 2021-09-05 22:22:27 -04:00
Marek Roszko 0ee79834bb Make alt key slightly better on windows 2021-09-05 22:17:08 -04:00
Seth Hillbrand a8d00bf088 Fix hotkey documentation for modifier update 2021-09-05 13:55:08 -07:00
Seth Hillbrand 240c3b75c4 Move selection disambiguation to long-click
This standardizes selection tools in SELECTION_TOOL class to be able to
handle a long-click as asking for a non-heuristic disambiguation menu.

Fixes https://gitlab.com/kicad/code/kicad/issues/8490
2021-09-05 13:42:51 -07:00
Jeff Young 59c15842f8 Exclude formatting chars from text width approximation.
Fixes https://gitlab.com/kicad/code/kicad/issues/9080
2021-09-04 22:09:32 +01:00
Jon Evans 6de277c226 Fix typo in violation severity importing
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9092
2021-09-04 12:20:36 -04:00
Roberto Fernandez Bautista 0aa37d1173 Fix issues with new overbar syntax
- Update sch text help (~~ no longer gets converted to single ~)
- Update Eagle importer to correctly handle new overbar syntax
- Update CADSTAR importer to correctly handle new overbar syntax
2021-09-01 20:25:39 +01:00
Seth Hillbrand 8a305eec32 Remove broken RefDesStringCompare
This function attempted a poor-man's natural compare but it assumed
specific structure of the string.  This broke for strings with
numberings that looked like decimals.

Instead, we use our natural string comparison function and remove the
references to this older function and its similar elements.

Fixes https://gitlab.com/kicad/code/kicad/issues/9067
2021-09-01 11:48:01 -07:00
Marek Roszko b32b04d27e Preserve archive timestamps on extract
Fix #9065
2021-09-01 01:04:43 -04:00
Jeff Young 2cdd3c9ebf Work-around incorrect spacing (and order) of buttons on Mac. 2021-08-31 22:39:25 +01:00
Jeff Young 641a6902b7 More robust hex-color interpretation. 2021-08-31 21:41:52 +01:00
Jeff Young 098fdf2981 Performance fixes. 2021-08-31 21:24:20 +01:00
Jeff Young a5e11111a4 Link updating of hex value and opacity slider. 2021-08-31 21:24:20 +01:00
Wayne Stambaugh 5a28a06597 Use wxMessageDialog instead of wxRichMessageDialog.
wxRichMessageDialog does not look like the stock message boxes on any
platform so don't use it unless the checkbox option is required.
2021-08-31 14:41:40 -04:00
Jeff Young e58671e2da Move color picker from CSS to HTML format for colors.
This is an attempt to remove the decimal separator from the equation,
which appears to be causing trouble on MSW.

Fixes https://gitlab.com/kicad/code/kicad/issues/9043
2021-08-31 18:56:38 +01:00
Jeff Young b5a3385ea9 Overhaul file locking system.
See bug report for details.

Fixes https://gitlab.com/kicad/code/kicad/issues/8919
2021-08-31 15:04:31 +01:00
Mike Williams 30987cebfe Gerbview: fix cairo negative items and implement real differential mode
Layers with negative objects need to be drawn in a subsurface before
copying so they don't _CLEAR the draw items below them when a negative
object is drawn.

Differential layers are basically the same thing only they use a
different copying operation onto the layers below.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/1863
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4495
2021-08-31 12:43:53 +00:00
Jeff Young d61411c853 Fix compile error. 2021-08-30 13:11:42 +01:00
jean-pierre charras f59e66a897 Do not include kicad_curl.h (and therefore curl.h) in kicad_curl_easy.h
curl.h has constraints on Windows (because it includes winsocks2.h) and must be
included before any wxxxx.h.
Because only very few files need curl.h, kicad_curl.h is included only in these files
2021-08-28 15:31:45 +02:00
jean-pierre charras a9829a598e Plugin and Content Manager: fix compil warnings and issues.
- some are Windows (msys2 ?) specific, related to curl.
- some others are shadowed or unused vars.
2021-08-28 10:57:45 +02:00
qu1ck a1521d338e Add colortheme package type 2021-08-27 21:11:47 +00:00
qu1ck 0f7c0e3872 PCM implementation 2021-08-27 21:11:47 +00:00
qu1ck 4be115ca55 Add KICAD6_3RD_PARTY env variable 2021-08-27 21:11:47 +00:00
Seth Hillbrand e7905b05e7 Fix formatting error in datasheet formatting 2021-08-27 11:10:38 -07:00
Mike Williams 0b2e66d3b7 Infobar: Don't use animations on Windows/GTK
Seems to cause issues on Windows where the animation locks the screen.
Doesn't effect Linux, possibly because wxWidgets uses a native GTK
infobar that doesn't animate anyway.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8987
2021-08-27 17:38:16 +00:00
Jeff Young f6287053e5 Naming conventions. 2021-08-27 12:52:13 +01:00
Jeff Young 436ad0ede7 Add missing token to DRC rule parser.
Fixes https://gitlab.com/kicad/code/kicad/issues/9041
2021-08-27 12:49:07 +01:00
Albin Dennevi cfea39f967 Updated worksheet templates using v5.99 Drawing Sheet Editor 2021-08-27 11:10:15 +02:00
Albin Dennevi e631dd087b Drawing Sheet Templates corrected 2021-08-26 22:13:42 +02:00
Mike Williams ff9612b6da OpenGL GAL: Enter correct context (and lock) before changing AA mode
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8528
2021-08-26 18:03:50 +00:00
jean-pierre charras ee5f9034f7 pcb parser: ensure the parser is reinitialized before parsing a new fp file
Because the same parser is used to read all footprint files of a library,
the parser must be reinitialized (internal variable cleared) before reading
a new file, otherwise the previous parser state is applied to the next file.
Fixes #7627
https://gitlab.com/kicad/code/kicad/issues/7627
2021-08-26 19:38:20 +02:00
Jon Evans 5f2d238c93 Work around GTK issue with wxSearchCtrl
Also remove redundant icons in LIB_TREE (recent GTK
search controls have an icon built-in)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9019
2021-08-24 23:04:28 -04:00
jean-pierre charras 4ac2aa675a lib symbols: make fp filter tolerant to spaces in names.
For historical reasons they are stored in a string using spaces as separators.
So each fp filter is now escaped to remove spaces (replaced by {space})
Fixes #9009
https://gitlab.com/kicad/code/kicad/issues/9009
2021-08-23 18:01:31 +02:00
Jon Evans 0814219513 Clean up some handling of project files in standalone
Add control of project creation to Eeschema; change defaults
to enable project creation in both programs.  Properly set
project on newly-created schematics so "Save As" doesn't
get triggered repeatedly.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9000
2021-08-21 12:09:21 -04:00
jean-pierre charras 71b7816de5 DIALOG_GEN_FOOTPRINT_POSITION and dialogs print: minor enhancements:
Gen footprint: 2 options are now stored during a session.
Gerbview and Pcbnew dialogs print: avoid useless large size of right panel.
2021-08-21 11:06:00 +02:00
Seth Hillbrand ae51e60f70 Set User-Agent Header 2021-08-20 17:24:05 -07:00
Seth Hillbrand 463ed6f599 Promote Roberto to Lead Dev in About Box 2021-08-20 17:24:05 -07:00
Seth Hillbrand 4cd9278041 Remove most wxFilepicker wildcards from translations
This prevents translation errors from preventing user actions such as
opening the correct file
2021-08-20 12:56:47 -07:00
Seth Hillbrand 558995ac21 Order translations by country code
Helps to see which contributor lists are missing
2021-08-20 12:21:36 -07:00
Seth Hillbrand 7ac09c1f9b Add translators (PL and KO) 2021-08-20 12:16:56 -07:00
Jon Evans c80efb0f98 Fix save/load of appearance panel width on show/hide
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8982
2021-08-19 21:15:14 -04:00
Jon Evans 781fb0ad0d Fix loading of auxiliary projects
Projects list wasn't being used properly to track active Prj

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8998
2021-08-19 20:50:41 -04:00
jean-pierre charras 7d8f51dc2e COLOR_SETTINGS: fix a typo that created incorrect saving of 2 options:
m_overrideSchItemColors and m_useBoardStackupColors
2021-08-19 17:39:18 +02:00
Wayne Stambaugh 46b959c3e3 Move plotter headers into include folder. 2021-08-18 16:38:31 -04:00
Wayne Stambaugh 6427197962 Remove duplicate headers in plot and associated code. 2021-08-17 15:41:25 -04:00
jean-pierre charras 60c65c2a1d Avoid loading python stuff when starting applications that do not use it.
It is useless, and debug is slightly easier (less constraints) at least on msys2
2021-08-17 19:48:55 +02:00
Wayne Stambaugh 8f30404e42 Plot code cleaning. 2021-08-17 13:44:11 -04:00
Wayne Stambaugh b14b8b5fb1 Move headers from common folders to the appropriate include folders. 2021-08-17 12:40:31 -04:00
Jeff Young 8b5f393804 DRC bug fixes and debugging improvements.
1) Don't wait for UpdateUserInterface to build the (global) list of
layer names.

2) Report clearance resolution between a silk layer and a mask layer.

3) When writing DRC reports, include info about the violating rule.

4) Report "no relevant layers" if we fail to find anything to write
a clearance resolution report about.

Fixes https://gitlab.com/kicad/code/kicad/issues/8963
2021-08-17 15:41:12 +01:00
Wayne Stambaugh 8e1015fcc4 Remove all wxWidgets build dependencies from REPORTER object header. 2021-08-16 07:49:39 -04:00
Jeff Young 1a252b4f96 Add a compile error for ill-defined rules, and more performance.
Also adds const-safety to GetBoard().
2021-08-16 12:14:17 +01:00
jean-pierre charras c6ce367f1e Avoid duplicate strings to avoid typos and not synchronized strings
Fixes #8964
https://gitlab.com/kicad/code/kicad/issues/8964
2021-08-15 17:50:23 +02:00
Jeff Young 41619ebbe2 Decouple PROGRESS_REPORTER interface from implementations. 2021-08-14 21:05:49 +01:00
Jon Evans aae0e7e121 Fix build on Linux
wxString does not automatically cast to std::string
2021-08-14 09:57:01 -04:00
Jeff Young bff247b08a Hook up 3D viewer colors to board stackup.
Fixes https://gitlab.com/kicad/code/kicad/issues/5173
2021-08-14 14:00:17 +01:00
Jeff Young ef9f041279 Don't show 3D color opacities where they're not supported.
Fixes https://gitlab.com/kicad/code/kicad/issues/8938
2021-08-14 14:00:17 +01:00
Jeff Young ed38028eaf Fully resolve path list for Kicad2Step.
Fixes https://gitlab.com/kicad/code/kicad/issues/7670
2021-08-14 11:21:25 +01:00
Jon Evans 37fd7c785e Make macOS path determination tolerant of bundle renaming
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8922
2021-08-13 17:00:45 -04:00
Jeff Young 4c3954aea8 Clearer DRC rule token name for hole_size. 2021-08-13 16:18:56 +01:00
jean-pierre charras a0da252a6a SETTINGS_MANAGER::Prj(): add a wxASSERT to allow python script debug before a crash
Due to a bug, SETTINGS_MANAGER::Prj() returns a null PROJECT when running a
python script from the python console. this wxASSERT helps debugging.
2021-08-13 11:15:12 +02:00
Jeff Young c536a4c4f2 Work around annoying wxWidgets assert. 2021-08-10 16:51:30 +01:00
Jon Evans 6b48825aa0 Add support for ngspice >= 35 version reporting 2021-08-09 17:19:59 -04:00
Jeff Young a10f2b284c Unify negative zero and percent handling in UNIT_BINDER.
Some values, such as solder mask margins, are usually negative and it
helps to display zero as "-0.0".
2021-08-06 18:16:38 +01:00
jean-pierre charras 5f84071cfa Gerber plotter, GERBER_PLOTTER::plotArc( SHAPE_ARC& aArc ): fix missing G75 command 2021-08-06 17:45:57 +02:00
Jeff Young d6443d5a2c Reduce type-casting a bit. 2021-08-04 17:11:35 +01:00
Jeff Young ae99e627bd Quiet Coverity. 2021-08-04 13:55:42 +01:00
Jeff Young c5e195bdff Cleanup (includes and formatting). 2021-08-03 18:37:23 +01:00
Jeff Young 95b87ba29a Freshen microwave polygon dialog and remove a bunch of dead code. 2021-08-03 01:11:11 +01:00
david-beinder c34f45f646 Split global label size expansion from TextOffset setting
Global label expansion ratio default is now 37.5%
Wire text offset default is now 15%
2021-08-02 16:40:36 +00:00
david-beinder bab13debcb Improve overbar rendering in PCB and global labels
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8584
Moves the font slightly down in global labels
Keeps font with overbar at the same size in PCB OpenGL renderer
2021-08-02 16:40:36 +00:00
Jeff Young 78fd268b18 Retire PARAM_OBSOLETE in favour of a schema migration. 2021-08-02 17:38:15 +01:00
Jeff Young 7d501e8a43 Add PARAM_OBSOLETE to clean out old JSON structures.
While not technically necessary, the old structures can be confusing
to users looking at the files.

Fixes https://gitlab.com/kicad/code/kicad/issues/8856
2021-08-02 12:53:57 +01:00
Jeff Young 4876e1b327 Make sure user.json file gets created if it didn't already exist.
Fixes https://gitlab.com/kicad/code/kicad/issues/8856
2021-08-02 02:48:23 +01:00
Jeff Young 6f1837b300 Formatting. 2021-08-02 01:52:58 +01:00
Jeff Young c51b1dad72 Generalize infobar MESSAGE_TYPE handling and use for DRC errors.
Fixes https://gitlab.com/kicad/code/kicad/issues/8782
2021-08-01 21:51:39 +01:00
Jeff Young e636fb32cf Fix typo initializing buswidth with linewidth value.
Also reduces line-wrapping a bit.

I don't think this fixes the linked bug, but I can't reproduce it
and this was found while reviewing the code.

Fixes https://gitlab.com/kicad/code/kicad/issues/8810
2021-08-01 19:33:19 +01:00
Jeff Young 7033dd68c0 Default WX_GRID to no cell overflows.
Fixes https://gitlab.com/kicad/code/kicad/issues/8892
2021-08-01 11:57:45 +01:00
Ian McInerney baf6798695 Check for column existence before checking for tooltip enabled
Otherwise we try to read a bitset at location -1, which triggers
and assert on MSVC.

Fixes https://gitlab.com/kicad/code/kicad/issues/8890
2021-07-29 23:18:26 +01:00
Jeff Young 8aea2cbd03 When ignoring click events don't ignore synthetic ones.
Fixes https://gitlab.com/kicad/code/kicad/issues/7255
2021-07-29 18:07:04 +01:00
Jeff Young f024bf2289 Don't restrict page sizes unnecessarily.
Also don't validate custom sizes unless they are enabled.

Fixes https://gitlab.com/kicad/code/kicad/issues/8880
2021-07-29 16:47:45 +01:00
Jeff Young 6aaf4413b3 Fix kicad_string.h / string.cpp mismatch.
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
2021-07-29 16:03:25 +01:00
Jeff Young f221220fe2 Rename layer ids file.
It hasn't had anything to do with colors or visibility for some time
now.
2021-07-29 16:03:25 +01:00
Jeff Young 293f207356 Hopefully the last of the symbol id escaping issues.
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-07-28 19:44:42 +01:00
Wayne Stambaugh f233f4a0a9 Expunge EDA_FILE_SELECTOR.
EDA_FILE_SELECTOR was just an obfuscation of wxFileSelector().
2021-07-28 14:12:51 -04:00
Jeff Young 6d4c454e8c Fix some more missing escaping for symbol ids.
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-07-28 18:37:09 +01:00
Ian McInerney 36d66085f5 Add a column showing 3D model file loading errors
This adds an icon to the left of the row with an error symbol if the
file can't be found or opened, and shows a tooltip over the icon with
and error string.

Fixes https://gitlab.com/kicad/code/kicad/issues/3815
2021-07-28 16:42:22 +01:00
Jeff Young 3a5d49f7b2 Make select-all hack work with Scintilla too.
Fixes https://gitlab.com/kicad/code/kicad/issues/8876
2021-07-28 00:16:18 +01:00
Jeff Young 29b23df7a1 Save both front and back soldermask colour preferences.
Fixes https://gitlab.com/kicad/code/kicad/issues/8856
2021-07-27 22:26:13 +01:00
Jeff Young 19de38bbae Avoid Mac-standard Cmd+H as well.
Fixes https://gitlab.com/kicad/code/kicad/issues/8864
2021-07-27 22:26:13 +01:00
Jeff Young 484b6bae64 Make Reset to Defaults button responsive to current page.
Fixes https://gitlab.com/kicad/code/kicad/issues/8864
2021-07-27 17:56:45 +01:00
Jeff Young 886dc2f43e Do-not-show-again section for common prefs & zone fill warning infobar.
Note that the dialogs which have mutliple options were not moved over
as it seems perahps not the right choice to have them save state between
sessions.

Fixes https://gitlab.com/kicad/code/kicad/issues/8762
2021-07-27 15:15:49 +01:00
Jeff Young a2cb3e916a Add a couple of OSX-standard keyboard cmds to Scintilla.
Fixes https://gitlab.com/kicad/code/kicad/issues/8865
2021-07-27 15:15:49 +01:00
Wayne Stambaugh 37b200cb3e Pass wxString objects by reference instead of on the stack. 2021-07-27 08:41:27 -04:00
Wayne Stambaugh 78e5e98ea0 Pass VECTOR2I objects by reference instead of on the stack. 2021-07-27 08:41:27 -04:00
Wayne Stambaugh 8fd83cbb95 Pass wxPoint objects by reference instead of on the stack. 2021-07-26 15:35:33 -04:00
Jeff Young e62969d007 Move zone fracture display mode to AdvancedCfg, and add triangulation.
Fixes https://gitlab.com/kicad/code/kicad/issues/8762
2021-07-26 18:57:35 +01:00
Wayne Stambaugh 89b1fdabe9 Pass COLOR4D object by reference instead of on the stack. 2021-07-26 13:28:56 -04:00
Marek Roszko 8921eef0be Add a "Open Demos Project" shortcut to the kicad launcher
Small UX improvement for the new user....
2021-07-25 21:58:57 -04:00
jean-pierre charras 1aadf45947 DIALOG_SHIM: fix not working initial size when creating a dialog.
The first time a DIALOG_SHIM was created, with a given size, this size
was not taken in account. This this is now forced.
(when recreated during a session, this is the last dialog size that is used)
2021-07-24 18:59:28 +02:00
jean-pierre charras dbf17f83ed Minor fixes (DIALOG_DISPLAY_HTML_TEXT_BASE: ensure min size is working). 2021-07-24 17:03:36 +02:00
Jeff Young 373f0335c8 Convert Altium radial dimensions to leaders.
This is because we don't yet support radial dimensions.

Also fixes a bug where we fail to read an Altium circular track.  We
now convert it to a pair of 180-degree arcs.

Also fixes a bug where we were failing to import prefixes on linear
dimensions.

Fixes https://gitlab.com/kicad/code/kicad/issues/8789
2021-07-24 14:25:59 +01:00
Jeff Young 531f5480a7 Reduce line-breaks and increase SNR. 2021-07-24 14:25:59 +01:00
Jeff Young 3c1af1af74 Update selected tool string when language changes.
Fixes https://gitlab.com/kicad/code/kicad/issues/8813
2021-07-23 20:16:53 +01:00
Wayne Stambaugh 1a301d8eea Stop using wxDialog::EndModal() from inside dialogs.
Calling wxDialog::EndModal() directly from inside the dialog is a
potential bug if the dialog is shown in the modeless or window modal
(quasi-modal).  Use the internal button events where possible and
check for the appropriate mode before calling the correct end dialog
function.
2021-07-21 17:38:14 -04:00
Pradeepa Senanayake 6001ac0704 Fixed the color picker double click event 2021-07-18 16:28:49 +00:00
Wayne Stambaugh bcd6bddfd4 Start expunging NULL.
Given that KiCad is a C++ project, we should really be using nullptr
instead of NULL.
2021-07-15 15:44:45 -04:00
Mika Laitio 1e21daf781 fix if comparison with uninitialized member value
Fix the valgrind warning from the use of an uninitialized
member variable by setting the DEFAULT value for
m_currentNativeCursor in the constructors member initializer list.
This fixes the following warning caused by the SetNativeCursorStyle
method call later on the constructor.

==66660== Warning: client switching stacks?  SP change: 0x1ffeffee40 --> 0xdf7efe8
==66660==          to suppress, use: --max-stackframe=137187819096 or greater
==66660== Conditional jump or move depends on uninitialised value(s)
==66660==    at 0x13F0764E: UnknownInlinedFun (graphics_abstraction_layer.cpp:276)
==66660==    by 0x13F0764E: KIGFX::GAL::GAL(KIGFX::GAL_DISPLAY_OPTIONS&) (graphics_abstraction_layer.cpp:78)

Error can be reproduced and checked from the log.txt
by launching kicad with valgrind command
"valgrind --leak-check=full kicad > log.txt 2>&1"
and then launching the footprint editor from the kicad main dialog.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8784

Signed-off-by: Mika Laitio <lamikr@gmail.com>
2021-07-15 16:18:24 +00:00
Pradeepa Senanayake 6cde086ef9 Double click on defined colour executes OK action
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8778
2021-07-14 23:26:40 +00:00
Jon Evans ae55db77c5 Allow hiding version from manager title bar with advanced config 2021-07-14 18:24:21 -04:00
Wayne Stambaugh 01515680b3 Code cleaning. 2021-07-14 15:47:32 -04:00
Wayne Stambaugh 346b876eb7 Fix Coverity issue #332157. 2021-07-13 17:10:13 -04:00
Jeff Young c3bf51c94b Remove unused variables. 2021-07-13 20:07:49 +01:00
Jeff Young 2739cdbd43 Add error message logging to opening of drawing sheet. 2021-07-13 19:59:03 +01:00
Jeff Young f0513978ff Back-port some fixes from 7.0 branch. 2021-07-13 17:24:23 +01:00
david-beinder 8b3ccab0a3 Implement explicit polygon construction for most pad shapes
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8650
2021-07-13 14:51:58 +00:00
luz paz 0446d35f0d Fix source comment/doc typos (follow-up)
Found via `codespell -q 3 -S *.po,./thirdparty -L aactual,acount,aline,alocation,alog,anormal,anumber,aother,apoints,aparent,aray,dout,einstance,modul,ot,overide,serie,te,,tesselate,tesselator,tht`
2021-07-13 10:48:17 +00:00
jean-pierre charras 1151783a34 Gerbview: fix an issue (Debug only) with RoundRect aperture macro.
When a RoundRect aperture macro was used with a radius = 0, a wxWidget assert
was generated, due to incorrect polygonal shape to draw.
2021-07-13 10:23:55 +02:00
jean-pierre charras aefa969931 DIALOG_COLOR_PICKER: speedup the color map bitmaps build.
Use a wxImage to create the bitmap (much faster), instead of a wxMemoryDC.
Fixes #8779
https://gitlab.com/kicad/code/kicad/issues/8779
2021-07-12 13:11:03 +02:00
Marek Roszko 759f0e9a75 Be sure to stop the timer during widget destruction
Also fix a comment elsewhere :D

Fixes #8772
2021-07-11 19:17:34 -04:00
jean-pierre charras fb246403d2 PROGRESS_REPORTER: avoid clipping the bottom of the dialog in some cases.
It occurred on Windows, when the message to display is too long and was
displayed using 2 lines.
Now the dialog is resize after changing the message.
Fixes #7953
https://gitlab.com/kicad/code/kicad/issues/7953
2021-07-11 17:52:54 +02:00
Marek Roszko 9162013132 Add advanced cfg to force reloading memory cached 3d models 2021-07-11 00:35:38 -04:00
Marek Roszko 7cb0f8f808 Add ADVANCED_CFG to always reload cached 3d models in memory 2021-07-11 00:31:06 -04:00
Marek Roszko 79b90813ec Add ADVANCED_CFG to skip caching 3d models to file 2021-07-11 00:00:06 -04:00
Jeff Young 01d3a88faa Allow unnamed embedded step files in altium boards.
Fixes https://gitlab.com/kicad/code/kicad/issues/7898
2021-07-10 16:37:45 +01:00
Jeff Young 353dc95f06 Improved spacing. 2021-07-10 10:19:01 +01:00
Jeff Young 625006ca30 Remove front/back SMD pad color now that we have opacity sliders.
Fixes https://gitlab.com/kicad/code/kicad/issues/8761
2021-07-10 10:13:55 +01:00
Jeff Young a06b95bb1f Even out spacing around various panels. 2021-07-09 23:42:45 +01:00
Wayne Stambaugh 6c3ba1c20b Coverity issue fixes.
Issues #332032, #332086, #332157, and #332171.
2021-07-09 10:56:35 -04:00
Jeff Young 9975b8fb10 Attempt to handle deleting double-byte chars in Scintilla. 2021-07-08 20:44:04 +01:00
Jeff Young f59ee53540 Comparen canonicalKey, not raw key.
Fixes https://gitlab.com/kicad/code/kicad/issues/7979
2021-07-08 15:53:08 +01:00
Jeff Young a4263ebce5 Clean up Altium special string handling
1) Fix a couple of bugs in case processing
2) Make case processing more explicit to prevent more (1)
3) Move label processing to AltiumSpecialStringsToKiCadVariables
4) Strip double-quotes from special strings (and add test cases)
5) Change PROJECTNAME to just filename, not full path
6) PROJECTREV and REVISION are two different things
7) Add support for Altium's Application_BuildNumber
8) Fix some issues in trimming spaces around special strings
2021-07-08 15:34:38 +01:00
Wayne Stambaugh 65c7958293 Coverity issue fixes.
Issues #331869, #331875, #332203, #332159, #332171, #332180, and #332648.
2021-07-08 08:33:08 -04:00
Jeff Young 3f165c70e1 Import more Alitum parameters.
ADDED CURRENT_DATE titleblock token (to go with existing ISSUE_DATE)
ADDED PROJECTNAME schematic token (to go with FILENAME and SHEETNAME)

Converts other parameters to project text variables.
2021-07-08 00:19:31 +01:00
Wayne Stambaugh d6420d458e Fix wxWidgets version check. 2021-07-07 16:52:21 -04:00
Wayne Stambaugh 7ca48c42d9 Fix build error in library tree widget. 2021-07-07 15:50:04 -04:00
Jeff Young a4237c3346 Fix the search widget to process <enter>. 2021-07-07 17:54:22 +01:00
Jeff Young 1e76b7808f Don't post events if un-evaluated-value isn't any different.
Fixes https://gitlab.com/kicad/code/kicad/issues/8745
2021-07-07 12:43:33 +01:00
Jeff Young 190b0ecdeb Formatting. 2021-07-06 20:27:28 +01:00
Wayne Stambaugh 9d348d7e6d Coverity issue fixes. 2021-07-06 13:32:34 -04:00
Jeff Young 799d6690c0 Only convert overbar syntax on names, refdes and text.
In particular, don't try and convert filenames which may be in
windows format.

Fixes https://gitlab.com/kicad/code/kicad/issues/git
2021-07-06 13:30:17 +01:00
Marek Roszko 5116fa6d12 Fix STEPPED_SLIDER glitchlyness on windows
wxWidgets drives some of this problem, it blindly calls SetValue and invokes the win32 update position messages on all the scroll subevents and we end up fighting it as well by inserting the rounded position on each subevent rather than the final one
2021-07-06 00:58:19 -04:00
Marek Roszko 70ce74ed4a Configure page and line size in STEPPED_SLIDER 2021-07-06 00:40:53 -04:00
Marek Roszko c356cd2aa9 Enable the tick marks to actually show on the STEPPED_SLIDER 2021-07-06 00:06:57 -04:00
Marek Roszko 96a177da3d Add more input controls to IsInputControlEditable
O god this is going to eventual cause performance issues....but this fixes keyboard based form input in some places like pl_editor with its dropdowns
2021-07-05 23:47:16 -04:00
Marek Roszko 1fb42c5e43 Try and cleanup the input focus/key event a little 2021-07-05 20:48:48 -04:00
Marek Roszko 12305990bb Fix focus stealing from wxDataViewCtrl 2021-07-05 13:45:06 -04:00
Marek Roszko 84092ce6d4 Update the event handling guard for focused controls 2021-07-05 13:45:06 -04:00
Jon Evans 4f3674bd1d Fix mangling of direct json_pointer access 2021-07-05 12:33:08 -04:00
Jon Evans 3f55093bff JSON_SETTINGS: Provide explicit CloneFrom 2021-07-05 12:26:21 -04:00
Marek Roszko f524d9bec2 Add search control to the focus guard 2021-07-05 11:39:05 -04:00
Marek Roszko 2d696c3606 Update SetHint to SetDescriptiveText 2021-07-05 11:32:00 -04:00
Jeff Young ea6769b702 The REPORTER interface is inherently line-based.
Also fixes a bunch of error messages that were similar but not
identical (which just increases translation burden).

Fixes https://gitlab.com/kicad/code/kicad/issues/8723
2021-07-05 13:41:06 +01:00
Jeff Young 6cc564aead KiCad variable resolution is case sensitive OR all-upper-case.
Bring Altium variable references (which are case-insensitive) in as
all-upper-case.

Fixes https://gitlab.com/kicad/code/kicad/issues/6256
2021-07-05 11:05:46 +01:00
Marek Roszko d2aeddc6cb Add debouncing to the choose symbol dialog.
More potato pc friendly in theory.
2021-07-04 21:59:51 -04:00
Marek Roszko 3b33f94c56 Use a wxSearchCtrl instead of wxTextCtrl for the symbol chooser window
This just makes it prettier with the search icon and cancel
2021-07-04 21:24:03 -04:00
Marek Roszko 8e229a26c8 Fix define check added in dd11f86000 2021-07-04 18:50:58 -04:00
Jeff Young dd11f86000 Don't show Ctrl-W for Close on MSW.
Fixes https://gitlab.com/kicad/code/kicad/issues/8391
2021-07-04 23:22:39 +01:00
Jeff Young 8f0104f921 Fix case of CLion getting a little carried away. 2021-07-04 16:23:57 +01:00
Mikolaj Wielgus 8b2b3ca797 Define .wbk in wildcards_and_files.{cpp,h}, cosmetic code changes 2021-07-04 14:04:03 +00:00
Jeff Young c11ee69499 Save 3D prefs after editing, and load some of them into FP Props.
Fixes https://gitlab.com/kicad/code/kicad/issues/8712
2021-07-04 13:20:55 +01:00
david-beinder f33ea6f997 Kiway: Improve performance by using IDs and clearing closed frame entries 2021-07-03 22:48:46 +00:00
david-beinder a5308e5f5c Fix python console toggle to work across pcbnew/eeschema 2021-07-03 22:48:46 +00:00
Jeff Young 5e30be66aa Quiet unused variable warning on Mac. 2021-07-03 23:39:34 +01:00
Jon Evans e95323a37e Revert "Remove unused variable."
It's only unused on Mac

This reverts commit d3fb22014f.
2021-07-03 16:48:46 -04:00
Jeff Young d3fb22014f Remove unused variable. 2021-07-03 21:16:15 +01:00
Wayne Stambaugh 3f6811f413 Minor dialog layout improvements. 2021-07-02 11:36:06 -04:00
Jeff Young f8a34d98b3 Support for overbar syntax in Altium importer.
Fixes https://gitlab.com/kicad/code/kicad/issues/7979
2021-07-01 21:03:53 +01:00
Wayne Stambaugh 175b474c3e Coverity issue fixes.
Fixes issues #280412, #314755, #329615, #332459, #332157, #332167,
2021-06-30 18:08:49 -04:00
Jeff Young 6810912f09 Refuse to load schematics from the future.
Also fixes a bug where an empty window would get left when loading
a file from the KiCad manager window errored out.

Also fixes a bug where we were getting the wrong exception because
we were rethrowing the type-casted one (rather than just calling
throw).

Fixes https://gitlab.com/kicad/code/kicad/issues/8604
2021-06-30 18:32:07 +01:00
Jeff Young 5cac8afe1d Remove long-dead revision support for LIB_IDs. 2021-06-30 13:12:57 +01:00
Jeff Young b1b4caee6a Escape "naughty" characters in symbol names.
It's tempting to say that we don't need to exclude filename chars
from symbols, but we might regret that decision down the road.  Better
to just escape them.

Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-06-30 13:12:57 +01:00
Jeff Young 0c2ac9a711 Move GUI font code to common.
This also allows the Mac fixes for font facenames to be more
compartmentalized.

Fixes https://gitlab.com/kicad/code/kicad/issues/8657
2021-06-29 18:27:58 +01:00
Jeff Young 1db33c7b3a More safety (and better impl) for not sharing FP table/info stuff.
Fixes https://gitlab.com/kicad/code/kicad/issues/8657
2021-06-29 12:46:16 +01:00
Jeff Young a1dfc36233 More error message regularization. 2021-06-29 01:08:26 +01:00
Jeff Young 3347531f70 Better zoom defaults for 3D viewer.
Also includes a fix for 3D model viewer in the file dialog for Retina
(and possibly other HIDPI) displays.

Fixes https://gitlab.com/kicad/code/kicad/issues/6144
2021-06-28 19:08:23 +01:00
Jeff Young 4594d88417 Help string for netclass colors.
Fixes https://gitlab.com/kicad/code/kicad/issues/7514
2021-06-28 13:23:41 +01:00
Jeff Young d296bec5b8 Differentiate aSingleLine mode for SCINTILLA_TRICKS
This allows us to avoid the monospaced font (along with the tab-stop
handling), and process a <return> as an OK rather than just <shift> +
<return>.

Fixes https://gitlab.com/kicad/code/kicad/issues/8425
2021-06-28 11:20:12 +01:00
Jeff Young 062c4fda62 More error message regularization (and translatability improvements). 2021-06-28 00:45:24 +01:00
Jeff Young 4aa8318dc2 More error message regularization. 2021-06-27 14:24:02 +01:00
Jeff Young 0d72e253f0 Use correct error message box.
(Also updates the string to avoid the never-ending Mac double-quote
problem.)
2021-06-27 10:58:05 +01:00
Marek Roszko ff2190630e Optimize UnescapeString slightly to avoid repeated wxString::at calls 2021-06-27 00:54:52 -04:00
Marek Roszko 7802037495 Namespace the env_vars.h functions 2021-06-27 00:38:19 -04:00
Jeff Young 0f27618125 Use a list dialog that can be parented by the Board Setup dialog.
(The current one keeps pulling the Kicad Manager window to the front
on OSX.)

I also removed the UpdateUI stuff which was probably causing:

Fixes https://gitlab.com/kicad/code/kicad/issues/5049
2021-06-27 01:41:35 +01:00
Jeff Young 0dfb5fcaf9 Error message cleanup.
wxString::Format is redundant in a wxLogXXX call.
Error messages should generally be translatable.
Error messages should use generally consistent sentence forms.
2021-06-26 22:53:24 +01:00
Jeff Young 5c21f93803 Consistency in progress and error messages. 2021-06-26 13:23:43 +01:00
Thomas Pointhuber e50eaed7b9 altium: Improve parsing of UTF-8 data
This is an implementation based on d4ccec05 from @fxtentacle
2021-06-26 13:58:56 +02:00
Jeff Young 95ec9c786c Board setup spacing. 2021-06-26 10:55:31 +01:00
Jeff Young 1f4a56005e Remove extraneous isPrinting test.
Fixes https://gitlab.com/kicad/code/kicad/issues/8609
2021-06-25 12:44:51 +01:00
Jeff Young cbe7f9057b Add link to wxWidgets bug report. 2021-06-25 10:09:49 +01:00
jean-pierre charras 964cbb95d3 gestfich.cpp: fix an issue on wxGTK when calling wxLaunchDefaultApplication()
- On wxGTK version < 3.1, the filename must be quoted if containing spaces,
and can be always quoted.
- On wxGTK version >= 3.1, the filename must *never* be quoted because
a quoted filename breaks wxLaunchDefaultApplication().
Fixes #8670
https://gitlab.com/kicad/code/kicad/issues/8670
2021-06-25 11:06:41 +02:00
Jeff Young 27804e40e2 Go back to using space-width for tabs (instead of max-char-width).
The max-char-width impl was buggy and never applied to PCBNew anyway.
Plus the stroke font has a max-char-width of 2.8 time the space width,
so it made for really wide tab spacing.

Also fixes a bug where the Scintilla editors weren't getting a
monospace font on Mac.  (This bug may also exist on the other
platforms, but each would need its own fix.)

Also moves more of the Scintalla customizations to SCINTILLA_TRICKS
where they can be shared.

Fixes https://gitlab.com/kicad/code/kicad/issues/8666
2021-06-24 23:53:27 +01:00
jean-pierre charras 450b0c9e27 single_top.cpp: re-add lines removed by commit 5fa5a73c, needed in stand-alone.
Otherwise, the main frame created in stand-alone mode is never shown.
2021-06-24 09:04:27 +02:00
Jeff Young 5fa5a73c6d File open/import progress dialogs.
Fixes https://gitlab.com/kicad/code/kicad/issues/6864

Fixes https://gitlab.com/kicad/code/kicad/issues/2166
2021-06-23 23:55:54 +01:00
Jeff Young 3269f45776 Add wxDataView-style defensive code to wxListView usage.
Fixes https://gitlab.com/kicad/code/kicad/issues/8657
2021-06-22 22:25:06 +01:00
Marek Roszko c72914c43c Use Normalize instead of MakeAbsolute
Ugh doing this while headhurts much
2021-06-21 18:07:23 -04:00
Marek Roszko 5184908dd1 Fix accidental oversight for linux run from build dir paths 2021-06-21 18:05:38 -04:00
Marek Roszko aadb62bd42 Avoid generating paths on windows with ".." in them
This causes wxwidgets to failover to legacy windows dialogs as windows doesn't know how to handle them being passed to dialogs.
2021-06-21 18:03:55 -04:00
Jeff Young fb4343bc8f Expand text bounding boxes a bit for diacriticals, descenders, etc.
Fixes https://gitlab.com/kicad/code/kicad/issues/8551
2021-06-20 23:22:56 +01:00
Jeff Young 99da3d1336 Bail on single instance checker.
We lock the project file, board, and schematic now, so the second copy
can only open them read-only.  While issues might remain, it's unclear
the warning ever prevented anyone from shooting themselves in the foot
anyway.

Fixes https://gitlab.com/kicad/code/kicad/issues/7465
2021-06-20 21:37:02 +01:00
Jeff Young 3d7e18561d Checkpoint of app-specific single-instance checking.
(I'm about to nuke single-instance checking entirely, but wanted to
make sure this was captured in GIT somewhere.)
2021-06-20 21:37:02 +01:00
Jeff Young 8631d670a4 Don't selectall in GTK text boxes.
It's not clear that it's normal platform behaviour, and some GTK
window managers fail to non draw the selection in inactive text
boxes.

Fixes https://gitlab.com/kicad/code/kicad/issues/8197
2021-06-20 21:37:02 +01:00
Jeff Young 5a43392eae Protect against double overbar format conversion. 2021-06-20 11:26:16 +01:00
Jeff Young 937f5138db Make zoom-to-fit margin big enough for infobar.
Otherwise part of the document is obscured behind it by default.
2021-06-19 22:45:47 +01:00
Érico Nogueira 88a8ef949c Remove OpenSSL locking from kicad_curl.
It's fair to assume all libcurl versions in circulation will already be
using OpenSSL>=1.1.0. This code is also unnecessary on platforms that
use other libcurl SSL backends, such as Debian's libcurl-gnutls package.
2021-06-19 19:43:54 +00:00
Jon Evans 518ccb3f9a Fix typo 2021-06-19 15:10:35 -04:00
Jon Evans 5a832fc337 Fix assert that fires sometimes when closing windows on mac 2021-06-18 18:15:00 -04:00
Jon Evans 1edc232af1 Only run window position correction on wxMac
Other platforms seem to handle this properly already, and
fighting against size changes is not desirable
2021-06-18 12:47:10 -04:00
Jon Evans 4c8a4e3d47 Fix wx 3.0 build 2021-06-18 00:21:56 -04:00
Jon Evans 32c21f4a94 Fix several window sizing problems on macOS
- Remove outdated y-offset that prevented restoring full-height
  (client area returned by wx is correct these days)
- Clamp frame geometry to fit new display when display is changed
- Handle when an automatic window reposition causes a DPI change

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8341
2021-06-17 23:59:19 -04:00
Jeff Young 7fde05e8ee Add title to Save Changes dialog. 2021-06-17 18:23:58 +01:00
Jeff Young 1722bc03b0 Consistent terminology and punctuation. 2021-06-17 00:05:17 +01:00
Mikolaj Wielgus 2a3d8e22b6 Do not create overbar from "~~" when converting to new format
Fixes bug 4 from https://gitlab.com/kicad/code/kicad/-/issues/8591.
2021-06-16 22:35:39 +00:00
Jeff Young 0d2ea6223b Don't throw in a release build if the "keep" namespace is missing.
Fixes https://gitlab.com/kicad/code/kicad/issues/8618
2021-06-16 17:31:31 +01:00
Marek Roszko 45c7c7c350 Remove unused m_crossHairPosition 2021-06-15 21:25:27 -04:00
Mikolaj Wielgus 9a42ec753f Recognize ' ', '}', ')' as terminators of overbar in conversion
Fixes bug 3 in https://gitlab.com/kicad/code/kicad/-/issues/8591.
2021-06-15 22:07:35 +00:00
Jeff Young abc5a6e775 Migrate net names in netclass info.
Fixes https://gitlab.com/kicad/code/kicad/issues/8606
2021-06-15 00:17:39 +01:00
Jeff Young 38312f0aca Don't rely on exception processing for normal flow.
Also make sure when we do update the json in the parent to use the
form that will create the object if it doesn't already exist.
2021-06-15 00:17:39 +01:00
Wayne Stambaugh fb46cd8bc5 Expunge the use of the word component from Eeschema code.
The only exception to this is the SPICE simulator's use of component
when referring to physical component (R, L, C, etc.) values.
2021-06-14 14:00:21 -04:00
Jeff Young 2c1da70181 Write all variables to temp config file and have Kicad2Step use that.
Fixes https://gitlab.com/kicad/code/kicad/issues/7670
2021-06-14 16:54:45 +01:00
Michal Schulz 44978f00e3 Use compiler-agnostic designation of fall-through in switch/case. 2021-06-14 14:52:37 +00:00
Wayne Stambaugh 71c183d7bb Rename LIB_PART to LIB_SYMBOL. 2021-06-14 07:11:17 -04:00
Mikolaj Wielgus 2af06a9d60 Fix stroke text size calculation and bitmap text overbar
Fixes bug 1 from https://gitlab.com/kicad/code/kicad/-/issues/8591.

Fixes a bug where no overbar would appear in bitmap text.
2021-06-14 09:09:30 +00:00
david-beinder da833ad7dd Separate focus from hover state in BITMAP_BUTTON, trigger after mouse down+up
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8556
Adds AcceptDragInAsClick() to maintain support for use in toolbar palettes
2021-06-13 17:00:41 +00:00
Jon Evans db276909ba Get rid of screen border region logic
This prevents restoring perfectly-valid screen locations, and
I'm not sure what problem it is trying to solve (it's already
disabled on Windows, and this is confirmed to mess up restoring
locations on Mac/Linux).

If this was actually fixing a problem, the fix needs to be more
targeted, but since I don't know what the problem was, I'm just
going to take it out for now and wait for a potential problem
to pop up again.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8595
2021-06-13 12:52:09 -04:00
Jeff Young 74cefecaac Add legacy empty-string token handling to EDA_TEXT. 2021-06-13 12:11:01 +01:00
Jeff Young a64ac820db Refresh canvas after running event from toolbar.
Fixes https://gitlab.com/kicad/code/kicad/issues/8592
2021-06-12 22:31:25 +01:00
Jeff Young d044e6fed3 Don't try and convert legacy empty-string tokens to overbar syntax. 2021-06-12 20:40:41 +01:00
Jeff Young db8cbad2d7 Add Ctrl-Q symbol to quit items in menus.
Fixes https://gitlab.com/kicad/code/kicad/issues/8391
2021-06-12 11:59:28 +01:00
Jeff Young 9328c78b08 Fix issue with overbars in bitmap text. 2021-06-12 11:49:12 +01:00