35 PSEUDO_ACTION(
const wxString& aLabel,
int aHotKey,
int aHotKeyAlt = 0 )
44 new PSEUDO_ACTION(
_(
"Accept Autocomplete" ), WXK_RETURN, WXK_NUMPAD_ENTER ),
68 return name.BeforeFirst(
'.' );
74 std::map<wxString, wxString> s_AppNames = {
75 { wxT(
"common" ),
_(
"Common" ) },
76 { wxT(
"kicad" ),
_(
"Project Manager" ) },
77 { wxT(
"eeschema" ),
_(
"Schematic Editor" ) },
78 { wxT(
"pcbnew" ),
_(
"PCB Editor" ) },
79 { wxT(
"plEditor" ),
_(
"Drawing Sheet Editor" ), },
80 { wxT(
"3DViewer" ),
_(
"3D Viewer" ) },
81 { wxT(
"gerbview" ),
_(
"Gerber Viewer" ) }
86 if( s_AppNames.count( appName ) )
87 return s_AppNames[ appName ];
100 std::map<std::string, HOTKEY> masterMap;
105 if( action->GetFriendlyName().IsEmpty() )
110 if( action->GetName() ==
"pcbnew.Control.zoneDisplayOutlines"
111 || action->GetName() ==
"pcbnew.Control.zoneDisplayTesselation" )
117 HOTKEY& hotkey = masterMap[ action->GetName() ];
133 for(
const std::pair<const std::string, HOTKEY>& entry : masterMap )
135 TOOL_ACTION* entryAction = entry.second.m_Actions[ 0 ];
136 wxString entryApp =
GetAppName( entryAction );
138 if( !currentSection || entryApp != currentApp )
141 currentApp = entryApp;
145 if( aIncludeReadOnlyCmds && currentApp ==
"common" )
155 if( aIncludeReadOnlyCmds )
177 for(
HOTKEY& hotkey : section.m_HotKeys )
190 for(
HOTKEY& hotkey : section.m_HotKeys )
203 for(
HOTKEY& hotkey : section.m_HotKeys )
227 if( !( section.m_SectionName == sectionName || section.m_SectionName == commonName ) )
230 for(
HOTKEY& hotkey : section.m_HotKeys )
246 *aConflict = &hotkey;
static const ADVANCED_CFG & GetCfg()
Get the singleton instance's config, which is shared by all consumers.
bool CheckKeyConflicts(TOOL_ACTION *aAction, long aKey, HOTKEY **aConflict)
Check whether the given key conflicts with anything in this store.
void ResetAllHotkeysToOriginal()
Resets every hotkey to the original values.
void ResetAllHotkeysToDefault()
Reset every hotkey in the store to the default values.
HOTKEY_STORE()
Construct a HOTKEY_STORE from a list of hotkey sections.
void Init(std::vector< TOOL_ACTION * > aActionsList, bool aIncludeReadOnlyCmds)
std::vector< HOTKEY_SECTION > & GetSections()
Get the list of sections managed by this store.
std::vector< HOTKEY_SECTION > m_hk_sections
void SaveAllHotkeys()
Persist all changes to hotkeys in the store to the underlying data structures.
static wxString GetSectionName(TOOL_ACTION *aAction)
static wxString GetAppName(TOOL_ACTION *aAction)
PSEUDO_ACTION(const wxString &aLabel, int aHotKey, int aHotKeyAlt=0)
Base window classes and related definitions.
static PSEUDO_ACTION * g_gesturePseudoActions[]
static PSEUDO_ACTION * g_standardPlatformCommands[]
#define PSEUDO_WXK_DBLCLICK
std::vector< HOTKEY > m_HotKeys
std::vector< TOOL_ACTION * > m_Actions