mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-04-21 18:33:45 +00:00
Read hotkeys from disk after they change.
(Otherwise we'll write the old versions back out when closing one app.) Fixes https://gitlab.com/kicad/code/kicad/-/issues/19612
This commit is contained in:
parent
ada1a9b054
commit
8874f137fa
3d-viewer/3d_viewer
common
eeschema
eeschema_config.cppsch_base_frame.cppsch_base_frame.hsch_edit_frame.cppsch_edit_frame.h
sim
symbol_diff_frame.hsymbol_editor
symbol_viewer_frame.cppsymbol_viewer_frame.hgerbview
include
kicad
pagelayout_editor
pcbnew
@ -634,12 +634,12 @@ void EDA_3D_VIEWER_FRAME::SaveSettings( APP_SETTINGS_BASE *aCfg )
|
||||
}
|
||||
|
||||
|
||||
void EDA_3D_VIEWER_FRAME::CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged )
|
||||
void EDA_3D_VIEWER_FRAME::CommonSettingsChanged( int aFlags )
|
||||
{
|
||||
wxLogTrace( m_logTrace, wxT( "EDA_3D_VIEWER_FRAME::CommonSettingsChanged" ) );
|
||||
|
||||
// Regen menu bars, etc
|
||||
EDA_BASE_FRAME::CommonSettingsChanged( aEnvVarsChanged, aTextVarsChanged );
|
||||
EDA_BASE_FRAME::CommonSettingsChanged( aFlags );
|
||||
|
||||
// There is no base class that handles toolbars for this frame
|
||||
ReCreateMainToolbar();
|
||||
|
@ -114,7 +114,7 @@ public:
|
||||
* This would be private (and only called by the Kiway), but we need to do this manually
|
||||
* from the PCB frame because the 3D viewer isn't updated via the #KIWAY.
|
||||
*/
|
||||
void CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged ) override;
|
||||
void CommonSettingsChanged( int aFlags ) override;
|
||||
void ShowChangedLanguage() override;
|
||||
|
||||
APPEARANCE_CONTROLS_3D* GetAppearanceManager() { return m_appearancePanel; }
|
||||
|
@ -555,9 +555,9 @@ void EDA_BASE_FRAME::ShowChangedLanguage()
|
||||
}
|
||||
|
||||
|
||||
void EDA_BASE_FRAME::CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged )
|
||||
void EDA_BASE_FRAME::CommonSettingsChanged( int aFlags )
|
||||
{
|
||||
TOOLS_HOLDER::CommonSettingsChanged( aEnvVarsChanged, aTextVarsChanged );
|
||||
TOOLS_HOLDER::CommonSettingsChanged( aFlags );
|
||||
|
||||
COMMON_SETTINGS* settings = Pgm().GetCommonSettings();
|
||||
|
||||
@ -791,7 +791,7 @@ void EDA_BASE_FRAME::LoadWindowSettings( const WINDOW_SETTINGS* aCfg )
|
||||
m_perspective = aCfg->perspective;
|
||||
m_mruPath = aCfg->mru_path;
|
||||
|
||||
TOOLS_HOLDER::CommonSettingsChanged( false, false );
|
||||
TOOLS_HOLDER::CommonSettingsChanged();
|
||||
}
|
||||
|
||||
|
||||
@ -1288,7 +1288,7 @@ void EDA_BASE_FRAME::ShowPreferences( wxString aStartPage, wxString aStartParent
|
||||
// Update our grids that are cached in the tool
|
||||
m_toolManager->ResetTools( TOOL_BASE::REDRAW );
|
||||
Pgm().GetSettingsManager().Save();
|
||||
dlg.Kiway().CommonSettingsChanged( false, false );
|
||||
dlg.Kiway().CommonSettingsChanged( HOTKEYS_CHANGED );
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -293,9 +293,9 @@ void EDA_DRAW_FRAME::ToggleUserUnits()
|
||||
}
|
||||
|
||||
|
||||
void EDA_DRAW_FRAME::CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged )
|
||||
void EDA_DRAW_FRAME::CommonSettingsChanged( int aFlags )
|
||||
{
|
||||
EDA_BASE_FRAME::CommonSettingsChanged( aEnvVarsChanged, aTextVarsChanged );
|
||||
EDA_BASE_FRAME::CommonSettingsChanged( aFlags );
|
||||
|
||||
COMMON_SETTINGS* settings = Pgm().GetCommonSettings();
|
||||
KIGFX::VIEW_CONTROLS* viewControls = GetCanvas()->GetViewControls();
|
||||
|
@ -614,7 +614,7 @@ void KIWAY::SetLanguage( int aLanguage )
|
||||
}
|
||||
|
||||
|
||||
void KIWAY::CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged )
|
||||
void KIWAY::CommonSettingsChanged( int aFlags )
|
||||
{
|
||||
if( m_ctl & KFCTL_CPP_PROJECT_SUITE )
|
||||
{
|
||||
@ -624,7 +624,7 @@ void KIWAY::CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged )
|
||||
EDA_BASE_FRAME* top = static_cast<EDA_BASE_FRAME*>( m_top );
|
||||
|
||||
if( top )
|
||||
top->CommonSettingsChanged( aEnvVarsChanged, aTextVarsChanged );
|
||||
top->CommonSettingsChanged( aFlags );
|
||||
}
|
||||
|
||||
for( unsigned i=0; i < KIWAY_PLAYER_COUNT; ++i )
|
||||
@ -632,7 +632,7 @@ void KIWAY::CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged )
|
||||
KIWAY_PLAYER* frame = GetPlayerFrame( ( FRAME_T )i );
|
||||
|
||||
if( frame )
|
||||
frame->CommonSettingsChanged( aEnvVarsChanged, aTextVarsChanged );
|
||||
frame->CommonSettingsChanged( aFlags );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -282,14 +282,14 @@ int ACTION_MANAGER::GetHotKey( const TOOL_ACTION& aAction ) const
|
||||
|
||||
void ACTION_MANAGER::UpdateHotKeys( bool aFullUpdate )
|
||||
{
|
||||
static std::map<std::string, int> legacyHotKeyMap;
|
||||
static std::map<std::string, int> legacyHotKeyMap;
|
||||
static std::map<std::string, std::pair<int, int>> userHotKeyMap;
|
||||
static bool mapsInitialized = false;
|
||||
static bool mapsInitialized = false;
|
||||
|
||||
m_actionHotKeys.clear();
|
||||
m_hotkeys.clear();
|
||||
|
||||
if( aFullUpdate && !mapsInitialized && m_toolMgr->GetToolHolder() )
|
||||
if( m_toolMgr->GetToolHolder() && ( aFullUpdate || !mapsInitialized ) )
|
||||
{
|
||||
ReadLegacyHotkeyConfig( m_toolMgr->GetToolHolder()->ConfigBaseName(), legacyHotKeyMap );
|
||||
ReadHotKeyConfig( wxEmptyString, userHotKeyMap );
|
||||
|
@ -95,7 +95,7 @@ int COMMON_CONTROL::ConfigurePaths( const TOOL_EVENT& aEvent )
|
||||
DIALOG_CONFIGURE_PATHS dlg( m_frame );
|
||||
|
||||
if( dlg.ShowModal() == wxID_OK )
|
||||
m_frame->Kiway().CommonSettingsChanged( true, false );
|
||||
m_frame->Kiway().CommonSettingsChanged( ENVVARS_CHANGED );
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -150,10 +150,10 @@ void TOOLS_HOLDER::ShowChangedLanguage()
|
||||
}
|
||||
|
||||
|
||||
void TOOLS_HOLDER::CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged )
|
||||
void TOOLS_HOLDER::CommonSettingsChanged( int aFlags )
|
||||
{
|
||||
if( GetToolManager() )
|
||||
GetToolManager()->GetActionManager()->UpdateHotKeys( false );
|
||||
GetToolManager()->GetActionManager()->UpdateHotKeys( aFlags & HOTKEYS_CHANGED );
|
||||
|
||||
COMMON_SETTINGS* settings = Pgm().GetCommonSettings();
|
||||
|
||||
|
@ -141,7 +141,7 @@ void SCH_EDIT_FRAME::ShowSchematicSetupDialog( const wxString& aInitialPage )
|
||||
// Mark document as modified so that project settings can be saved as part of doc save
|
||||
OnModify();
|
||||
|
||||
Kiway().CommonSettingsChanged( false, true );
|
||||
Kiway().CommonSettingsChanged( TEXTVARS_CHANGED );
|
||||
|
||||
Prj().IncrementTextVarsTicker();
|
||||
Prj().IncrementNetclassesTicker();
|
||||
|
@ -513,9 +513,9 @@ COLOR4D SCH_BASE_FRAME::GetLayerColor( SCH_LAYER_ID aLayer )
|
||||
}
|
||||
|
||||
|
||||
void SCH_BASE_FRAME::CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged )
|
||||
void SCH_BASE_FRAME::CommonSettingsChanged( int aFlags )
|
||||
{
|
||||
EDA_DRAW_FRAME::CommonSettingsChanged( aEnvVarsChanged, aTextVarsChanged );
|
||||
EDA_DRAW_FRAME::CommonSettingsChanged( aFlags );
|
||||
|
||||
COLOR_SETTINGS* colorSettings = GetColorSettings( true );
|
||||
|
||||
|
@ -234,7 +234,7 @@ public:
|
||||
*/
|
||||
void SyncView();
|
||||
|
||||
void CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged ) override;
|
||||
void CommonSettingsChanged( int aFlags ) override;
|
||||
|
||||
/**
|
||||
* Helper to retrieve a layer color from the global color settings
|
||||
|
@ -2132,9 +2132,9 @@ std::unique_ptr<GRID_HELPER> SCH_EDIT_FRAME::MakeGridHelper()
|
||||
}
|
||||
|
||||
|
||||
void SCH_EDIT_FRAME::CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged )
|
||||
void SCH_EDIT_FRAME::CommonSettingsChanged( int aFlags )
|
||||
{
|
||||
SCH_BASE_FRAME::CommonSettingsChanged( aEnvVarsChanged, aTextVarsChanged );
|
||||
SCH_BASE_FRAME::CommonSettingsChanged( aFlags );
|
||||
|
||||
SCHEMATIC_SETTINGS& settings = Schematic().Settings();
|
||||
|
||||
|
@ -829,7 +829,7 @@ public:
|
||||
/**
|
||||
* Called after the preferences dialog is run.
|
||||
*/
|
||||
void CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged ) override;
|
||||
void CommonSettingsChanged( int aFlags ) override;
|
||||
|
||||
void UpdateNetHighlightStatus();
|
||||
|
||||
|
@ -276,9 +276,9 @@ void SIMULATOR_FRAME::SaveSettings( APP_SETTINGS_BASE* aCfg )
|
||||
}
|
||||
|
||||
|
||||
void SIMULATOR_FRAME::CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged )
|
||||
void SIMULATOR_FRAME::CommonSettingsChanged( int aFlags )
|
||||
{
|
||||
KIWAY_PLAYER::CommonSettingsChanged( aEnvVarsChanged, aTextVarsChanged );
|
||||
KIWAY_PLAYER::CommonSettingsChanged( aFlags );
|
||||
|
||||
auto* cfg = dynamic_cast<EESCHEMA_SETTINGS*>( m_toolManager->GetSettings() );
|
||||
wxASSERT( cfg != nullptr );
|
||||
|
@ -162,7 +162,7 @@ public:
|
||||
|
||||
void SaveSettings( APP_SETTINGS_BASE* aCfg ) override;
|
||||
|
||||
void CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged ) override;
|
||||
void CommonSettingsChanged( int aFlags ) override;
|
||||
|
||||
WINDOW_SETTINGS* GetWindowSettings( APP_SETTINGS_BASE* aCfg ) override;
|
||||
|
||||
|
@ -68,7 +68,7 @@ public:
|
||||
|
||||
WINDOW_SETTINGS* GetWindowSettings( APP_SETTINGS_BASE* aCfg ) override;
|
||||
|
||||
void CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged ) override;
|
||||
void CommonSettingsChanged( int aFlags ) override;
|
||||
|
||||
const BOX2I GetDocumentExtents( bool aIncludeAllVisible = true ) const override;
|
||||
|
||||
|
@ -1336,9 +1336,9 @@ void SYMBOL_EDIT_FRAME::emptyScreen()
|
||||
}
|
||||
|
||||
|
||||
void SYMBOL_EDIT_FRAME::CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged )
|
||||
void SYMBOL_EDIT_FRAME::CommonSettingsChanged( int aFlags )
|
||||
{
|
||||
SCH_BASE_FRAME::CommonSettingsChanged( aEnvVarsChanged, aTextVarsChanged );
|
||||
SCH_BASE_FRAME::CommonSettingsChanged( aFlags );
|
||||
|
||||
SETTINGS_MANAGER* mgr = GetSettingsManager();
|
||||
SYMBOL_EDITOR_SETTINGS* cfg = mgr->GetAppSettings<SYMBOL_EDITOR_SETTINGS>( "symbol_editor" );
|
||||
@ -1360,7 +1360,7 @@ void SYMBOL_EDIT_FRAME::CommonSettingsChanged( bool aEnvVarsChanged, bool aTextV
|
||||
|
||||
RecreateToolbars();
|
||||
|
||||
if( aEnvVarsChanged )
|
||||
if( aFlags & ENVVARS_CHANGED )
|
||||
SyncLibraries( true );
|
||||
|
||||
Layout();
|
||||
|
@ -361,7 +361,7 @@ public:
|
||||
/**
|
||||
* Called after the preferences dialog is run.
|
||||
*/
|
||||
void CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged ) override;
|
||||
void CommonSettingsChanged( int aFlags ) override;
|
||||
|
||||
void ShowChangedLanguage() override;
|
||||
|
||||
|
@ -901,9 +901,9 @@ WINDOW_SETTINGS* SYMBOL_VIEWER_FRAME::GetWindowSettings( APP_SETTINGS_BASE* aCfg
|
||||
}
|
||||
|
||||
|
||||
void SYMBOL_VIEWER_FRAME::CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged )
|
||||
void SYMBOL_VIEWER_FRAME::CommonSettingsChanged( int aFlags )
|
||||
{
|
||||
SCH_BASE_FRAME::CommonSettingsChanged( aEnvVarsChanged, aTextVarsChanged );
|
||||
SCH_BASE_FRAME::CommonSettingsChanged( aFlags );
|
||||
|
||||
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
|
||||
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
|
||||
@ -913,7 +913,7 @@ void SYMBOL_VIEWER_FRAME::CommonSettingsChanged( bool aEnvVarsChanged, bool aTex
|
||||
GetCanvas()->GetGAL()->DrawGrid();
|
||||
GetCanvas()->ForceRefresh();
|
||||
|
||||
if( aEnvVarsChanged )
|
||||
if( aFlags && ENVVARS_CHANGED )
|
||||
ReCreateLibList();
|
||||
}
|
||||
|
||||
|
@ -87,7 +87,7 @@ public:
|
||||
|
||||
WINDOW_SETTINGS* GetWindowSettings( APP_SETTINGS_BASE* aCfg ) override;
|
||||
|
||||
void CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged ) override;
|
||||
void CommonSettingsChanged( int aFlags ) override;
|
||||
|
||||
/**
|
||||
* Set the selected library in the library window.
|
||||
|
@ -1210,9 +1210,9 @@ void GERBVIEW_FRAME::setupUIConditions()
|
||||
}
|
||||
|
||||
|
||||
void GERBVIEW_FRAME::CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged )
|
||||
void GERBVIEW_FRAME::CommonSettingsChanged( int aFlags )
|
||||
{
|
||||
EDA_DRAW_FRAME::CommonSettingsChanged( aEnvVarsChanged, aTextVarsChanged );
|
||||
EDA_DRAW_FRAME::CommonSettingsChanged( aFlags );
|
||||
|
||||
// Update gal display options like cursor shape, grid options:
|
||||
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
|
||||
|
@ -376,7 +376,7 @@ public:
|
||||
/**
|
||||
* Called after the preferences dialog is run.
|
||||
*/
|
||||
void CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged ) override;
|
||||
void CommonSettingsChanged( int aFlags ) override;
|
||||
|
||||
SELECTION& GetCurrentSelection() override;
|
||||
|
||||
|
@ -498,7 +498,7 @@ public:
|
||||
* Notification event that some of the common (suite-wide) settings have changed.
|
||||
* Update menus, toolbars, local variables, etc.
|
||||
*/
|
||||
void CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged ) override;
|
||||
void CommonSettingsChanged( int aFlags ) override;
|
||||
|
||||
/**
|
||||
* Process light/dark theme change.
|
||||
|
@ -196,7 +196,7 @@ public:
|
||||
const wxString& ext, bool isDirectory = false, bool aIsGlobal = false,
|
||||
const wxString& aGlobalPath = wxEmptyString );
|
||||
|
||||
void CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged ) override;
|
||||
void CommonSettingsChanged( int aFlags ) override;
|
||||
|
||||
virtual wxString GetScreenDesc() const;
|
||||
virtual wxString GetFullScreenDesc() const;
|
||||
|
@ -401,7 +401,7 @@ public:
|
||||
*
|
||||
* Use after changing suite-wide options such as panning, autosave interval, etc.
|
||||
*/
|
||||
virtual void CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVarsChanged );
|
||||
virtual void CommonSettingsChanged( int aFlags );
|
||||
|
||||
/**
|
||||
* Calls ProjectChanged() on all KIWAY_PLAYERs.
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user