@dark-engine/platform-desktop
Version:
Dark renderer to desktop platforms like Windows, Linux, macOS via Nodegui and Qt
20 lines (19 loc) • 792 B
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
exports.useShortcut = void 0;
const nodegui_1 = require('@nodegui/nodegui');
const core_1 = require('@dark-engine/core');
function useShortcut(options, deps = []) {
const { ref, keySequence, disabled, signal = 'activated', callback } = options;
(0, core_1.useEffect)(() => {
if (!ref.current) return;
const shortcut = new nodegui_1.QShortcut(ref.current);
const $signal = signal;
shortcut.setKey(new nodegui_1.QKeySequence(keySequence));
shortcut.setEnabled(!disabled);
shortcut.addEventListener($signal, callback);
return () => shortcut.removeEventListener($signal, callback);
}, [disabled, ...deps]);
}
exports.useShortcut = useShortcut;
//# sourceMappingURL=use-shortcut.js.map