From 66d2a77cfb4f627b3fd935d9fd3ba5744f97d8bd Mon Sep 17 00:00:00 2001 From: Vasily Date: Sat, 25 May 2019 11:08:21 +0200 Subject: [PATCH] Make VR->keyboard bindings appear in .ini on startup --- src/overlaycontroller.cpp | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/src/overlaycontroller.cpp b/src/overlaycontroller.cpp index c35394e..ad816e9 100644 --- a/src/overlaycontroller.cpp +++ b/src/overlaycontroller.cpp @@ -274,6 +274,27 @@ OverlayController::OverlayController( bool desktopMode, QQmlEngine::setObjectOwnership( obj, QQmlEngine::CppOwnership ); return obj; } ); + + // Force keyboard shortcut settings to appear in config file. + constexpr auto settingsKeyboardName = "keyboardShortcuts"; + appSettings()->beginGroup( settingsKeyboardName ); + + constexpr auto defaultDiscordMuteBindings = "^>m"; + if ( appSettings()->value( "keyboardOne", "" ) == "" ) + { + appSettings()->setValue( "keyboardOne", defaultDiscordMuteBindings ); + } + + if ( appSettings()->value( "keyboardTwo", "" ) == "" ) + { + appSettings()->setValue( "keyboardTwo", defaultDiscordMuteBindings ); + } + + if ( appSettings()->value( "keyboardThree", "" ) == "" ) + { + appSettings()->setValue( "keyboardThree", defaultDiscordMuteBindings ); + } + appSettings()->endGroup(); } OverlayController::~OverlayController() @@ -595,14 +616,9 @@ void OverlayController::processKeyboardBindings() if ( m_actions.keyboardOne() ) { - constexpr auto defaultDiscordMuteBinding = "^>m"; - appSettings()->beginGroup( settingsKeyboardName ); const auto commands - = appSettings() - ->value( "keyboardOne", defaultDiscordMuteBinding ) - .toString() - .toStdString(); + = appSettings()->value( "keyboardOne" ).toString().toStdString(); appSettings()->endGroup(); sendStringAsInput( commands );