From f611333ea18415f58a6bbac3fccc9ead5463140c Mon Sep 17 00:00:00 2001 From: Jeff Young Date: Sun, 26 Aug 2018 18:57:28 +0100 Subject: [PATCH] Make fast grid switching hotkeys more visible. Fixes: lp:1787066 * https://bugs.launchpad.net/kicad/+bug/1787066 --- pcbnew/dialogs/dialog_set_grid.cpp | 7 +- pcbnew/dialogs/dialog_set_grid_base.cpp | 14 +- pcbnew/dialogs/dialog_set_grid_base.fbp | 174 +++++++++++++++++++++++- pcbnew/dialogs/dialog_set_grid_base.h | 2 + 4 files changed, 189 insertions(+), 8 deletions(-) diff --git a/pcbnew/dialogs/dialog_set_grid.cpp b/pcbnew/dialogs/dialog_set_grid.cpp index 498244ce76..0aa5301d0c 100644 --- a/pcbnew/dialogs/dialog_set_grid.cpp +++ b/pcbnew/dialogs/dialog_set_grid.cpp @@ -31,7 +31,7 @@ #include #include #include - +#include #include #include #include @@ -152,6 +152,11 @@ bool DIALOG_SET_GRID::TransferDataToWindow() m_comboBoxGrid1->SetSelection( m_parent->m_FastGrid1 ); m_comboBoxGrid2->SetSelection( m_parent->m_FastGrid2 ); + int hk1 = m_parent->GetHotKeyDescription( HK_SWITCH_GRID_TO_FASTGRID1 )->m_KeyCode; + int hk2 = m_parent->GetHotKeyDescription( HK_SWITCH_GRID_TO_FASTGRID2 )->m_KeyCode; + m_grid1HotKey->SetLabel( wxString::Format( wxT( "(%s)" ), KeyNameFromKeyCode( hk1 ) ) ); + m_grid2HotKey->SetLabel( wxString::Format( wxT( "(%s)" ), KeyNameFromKeyCode( hk2 ) ) ); + return wxDialog::TransferDataToWindow(); } diff --git a/pcbnew/dialogs/dialog_set_grid_base.cpp b/pcbnew/dialogs/dialog_set_grid_base.cpp index 6849f0e055..ab2ad5d1b1 100644 --- a/pcbnew/dialogs/dialog_set_grid_base.cpp +++ b/pcbnew/dialogs/dialog_set_grid_base.cpp @@ -100,7 +100,7 @@ DIALOG_SET_GRID_BASE::DIALOG_SET_GRID_BASE( wxWindow* parent, wxWindowID id, con sbFastSwitchSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Fast Switching") ), wxVERTICAL ); wxFlexGridSizer* fgSizer3; - fgSizer3 = new wxFlexGridSizer( 2, 2, 0, 0 ); + fgSizer3 = new wxFlexGridSizer( 2, 3, 0, 5 ); fgSizer3->AddGrowableCol( 1 ); fgSizer3->SetFlexibleDirection( wxBOTH ); fgSizer3->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); @@ -112,7 +112,11 @@ DIALOG_SET_GRID_BASE::DIALOG_SET_GRID_BASE( wxWindow* parent, wxWindowID id, con m_comboBoxGrid1 = new wxComboBox( sbFastSwitchSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY ); m_comboBoxGrid1->SetMinSize( wxSize( 240,-1 ) ); - fgSizer3->Add( m_comboBoxGrid1, 0, wxLEFT, 5 ); + fgSizer3->Add( m_comboBoxGrid1, 0, wxEXPAND, 5 ); + + m_grid1HotKey = new wxStaticText( sbFastSwitchSizer->GetStaticBox(), wxID_ANY, _("(hotkey)"), wxDefaultPosition, wxDefaultSize, 0 ); + m_grid1HotKey->Wrap( -1 ); + fgSizer3->Add( m_grid1HotKey, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); m_staticTextGrid2 = new wxStaticText( sbFastSwitchSizer->GetStaticBox(), wxID_ANY, _("Grid 2:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextGrid2->Wrap( -1 ); @@ -121,7 +125,11 @@ DIALOG_SET_GRID_BASE::DIALOG_SET_GRID_BASE( wxWindow* parent, wxWindowID id, con m_comboBoxGrid2 = new wxComboBox( sbFastSwitchSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY ); m_comboBoxGrid2->SetMinSize( wxSize( 240,-1 ) ); - fgSizer3->Add( m_comboBoxGrid2, 0, wxTOP|wxBOTTOM|wxLEFT, 5 ); + fgSizer3->Add( m_comboBoxGrid2, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 ); + + m_grid2HotKey = new wxStaticText( sbFastSwitchSizer->GetStaticBox(), wxID_ANY, _("(hotkey)"), wxDefaultPosition, wxDefaultSize, 0 ); + m_grid2HotKey->Wrap( -1 ); + fgSizer3->Add( m_grid2HotKey, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); sbFastSwitchSizer->Add( fgSizer3, 0, wxEXPAND|wxLEFT, 5 ); diff --git a/pcbnew/dialogs/dialog_set_grid_base.fbp b/pcbnew/dialogs/dialog_set_grid_base.fbp index 9b782fe543..9154b0d7a8 100644 --- a/pcbnew/dialogs/dialog_set_grid_base.fbp +++ b/pcbnew/dialogs/dialog_set_grid_base.fbp @@ -1216,11 +1216,11 @@ wxEXPAND|wxLEFT 0 - 2 + 3 wxBOTH 1 - 0 + 5 fgSizer3 wxFLEX_GROWMODE_SPECIFIED @@ -1312,7 +1312,7 @@ 5 - wxLEFT + wxEXPAND 0 1 @@ -1403,6 +1403,89 @@ + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + (hotkey) + + 0 + + + 0 + + 1 + m_grid1HotKey + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + 5 wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT @@ -1488,7 +1571,7 @@ 5 - wxTOP|wxBOTTOM|wxLEFT + wxEXPAND|wxTOP|wxBOTTOM 0 1 @@ -1579,6 +1662,89 @@ + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + (hotkey) + + 0 + + + 0 + + 1 + m_grid2HotKey + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pcbnew/dialogs/dialog_set_grid_base.h b/pcbnew/dialogs/dialog_set_grid_base.h index 3e15863a8f..b71c6d6221 100644 --- a/pcbnew/dialogs/dialog_set_grid_base.h +++ b/pcbnew/dialogs/dialog_set_grid_base.h @@ -50,8 +50,10 @@ class DIALOG_SET_GRID_BASE : public DIALOG_SHIM wxStaticText* m_TextSizeYUnits; wxStaticText* m_staticTextGrid1; wxComboBox* m_comboBoxGrid1; + wxStaticText* m_grid1HotKey; wxStaticText* m_staticTextGrid2; wxComboBox* m_comboBoxGrid2; + wxStaticText* m_grid2HotKey; wxButton* m_buttonReset; wxStdDialogButtonSizer* m_sdbSizer; wxButton* m_sdbSizerOK;