Move grid settings from View menus to Preferences panels

Bug #1797570 reported by Michael Kavanagh
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
KiCad
Expired
Wishlist

Bug Description

Remove individual grid settings dialogs from individual app view menu's and put the wxChoice controls in the respective settings dialog panels (Pcbnew/Footprint editor would each probably benefit from dedicated panel since there are more options).

Application: kicad
Version: (6.0.0-rc1-dev-882-gdbc9130da), debug build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.54.0 LibreSSL/2.0.20 zlib/1.2.11 nghttp2/1.24.0
Platform: Mac OS X (Darwin 17.7.0 x86_64), 64 bit, Little endian, wxMac
Build Info:
    wxWidgets: 3.0.4 (UTF-8,STL containers,compatible with 2.8)
    Boost: 1.67.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.54.0
    Compiler: Clang 10.0.0 with C++ ABI 1002

Build settings:
    USE_WX_GRAPHICS_CONTEXT=ON
    USE_WX_OVERLAY=ON
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON

Revision history for this message
Michael Kavanagh (michaelkavanagh) wrote :

Also a useful feature would be to have different grids for placement, routing, drawing polygons etc. that are set up and stored in the Board Setup dialog.

I assume this involves changing the file format so would be a longer term goal?

Revision history for this message
Michael Kavanagh (michaelkavanagh) wrote :

Upon further investigation I see that for Pcbnew and Modedit the User Defined Grid and Fast Switching grids are stored in the pcbnew settings file, so I believe these should go in the app preferences.

However the Grid Origin stored in .kicad_pcb file and therefore should be in the Board Setup dialog.

Changed in kicad:
status: New → Triaged
importance: Undecided → Wishlist
Jeff Young (jeyjey)
summary: - Unify grid settings across all apps
+ Move grid settings from View menus to Preferences panels
Revision history for this message
Michael Kavanagh (michaelkavanagh) wrote :

I had some spare time so I took a look at this, and hacked together a proof of concept patch set.

I have little confidence these patches are merge-able as is without significant review/rewrite by someone who knows what they're doing! Also only tested on macOS.

Cheers,
Michael

Revision history for this message
eelik (eelik) wrote :

I'm already used to Grid Settings being in the View menu, but it still feels like out of place there. Logically grid settings are more than just viewing, they actually affect behavior and board editing, unlike all (most?) other items in the View menu.

Each application could have a Grid section in the unified Preferences menu.

Changed in kicad:
assignee: nobody → Michael Kavanagh (michaelkavanagh)
Revision history for this message
Michael Kavanagh (michaelkavanagh) wrote :

I've rebased and updated the patch a bit for review. I have tested it on macOS. I ran it through the clang-format so hopefully that'll have picked up style errors, but it seems the wxFormBuilder files aren't compliant.

My justification for not having grid settings in view menu:
"The View menu lets the user customize the appearance of an app’s windows". [Apple Human interface guidelines, https://developer.apple.com/design/human-interface-guidelines/macos/menus/menu-bar-menus/]. As @eelik correctly stated in #4, the grid settings are more than just adjusting the view, they actually affect the program behaviour and board editing.

In addition, when these settings are in the View menu it is unclear to the user whether they are program wide settings or project/file specific.

In Eeschema and Libedit the grids are stored in the app preferences files, as are the Pcbnew and Modedit User Defined Grid and Fast Switching grids. So logically you'd expect to find these with the rest of the settings stored in (~/Library/Preferences/kicad/) in the app preferences panels.

However the Grid Origin is stored in the .kicad_pcb file and therefore should be in the Board Setup dialog. On this note there is no grid origin stored in footprint files so having this option in the dialog is useless and confusing.

Revision history for this message
Wayne Stambaugh (stambaughw) wrote :

@Michael, I finally got around to taking a look at your patch and it no longer applies due to Jeff's grid refactor work. I'm fine with your concept and agree with your rationalization for moving the grid settings out of the view menu. If you are still interest in getting this merged, please rebase your patch and I will take a look at it. If not, then we should close out this bug report.

Revision history for this message
Michael Kavanagh (michaelkavanagh) wrote :

@Wayne, thanks for reviewing this. I will rebase it, but should I wait until the eemodern branch (or anything else) is merged to avoid duplicating effort again?

Revision history for this message
Wayne Stambaugh (stambaughw) wrote :

@Michael, you probably should coordinate with Jeff to prevent merge conflicts.

Changed in kicad:
milestone: none → 6.0.0-rc1
Revision history for this message
Michael Kavanagh (michaelkavanagh) wrote :

Well this grew bigger than expected... Updated patch attached for review.

Revision history for this message
Wayne Stambaugh (stambaughw) wrote :

@Michael, your latest patch does not apply cleanly. It looks like there were some changes in eeschema/menubar.cpp that conflict with your patch. Please rebase and resubmit it when you get a chance. There are few minor coding policy[1] errors. Most of them are exceeding the 100 character line limit. Also, please follow the commit message policy[2] maximum character limit of 72.

[1]: http://docs.kicad-pcb.org/doxygen/md_Documentation_development_coding-style-policy.html
[2]: http://docs.kicad-pcb.org/doxygen/commit_messages.html

Revision history for this message
eelik (eelik) wrote :

See also https://forum.kicad.info/t/pcbnew-how-to-set-user-grid-size/18725 (the user had problems finding the grid settings because there weren't in Preferences).

Revision history for this message
KiCad Janitor (kicad-janitor) wrote :

KiCad bug tracker has moved to Gitlab. This report is now available here: https://gitlab.com/kicad/code/kicad/-/issues/2262

Changed in kicad:
status: Triaged → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.