Ian McInerney
b44dbc90fe
pleditor: Don't double delete items being placed
...
The RollbackFromUndo function deletes the items, so
they shouldn't be deleted before it is called.
2020-10-10 15:24:35 +01:00
Ian McInerney
5aa796b5fe
Cleanup compiler warnings
2020-10-10 15:24:35 +01:00
Marek Roszko
bd30a4a406
Add selection lasso and window cursors
2020-10-08 21:25:21 -04:00
Marek Roszko
f5e0754f65
Use the setCursor lambda pattern and fix up the initial cursor states
2020-10-07 23:26:14 -04:00
Mark Roszko
d9485129c8
Implement more context specific cursors using both stock and custom cursors.
2020-10-08 00:50:28 +00:00
Jeff Young
0bc7bbbadb
Report silk/edge collisions.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5854
Fixes https://gitlab.com/kicad/code/kicad/issues/4892
2020-10-06 14:21:18 +01:00
Ian McInerney
43c14face0
Switch to showing metric/imperial units in comboboxes and menus
...
This will always show 1 unit from each system, with the primary unit
being the current frame unit and the secondary unit being the
most recent unit used from the other system. These are saved in
the settings, so they are saved between runs.
2020-10-05 20:26:33 +01:00
Ian McInerney
9d3aca56bb
Add unit submenu to page layout editor view menu
2020-10-05 20:22:57 +01:00
Ian McInerney
6fbe645d6d
Ensure the page layout editor settings pages are in a subpage
...
Without this, it looks like the settings for the program are
actually common.
2020-10-04 17:53:55 +01:00
Ian McInerney
122bd7ca7c
Make the statubar aware of mils units
...
Switch Eeschema to use the built-in printing routines
because its precisions are close to those and it is
cleaner.
Give mils a precision of 2 decimal places to match
the precision shown in inches.
2020-10-04 17:53:55 +01:00
jean-pierre charras
0b23cb7dbb
more cleanup about removing useless include
2020-10-03 15:26:03 +02:00
jean-pierre charras
b38cef409b
Rename CopyFile() to KiCopyFile() to avoid name colliding with a windows header.
...
Using CopyFile() that can collide with a windows header create hard to
understand errors, including link errors.
Renaming this function avoids these strange errors.
2020-10-03 10:08:21 +02:00
jean-pierre charras
87a220b8e2
more cleanup about removing useless include
2020-10-02 14:51:11 +02:00
Ian McInerney
f736cc15b6
pleditor: Ensure toolbars are redrawn when icon size changes
...
This ensures the icon scaling factor is applied to the toolbars,
and also fixes a drawing artifact where the old dropdown boxes
would still be visible on top of the scaled icons (with the new
ones in their proper place.
2020-10-01 19:50:09 +01:00
Ian McInerney
fc565edb33
Add a palette to the toolbars to display groups of actions
...
This adds a palette to toolbar items that displays groups
of actions when long-pressed on a button.
2020-09-27 01:00:44 +01:00
PJM
d1322e7d1d
Refactor GetDocumentExtents()
...
CHANGED: GetDocumentExtents() in 'eda_draw_frame.h' now has a bool
parameter "aIncludeAllVisible" with a default value "true" which makes
it behave as it did before adding parameter. If "aIncludeAllVisible"
is false, the returned bbox ignores some items depending on which
program it is running in.
CHANGED: Made "Zoom to Objects" use only PCB edge in Pcbnew. This
allows text, notes, etc outside the PCB edge to be excluded in the
zoom calculation.
CHANGED: Added "Zoom to Objects" to Pcbnew main menu, and to RMB context
menus for Eeschema and Pcbnew.
Fixes https://gitlab.com/kicad/code/kicad/issues/5787
2020-09-25 00:31:56 -07:00
Seth Hillbrand
e840ac1c0c
Adding pledit and cvpcb zoom to fit
2020-09-22 23:21:44 +00:00
Seth Hillbrand
f493e270ea
ADDED: Menu option to enable/disable snap to grid
...
You can now enable and disable snap to grid when drawing/editing across
all apps. You can also tie snap to grid to the visibility of the grid
to allow rapid enable/disable via grid display.
2020-09-10 20:09:30 -07:00
Seth Hillbrand
4026904cc4
Make grid snapping depend on grid visibility
...
Turning the grid view on enables snapping to the grid. Turning it off
removes the snap and allows free draw
2020-09-09 10:18:15 -07:00
Seth Hillbrand
173b4ff588
Add snapping to eeschema
...
This generalizes both the SetPosition() function and ORIGIN_VIEWITEM
class away from the pcbnew-centric.
2020-09-09 10:18:15 -07:00
Ian McInerney
f28b60896c
Allow toolbar items to cancel tools when pressed
...
There was a regression in v6 where the zoom to selection toolbar
item wasn't canceling the tool when pressed and the tool was active
(it was in v5). This implements a more generic framework for canceling
tools on button presses.
Fixes https://gitlab.com/kicad/code/kicad/issues/5103
2020-09-05 01:49:38 +01:00
Seth Hillbrand
d6a4ab0eec
Shortening filenames in titlebar
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2096
2020-09-03 06:38:34 -07:00
Michael Kavanagh
de03d3d427
Application title bar: app name after filename
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2096
2020-09-03 06:35:48 -07:00
Mark Roszko
9f128f942c
Move shutdown blocker to kiplatform
2020-09-01 10:14:51 +00:00
Jeff Young
2697fc3864
Remove canvas-switching from OSX.
...
The Cairo renderer doesn't work on Retina displays.
Fixes https://gitlab.com/kicad/code/kicad/issues/4788
2020-08-31 18:48:25 +01:00
Mark Roszko
1082402b33
Convert UNDO_REDO_T to an enum class
2020-08-26 18:04:32 +00:00
Jeff Young
1138c32bf3
Don't pass Cancel event where there was a specific action cancelled.
...
For instance, if during a move the user hits ESC they only want the
move cancelled, not (for instance) the selection dropped.
Fixes https://gitlab.com/kicad/code/kicad/issues/5356
2020-08-25 12:54:40 +01:00
Mark Roszko
89e74140eb
Save file / window states for kicad project locally
2020-08-24 02:01:14 +00:00
Ian McInerney
fd4388710d
Migrate eeschema, libview and libedit to the UI condition framework
...
Also, fix some issues in other frames identified along the way.
2020-08-16 19:10:25 +00:00
Ian McInerney
75bc1ef6a7
pleditor: Remove background color toggle action
...
The new color theme system replaces the need to toggle the background
color in the editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/5050
2020-08-16 19:10:25 +00:00
Ian McInerney
45fb030b9b
Rename and shorten the names in ACTION_CONDITIONS
2020-08-16 19:10:25 +00:00
Ian McInerney
3b05d7cddd
Move more frames to the new UI condition framework
...
* Frames moved: cvpcb, cvpcb footprints frame, gerbview, pagelayout editor
This also introduces new EDITOR_CONDITIONS that are used to set the
conditions of very common editor settings.
Also, some IDs were converted to tools in the pagelayout editor.
2020-08-16 19:10:25 +00:00
Mikołaj Wielgus
bd8de15f2f
Add "Select All" option to disambiguation menu in page layout editor
2020-08-10 13:24:40 +00:00
Jeff Young
07ab97a58b
Read and update colour settings when changed in prefs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5046
2020-08-02 18:43:18 +01:00
Jon Evans
261614d469
Fix double free in PL_EDIT_TOOL
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4887
2020-07-16 18:56:30 -04:00
Jon Evans
eb37c89a7b
Fix exit behavior and memory leak in pl_editor
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4887
2020-07-16 18:54:12 -04:00
Seth Hillbrand
e19a7910f8
Revert "Revert "Set DoubleBuffering to reduce flicker""
...
This reverts commit c18cab6154
.
2020-07-13 20:19:10 -07:00
Jeff Young
1cd2a51db2
Make undo/redo lists protected.
2020-07-13 15:53:36 +01:00
Jeff Young
7340c97ef9
Undo for schematic-wide operations.
...
Editing value/footprint fields of multi-unit components.
Find/Change.
Annotation.
Back annotation.
Fixes https://gitlab.com/kicad/code/kicad/issues/2122
Fixes https://gitlab.com/kicad/code/kicad/issues/4869
Fixes https://gitlab.com/kicad/code/kicad/issues/3933
Fixes https://gitlab.com/kicad/code/kicad/issues/4871
Fixes https://gitlab.com/kicad/code/kicad/issues/3899
2020-07-13 12:32:17 +01:00
Seth Hillbrand
c18cab6154
Revert "Set DoubleBuffering to reduce flicker"
...
This reverts commit 106259f6e6
.
In its place, we set double buffering to only menubars in an attempt to
find a soluton to #4785
Fixes https://gitlab.com/kicad/code/kicad/issues/4863
2020-07-11 09:43:30 -07:00
Seth Hillbrand
7cea4b23f1
ADDED: Expand selection in context menu
...
Break out the context menu with heuristically limited choices being
appended to the main list rather than re-selecting
Fixes https://gitlab.com/kicad/code/kicad/issues/4799
2020-07-07 14:18:35 -07:00
Jeff Young
7b042f4a75
Add rectangle tool to PCBNew toolbar in favour of Aux Origin.
...
ADDED new rectangle graphics tool for PCBNew and Footprint Editor.
Also adds rectangle tool to both Footprint Editor and PCBNew Place
menus.
The Aux Origin tool can come back once we have multi-select toobar
buttons.
Also collapses an unnecessary level out of the auxOrigin and gridOrigin
settings.
Fixes https://gitlab.com/kicad/code/kicad/issues/2246
2020-07-01 13:31:30 +01:00
Ian McInerney
fb10406e67
Add right-click context menus for toolbar items
2020-06-26 21:29:03 +00:00
Ian McInerney
52856a8ce4
Move scaled toolbar separator into ACTION_TOOLBAR
...
* Ensure all separators are scaled separators
* Clean up toolbar creation functions
2020-06-26 21:29:03 +00:00
Jon Evans
09cb75b8a1
Use a temporary file when saving boards/schematics to make the operation more atomic
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4517
2020-06-19 23:31:26 +00:00
Jon Evans
e91b9f6dfb
Rip out the unused leftovers of the old color system
2020-06-18 22:32:14 -04:00
Jeff Young
ee9d8fcd15
Collapse Pcbnew & ModEdit display and edit settings.
...
(Prep work for reusing them with a custom shape editor.)
2020-06-18 15:38:01 +01:00
Jeff Young
c48f4272f3
Collapse a level out of the zoom settings.
...
The APP_SETTINGS_BASE now holds the list of zoom factors, and
the old legacy (screen-based) code has been removed.
2020-06-13 22:44:16 +01:00
Jeff Young
f84406009b
Push a couple of layers of indirection out of grid settings.
2020-06-13 11:35:56 +01:00
Ian McInerney
9d0ea66a96
Don't use the accelerator table in the menubars
...
It seems that the accelerator table causes issues with
keyboard events on MSW.
Fixes https://gitlab.com/kicad/code/kicad/issues/1941
2020-06-06 22:50:35 +00:00