Add "Use Hotkeys" to settings to enable/disable them
This commit is contained in:
parent
15bba03e1d
commit
5d38aa4e17
|
@ -150,6 +150,11 @@
|
|||
<small>Check this to use character combinations to input International Phonetic Alphabet characters into
|
||||
Pronunciation fields.</small>
|
||||
</label>
|
||||
|
||||
<label>Use Hotkeys
|
||||
<input id="settingsUseHotkeys" type="checkbox" checked><br />
|
||||
<small>Check this to enable keyboard combinations to perform different helpful actions.</small>
|
||||
</label>
|
||||
|
||||
<label>Theme
|
||||
<select disabled>
|
||||
|
|
|
@ -36,9 +36,9 @@ export function hotKeyActions(event) {
|
|||
}
|
||||
} break;
|
||||
}
|
||||
case 'd': if (event.ctrlKey) {event.preventDefault(); toggleDetailsDisplay()} break;
|
||||
case 'e': if (event.ctrlKey) {event.preventDefault(); openEditModal()} break;
|
||||
case 'h': if (event.ctrlKey) {event.preventDefault(); showHelpModal();} break;
|
||||
case 'd': if (event.ctrlKey) {event.preventDefault(); toggleDetailsDisplay();} break;
|
||||
case 'e': if (event.ctrlKey) {event.preventDefault(); hideAllModals(); openEditModal();} break;
|
||||
case 'h': if (event.ctrlKey) {event.preventDefault(); hideAllModals(); showHelpModal();} break;
|
||||
case 'm': if (event.ctrlKey) {event.preventDefault(); maximizeTextarea();} break;
|
||||
case 's': {
|
||||
if (event.ctrlKey) {
|
||||
|
@ -52,7 +52,7 @@ export function hotKeyActions(event) {
|
|||
}
|
||||
break;
|
||||
}
|
||||
case 'S': if (event.ctrlKey) { event.preventDefault(); hideAllModals(); openSettingsModal(); } break;
|
||||
case 'S': if (event.ctrlKey) {event.preventDefault(); hideAllModals(); openSettingsModal();} break;
|
||||
case 'x': if (event.ctrlKey) {event.preventDefault(); clearSearchText();} break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ import { cloneObject } from "../helpers";
|
|||
import { usePhondueDigraphs } from "./KeyboardFire/phondue/ipaField";
|
||||
import { renderWords } from "./render";
|
||||
import { addMessage } from "./utilities";
|
||||
import { enableHotKeys, disableHotKeys } from "./hotkeys";
|
||||
|
||||
export function loadSettings() {
|
||||
const storedSettings = window.localStorage.getItem(SETTINGS_KEY);
|
||||
|
@ -16,17 +17,20 @@ export function saveSettings() {
|
|||
}
|
||||
|
||||
export function openSettingsModal() {
|
||||
const { useIPAPronunciationField } = window.settings;
|
||||
const { useIPAPronunciationField, useHotkeys } = window.settings;
|
||||
|
||||
document.getElementById('settingsUseIPA').checked = useIPAPronunciationField;
|
||||
document.getElementById('settingsUseHotkeys').checked = useHotkeys;
|
||||
|
||||
document.getElementById('settingsModal').style.display = '';
|
||||
}
|
||||
|
||||
export function saveSettingsModal() {
|
||||
window.settings.useIPAPronunciationField = document.getElementById('settingsUseIPA').checked;
|
||||
window.settings.useHotkeys = document.getElementById('settingsUseHotkeys').checked;
|
||||
|
||||
saveSettings();
|
||||
toggleHotkeysEnabled();
|
||||
toggleIPAPronunciationFields();
|
||||
}
|
||||
|
||||
|
@ -35,6 +39,13 @@ export function saveAndCloseSettingsModal() {
|
|||
document.getElementById('settingsModal').style.display = 'none';
|
||||
}
|
||||
|
||||
export function toggleHotkeysEnabled() {
|
||||
disableHotKeys();
|
||||
if (window.settings.useHotkeys) {
|
||||
enableHotKeys();
|
||||
}
|
||||
}
|
||||
|
||||
export function toggleIPAPronunciationFields() {
|
||||
const ipaButtons = document.querySelectorAll('.ipa-table-button, .ipa-field-help-button'),
|
||||
ipaFields = document.querySelectorAll('.ipa-field');
|
||||
|
|
Loading…
Reference in New Issue