feat(hotkeys): chaque raccourci se desactive (Suppr pendant la capture)

Off = vk 0, non enregistre : la combinaison reste libre pour les autres
applis. Combinaisons retenues en pref DPAPI et rejouees au demarrage, pour
qu'un raccourci coupe le reste coffre ferme. Esc annule enfin la capture au
lieu de fermer les reglages.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
r-zakarya
2026-10-05 18:15:29 +01:00
parent 27afc4e8ca
commit 28f8a42846
5 changed files with 54 additions and 7 deletions
+18 -4
View File
@@ -364,7 +364,13 @@ begin
FBridge.OnNewEntryHotkey := BridgeNewEntryHotkey;
FBridge.OnQuickSearchRequest := BridgeQuickSearchRequest;
FBridge.OnQuickSearchHotkey := BridgeQuickSearchHotkey;
FBridge.RegisterAutofillHotkey; // Ctrl+Shift+L active from startup
// Les combinaisons de la derniere session (dont les raccourcis desactives),
// sinon les valeurs par defaut.
var LSavedHotkeys := PM.UserPrefs.GetPref('hotkeys');
if LSavedHotkeys <> '' then
HandleBridgeCommand('autofill/hotkeys', LSavedHotkeys)
else
FBridge.RegisterAutofillHotkey; // Ctrl+Shift+L active from startup
FBridge.ApplyTitleBarTheme(True); // dark by default, JS may toggle later
// Apres le theme et apres OnTrayRestore : la barrette se peint elle-meme, et
// son bouton Open passe par cet evenement.
@@ -1146,6 +1152,13 @@ begin
// Ids, not labels: JS owns the wording AND uses them to flag the exact
// row in Settings. A combo the user cleared (vk=0) is never listed.
var LFailed := '';
// RETENU EN PREF DPAPI pour etre rejoue au demarrage : les combinaisons
// vivent dans settings_json, lu seulement apres la connexion - un raccourci
// desactive restait donc pris par les valeurs par defaut tant que le coffre
// etait ferme. Pas la suspension de la capture (sans full_vk). Rien de
// secret dedans.
if GetParam('full_vk') <> '' then
PM.UserPrefs.SetPref('hotkeys', AParams);
// Quick-search combo is set unconditionally (independent of the
// autofill enabled flag) so the picker stays armed even when the
// autofill hotkeys are turned off.
@@ -1198,9 +1211,10 @@ begin
// One notification for the whole batch, naming the combos that failed —
// empty string = everything registered.
LFailed := LFailed.TrimRight([',', ' ']);
WebBrowser.ExecuteJavaScript(
'if(window.Bridge&&Bridge.onAutofillHotkeysResult)' +
'Bridge.onAutofillHotkeysResult("' + LFailed.Replace('"', '') + '")');
if FBrowserInitialized then
WebBrowser.ExecuteJavaScript(
'if(window.Bridge&&Bridge.onAutofillHotkeysResult)' +
'Bridge.onAutofillHotkeysResult("' + LFailed.Replace('"', '') + '")');
end
// execute: JS has matched an entry, decrypted the password, and is