Mark Roszko
b84fe2b703
ADDED: Editing style of multiple graphical lines at the same time.
...
Provides the ability to quickly set the style of multiple lines. This is only allowed if the selection includes _only_ graphical lines.
2019-12-31 04:05:51 +00:00
Ian McInerney
5c0656d97f
Move potrace and libcontext into thirdparty directory
...
Part of the cleanup in #3637
2019-12-28 18:17:55 +00:00
Seth Hillbrand
b5f021ff9f
Cleanup: Replace push_back with emplace_back
...
In cases where we create a new item and immediately push into a
container, the emplace idiom is faster and more efficient.
2019-12-05 13:41:21 -08:00
Seth Hillbrand
8f1c1cf298
pcbnew: Don't limit editing of the polygons
...
45 deg contraints are not saved per polygon, so don't limit per polygon.
The constraint is only enforced during creation.
Fixes: lp:1847722
* https://bugs.launchpad.net/kicad/+bug/1847722
Fixes: lp:1846029
* https://bugs.launchpad.net/kicad/+bug/1846029
2019-10-20 09:29:42 -07:00
Jeff Young
d22ea0e201
Safety for frames which don't have an m_viewControls.
2019-10-03 22:23:35 +01:00
Ian McInerney
5862b1559f
Cleanup position handling for TOOL_EVENTs
...
* Make the events generated by the selection of context menu items
have the position where the menu was opened
* Ensure that TC_COMMAND type events have their position set to
be the cursor position where the event originated
2019-10-03 19:04:33 +01:00
Jeff Young
fc50ddda64
Implement Paste Special for eeschema.
...
Also changes the normal paste behaviour to only clear annotations
when a collision is found.
Fixes: lp:1837002
* https://bugs.launchpad.net/kicad/+bug/1837002
2019-09-02 19:24:29 +01:00
Seth Hillbrand
b3615b36bb
pcbnew: Retain 45° constraint
...
This also finishes the polygon with 45° lines when chosen as a create
option.
Fixes: lp:1833673
* https://bugs.launchpad.net/kicad/+bug/1833673
(cherry picked from commit fccce265aa
)
2019-08-26 14:36:23 -07:00
Seth Hillbrand
fbc19ab893
Make coroutines stack size configurable
...
This allows rapid debugging of the coroutine memory issues. It moves
the default stack size to 256 * 4096 = 2^20, which will utilize full
pages on all architectures.
2019-08-15 09:25:13 -07:00
Jeff Young
3cdf88f2c6
CERN copyrights for work packages.
2019-08-14 09:35:15 +01:00
Ian McInerney
8493daf9ff
Unify menu item creation for closing a window
...
* Push a function into CONDITIONAL_MENU that adds the item
* Modify the tooltip for close and exit items to have the
program name
Fixes: lp:1835454
* https://bugs.launchpad.net/kicad/+bug/1835454
2019-08-14 09:35:15 +01:00
Ian McInerney
95430e131e
cvpcb: cleanup include statements
2019-08-12 14:19:01 -04:00
Michael Kavanagh
79b2ff7551
Refactor deleteTool ACTION removing duplicates
2019-08-12 13:49:55 -04:00
Seth Hillbrand
0b80c00678
Add Valgrind stack instrumentation
...
Our coroutine system can make debugging memory issues harder by not
following a standard stack allocation system. We can get around this by
using valgrind's built-in stack instrumentation. Each coroutine
registers a stack allocation allowing memcheck to recognize when
accesses are bounded.
2019-08-10 08:28:25 -07:00
Ian McInerney
b6f6fc3d65
Return handled status for actions run from hotkeys
2019-08-05 20:46:05 -06:00
Jeff Young
cc82e59003
Push the Quit/Close menu logic down into common.
2019-08-02 14:32:49 -06:00
Tomasz Wlostowski
6cab769f41
MSVC support for libcontext
...
This uses the Windows native Fiber API.
2019-07-17 08:10:47 -04:00
Jeff Young
e816a0c29d
Push Eeschema & PLEditor PICKER_TOOLs down into common.
...
Also implements a more robust push/pop tool strategy for pickers.
2019-07-16 00:44:01 +01:00
Jeff Young
30ec895c96
Cleanup event processing stuff to keep better track of "handled".
...
See: https://lists.launchpad.net/kicad-developers/msg41471.html .
2019-07-09 21:59:46 +01:00
Jeff Young
4852c91b42
Possible fix for GTK bug differentiating hotkeys from menu picks.
...
Fixes: lp:1835672
* https://bugs.launchpad.net/kicad/+bug/1835672
2019-07-08 10:51:45 +01:00
Jeff Young
a11f3a0b80
Make <esc> unhighlight nets, but only after all tools have been cleared.
...
Also moves the Highlight Net hotkey from activating the tool to just doing
a one-shot highlight.
Fixes: lp:1835658
* https://bugs.launchpad.net/kicad/+bug/1835658
2019-07-08 00:02:25 +01:00
Jeff Young
a3b855ac6c
Massage an earlier fix so that mouse-clicks in tools update the highlighting.
2019-07-06 17:50:35 +01:00
jean-pierre charras
39c830435c
Fix a bug created by commit ea0edaba
.
2019-07-06 14:48:53 +02:00
Thomas Figueroa
ea0edaba21
Fix cursor lag in canvases on Windows.
...
Fixes: lp:1831541
* https://bugs.launchpad.net/kicad/+bug/1831541
2019-07-06 00:04:54 +01:00
Jeff Young
a9c66e15ea
Common-ize EE_ACTIONS::refreshPreview and use it after cursor actions.
...
Fixes: lp:1818667
* https://bugs.launchpad.net/kicad/+bug/1818667
2019-07-05 14:45:15 +01:00
Jeff Young
9effd24f3a
Allow move tool to run on top of other tools.
...
Fixes: lp:1784480
* https://bugs.launchpad.net/kicad/+bug/1784480
2019-07-01 22:15:25 +01:00
Jeff Young
2f23aa9556
Implement a more robust tool stacking architecture.
...
We were running into various corner conditions where a tool's event
loop would exit while the tool was still active, or the tool would
get popped while we were still in the event loop. (A lot of these
had to do with the POINT_EDITOR's, but not all of them.)
The new architecture:
1) tools always do a Push()/Pop()
2) everyone is responsible for their own pops; no more stack-clearing
on a cancel
3) CancelInteractive events go to all tools to facilitate (2)
2019-06-27 17:01:31 +01:00
Jeff Young
fbfcba6e4d
Add action for context menu (right-mouse-click).
...
Fixes: lp:1663595
* https://bugs.launchpad.net/kicad/+bug/1663595
2019-06-25 11:34:27 +01:00
Jeff Young
485d436860
Clear ctx-menu before rebuilding; don't veto ctx-menu mousewarp for non-ctx-menu dialog.
...
Fixes: lp:1833312
* https://bugs.launchpad.net/kicad/+bug/1833312
2019-06-19 21:17:56 +01:00
Jeff Young
eb95202708
Fix grid update when edited from menubar.
...
Fixes: lp:1833399
* https://bugs.launchpad.net/kicad/+bug/1833399
2019-06-19 18:35:17 +01:00
Jeff Young
7dd247f1dc
Make better use of TOOL_EVENT parameters.
2019-06-18 20:24:15 +01:00
Jeff Young
1f35ec5521
Beware of copying events and losing the m_passEvent flag.
...
Fixes: lp:1833031
* https://bugs.launchpad.net/kicad/+bug/1833031
2019-06-17 14:44:39 +01:00
Jeff Young
e6d5110ccf
Implement I18N for ACTIONs.
...
It's a bit of a hack because they're statically initialized and
so we can't make use of the _() macro. We do still want it in the
code, however, because the string harvesting is based off of it.
Fixes: lp:1833000
* https://bugs.launchpad.net/kicad/+bug/1833000
2019-06-17 10:45:23 +01:00
Jeff Young
e4fbd003e0
Make m_passEvent event-specific rather than global.
...
If a tool called something like clearSelection while processing a
MOUSE_CLICK, the SELECTION_TOOL will pass the clearSelection
COMMAND_EVENT because it handles it as a transition, not as an
event. Because m_passEvent is effectively global, the tool manager
would then interpret that as passing the MOUSE_CLICK and we'd end
up processing the click by multiple tools.
2019-06-16 12:06:49 +01:00
Jeff Young
19aba615c2
Remove selection condition from conditional menu separators.
...
We don't allow duplicate separators anyway so all they really do
is complicate the code.
2019-06-15 20:43:51 +01:00
Jeff Young
5610261dce
Immediate-action hotkeys (and context menu actions) for eeschema.
2019-06-15 20:43:51 +01:00
Jeff Young
b429dbfb88
Fix bugs with ACTIONs not being "honest" singletons.
...
Delete the copy ctor and assignment operator to start with, but
even then the separate apps each have their own statically allocated
copy of the common actions. So we need to update all of them, which
also means having the kicad manager frame's set of actions on hand).
This changelist also adds a Clear Hotkey Assignment function since
the hotkeys set is now likely to be sparse with respect to the
actions.
2019-06-14 16:54:46 +01:00
Jeff Young
41441d9ced
Fix crash when fetching bounding box of empty selection.
2019-06-13 15:51:32 +01:00
Jeff Young
158e05adea
Add mouse gestures to List Hotkeys.
...
Fixes: lp:1778437
* https://bugs.launchpad.net/kicad/+bug/1778437
2019-06-13 15:51:32 +01:00
Jeff Young
97d2800f16
Update hotkey maps when the hotkeys are edited.
...
Also removes some legacy code dealing with conflicts.
Also disambiguates zoom in/out commands for hotkey list.
2019-06-12 12:43:12 +01:00
Jeff Young
7726b039b2
Re-jigger standard submenus so they both link AND work.
2019-06-11 18:03:16 +01:00
Jeff Young
a91934c7b3
Don't update toolbars on mouse-move events.
...
It produces cursor-lag in some instances, and none of our state changes
currently rely on mouse position.
Fixes: lp:1831541
* https://bugs.launchpad.net/kicad/+bug/1831541
2019-06-11 09:52:01 +01:00
Jeff Young
9f427da56f
Use the ACTION_ID offset when updating the layer pair bitmap.
2019-06-11 09:13:56 +01:00
Jeff Young
620395608c
Move Kicad Manager launch bar to ACTIONs.
...
Also fixes a bug where hotkeys weren't getting put in menus.
2019-06-10 23:46:01 +01:00
Jeff Young
5e49517781
Move hotkeys to ACTION architecture.
2019-06-10 23:46:00 +01:00
Jeff Young
c13ef839c1
Tool framework for Kicad Manager frame.
2019-06-10 23:46:00 +01:00
Jeff Young
16cb1e731d
Finish moving TOOL_MANAGER down to the EDA_BASE_FRAME level.
2019-06-10 23:46:00 +01:00
Jeff Young
765606012f
Convert separate-compilation of selection.cpp to polymorphism.
2019-06-10 23:46:00 +01:00
Jeff Young
e606587ff6
Move remaining Symbol Tree ctx menu cmds to ACTIONS.
...
Also moves the various Player instantiators down into COMMON_TOOLS
for better sharing.
2019-06-10 23:46:00 +01:00
Jeff Young
2d40425e4d
Move footprint & symbol tree context menus to tool infrastructure.
...
Fixes: lp:1831692
* https://bugs.launchpad.net/kicad/+bug/1831692
2019-06-05 20:16:48 +01:00