2018-10-02 21:37:15 +00:00
|
|
|
/*
|
|
|
|
* This program source code file is part of KICAD, a free EDA CAD application.
|
|
|
|
*
|
2021-08-29 23:33:08 +00:00
|
|
|
* Copyright (C) 2018-2021 Kicad Developers, see AUTHORS.txt for contributors.
|
2018-10-02 21:37:15 +00:00
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU General Public License
|
|
|
|
* as published by the Free Software Foundation; either version 2
|
|
|
|
* of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program; if not, you may find one here:
|
|
|
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
|
|
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
|
|
|
* or you may write to the Free Software Foundation, Inc.,
|
|
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
|
|
|
*/
|
|
|
|
|
2020-12-17 16:43:46 +00:00
|
|
|
#include <dialogs/dialog_hotkey_list.h>
|
2021-08-29 23:33:08 +00:00
|
|
|
#include <kiface_base.h>
|
2024-04-27 19:57:24 +00:00
|
|
|
#include <eda_base_frame.h>
|
2018-10-02 21:37:15 +00:00
|
|
|
#include <panel_hotkeys_editor.h>
|
2018-10-03 10:02:43 +00:00
|
|
|
#include <widgets/ui_common.h>
|
2018-10-02 21:37:15 +00:00
|
|
|
|
|
|
|
#include <wx/sizer.h>
|
|
|
|
#include <wx/button.h>
|
|
|
|
|
2021-08-29 23:33:08 +00:00
|
|
|
DIALOG_LIST_HOTKEYS::DIALOG_LIST_HOTKEYS( EDA_BASE_FRAME* aParent ):
|
2018-10-02 21:37:15 +00:00
|
|
|
DIALOG_SHIM( aParent, wxID_ANY, _( "Hotkey List" ) )
|
|
|
|
{
|
2021-10-14 19:45:38 +00:00
|
|
|
const int margin = KIUI::GetStdMargin();
|
|
|
|
wxBoxSizer* main_sizer = new wxBoxSizer( wxVERTICAL );
|
2022-01-03 22:24:44 +00:00
|
|
|
KIFACE* kiface = nullptr;
|
2018-10-02 21:37:15 +00:00
|
|
|
|
2019-06-10 15:58:32 +00:00
|
|
|
m_hk_list = new PANEL_HOTKEYS_EDITOR( aParent, this, true );
|
2021-08-29 23:33:08 +00:00
|
|
|
|
2022-01-03 22:24:44 +00:00
|
|
|
Kiway().GetActions( m_hk_list->ActionsList() );
|
|
|
|
|
|
|
|
kiface = Kiway().KiFACE( KIWAY::FACE_SCH );
|
|
|
|
kiface->GetActions( m_hk_list->ActionsList() );
|
|
|
|
|
|
|
|
kiface = Kiway().KiFACE( KIWAY::FACE_PCB );
|
|
|
|
kiface->GetActions( m_hk_list->ActionsList() );
|
|
|
|
|
|
|
|
kiface = Kiway().KiFACE( KIWAY::FACE_GERBVIEW );
|
|
|
|
kiface->GetActions( m_hk_list->ActionsList() );
|
|
|
|
|
|
|
|
kiface = Kiway().KiFACE( KIWAY::FACE_PL_EDITOR );
|
|
|
|
kiface->GetActions( m_hk_list->ActionsList() );
|
2018-10-02 21:37:15 +00:00
|
|
|
|
2022-06-23 17:36:25 +00:00
|
|
|
// Update all of the action hotkeys. The process of loading the actions through
|
|
|
|
// the KiFACE will only get us the default hotkeys
|
|
|
|
ReadHotKeyConfigIntoActions( wxEmptyString, m_hk_list->ActionsList() );
|
|
|
|
|
2018-10-03 10:02:43 +00:00
|
|
|
main_sizer->Add( m_hk_list, 1, wxTOP | wxLEFT | wxRIGHT | wxEXPAND, margin );
|
2018-10-02 21:37:15 +00:00
|
|
|
|
2021-10-14 19:45:38 +00:00
|
|
|
wxStdDialogButtonSizer* sdb_sizer = new wxStdDialogButtonSizer;
|
2018-10-02 21:37:15 +00:00
|
|
|
sdb_sizer->AddButton( new wxButton( this, wxID_OK ) );
|
|
|
|
sdb_sizer->Realize();
|
|
|
|
|
2018-10-03 10:02:43 +00:00
|
|
|
main_sizer->Add( sdb_sizer, 0, wxEXPAND | wxALL, margin );
|
2018-10-02 21:37:15 +00:00
|
|
|
|
|
|
|
SetSizer( main_sizer );
|
2022-01-02 17:27:43 +00:00
|
|
|
main_sizer->SetMinSize( 600, 400 );
|
2018-10-02 21:37:15 +00:00
|
|
|
|
2020-11-16 11:16:44 +00:00
|
|
|
finishDialogSettings();
|
2018-10-02 21:37:15 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
bool DIALOG_LIST_HOTKEYS::TransferDataToWindow()
|
|
|
|
{
|
|
|
|
return m_hk_list->TransferDataToWindow();
|
2020-11-16 22:46:39 +00:00
|
|
|
}
|