Seth Hillbrand
b736460e71
Move optional access from value() to *operator
...
`value()` throws. Where we check for existence, we don't need to use
the throwing version and should just use the unprotected variant
2022-08-30 13:59:39 -07:00
Seth Hillbrand
91fbb5c957
Don't prevent immediate actions while router active
...
Immediate actions that can take place are useful. We should only be
preventing immediate actions while actively routing or dragging
Fixes https://gitlab.com/kicad/code/kicad/issues/12311
2022-08-30 10:31:29 -07:00
Seth Hillbrand
f1261e71d4
Replace boost::optional with std::optional
2022-08-25 15:50:47 -07:00
Alex
3a76d42630
Cross-probing/selection for multiple items (PCB -> SCH)
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10469
2022-08-22 19:33:39 +00:00
Jeff Young
4f0136db3b
Attempt to fix std::initializer_list lifetime issue.
2022-08-21 20:54:41 +01:00
Jeff Young
aa2ad3b44c
Move KICAD_T[] to std::initializer_list<KICAD_T>.
2022-08-20 10:28:11 +01:00
Jeff Young
51b905ba32
Move Configure Paths help inside dialog.
...
This allows us to switch back to a standard modal dialog (instead of
quasi-modal, which has problems with Ctrl-V in a search box inside a
standard file dialog -- such as when picking a path).
Fixes https://gitlab.com/kicad/code/kicad/issues/9473
2022-08-07 11:28:16 +01:00
Jeff Young
5c9aed62aa
Use wxWidgets IDs for cut/copy/paste.
...
This allows them to work in places like search boxes in standard file
dialogs. If wxWidgets doesn't find the standard IDs in our menus
then it won't enable them.
2022-08-07 11:28:16 +01:00
Jeff Young
6f49b57f9b
Cleanup & performance enhancements.
2022-08-01 13:09:51 +01:00
Jeff Young
6e0d31b812
Improve grid tooltip.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9841
2022-07-27 12:29:01 +01:00
jean-pierre charras
993c446fdf
Fix some warnings detected by PVS-STUDIO (most are not used vars)
2022-07-25 18:23:52 +02:00
Jeff Young
e5a664c6b3
Try a slightly different tack for cancelling net highlighting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12029
2022-07-19 10:31:49 +01:00
Seth Hillbrand
db4f2d9dd8
Catch some crashes on shutdown
...
These can happen when a tool is active that sends signals when exiting
(e.g. deselectEvent). These may be caught by the active loop in another
tool which might try to update the UI after it has been freed. By
marking all tools as "shutdown", the only event returned to them should
be null. As an extra precaution, we flag the shutdown globally within
the tool manager and check this flag before launching either events or
new tools
Fixes https://gitlab.com/kicad/code/kicad/issues/10698
2022-07-15 16:56:01 -07:00
Seth Hillbrand
b5bf1da251
Keep track of blocking windows
...
Allows the calling KiWAY player to send messages to the blocking window
before signaling a separate call
Fixes https://gitlab.com/kicad/code/kicad/issues/11891
Fixes https://gitlab.com/kicad/code/kicad/issues/11772
2022-07-13 19:25:24 -07:00
Jeff Young
57acce9e55
Share more code between selection tools.
2022-07-11 19:04:08 -06:00
Jeff Young
e122dc38bd
Add context menu item for clearing net highlighting.
...
In selection tools, drawing tools, router tool, line_wire_bus tool.
Fixes https://gitlab.com/kicad/code/kicad/issues/11920
2022-07-10 17:15:20 -06:00
Mike Williams
64b89639cf
PCB Editor: Make Ctrl-Click net highlighting configurable
...
Defaults to ctrl-click is exclusive or selection like other
applications. Footprint editor can only be exclusive or.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10810
2022-06-28 16:29:14 +00:00
Zoltan Puskas
1c04eb6d0e
Fix -Wuninitialized warning in tool manager
...
Fixes #11866
https://gitlab.com/kicad/code/kicad/-/issues/11866
2022-06-20 22:40:42 +00:00
jean-pierre charras
c2707e0c8d
Add some missing icons.
2022-06-17 17:51:19 +02:00
jean-pierre charras
fa5150b05f
Add bitmaps paste_special to context menu.
2022-06-13 14:40:21 +02:00
Jeff Young
7ede2c70bd
Performance enhancements for hotkeys.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11592
2022-06-03 00:36:33 +01:00
Mike Williams
857990a883
Hierarchy: turn into a left side pane
...
Drop auto-closing option as well.
2022-06-02 21:56:17 +00:00
Jeff Young
abba1b04bd
Add "Enter Sheet" to Sheet tool (context menu & double-click).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11531
2022-05-30 14:08:26 +01:00
Jeff Young
5cae4cf918
Give zoom tool its own menu.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11702
2022-05-30 11:44:02 +01:00
Jeff Young
5c3b6980a5
Tooltip for bounding boxes.
2022-05-29 21:30:14 +01:00
Jeff Young
f2fc78f380
Don't copy modifiers to prime events.
...
The modifiers go with the hotkey, not with the action.
Fixes https://gitlab.com/kicad/code/kicad/issues/11618
2022-05-16 13:51:40 +01:00
Seth Hillbrand
110728af48
Prevent focus stealing in some Linux WMs
...
OnEnter events will only raise the windows within KiCad rather than
between applications
Fixes https://gitlab.com/kicad/code/kicad/issues/10809
2022-05-12 11:06:30 -07:00
Marek Roszko
ccf235a8c3
Suppress wx3.1.6 assert because it wants the window handle for dpi
2022-05-08 19:26:41 -04:00
Jeff Young
717ea48395
Don't interpred IS_CHANGED as busy.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11570
2022-05-06 22:36:30 +01:00
Jeff Young
90bfe2d94b
Remove Save Copy As from fp editor, and rename to Save a Copy elsewhere.
...
It's still used by Eeschema and PCBNew when not in stand-alone mode.
Fixes https://gitlab.com/kicad/code/kicad/issues/9185
2022-04-24 19:46:57 +01:00
Marek Roszko
f88e0481c8
Change the behavior of ACTION_MENU::Add to require clones if required outside the function
...
This reverts commit 2a5769607f
.
2022-04-11 19:03:01 -04:00
Seth Hillbrand
2a5769607f
Revert "Change the behavior of ACTION_MENU::Add to require clones if required outside the function"
...
This reverts commit 403992a6f4
.
2022-04-11 11:39:03 -07:00
Marek Roszko
403992a6f4
Change the behavior of ACTION_MENU::Add to require clones if required outside the function
...
Fix https://gitlab.com/kicad/code/kicad/-/issues/10994
2022-04-10 22:38:13 -04:00
Marek Roszko
5bb2cdf73d
Revert "Stop leaking submenu items"
...
This reverts commit 34c70a51ea
.
2022-04-10 22:33:43 -04:00
Marek Roszko
34c70a51ea
Stop leaking submenu items
...
Our menu bar code is interestingly complex. But we were throwing away newly made menu items to the void in the cases of constructed on the fly submenus
2022-04-10 22:04:48 -04:00
Jeff Young
107067ad05
On-the-fly translations for Grid and Zoom menus.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10961
2022-02-25 17:36:35 +00:00
Jeff Young
6d8507d44f
Formatting.
2022-02-25 17:36:35 +00:00
Jeff Young
d465eb6425
ADDED: automatic zone refilling.
...
This is for the out-of-box experience for novice users. It is presumed
that folks with larger more complicated boards will turn it off.
Fixes https://gitlab.com/kicad/code/kicad/issues/6413
2022-02-24 18:16:45 +00:00
Jeff Young
41f6e634c6
Partially integrate grid snapping with constraints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10941
2022-02-22 22:19:55 +00:00
Jeff Young
854987f663
Remove unit-less angles from geometry manager APIs.
2022-01-20 21:10:04 +00:00
Jeff Young
2defd8d911
Move show-bounding-boxes to a tool on the toolbars.
2022-01-17 11:56:40 +00:00
dsa-t
bc1ff6756f
Cross-probing/selection for multiple items (SCH->PCB)
2022-01-16 20:29:03 +00:00
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
2022-01-01 11:55:51 -05:00
Jeff Young
889970a449
SCH_NETCLASS_FLAGs and SCH_FIELDs for labels.
...
ADDED: a new label type for netclass flags.
ADDED: the ability to define fields on labels.
2021-12-24 16:13:27 +00:00
Jeff Young
d28714167c
All the preferences, all the time.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7877
Fixes https://gitlab.com/kicad/code/kicad/issues/5153
2021-12-24 13:08:44 +00:00
Mikolaj Wielgus
2ecd5ac909
Fix calculation of selection center
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9998
2021-12-16 08:13:52 +01:00
Jeff Young
7ffd43a6f4
Regularize the promotion of pads to footprints in non-free-pad mode.
...
Also regularizes some of the other selection filtering options.
This also fixes an invalidated iterator (and subsequent segfault) in
the old code.
Fixes https://gitlab.com/kicad/code/kicad/issues/9896
2021-12-08 13:08:54 +00:00
Mikolaj Wielgus
10be483430
Make an exception for SCH_TEXT in SELECTION::GetCenter()
...
And undo the previous changes in SCH_TEXT::Rotate().
We continue hitting this with a wrench until it gets fixed or becomes
broken beyond any recognition.
2021-12-04 05:32:48 +01:00
jean-pierre charras
ac7c51e2f7
Fix compil issue.
2021-12-03 16:49:43 +01:00
Mikolaj Wielgus
5f8f1542f8
Use the mean of all positions as center when rotating label-only selection
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9690
2021-12-03 16:18:43 +01:00
Seth Hillbrand
f97c7c78c8
Connect ruler tool with axes preferences
...
Adds "UpdatePreferences" action that is called when the preferences are
updated, allowing running tools to act on changes that may affect them
Fixes https://gitlab.com/kicad/code/kicad/issues/9737
2021-11-23 12:52:21 -08:00
david-beinder
b471945224
Fix MSVC C4312 warning when casting 32bit ints to pointer types on 64bit builds
2021-11-22 04:37:41 +00:00
jean-pierre charras
90fcf55ab6
Keep Grid menu translatable, as before.
2021-11-18 19:39:55 +01:00
Jeff Young
60a1ca2c67
Remove locale printf test.
2021-11-18 15:38:46 +00:00
Jeff Young
97943e0c7c
A test for the Chinese grid menu problem.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9449
2021-11-15 14:21:27 +00:00
Jon Evans
ae24daa033
Do not include text when computing drag origin for a group
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9630
2021-11-14 11:54:04 -05:00
Jeff Young
5275393a94
Use highlight algo that works for both PCBNew and Eeschema.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9500
2021-11-01 16:08:49 +00:00
Jon Evans
e6c3027531
Action string typo fixes
2021-10-30 08:47:36 -04: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Wayne Stambaugh
37b200cb3e
Pass wxString objects by reference instead of on the stack.
2021-07-27 08:41:27 -04: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
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
Jeff Young
f0513978ff
Back-port some fixes from 7.0 branch.
2021-07-13 17:24:23 +01:00
Marek Roszko
1fb42c5e43
Try and cleanup the input focus/key event a little
2021-07-05 20:48:48 -04:00
Marek Roszko
84092ce6d4
Update the event handling guard for focused controls
2021-07-05 13:45:06 -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
david-beinder
a5308e5f5c
Fix python console toggle to work across pcbnew/eeschema
2021-07-03 22:48:46 +00:00
Jeff Young
4aa8318dc2
More error message regularization.
2021-06-27 14:24:02 +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
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
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
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
luz paz
f968fc8719
Fix source comment / documentation typos
2021-06-09 19:32:58 +00:00
david-beinder
053bd66650
Fix localization of OS unsupported message, disallow bug reports from W7
2021-06-09 19:01:54 +00:00
jean-pierre charras
5cce3f6e18
Fix a few Coverity warnings (not initialized vars) and a minor compil warning
2021-06-09 19:03:44 +02:00