mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2025-12-05 21:15:38 -05:00
keybind: dont make shortcut inhbitor at compile time
This commit is contained in:
@@ -26,6 +26,15 @@ Item {
|
|||||||
property string _actionType: ""
|
property string _actionType: ""
|
||||||
property bool addingNewKey: false
|
property bool addingNewKey: false
|
||||||
property bool useCustomCompositor: false
|
property bool useCustomCompositor: false
|
||||||
|
property var _shortcutInhibitor: null
|
||||||
|
|
||||||
|
readonly property bool _shortcutInhibitorAvailable: {
|
||||||
|
try {
|
||||||
|
return typeof ShortcutInhibitor !== "undefined";
|
||||||
|
} catch (e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
readonly property var keys: bindData.keys || []
|
readonly property var keys: bindData.keys || []
|
||||||
readonly property bool hasOverride: {
|
readonly property bool hasOverride: {
|
||||||
@@ -47,6 +56,8 @@ Item {
|
|||||||
implicitHeight: contentColumn.implicitHeight
|
implicitHeight: contentColumn.implicitHeight
|
||||||
height: implicitHeight
|
height: implicitHeight
|
||||||
|
|
||||||
|
Component.onDestruction: _destroyShortcutInhibitor()
|
||||||
|
|
||||||
onIsExpandedChanged: {
|
onIsExpandedChanged: {
|
||||||
if (isExpanded)
|
if (isExpanded)
|
||||||
resetEdits();
|
resetEdits();
|
||||||
@@ -118,7 +129,34 @@ Item {
|
|||||||
addingNewKey = false;
|
addingNewKey = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function _createShortcutInhibitor() {
|
||||||
|
if (!_shortcutInhibitorAvailable || _shortcutInhibitor)
|
||||||
|
return;
|
||||||
|
|
||||||
|
const qmlString = `
|
||||||
|
import QtQuick
|
||||||
|
import Quickshell.Wayland
|
||||||
|
|
||||||
|
ShortcutInhibitor {
|
||||||
|
enabled: false
|
||||||
|
window: null
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
|
_shortcutInhibitor = Qt.createQmlObject(qmlString, root, "KeybindItem.ShortcutInhibitor");
|
||||||
|
_shortcutInhibitor.enabled = Qt.binding(() => root.recording);
|
||||||
|
_shortcutInhibitor.window = Qt.binding(() => root.panelWindow);
|
||||||
|
}
|
||||||
|
|
||||||
|
function _destroyShortcutInhibitor() {
|
||||||
|
if (_shortcutInhibitor) {
|
||||||
|
_shortcutInhibitor.destroy();
|
||||||
|
_shortcutInhibitor = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function startRecording() {
|
function startRecording() {
|
||||||
|
_createShortcutInhibitor();
|
||||||
recording = true;
|
recording = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -288,12 +326,6 @@ Item {
|
|||||||
|
|
||||||
property alias currentTitle: titleField.text
|
property alias currentTitle: titleField.text
|
||||||
|
|
||||||
ShortcutInhibitor {
|
|
||||||
id: shortcutInhibitor
|
|
||||||
enabled: root.recording
|
|
||||||
window: root.panelWindow
|
|
||||||
}
|
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
id: expandedContent
|
id: expandedContent
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
|
|||||||
Reference in New Issue
Block a user