#32 use remove/add to replace hotkey

possible workaround for "edited hotkey" not working
This commit is contained in:
Klaus Basan
2020-06-08 02:18:54 +02:00
committed by Mat Sutcliffe
parent 7981815ddf
commit 637bae5bb6
3 changed files with 15 additions and 8 deletions

View File

@@ -131,9 +131,13 @@ namespace BlackGui
void CSettingsHotkeyComponent::updateHotkeyInSettings(const CActionHotkey &oldValue, const CActionHotkey &newValue)
{
CActionHotkeyList actionHotkeyList(m_actionHotkeys.getThreadLocal());
actionHotkeyList.replace(oldValue, newValue);
m_actionHotkeys.set(actionHotkeyList);
//! \todo KB 2020-06 since there are many users reporting issues with replacing hotkey we use remove/add
this->removeHotkeyFromSettings(oldValue);
this->addHotkeyToSettings(newValue);
// CActionHotkeyList actionHotkeyList(m_actionHotkeys.getThreadLocal());
// actionHotkeyList.replace(oldValue, newValue);
// m_actionHotkeys.set(actionHotkeyList);
}
void CSettingsHotkeyComponent::removeHotkeyFromSettings(const CActionHotkey &actionHotkey)

View File

@@ -196,14 +196,14 @@ namespace BlackMisc
void CIdentifier::updateToCurrentMachine()
{
m_machineIdBase64 = cachedMachineUniqueId().toBase64();
m_machineName = cachedLocalHostName();
m_machineIdBase64 = cachedMachineUniqueId().toBase64();
m_machineName = cachedLocalHostName();
}
void CIdentifier::updateToCurrentProcess()
{
m_processName = QCoreApplication::applicationName();
m_processId = QCoreApplication::applicationPid();
m_processId = QCoreApplication::applicationPid();
}
QString CIdentifier::convertToQString(bool i18n) const

View File

@@ -66,8 +66,11 @@ namespace BlackMisc
const CIdentifier comparison("comparison for local machine");
for (CActionHotkey &actionHotkey : *this)
{
const bool sameMachine = actionHotkey.getIdentifier().hasSameMachineNameOrId(comparison);
if (sameMachine) { actionHotkey.updateToCurrentMachine(); }
// to avoid issue we always update
actionHotkey.updateToCurrentMachine();
// const bool sameMachine = actionHotkey.getIdentifier().hasSameMachineNameOrId(comparison);
// if (sameMachine) { actionHotkey.updateToCurrentMachine(); }
}
}
} // ns