KiCad PCB EDA Suite
|
#include <kiface_base.h>
#include <hotkeys_basic.h>
#include <id.h>
#include <string_utils.h>
#include <eda_base_frame.h>
#include <eda_draw_frame.h>
#include <wildcards_and_files_ext.h>
#include <paths.h>
#include <tool/tool_manager.h>
#include "dialogs/dialog_hotkey_list.h"
#include <wx/apptrait.h>
#include <wx/stdpaths.h>
#include <wx/tokenzr.h>
#include <wx/txtstrm.h>
#include <wx/wfstream.h>
#include <tool/tool_action.h>
Go to the source code of this file.
Classes | |
struct | hotkey_name_descr |
Macros | |
#define | KEY_NON_FOUND -1 |
#define | MODIFIER_CTRL wxT( "Ctrl+" ) |
#define | MODIFIER_ALT wxT( "Alt+" ) |
#define | MODIFIER_CMD_MAC wxT( "Cmd+" ) |
#define | MODIFIER_CTRL_BASE wxT( "Ctrl+" ) |
#define | MODIFIER_SHIFT wxT( "Shift+" ) |
Functions | |
wxString | KeyNameFromKeyCode (int aKeycode, bool *aIsFound) |
Return the key name from the key code. | |
wxString | AddHotkeyName (const wxString &aText, int aHotKey, HOTKEY_ACTION_TYPE aStyle) |
int | KeyCodeFromKeyName (const wxString &keyname) |
Return the key code from its user-friendly key name (ie: "Ctrl+M"). | |
void | DisplayHotkeyList (EDA_BASE_FRAME *aParent) |
Display the current hotkey list. | |
void | ReadHotKeyConfig (const wxString &aFileName, std::map< std::string, std::pair< int, int > > &aHotKeys) |
Reads a hotkey config file into a map. | |
void | ReadHotKeyConfigIntoActions (const wxString &aFileName, std::vector< TOOL_ACTION * > &aActions) |
Reads a hotkey config file into a list of actions. | |
int | WriteHotKeyConfig (const std::vector< TOOL_ACTION * > &aActions) |
Update the hotkeys config file with the hotkeys from the given actions map. | |
int | ReadLegacyHotkeyConfig (const wxString &aAppname, std::map< std::string, int > &aMap) |
Read configuration data and fill the current hotkey list with hotkeys. | |
int | ReadLegacyHotkeyConfigFile (const wxString &aFilename, std::map< std::string, int > &aMap) |
Read hotkey configuration for a given app. | |
Variables | |
static struct hotkey_name_descr | hotkeyNameList [] |
#define KEY_NON_FOUND -1 |
Definition at line 63 of file hotkeys_basic.cpp.
#define MODIFIER_ALT wxT( "Alt+" ) |
Definition at line 157 of file hotkeys_basic.cpp.
#define MODIFIER_CMD_MAC wxT( "Cmd+" ) |
Definition at line 159 of file hotkeys_basic.cpp.
#define MODIFIER_CTRL wxT( "Ctrl+" ) |
Definition at line 156 of file hotkeys_basic.cpp.
#define MODIFIER_CTRL_BASE wxT( "Ctrl+" ) |
Definition at line 160 of file hotkeys_basic.cpp.
#define MODIFIER_SHIFT wxT( "Shift+" ) |
Definition at line 161 of file hotkeys_basic.cpp.
wxString AddHotkeyName | ( | const wxString & | aText, |
int | aHotKey, | ||
HOTKEY_ACTION_TYPE | aStyle | ||
) |
aText | the base text on which to append the hotkey. |
aHotKey | the hotkey keycode. |
aStyle | IS_HOTKEY to add <tab><keyname> (shortcuts in menus, same as hotkeys). IS_COMMENT to add <spaces><(keyname)> mainly in tool tips. |
Definition at line 238 of file hotkeys_basic.cpp.
References IS_COMMENT, IS_HOTKEY, KeyNameFromKeyCode(), MODIFIER_CMD_MAC, and MODIFIER_CTRL_BASE.
Referenced by FOOTPRINT_DIFF_WIDGET::FOOTPRINT_DIFF_WIDGET(), PCB_ONE_LAYER_SELECTOR::getLayerHotKey(), TOOL_ACTION::GetMenuItem(), PCB_LAYER_BOX_SELECTOR::Resync(), and SYMBOL_DIFF_WIDGET::SYMBOL_DIFF_WIDGET().
void DisplayHotkeyList | ( | EDA_BASE_FRAME * | aFrame | ) |
Display the current hotkey list.
aFrame | current active frame. |
aToolMgr | the tool manager holding the registered actions from which the hotkeys will be harvested. |
Definition at line 345 of file hotkeys_basic.cpp.
References DIALOG_SHIM::ShowModal().
Referenced by COMMON_CONTROL::ListHotKeys().
int KeyCodeFromKeyName | ( | const wxString & | keyname | ) |
Return the key code from its user-friendly key name (ie: "Ctrl+M").
Definition at line 279 of file hotkeys_basic.cpp.
References hotkeyNameList, KEY_NON_FOUND, hotkey_name_descr::m_KeyCode, hotkey_name_descr::m_Name, MD_ALT, MD_CTRL, MD_SHIFT, MODIFIER_ALT, MODIFIER_CMD_MAC, MODIFIER_CTRL_BASE, and MODIFIER_SHIFT.
Referenced by ReadHotKeyConfig(), ReadLegacyHotkeyConfigFile(), and WIDGET_HOTKEY_LIST::WIDGET_HOTKEY_LIST().
wxString KeyNameFromKeyCode | ( | int | aKeycode, |
bool * | aIsFound | ||
) |
Return the key name from the key code.
Return the user friendly key name (ie: "Ctrl+M") from the key code.
Only some wxWidgets key values are handled for function key ( see hotkeyNameList[] )
aKeycode | key code (ASCII value, or wxWidgets value for function keys). |
aIsFound | a pointer to a bool to return true if found, or false. an be nullptr default). |
Definition at line 173 of file hotkeys_basic.cpp.
References hotkeyNameList, KEY_NON_FOUND, hotkey_name_descr::m_KeyCode, hotkey_name_descr::m_Name, MD_ALT, MD_CTRL, MD_SHIFT, MODIFIER_ALT, MODIFIER_CTRL, MODIFIER_CTRL_BASE, and MODIFIER_SHIFT.
Referenced by AddHotkeyName(), APPEARANCE_CONTROLS::APPEARANCE_CONTROLS(), APPEARANCE_CONTROLS_3D::APPEARANCE_CONTROLS_3D(), WIDGET_HOTKEY_LIST::changeHotkey(), APPEARANCE_CONTROLS::createControls(), PANEL_HOTKEYS_EDITOR::dumpHotkeys(), PAD_TOOL::enterPadEditMode(), HOTKEY_FILTER::FilterMatches(), TOOL_ACTION::GetButtonTooltip(), TOOL_ACTION::GetTooltip(), ROUTER_TOOL::InlineDrag(), PANEL_GRID_SETTINGS::PANEL_GRID_SETTINGS(), ROUTER_TOOL::performDragging(), APPEARANCE_CONTROLS_3D::rebuildLayerPresetsWidget(), APPEARANCE_CONTROLS::rebuildLayerPresetsWidget(), APPEARANCE_CONTROLS::rebuildLayers(), APPEARANCE_CONTROLS::rebuildNets(), APPEARANCE_CONTROLS_3D::rebuildViewportsWidget(), APPEARANCE_CONTROLS::rebuildViewportsWidget(), WIDGET_HOTKEY_LIST::resolveKeyConflicts(), ACTION_MANAGER::RunHotKey(), PCB_CONTROL::unfilledZoneCheck(), WIDGET_HOTKEY_LIST::updateFromClientData(), and WriteHotKeyConfig().
void ReadHotKeyConfig | ( | const wxString & | aFileName, |
std::map< std::string, std::pair< int, int > > & | aHotKeys | ||
) |
Reads a hotkey config file into a map.
If aFileName is empty it will read in the default hotkeys file.
Definition at line 352 of file hotkeys_basic.cpp.
References PATHS::GetUserSettingsPath(), FILEEXT::HotkeyFileExtension, and KeyCodeFromKeyName().
Referenced by PANEL_HOTKEYS_EDITOR::ImportHotKeys(), ReadHotKeyConfigIntoActions(), ACTION_MANAGER::UpdateHotKeys(), and WriteHotKeyConfig().
void ReadHotKeyConfigIntoActions | ( | const wxString & | aFileName, |
std::vector< TOOL_ACTION * > & | aActions | ||
) |
Reads a hotkey config file into a list of actions.
If aFileName is empty it will read in the default hotkeys file.
Definition at line 393 of file hotkeys_basic.cpp.
References hotkeys, and ReadHotKeyConfig().
Referenced by DIALOG_LIST_HOTKEYS::DIALOG_LIST_HOTKEYS(), and EDA_BASE_FRAME::ShowPreferences().
int ReadLegacyHotkeyConfig | ( | const wxString & | aAppname, |
std::map< std::string, int > & | aMap | ||
) |
Read configuration data and fill the current hotkey list with hotkeys.
aAppname | the value of the app's m_FrameName. |
aMap | The list of keycodes mapped by legacy property names. |
Definition at line 441 of file hotkeys_basic.cpp.
References EESCHEMA_HOTKEY_NAME, FOOTPRINT_EDIT_FRAME_NAME, LIB_EDIT_FRAME_NAME, PCB_EDIT_FRAME_NAME, PCBNEW_HOTKEY_NAME, ReadLegacyHotkeyConfigFile(), and SCH_EDIT_FRAME_NAME.
Referenced by ACTION_MANAGER::UpdateHotKeys().
int ReadLegacyHotkeyConfigFile | ( | const wxString & | aFilename, |
std::map< std::string, int > & | aMap | ||
) |
Read hotkey configuration for a given app.
aFilename | the filename to save the hotkeys as. |
aMap | The list of keycodes mapped by legacy property names. |
Definition at line 458 of file hotkeys_basic.cpp.
References PATHS::GetUserSettingsPath(), FILEEXT::HotkeyFileExtension, and KeyCodeFromKeyName().
Referenced by ReadLegacyHotkeyConfig().
int WriteHotKeyConfig | ( | const std::vector< TOOL_ACTION * > & | aActions | ) |
Update the hotkeys config file with the hotkeys from the given actions map.
Definition at line 410 of file hotkeys_basic.cpp.
References PATHS::GetUserSettingsPath(), FILEEXT::HotkeyFileExtension, hotkeys, KeyNameFromKeyCode(), and ReadHotKeyConfig().
Referenced by PANEL_HOTKEYS_EDITOR::TransferDataFromWindow().
|
static |
Definition at line 64 of file hotkeys_basic.cpp.
Referenced by KeyCodeFromKeyName(), and KeyNameFromKeyCode().