1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-06-07 19:59:14 -04:00

fix(keybinds): show percentage amount in titles & performance improvements

This commit is contained in:
purian23
2026-06-03 00:35:19 -04:00
parent d51b34797c
commit 510269dda9
2 changed files with 51 additions and 5 deletions
+24
View File
@@ -770,6 +770,26 @@ const DMS_ACTION_ARGS = {
}
};
const DMS_AMOUNT_LABELS = {
"audio increment": "Volume Up",
"audio decrement": "Volume Down",
"mpris increment": "Player Volume Up",
"mpris decrement": "Player Volume Down",
"brightness increment": "Brightness Up",
"brightness decrement": "Brightness Down"
};
function getDmsAmountLabel(action) {
var parsed = parseDmsActionArgs(action);
var label = DMS_AMOUNT_LABELS[parsed.base];
if (!label)
return null;
var amount = parsed.args?.amount;
if (amount === undefined || amount === null || amount === "")
return label;
return label + " (" + amount + "%)";
}
function getActionTypes() {
return ACTION_TYPES;
}
@@ -844,6 +864,10 @@ function getActionLabel(action, compositor) {
if (!action)
return "";
var amountLabel = getDmsAmountLabel(action);
if (amountLabel)
return amountLabel;
var dmsAct = findDmsAction(action);
if (dmsAct)
return dmsAct.label;
+27 -5
View File
@@ -71,15 +71,32 @@ Item {
signal resetBind(string key)
signal cancelEdit
clip: true
property bool _userToggledExpand: false
implicitHeight: contentColumn.implicitHeight
height: implicitHeight
Behavior on implicitHeight {
enabled: root._userToggledExpand
NumberAnimation {
duration: Theme.shortDuration
easing.type: Theme.standardEasing
onRunningChanged: {
if (!running)
root._userToggledExpand = false;
}
}
}
Component.onCompleted: {
if (isNew && isExpanded)
resetEdits();
}
onIsExpandedChanged: {
_userToggledExpand = true;
if (!isExpanded)
return;
if (restoreKey) {
@@ -431,7 +448,7 @@ Item {
width: parent.width
active: root.isExpanded
visible: status === Loader.Ready
asynchronous: true
asynchronous: false
sourceComponent: expandedComponent
}
}
@@ -957,7 +974,7 @@ Item {
if (act.label === value) {
root.updateEdit({
"action": act.id,
"desc": act.label
"desc": KeybindsService.getActionLabel(act.id)
});
return;
}
@@ -1012,11 +1029,16 @@ Item {
onEditingFinished: {
if (!dmsArgsRow.parsedArgs)
return;
const oldAction = root.editAction;
const newArgs = Object.assign({}, dmsArgsRow.parsedArgs.args);
newArgs.amount = text || "5";
root.updateEdit({
"action": Actions.buildDmsAction(dmsArgsRow.parsedArgs.base, newArgs)
});
const newAction = Actions.buildDmsAction(dmsArgsRow.parsedArgs.base, newArgs);
const changes = {
"action": newAction
};
if (root.editDesc === "" || root.editDesc === KeybindsService.getActionLabel(oldAction))
changes.desc = KeybindsService.getActionLabel(newAction);
root.updateEdit(changes);
}
}