Commit Graph

155 Commits

Author SHA1 Message Date
Jeff Young 86a801aabc Allow updating of file history size on the fly.
Also updates the file menu IDs so that we can actually handle
more than 9 items in the file history.

Also adds configurable file history length to the other gerber
files (zip, drill and job).

Fixes: lp:1745729
* https://bugs.launchpad.net/kicad/+bug/1745729
2018-08-21 10:34:41 +01:00
Jeff Young acec00f80a Fix bug displaying canvasses when starting in Legacy mode. 2018-08-11 23:43:19 +01:00
Jeff Young d81faa72c9 Overhaul border drawing in all the Kicad frames.
Primary change is to replace most control/window borders with
AUI pane borders.  We implement our own AUI border drawing
routine which avoids the ugly one-pixel white frames around
dark canvasses.

Also increases the signal-to-noise ratio of all the pane
creation code in the various frames.
2018-08-11 17:25:38 +01:00
Jeff Young 33fc74a04d Performance enhancements for Footprint Editor construction. 2018-08-04 10:29:17 +01:00
Jeff Young abae094955 Remove unused variables.
(cherry picked from commit 4fc5281)

(cherry picked from commit b151c8d)
2018-07-17 15:14:22 +01:00
Jeff Young e329a411bf Add grid and zone dropdowns to GerbView frame.
(cherry picked from commit be5c1e2)
2018-07-17 15:13:58 +01:00
Jeff Young a747d074c4 Add Worksheet to Render Items for GerbView.
Also added PCB Background Color.

Fixes: lp:1780362
* https://bugs.launchpad.net/kicad/+bug/1780362

(cherry picked from commit f789ef1)
2018-07-17 15:13:43 +01:00
Jeff Young 7841f8a466 Unified preferences dialog framework.
(cherry picked from commit 8ee3e77)
2018-07-17 15:11:17 +01:00
Jeff Young eacaa39aa2 Remove global units usage from GetSelectionText...
... and GetMsgPanelInfo.

Step 4 in the g_UserUnit eradication effort.

Also removes a couple of conversion routines that were close
enough to extinction.

(cherry picked from commit c75da51)
2018-07-17 15:11:09 +01:00
Jeff Young 4f8c546140 Implement user units uniformly in EDA_DRAW_FRAME
Step 1 of the g_UserUnit global eradication.  This commit includes
basic hookup of hotkeys, units tool-buttons and grid dialogs.

(cherry picked from commit e0500ab)
2018-07-17 15:09:51 +01:00
Maciej Suminski e4a6f2e523 Switch canvas to Cairo if OpenGL is not supported on the first run 2018-06-04 12:17:58 +02:00
Maciej Suminski 27c9c6ceed Enable the accelerated canvas on the first gerbview run if requested
Commit 8910894f applied to gerbview.
2018-06-04 10:47:44 +02:00
jean-pierre charras 8f984c2899 OpenGL, DrawGrid(): use grid and axis alpha color value setting, instead of the fixed 1.0
In Cairo mode, this function uses already the alpha color value setting.
Now for low alpha values (usually they are low, as said in many GAL comments),
Cairo mode and OpenGL mode should have a similar look.
2018-06-01 18:29:04 +02:00
jean-pierre charras bfa89039c4 Gerbview, GAL mode: fix "Zoom to fit" area size calculation when nothing is loaded.
Also ensure the worksheet is displayed after clearing the gerber layers.
2018-06-01 11:39:08 +02:00
jean-pierre charras 9a228d8ec9 Gerbview: GAL mode: shows the page worksheet, similar to legacy mode. 2018-06-01 09:11:43 +02:00
jean-pierre charras fc71fc6474 Gerbview: Fit to page: use the page size when nothing is loaded.
Previously, due to a minor bug, a very small default size was used (therefore a high zoom value), that was not a good choice.
2018-05-31 11:22:33 +02:00
Jeff Young 5010a461e1 Make polar coordinates consistent.
Use theta instead of phi (which normally describes the azimuth
angle).

Fixes: lp:1545107
* https://bugs.launchpad.net/kicad/+bug/1545107
2018-05-18 12:22:14 +01:00
jean-pierre charras a3770bf6e1 Gerbview: fix a crash when Gerbview starts by loading a gerber job file (run from a command line) 2018-05-07 12:47:11 +02:00
Jeff Young 106dd60e45 Only adjust LAYER_WIDGET font size if larger than indicator.
Also moves adjustment into LAYER_WIDGET so all the callers don't
have to deal with it individually.

Fixes: lp:1767965
* https://bugs.launchpad.net/kicad/+bug/1767965
2018-05-02 21:49:57 +01:00
jean-pierre charras f8a3ec4974 Add a method to facilitate Tools handling in main frame toolbars.
Fix also a bug in gerbview_frame.cpp, about a broken toolbar accessor (fortunately not used in current code)
2018-04-03 13:00:20 +02:00
jean-pierre charras 5e34563f52 Fix a long calculation time that happens with some gerber files when closing Gerbview in legacy display mode. 2018-03-19 10:58:27 +01:00
Wayne Stambaugh 71d8a1ea1e GerbView: fix legacy canvas refresh when drawing outline modes. 2018-03-13 18:25:03 -04:00
Wayne Stambaugh a5cca18dd1 GerbView: add view menu.
Include all actions provided by left vertical toolbar in a new view
menu for consistency with other main frames.

Move show/hide layer manager to view menu.

Simplify some toolbar and menu update logic.

Fixes lp:1753337

