Seth Hillbrand
0518d9c546
Add more force-immediate tools
2021-02-23 17:05:03 -08:00
Jeff Young
a3b9e8ddb4
Round 2 of Worksheet -> Drawing Sheet.
2021-02-23 11:57:44 +00:00
Jeff Young
cad5198ab7
Worksheet -> (industry standard) Drawing Sheet.
2021-02-22 17:35:46 +00:00
Jeff Young
2d28ed8eda
Move canvas backend selection to Preferences.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7630
2021-02-21 20:12:43 +00:00
Marek Roszko
622baa6531
Silence more unused exception var warnings
2021-02-20 12:01:51 -05:00
Jeff Young
66b33834b5
Always enable save; move dirty bit to asterisk in title bar.
...
Also unifies PCB Editor and Schematic Editor names with other
locations in the GUI (which were still Pcbnew and Eeschema).
Fixes https://gitlab.com/kicad/code/kicad/issues/7587
Fixes https://gitlab.com/kicad/code/kicad/issues/7594
2021-02-18 16:05:42 +00:00
Seth Hillbrand
505844f68c
Generalize the Ctrl-Q to all frames
...
Rather than adding our handler to each frame separately, we initialize
the Ctrl-Q quit action at the base frame to be consistent
2021-02-09 11:43:42 -08:00
Marek Roszko
32bf88fa8e
Point to the user template path by default in pl editor
2021-01-31 23:57:41 -05:00
Mikolaj Wielgus
a6b2fb3819
Page layout editor: Fix bitmap bounding box
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7315
2021-01-30 20:39:16 +00:00
Wayne Stambaugh
6229b127e2
Page layout editor: fix minor properties panel control layout issues.
2021-01-28 18:23:06 -05:00
Wayne Stambaugh
6a39b81647
Fix the last of broken Doxygen comment specifiers.
2021-01-27 17:39:44 -05:00
Michael Kavanagh
479487ceb1
Tidy up context menus a bit
...
Try and put the common actions in the same places
2021-01-17 22:42:03 +00:00
jean-pierre charras
e29eefffab
French translation update.
2021-01-15 14:21:22 +01:00
Roberto Fernandez Bautista
ef00e7513a
pl-editor: Activate Point Editor immediately to allow resizing of item just created
2021-01-15 01:36:37 +00:00
Roberto Fernandez Bautista
c7624d2957
pl-editor: Don't update the properties panel while adding a shape item (line or rectangle)
...
Fixes a bug that caused a crash when editing an item in the properties window before it was fully created
2021-01-15 01:36:37 +00:00
Roberto Fernandez Bautista
c3190627e2
pl-editor: Don't update the properties panel while adding an text item
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7074
2021-01-15 01:36:37 +00:00
Jeff Young
f45c6b4166
Better labels and tooltips for step parameters.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7091
2021-01-13 21:22:24 +00:00
Jeff Young
69f8f79a42
Compress space out of pagelayout properties.
...
This allows the Apply button to appear on a MacBook Pro screen without
scrolling.
2021-01-13 21:22:24 +00:00
Seth Hillbrand
4f4a5ae3cf
Use longer labels
...
Removing context from labels makes it difficult for translators to
correctly interpret the text.
Fixes https://gitlab.com/kicad/code/kicad/issues/7091
2021-01-13 12:35:07 -08:00
jean-pierre charras
431616981b
pl_editor: fix a typo that copy the end pos Y prm into the end pos X prm
...
Fixes #7088
https://gitlab.com/kicad/code/kicad/issues/7088
2021-01-13 16:18:44 +01:00
Dominik Wernberger
bb2881a5ab
Make RENDER_SETTINGS argument const
2021-01-12 20:51:31 +00:00
jean-pierre charras
5d099bb789
pl_editor: fix a typo that copy the X repeat prm into the Y repeat prm
...
Fixes #7078
https://gitlab.com/kicad/code/kicad/issues/7078
2021-01-12 20:33:52 +01:00
Konstantin Baranovskiy
cd2c46e5c9
Make "... file is read only." warnings translatable.
2021-01-12 14:33:35 +00:00
Michael Kavanagh
8fba0c257b
Icons: remove more inconsistencies around Select
...
Missed from 5d9b2d3fea
2021-01-11 23:31:24 +00:00
Jeff Young
50889a9ed6
Promote mouse drag settings to full enums.
2021-01-11 22:09:36 +00:00
Jeff Young
6c648df4c6
Support 3 drag vs. select options, and unifiy with other drag prefs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5493
2021-01-11 11:50:14 +00:00
Michael Kavanagh
b40e3a39f5
Minor cleanup.
2021-01-04 23:59:36 +00:00
Seth Hillbrand
a67bf00b9e
Only move page_layout repeated items once
...
The page layout items have peers for duplicated items that mark the
originating element. We avoid the duplicate EDA_ITEM selections when
moving
Fixes https://gitlab.com/kicad/code/kicad/issues/6920
2021-01-04 06:41:24 -08:00
Seth Hillbrand
61ac9c8d90
Add multiple size icons for programs
...
In theory, the WM should now choose the closest size icon for its
purpose, making it easier to distinguish in space-constrained settings
Fixes https://gitlab.com/kicad/code/kicad/issues/6798
2020-12-22 15:37:26 -08:00
Seth Hillbrand
54ca087999
Update icon resource sets
...
Updates the .icns, .ico and .png files used by various distros to show
KiCad and KiCad files.
2020-12-22 15:16:33 -08:00
Jeff Young
47ea51ec34
Allow both aui-manager-based infobars and window overlay infobars.
2020-12-22 21:36:39 +00:00
Marek Roszko
9b0a137d6c
Stop bludgeoncompiling dialog_page_settings
...
Through the power of OOP!
Needs some more cleanup though
2020-12-19 10:40:37 -05:00
Wayne Stambaugh
08cf9a1e20
Move headers from common folders to appropriate include folders round 1.
2020-12-17 08:12:18 -05:00
Jeff Young
73b7b104cd
Fix some issues with Infobar sizing.
...
This also commits to the new strategy as it wasn't really compatible
with if-def-ing anymore.
2020-12-11 12:39:40 +00:00
Marek Roszko
d7b79e71f2
Tweak the pleditor props pane to resize better on the item tab
2020-12-09 18:41:43 -05:00
Marek Roszko
8ff521819e
Rearrange the item tab in pleditor properties
...
This will match how the v7 properties will probably work anyway.
It's a scrolled control, cram in controls widthwise to some arbitrary standard
2020-12-08 23:08:54 -05:00
Marek Roszko
0af46bb186
Some rearrangement of the General Options pleditor properties tab
2020-12-08 23:08:54 -05:00
Marek Roszko
bf7daac975
Connect thickness to unit binder
2020-12-08 23:08:54 -05:00
Marek Roszko
6d678f4780
Bind the pleditor properties to units
...
We also go out of our way to ensure we still maintain the millimeter storage format
2020-12-08 23:08:53 -05:00
Marek Roszko
809149d747
Add opt toolbar to pl editor
2020-12-08 23:08:53 -05:00
Marek Roszko
5a2ef73d66
Fix the pleditor status bar text
2020-12-08 19:49:48 -05:00
Marek Roszko
4e9b9ee9cd
Use DisplayErrorMessage instead of wxMessageBox directly
2020-12-08 19:49:47 -05:00
Marek Roszko
ad1aae40ec
Unify the saved file strings
2020-12-08 19:49:47 -05:00
jean-pierre charras
64f555079a
Code cleanup related to zoom:
...
- remove outdated code or comment coming from old drawing code using wxDC
- move zoom values lists to zoom_defines.h
- fix incorrect zoom max and min values (gal scaling factor limits).
2020-12-02 18:35:28 +01:00
jean-pierre charras
fcce62f0a4
cleanup related to zoom definitions
2020-12-02 18:35:27 +01:00
jean-pierre charras
71ab42e60a
Minor fixes and cleanup related to zoom definitions.
...
Mainly move 2 define relative to Zoom from convert_to_biu.h to zoom_defines.h.
Will make some changes/fixes in zoom code more easy.
2020-12-02 10:14:35 +01:00
jean-pierre charras
d28fa6c492
fix typo
2020-11-30 19:13:14 +01:00
jean-pierre charras
1fd862a362
Page layout editor: fix missing scrollbars in properties panel (GTK specific)
...
Fixes #4878
https://gitlab.com/kicad/code/kicad/issues/4878
2020-11-30 18:50:36 +01:00
Jeff Young
f57cd91cb3
Formatting.
2020-11-29 10:57:45 +00:00
jean-pierre charras
005c3b84ad
Better fix for incorrect page preview in Page Settings when the worksheet contains a bitmap
...
The actual size of pixels was incorrectly set.
Fix also bad names for a few vars and methods in BITMAP_BASE.
2020-11-28 10:53:26 +01:00
jean-pierre charras
2f00a2ada0
pl_editor, PL_POINT_EDITOR: fix issues when moving a point of a rect or a line.
...
- only the selected graphic item was modified.
- the WS_DATA_ITEM master item and others draw items (repeated items) were
not modified.
Fixes #6483
https://gitlab.com/kicad/code/kicad/issues/6483
2020-11-26 12:41:41 +01:00
Jeff Young
9c7c05c161
Mostly formatting cleanup but a few type-casting cleanups too.
2020-11-24 22:16:41 +00:00
jean-pierre charras
64636601b8
Eeschema: fix a Unicode/UTF8 management when pasting items from Clipboard.
...
Copy to clipboard save items (using S expr description) using wide strings
(not UTF8 encoding).
But Paste from clipboard was not converting the wide string to UTF8 string
when getting the stored data to send it as std::string to the S expr reader.
Fixes #6449
https://gitlab.com/kicad/code/kicad/issues/6449
2020-11-21 10:59:25 +01:00
Jeff Young
9e9946628a
Go back to arrow cursor on a cancel (or finish).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6421
2020-11-19 20:09:28 +00:00
Marek Roszko
16e3e59495
Split out arrayDim and MIRROR templates from macros.h
...
These were not macros
2020-11-17 20:21:04 -05:00
Jeff Young
a207bd97bb
Naming conventions.
2020-11-17 16:05:49 +00:00
Marek Roszko
377960d4be
Push the 2 pleditor dialogs into the dialogs folder
2020-11-16 10:10:24 -05:00
Jeff Young
7bd31d5237
Naming conventions.
2020-11-14 18:26:03 +00:00
Marek Roszko
08ca80a2d8
Smooth out redrawing of toolbars by not letting wx pointlessly calculate both orientations
...
Monkey patch
Fix #5705
2020-11-05 20:56:14 -05:00
jean-pierre charras
068758f8dd
pl_editor, properties panel: ensure scroll-bars are show when needed
...
After selecting an item one need to generate a size event after
the widgets shown in properties panel are modified to create (or remove)
scroll-bars according to the size of the panel and the displayed items.
2020-11-05 18:37:37 +01:00
Ian McInerney
3d47eb0d49
Fix localization of the menu strings with accelerator strings
...
The accelerator strings really shouldn't be part of the translation,
and some translations have cause the accelerator keys to be incorrectly
handled. It is simpler to make it separate and just join them to the
translated string.
Make all accelerator modifiers use lowercased Ctrl instead of CTRL
to be the same as the other modifiers.
Fixes https://gitlab.com/kicad/code/kicad/issues/5992
2020-11-04 01:31:52 +00:00
Marek Roszko
6e9ddd9c93
Enable canvas switching in pl_editor
2020-10-31 17:20:12 -04:00
Marek Roszko
14c18b7e64
Move ui functions out of common and into ui_common
2020-10-25 20:01:12 -04:00
Marek Roszko
a785f70ea1
msgpanel is a widget, shove it to the right folder.
2020-10-25 20:01:12 -04:00
jean-pierre charras
34179cd039
Add missing icon in menu, and fix them in other menus
2020-10-25 14:51:08 +01:00
Seth Hillbrand
4085757aeb
Remove beginning/ending spaces in translations
...
Adding space padding makes translations more difficult by increasing
string counts
2020-10-20 12:08:04 -07:00
Wayne Stambaugh
8ff51d8899
Eeschema: add schematic sheet page number.
...
The groundwork has now been laid for per sheet instance data. Initially
this only supports sheet page numbers but could be expanded to include
other per sheet instance information.
ADDED: Support for user defined schematic page numbers.
2020-10-19 14:05:45 -04:00
jean-pierre charras
539ac4c214
Remove a few include<wx/wx.h> in many files that do not actually use this include.
2020-10-19 09:00:50 +02:00
Marek Roszko
ba503bedcf
Use the correct parent for the pl editor color pane
2020-10-18 22:06:36 -04:00
Jon Evans
e735d21824
Maximize main editors by default if config is missing
...
Also set default size for other windows to something slightly
larger than it was before
2020-10-18 14:38:55 -04:00
Marek Roszko
a1c75748a0
Remove GetChars(), a wxWidgets 2.9 compatibility hack
2020-10-15 20:53:25 -04:00
Marek Roszko
f59551d6ad
Remove painter.h from eda_text.h
2020-10-14 19:18:38 -04:00
Marek Roszko
9656bd310b
Remove eda_item and gr_basic from eda_text.h
2020-10-13 22:46:39 -04:00
Marek Roszko
b2e9f6987d
Split base_struct into eda_item and eda_rect
2020-10-13 21:24:50 -04:00
Marek Roszko
2c86363aa0
Relocate the page_layout includes to a page_layout folder
2020-10-13 20:33:33 -04:00
Marek Roszko
efa28d3357
Untangle pl_editor includes
2020-10-13 20:33:33 -04:00
Marek Roszko
03074ae6ed
Kick the selection tool to activate (and thus update cursors) on exiting some picker tools
2020-10-11 13:12:29 -04:00
Marek Roszko
558f4b4b51
Add new place cursor, fix cursor hotpoints again
2020-10-10 23:45:21 -04:00
Mark Roszko
a8bd0a9b84
Handle Windows manifests ourselves and add dpi awareness option
2020-10-10 19:08:23 +00:00
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
Wayne Stambaugh
0032845f9e
Fix clipped bitmap buttons with GTK on Linux.
...
A note to developers, please do not set the minimum and/or size of bitmap
buttons. It causes bitmaps to get clipped using GTK on Linux. If the
bitmap button size is not acceptable, then supply an appropriately sized
bitmap rather than attempt to force the wxWidgets sizing mechanism to do
what you want. This almost always causes platform differences that do
not work well.
2020-06-03 14:01:44 -04:00
Jeff Young
5d52378b80
Decrease hittest region so we don't get long clarification lists.
2020-05-30 11:25:52 +01:00
Jeff Young
a6eaa3257a
Autocomplete for page layout editor text items.
2020-05-30 10:22:50 +01:00
Jon Evans
6ee9d8f7f5
Add basic color theme picker to page layout editor
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2348
2020-05-26 22:04:21 -04:00
jean-pierre charras
c8476d6f6b
pl_editor: fix incorrect size of bitmaps when printing.
...
Fix also an issue (blank screen) after printing.
2020-05-25 09:42:03 +02:00
Ian McInerney
fca7ade81f
Move to the AUI version of the infobar
...
The sizer-based version had issues with the event processing
inside the GAL panel on Windows systems.
Fixes https://gitlab.com/kicad/code/kicad/issues/4501
2020-05-21 18:22:56 +01:00
jean-pierre charras
5010a88069
Pl_editor: minor fix to have the infobar right size the first time it is shown.
2020-05-21 10:57:05 +02:00
Ian McInerney
73a1ce3e84
Move eeschema find notification to the infobar and improve the infobar widget
...
* Move it to a panel along with the canvas to have a better UI
* Allow the infobar to automatically close after a set time
CHANGED: The eeschema find notifications now use the infobar instead of
a popup window
2020-05-20 02:31:47 +01:00
Ian McInerney
a2f027e063
Add an infobar widget to display information above the canvas
...
This widget allows for non-intrusive display of text
above the editing canvas. Currently, this is used
for displaying the read only status of the files.
2020-05-19 00:46:33 +01:00
Ian McInerney
e662e33104
Store the current filename in the history on close
2020-05-17 00:12:49 +01:00
Ian McInerney
613c020920
Move the file history into the frames
2020-05-17 00:12:49 +01:00
Ian McInerney
e4b6487fca
Overhaul compiler warnings infrastructure
...
* Track our warnings separate from normal flags
* Remove all warnings from the SWIG code
* Add more GCC warnings
2020-05-06 01:47:20 +01:00
jean-pierre charras
fe5b02f0fc
Page layout editor: Fix a outdated tool tip.
2020-04-30 10:01:11 +02:00
Ian McInerney
99dcadf7e6
Introduce new KI_FALLTHROUGH macro
...
Annotate purposeful fallthroughs in switch statements with the
KI_FALLTHROUGH macro.
2020-04-25 00:44:09 +01:00
Jeff Young
1535c83b88
Lay some groundwork for adding distances to DRC errors.
...
modified: eeschema/lib_rectangle.cpp
2020-04-24 14:46:22 +01:00
Ian McInerney
3b67e3d0a4
Rewrite window positioning logic
...
Now only reposition a window if it is completely on a
disconnected display or if only one corner is on screen
and it is within a region close to the screen border.
CHANGED: Window position on startup should be preserved more
2020-04-18 00:47:38 +01:00
Jeff Young
9c8941e040
Remove a bunch of globals.
2020-04-16 17:34:46 +01:00
Jeff Young
4990d1e7b2
Variable substitution framework.
...
This implements editing of variables and moving SCH_FIELDs,
TEXTE_MODULEs, TEXTE_PCB and worksheet items over to the new
framework.
2020-03-30 14:15:59 +01:00
jean-pierre charras
6e47f147aa
A few Coverity fixes.
2020-03-30 09:50:26 +02:00
Jon Evans
775d15d8cf
Use theme preference in PL editor (no UI access yet)
2020-03-06 00:01:02 -05:00
Ian McInerney
879a8f4efb
Rework the file history menus to not need references to the file history
...
Keeping a pointer to the actual file history inside a special
file history menu led to many cases of use after free crashes,
so instead rework the actual file history to add the menu
items.
Fixes https://gitlab.com/kicad/code/kicad/issues/3741
2020-02-25 16:18:10 +00:00
Jon Evans
e59a3d981e
Implement a new settings framework across all of KiCad
...
CHANGED: Settings are now stored in versioned sub-directories
ADDED: First-run dialog for migrating settings from a previous version
CHANGED: Settings are now stored as JSON files instead of wxConfig-style INI files
CHANGED: Color settings are now all stored in a separate settings file
CHANGED: The symbol editor and footprint editor now have their own settings files
CHANGED: Color settings are no longer exposed through BOARD object
CHANGED: Page layout editor now uses Eeschema's color scheme
Settings are now managed through a central SETTINGS_MANAGER held by PGM_BASE.
Existing settings will be migrated from the wxConfig format on first run of each application.
Per-application settings are now stored in one class for each application.
2020-02-19 23:44:56 -05:00
Ian McInerney
b1240b5b1e
Gracefully shutdown tools when frames are closed
...
If the tools are not gracefully exited, then the stack variables are
never destroyed, so variable lifetime issues can occur.
Fixes https://gitlab.com/kicad/code/kicad/issues/1753
2020-02-05 22:23:24 +00:00
Jeff Young
a04fdf64da
Improve directory handling for Project Save As.
...
1) don't change directory names that we don't recognize
2) when we do, make sure the child files get copied to the
changed name.
Fixes https://gitlab.com/kicad/code/kicad/issues/3834
2020-02-03 15:08:01 +00:00
Ian McInerney
06c979dfaa
Convert all CMake paths to absolute instead of relative
...
It is cleaner and safer to handle the include and source paths
as absolute from the source directory instead of relative to every
path.
2020-01-22 23:27:20 +00:00
Jeff Young
836c1ea56e
Fix a bunch of un-caught boost::bad_pointer exceptions.
...
This also removes vector cover types which do nothing except obfuscate
the underlying implementation.
Mainly changes SCH_SHEET_PINS and CONFIG_PARAM_ARRAY (which will soon
be replaced by Jon's new stuff).
2020-01-12 19:55:00 +00:00
Jeff Young
3d8150032f
Fix some uninitialized variables found by Coverity.
2020-01-11 21:29:25 +00:00
Seth Hillbrand
7c28c3838a
Comment-only changes
...
Makes class comments conform to coding standards
2020-01-10 16:43:01 -08:00
Jeff Young
8fed9df1d0
Fix uninitialized variable (from Coverity scan).
2020-01-11 00:18:27 +00:00
Ian McInerney
13b6028e1b
Refactor all math into a new kimath library
...
* Split up the thirdparty code into the thirdparty folder (#3637 )
* Create a new kimath static library containing all the math functions
This is part of cleaning the build system for #1906 .
2020-01-07 17:12:59 +00:00
Ian McInerney
25a302758e
Fix macos plist version string generation
...
Generate these resource files similar to how it is done one Linux.
Fixes mac-builder issue https://gitlab.com/kicad/packaging/kicad-mac-builder/issues/275
2019-12-26 12:42:25 +00:00
Mark Roszko
11ff16be4e
Switch to scoped enums
2019-12-20 14:11:39 +00:00
Ian McInerney
b9d8849b28
Unify unsaved changes detection logic in all frames
...
Create an IsContentModified() function in each frame
that provides if the content has been modified, and
use that instead of always copying the checks.
2019-12-19 15:34:01 +00:00
Mark Roszko
686b768a3d
Add shutdown blocking on Windows for pcbnew, eeschema and pleditor
...
ADDED: Block shutdown/logoff on Windows when contents have been modified
2019-12-19 14:11:11 +00:00
Seth Hillbrand
4d2e953f42
Cleanup: Replace C-only deprecated headers
...
This replaces headers deprecated by C++14 with their equivalent
replacement
2019-12-05 11:03:15 -08:00
Seth Hillbrand
a2edf9c442
Unified update to C++14 std::make_unique
...
This update replaces the existing uses of unique pointer creation with
the C++14 std::make_unique call that provides proper memory release in
event of an exception.
2019-12-05 10:43:55 -08:00
Ian McInerney
99b9354a51
Add clear recent files action to the menus
...
ADDED: Menu item to allow the recent file lists in each program to be
cleared
Fixes: lp:1821685
* https://bugs.launchpad.net/kicad/+bug/1821685
2019-11-23 23:35:21 +00:00
jean-pierre charras
4de6ed6206
Fix issues created by Adds Save As... to the Kicad manger.
...
Mainly replacing std::string by wxString to manage filenames.
On Windows, a sdt::string cannot manage a filename, unless using
in many places TO_UTF8 and FROM_UTF8.
So the best way is to use a wxString for filenames and error messages.
2019-11-10 09:37:39 +01:00
Jeff Young
b5904b0401
Installment one of project Save As... feature.
...
ADD: Adds Save As... to the File menu for the project window.
Fixes: lp:594051
* https://bugs.launchpad.net/kicad/+bug/594051
2019-11-09 20:22:44 +00:00
evanshultz
a3229c455d
Only add view menu final separator on OS X
2019-10-16 21:23:20 +01:00
Jeff Young
44a1cf9f1b
Implement quiet-mode for selection clearing.
...
Also adds comments for exising quiet-mode calls.
Fixes: lp:1843177
* https://bugs.launchpad.net/kicad/+bug/1843177
2019-09-08 19:45:35 +01:00
Jeff Young
2553dd2942
Bail on our custom dockart provider.
...
It appears that it was causing some crashes, and it was never clear
that it looked better anyway.
2019-09-06 23:38:20 +01:00
Jeff Young
3bd38ec245
Improve zoom-to-extents for footprints with long text.
...
Fixes: lp:1820540
* https://bugs.launchpad.net/kicad/+bug/1820540
2019-09-05 21:02:29 +01:00
Jeff Young
66f0bd4f6a
Don't try to start another move when one is in progress.
...
Fixes: lp:1842623
* https://bugs.launchpad.net/kicad/+bug/1842623
2019-09-05 21:02:29 +01:00
Jeff Young
a25368cc6b
Improve spelling.
...
The groundwork here is thanks to kunda1.
Fixes: lp:1831510
* https://bugs.launchpad.net/kicad/+bug/1831510
2019-08-20 19:14:05 +01:00
Jeff Young
416f93175d
Add separator before std OSX View menu items.
2019-08-19 00:06:22 +01:00
Jeff Young
0d90fab01b
Add display setting preference pane for PLEditor.
...
Fixes: lp:1839187
* https://bugs.launchpad.net/kicad/+bug/1839187
2019-08-19 00:06:22 +01:00
Jeff Young
d094934cf4
Put Place & Inspect menus in standard order.
2019-08-17 12:23:19 +01: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
Michael Kavanagh
4c2ea8879f
Bit more ACTIONs cleanup
2019-08-12 13:49:55 -04:00
Michael Kavanagh
b414cbfada
Cleanup doDelete ACTIONs
2019-08-12 13:49:55 -04:00
Michael Kavanagh
79b2ff7551
Refactor deleteTool ACTION removing duplicates
2019-08-12 13:49:55 -04:00
Jeff Young
cc82e59003
Push the Quit/Close menu logic down into common.
2019-08-02 14:32:49 -06:00
Ian McInerney
c258ad7e3c
pleditor: Fix menubar actions and display
...
* Move the preview settings to view and make the menu item work
* Fix bug with preferences menu not displaying on GTK
* Implement quit command and make it similar to the other programs
Fixes: lp:1832139
* https://bugs.launchpad.net/kicad/+bug/1832139
2019-08-02 14:32:49 -06:00
Jeff Young
2b32070793
Don't zoom-to-fit after Page Layout Editor undo/redo.
...
Fixes: lp:1838673
* https://bugs.launchpad.net/kicad/+bug/1838673
2019-08-01 20:36:59 -06:00
Michael Kavanagh
58cfc13649
Fix some lost menubar menu separators
2019-07-30 19:12:34 +02:00
Jeff Young
77334628c4
Change default tool behaviour to skip unhandled events.
...
The problem is that wxEVT_CHAR_HOOK doesn’t do the key translation
properly. wxEVT_CHAR does, but we only get to that if we skip the
event at the end of the tool’s event processing loop, which most tools
don’t do. (Selection tools, point editors, pickers, and a couple of
others do skip, which is probably why this didn’t get reported earlier.)
I played around with a couple of ways to fix wxEVT_CHAR_HOOK. Most of
them don’t work, and the few egregious hacks I tried weren't cross-
platform.
So I’m changing it so that most tools now skip at the end of their
event loops. I left out a couple that I felt were high risk (length
tuning, for instance). But there’s still enough risk that I’m 100%
sure it will break something, I just haven’t a clue what.
Fixes: lp:1836903
* https://bugs.launchpad.net/kicad/+bug/1836903
2019-07-26 12:21:24 -06:00
Jeff Young
815602d1af
Fix missing AF_ACTIVATE flags on some tools.
...
Fixes: lp:1813659
* https://bugs.launchpad.net/kicad/+bug/1813659
2019-07-26 12:21:24 -06:00
jean-pierre charras
858db3c104
Synchronize toolbars state with current options after rebuilding them.
...
Previously, for instance after modifying preferences or language,
they were rebuilt but the tools state was not set due to a missing call to SyncToolbars() after rebuilding.
2019-07-20 18:16:35 +02:00
Jeff Young
0b08e4dcd2
Deactivate other tools when running one based on a PICKER.
...
In particular, if the last one was a PICKER tool, then we're going
to assert on "click-handler-already-set".
Fixes: lp:1836673
* https://bugs.launchpad.net/kicad/+bug/1836673
2019-07-19 15:29:10 -06: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
58ca5b71a9
A more robust fix for 36f1d023f0
.
...
This one also handles when the events get out-of-order due to them
starting out in the Simulation window and not getting dispatched until
the mouse goes over the Schematic window.
Fixes: lp:1835907
* https://bugs.launchpad.net/kicad/+bug/1835907
Fixes: lp:1836544
* https://bugs.launchpad.net/kicad/+bug/1836544
2019-07-15 14:15:24 +01:00
Jeff Young
2d17d2b91f
Cleanup and commenting.
2019-07-14 10:36:48 +01:00
Jeff Young
7159f6e48a
MRU for page size and orientation, and clearer info that this is all preview data only.
...
Fixes: lp:1662239
* https://bugs.launchpad.net/kicad/+bug/1662239
2019-07-10 23:17:50 +01:00
Jeff Young
483dc24e87
Homogenize selection tools around our HIG.
...
In particular make addative and exclusive-or selections work the
same way.
Also give Highlight Net a hotkey now that it can't use ctrl-click
anymore.
2019-07-09 21:59:46 +01:00
Jeff Young
36f1d023f0
Make sure Push/PopTool() go in the right order.
...
Because the pickers are called with an Activate()/Wait() pair, any
usurping tool gets in between the picker handling the cancel (due
to activation) and the picker client doing a PopTool(). The new
tool is therefore pushed before the old tool is popped.
Fixes: lp:1835907
* https://bugs.launchpad.net/kicad/+bug/1835907
2019-07-09 15:03:23 +01:00
Jeff Young
772dff7a01
Removed post-page-settings ZoomFitToScreen() calls.
...
Fixes: lp:1834608
* https://bugs.launchpad.net/kicad/+bug/1834608
2019-07-08 00:06:28 +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
d03041b565
Cleanup.
2019-07-02 21:36:42 +01:00
Seth Hillbrand
9460f207f5
Fix misc build warnings
...
This removes unused static function in page layout editor, unused
variable in pcb_painter and restors the gcc unitialized fix for
pcbnew's drawing_tool.
2019-07-02 10:32:49 -07:00