@dark-engine/platform-desktop
Version:
Dark renderer to desktop platforms like Windows, Linux, macOS via Nodegui and Qt
17 lines (16 loc) • 657 B
JavaScript
import { QShortcut, QKeySequence } from '@nodegui/nodegui';
import { useEffect } from '@dark-engine/core';
function useShortcut(options, deps = []) {
const { ref, keySequence, disabled, signal = 'activated', callback } = options;
useEffect(() => {
if (!ref.current) return;
const shortcut = new QShortcut(ref.current);
const $signal = signal;
shortcut.setKey(new QKeySequence(keySequence));
shortcut.setEnabled(!disabled);
shortcut.addEventListener($signal, callback);
return () => shortcut.removeEventListener($signal, callback);
}, [disabled, ...deps]);
}
export { useShortcut };
//# sourceMappingURL=use-shortcut.js.map