https://bugs.launchpad.net/kicad/+bug/1753337
2018-03-13 18:00:15 -04:00
Jeff Young 43899bbe0e Fix compile issues under some compilers. 2018-03-12 21:02:04 +00:00
Jeff Young 4eedb3a27d The _() macro affords some nullptr safety over a naked immediate.
Fixes: lp:1477448
* https://bugs.launchpad.net/kicad/+bug/1477448
2018-03-12 19:18:05 +00:00
Jon Evans e4b847b345 GerbView: fix a few issues with layer selection / info synchronization
Fixes: lp:1754135
* https://bugs.launchpad.net/kicad/+bug/1754135
2018-03-08 18:19:48 -05:00
Jon Evans cd2224b94d Add missing hotkey support to GerbView
Fixes: lp:1752982
* https://bugs.launchpad.net/kicad/+bug/1752982
2018-03-04 16:59:23 -05:00
Jon Evans 2da7199a37 GerbView: Fix active layer synchronization 2018-03-03 23:43:16 -05:00
Jon Evans 2c54f6fe32 GerbView: Fix DCode reordering; ensure loaded layers are visible 2018-02-28 08:23:41 +01:00
Jon Evans e2408989a4 GerbView: redraw negative items when visibility changes 2018-02-27 20:59:08 +01:00
Jon Evans 319b7cfc67 Remove extra call to SetTopLayer() when switching active layer 2018-02-25 19:19:45 -05:00
Jon Evans f7d0c3997d Don't recache items unnecessarily when toggling D-code display 2018-02-22 08:52:43 +01:00
Jeff Young 4d5e1489fb New menu structure for ModEdit.
Includes some dialog changes to go with the menu update.
Includes promoting the Pcbnew graphics mode back to main menu.
Includes renaming Graphics modes to Toolsets.
2018-02-20 10:49:41 -05:00
Jeff Young 4bae901dc8 Centralize zoom-to-fit code.
Fixes a bunch of errors:
- libedit and libbrowser would zoom to bounding box but centre on canvas
- libedit, libbrowser and gerbview didn’t take the scroll bars into account
- pcbnew didn’t take scroll bars into account or apply the 10% margin
- appending a board file would re-centre, but not re-zoom

Fixes: lp:1504302
* https://bugs.launchpad.net/kicad/+bug/1504302
2018-02-13 20:06:03 -05:00
jean-pierre charras 5d72aebd22 Fix code after renaming files 2018-01-29 16:40:22 +01:00
jean-pierre charras a0ac1a48c2 Gerbview: fix code after renaming files 2018-01-29 13:26:58 +01:00
Jon Evans 14abe8723d Rework GERBVIEW_FRAME::ReCreateAuxiliaryToolbar to fix layout issues
Fixes: lp:1745203
* https://bugs.launchpad.net/kicad/+bug/1745203
2018-01-29 07:52:42 +01:00
jean-pierre charras 61193dcd13 Fix assertion failure quitting gerbview
Fixes: lp:1744600
https://bugs.launchpad.net/kicad/+bug/1744600
2018-01-22 21:16:10 +01:00
Maciej Suminski b3cb6be48e Minor memleak fixed in gerbview 2018-01-22 09:04:24 +01:00
Chris Pavlina 7e6a6540c8 Implement primitive icon scaling for high DPI
This is meant as a stopgap for 5.0, with plans to add proper scaled
icons in the 6.0 cycle. A function KiScaledBitmap() is added, which
works like KiBitmap() except it scales the bitmap according to the
calling window's font size. Controls have been added to all the main
applications to let the user select scaling manually (these were omitted
from smaller apps that didn't already have a place to put them).

In addition, in eeschema only, the pixel height of the system font is
shown in the options dialog for diagnostics. This is only for collecting
feedback before 5.0 release from users with different displays and will
be removed.
2018-01-10 21:26:06 -07:00
Jon Evans 2dec95b4e6 Add a first-run dialog to encourage user to switch to OpenGL 2018-01-04 10:14:40 -05:00
Simon Richter a9ccf1161b Fix quotes in UI messages
This replaces all single and angle bracket quotes in UI messages with
double quotes, for consistency.

Sorry to all translators.
2017-12-15 07:33:07 -05:00
Jon Evans 0564d3456b Preserve color scheme when switching to legacy (Fixes lp:1670669)
Instead of modifying the colors when switching to legacy canvas,
they will now be preserved and only returned as the "legacy" colors.
2017-11-28 10:47:04 +01:00
Jon Evans e5df4304a6 Minor tweaks to GerbView for performance 2017-09-25 13:39:38 +02:00
Maciej Suminski 05a120f09f Unified {Load,Save]CanvasTypeSetting in EDA_DRAW_FRAME 2017-09-25 13:39:32 +02:00
Maciej Suminski 88cab885af Code formatting 2017-09-25 13:35:02 +02:00
Jon Evans cc5c5010f0 Fix some layer visibility behavior 2017-09-25 13:35:01 +02:00
Jon Evans 915e51e1f0 GerbView GAL support part 1: changes to existing files
- New GAL draw layers for GerbView
- Improved bounding boxes for Gerber shapes
- Switched to use of SHAPE_POLY_SET for polygons
- Add GAL methods to support selection and rendering
- Add GUI support of editing GAL options
- Rename get/setActiveLayer to Get/SetActiveLayer to match convention
2017-09-25 13:35:01 +02:00
jean-pierre charras e15acbb00d Fp editor and board editor have now a separate color setup.
fp viewer uses the default colors, because it has no color setup dialog.
class_colors_design_settings: remove not used members.
Fix issue in modedit: the color config was never read.
2017-09-11 18:51:48 +02:00
jean-pierre charras 50164e9968 Add Gerber job file writer in Pcbnew, and a basic reader in Gerbview. Currently disabled
Fix also very minor issues in Gerbview
2017-08-30 11:04:33 +02:00