mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-04-03 20:32:07 -04:00
dankbar: fix individual widget settings
This commit is contained in:
@@ -870,6 +870,16 @@ Item {
|
||||
newWidget.mountPath = widget.mountPath;
|
||||
if (widget.minimumWidth !== undefined)
|
||||
newWidget.minimumWidth = widget.minimumWidth;
|
||||
if (widget.mediaSize !== undefined)
|
||||
newWidget.mediaSize = widget.mediaSize;
|
||||
if (widget.clockCompactMode !== undefined)
|
||||
newWidget.clockCompactMode = widget.clockCompactMode;
|
||||
if (widget.focusedWindowCompactMode !== undefined)
|
||||
newWidget.focusedWindowCompactMode = widget.focusedWindowCompactMode;
|
||||
if (widget.runningAppsCompactMode !== undefined)
|
||||
newWidget.runningAppsCompactMode = widget.runningAppsCompactMode;
|
||||
if (widget.keyboardLayoutNameCompactMode !== undefined)
|
||||
newWidget.keyboardLayoutNameCompactMode = widget.keyboardLayoutNameCompactMode;
|
||||
if (widget.id === "controlCenterButton") {
|
||||
newWidget.showNetworkIcon = widget.showNetworkIcon !== undefined ? widget.showNetworkIcon : true;
|
||||
newWidget.showBluetoothIcon = widget.showBluetoothIcon !== undefined ? widget.showBluetoothIcon : true;
|
||||
@@ -882,6 +892,85 @@ Item {
|
||||
setWidgetsForSection(sectionId, widgets);
|
||||
}
|
||||
|
||||
function handleCompactModeChanged(sectionId, widgetId, value) {
|
||||
var widgets = getWidgetsForSection(sectionId).slice();
|
||||
|
||||
for (var i = 0; i < widgets.length; i++) {
|
||||
var widget = widgets[i];
|
||||
var currentId = typeof widget === "string" ? widget : widget.id;
|
||||
|
||||
if (currentId !== widgetId) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (typeof widget === "string") {
|
||||
widgets[i] = {
|
||||
"id": widget,
|
||||
"enabled": true
|
||||
};
|
||||
widget = widgets[i];
|
||||
} else {
|
||||
var newWidget = {
|
||||
"id": widget.id,
|
||||
"enabled": widget.enabled
|
||||
};
|
||||
|
||||
if (widget.size !== undefined)
|
||||
newWidget.size = widget.size;
|
||||
if (widget.selectedGpuIndex !== undefined)
|
||||
newWidget.selectedGpuIndex = widget.selectedGpuIndex;
|
||||
if (widget.pciId !== undefined)
|
||||
newWidget.pciId = widget.pciId;
|
||||
if (widget.mountPath !== undefined)
|
||||
newWidget.mountPath = widget.mountPath;
|
||||
if (widget.minimumWidth !== undefined)
|
||||
newWidget.minimumWidth = widget.minimumWidth;
|
||||
if (widget.showSwap !== undefined)
|
||||
newWidget.showSwap = widget.showSwap;
|
||||
if (widget.mediaSize !== undefined)
|
||||
newWidget.mediaSize = widget.mediaSize;
|
||||
if (widget.clockCompactMode !== undefined)
|
||||
newWidget.clockCompactMode = widget.clockCompactMode;
|
||||
if (widget.focusedWindowCompactMode !== undefined)
|
||||
newWidget.focusedWindowCompactMode = widget.focusedWindowCompactMode;
|
||||
if (widget.runningAppsCompactMode !== undefined)
|
||||
newWidget.runningAppsCompactMode = widget.runningAppsCompactMode;
|
||||
if (widget.keyboardLayoutNameCompactMode !== undefined)
|
||||
newWidget.keyboardLayoutNameCompactMode = widget.keyboardLayoutNameCompactMode;
|
||||
if (widget.id === "controlCenterButton") {
|
||||
newWidget.showNetworkIcon = widget.showNetworkIcon !== undefined ? widget.showNetworkIcon : true;
|
||||
newWidget.showBluetoothIcon = widget.showBluetoothIcon !== undefined ? widget.showBluetoothIcon : true;
|
||||
newWidget.showAudioIcon = widget.showAudioIcon !== undefined ? widget.showAudioIcon : true;
|
||||
}
|
||||
|
||||
widgets[i] = newWidget;
|
||||
widget = newWidget;
|
||||
}
|
||||
|
||||
switch (widgetId) {
|
||||
case "music":
|
||||
widget.mediaSize = value;
|
||||
break;
|
||||
case "clock":
|
||||
widget.clockCompactMode = value;
|
||||
break;
|
||||
case "focusedWindow":
|
||||
widget.focusedWindowCompactMode = value;
|
||||
break;
|
||||
case "runningApps":
|
||||
widget.runningAppsCompactMode = value;
|
||||
break;
|
||||
case "keyboard_layout_name":
|
||||
widget.keyboardLayoutNameCompactMode = value;
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
setWidgetsForSection(sectionId, widgets);
|
||||
}
|
||||
|
||||
function getItemsForSection(sectionId) {
|
||||
var widgets = [];
|
||||
var widgetData = getWidgetsForSection(sectionId);
|
||||
@@ -897,6 +986,11 @@ Item {
|
||||
var widgetShowAudioIcon = typeof widget === "string" ? undefined : widget.showAudioIcon;
|
||||
var widgetMinimumWidth = typeof widget === "string" ? undefined : widget.minimumWidth;
|
||||
var widgetShowSwap = typeof widget === "string" ? undefined : widget.showSwap;
|
||||
var widgetMediaSize = typeof widget === "string" ? undefined : widget.mediaSize;
|
||||
var widgetClockCompactMode = typeof widget === "string" ? undefined : widget.clockCompactMode;
|
||||
var widgetFocusedWindowCompactMode = typeof widget === "string" ? undefined : widget.focusedWindowCompactMode;
|
||||
var widgetRunningAppsCompactMode = typeof widget === "string" ? undefined : widget.runningAppsCompactMode;
|
||||
var widgetKeyboardLayoutNameCompactMode = typeof widget === "string" ? undefined : widget.keyboardLayoutNameCompactMode;
|
||||
var widgetDef = baseWidgetDefinitions.find(w => {
|
||||
return w.id === widgetId;
|
||||
});
|
||||
@@ -921,6 +1015,16 @@ Item {
|
||||
item.minimumWidth = widgetMinimumWidth;
|
||||
if (widgetShowSwap !== undefined)
|
||||
item.showSwap = widgetShowSwap;
|
||||
if (widgetMediaSize !== undefined)
|
||||
item.mediaSize = widgetMediaSize;
|
||||
if (widgetClockCompactMode !== undefined)
|
||||
item.clockCompactMode = widgetClockCompactMode;
|
||||
if (widgetFocusedWindowCompactMode !== undefined)
|
||||
item.focusedWindowCompactMode = widgetFocusedWindowCompactMode;
|
||||
if (widgetRunningAppsCompactMode !== undefined)
|
||||
item.runningAppsCompactMode = widgetRunningAppsCompactMode;
|
||||
if (widgetKeyboardLayoutNameCompactMode !== undefined)
|
||||
item.keyboardLayoutNameCompactMode = widgetKeyboardLayoutNameCompactMode;
|
||||
|
||||
widgets.push(item);
|
||||
}
|
||||
@@ -3155,6 +3259,9 @@ Item {
|
||||
onShowSwapChanged: (sectionId, index, enabled) => {
|
||||
dankBarTab.handleShowSwapChanged(sectionId, index, enabled);
|
||||
}
|
||||
onCompactModeChanged: (widgetId, value) => {
|
||||
dankBarTab.handleCompactModeChanged(sectionId, widgetId, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3211,6 +3318,9 @@ Item {
|
||||
onShowSwapChanged: (sectionId, index, enabled) => {
|
||||
dankBarTab.handleShowSwapChanged(sectionId, index, enabled);
|
||||
}
|
||||
onCompactModeChanged: (widgetId, value) => {
|
||||
dankBarTab.handleCompactModeChanged(sectionId, widgetId, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3267,6 +3377,9 @@ Item {
|
||||
onShowSwapChanged: (sectionId, index, enabled) => {
|
||||
dankBarTab.handleShowSwapChanged(sectionId, index, enabled);
|
||||
}
|
||||
onCompactModeChanged: (widgetId, value) => {
|
||||
dankBarTab.handleCompactModeChanged(sectionId, widgetId, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -319,7 +319,7 @@ Column {
|
||||
visible: modelData.id === "music"
|
||||
iconName: "photo_size_select_small"
|
||||
iconSize: 16
|
||||
iconColor: SettingsData.mediaSize === 0 ? Theme.primary : Theme.outline
|
||||
iconColor: (modelData.mediaSize !== undefined ? modelData.mediaSize : SettingsData.mediaSize) === 0 ? Theme.primary : Theme.outline
|
||||
onClicked: {
|
||||
root.compactModeChanged("music", 0);
|
||||
}
|
||||
@@ -337,7 +337,7 @@ Column {
|
||||
visible: modelData.id === "music"
|
||||
iconName: "photo_size_select_actual"
|
||||
iconSize: 16
|
||||
iconColor: SettingsData.mediaSize === 1 ? Theme.primary : Theme.outline
|
||||
iconColor: (modelData.mediaSize !== undefined ? modelData.mediaSize : SettingsData.mediaSize) === 1 ? Theme.primary : Theme.outline
|
||||
onClicked: {
|
||||
root.compactModeChanged("music", 1);
|
||||
}
|
||||
@@ -355,7 +355,7 @@ Column {
|
||||
visible: modelData.id === "music"
|
||||
iconName: "photo_size_select_large"
|
||||
iconSize: 16
|
||||
iconColor: SettingsData.mediaSize === 2 ? Theme.primary : Theme.outline
|
||||
iconColor: (modelData.mediaSize !== undefined ? modelData.mediaSize : SettingsData.mediaSize) === 2 ? Theme.primary : Theme.outline
|
||||
onClicked: {
|
||||
root.compactModeChanged("music", 2);
|
||||
}
|
||||
@@ -372,50 +372,73 @@ Column {
|
||||
buttonSize: 28
|
||||
visible: modelData.id === "clock" || modelData.id === "focusedWindow" || modelData.id === "runningApps" || modelData.id === "keyboard_layout_name"
|
||||
iconName: {
|
||||
if (modelData.id === "clock")
|
||||
return SettingsData.clockCompactMode ? "zoom_out" : "zoom_in";
|
||||
if (modelData.id === "focusedWindow")
|
||||
return SettingsData.focusedWindowCompactMode ? "zoom_out" : "zoom_in";
|
||||
if (modelData.id === "runningApps")
|
||||
return SettingsData.runningAppsCompactMode ? "zoom_out" : "zoom_in";
|
||||
if (modelData.id === "keyboard_layout_name")
|
||||
return SettingsData.keyboardLayoutNameCompactMode ? "zoom_out" : "zoom_in";
|
||||
return "zoom_in";
|
||||
const isCompact = (() => {
|
||||
switch (modelData.id) {
|
||||
case "clock":
|
||||
return modelData.clockCompactMode !== undefined ? modelData.clockCompactMode : SettingsData.clockCompactMode;
|
||||
case "focusedWindow":
|
||||
return modelData.focusedWindowCompactMode !== undefined ? modelData.focusedWindowCompactMode : SettingsData.focusedWindowCompactMode;
|
||||
case "runningApps":
|
||||
return modelData.runningAppsCompactMode !== undefined ? modelData.runningAppsCompactMode : SettingsData.runningAppsCompactMode;
|
||||
case "keyboard_layout_name":
|
||||
return modelData.keyboardLayoutNameCompactMode !== undefined ? modelData.keyboardLayoutNameCompactMode : SettingsData.keyboardLayoutNameCompactMode;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
})();
|
||||
return isCompact ? "zoom_out" : "zoom_in";
|
||||
}
|
||||
iconSize: 16
|
||||
iconColor: {
|
||||
if (modelData.id === "clock")
|
||||
return SettingsData.clockCompactMode ? Theme.primary : Theme.outline;
|
||||
if (modelData.id === "focusedWindow")
|
||||
return SettingsData.focusedWindowCompactMode ? Theme.primary : Theme.outline;
|
||||
if (modelData.id === "runningApps")
|
||||
return SettingsData.runningAppsCompactMode ? Theme.primary : Theme.outline;
|
||||
if (modelData.id === "keyboard_layout_name")
|
||||
return SettingsData.keyboardLayoutNameCompactMode ? Theme.primary : Theme.outline;
|
||||
return Theme.outline;
|
||||
const isCompact = (() => {
|
||||
switch (modelData.id) {
|
||||
case "clock":
|
||||
return modelData.clockCompactMode !== undefined ? modelData.clockCompactMode : SettingsData.clockCompactMode;
|
||||
case "focusedWindow":
|
||||
return modelData.focusedWindowCompactMode !== undefined ? modelData.focusedWindowCompactMode : SettingsData.focusedWindowCompactMode;
|
||||
case "runningApps":
|
||||
return modelData.runningAppsCompactMode !== undefined ? modelData.runningAppsCompactMode : SettingsData.runningAppsCompactMode;
|
||||
case "keyboard_layout_name":
|
||||
return modelData.keyboardLayoutNameCompactMode !== undefined ? modelData.keyboardLayoutNameCompactMode : SettingsData.keyboardLayoutNameCompactMode;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
})();
|
||||
return isCompact ? Theme.primary : Theme.outline;
|
||||
}
|
||||
onClicked: {
|
||||
if (modelData.id === "clock") {
|
||||
root.compactModeChanged("clock", !SettingsData.clockCompactMode);
|
||||
} else if (modelData.id === "focusedWindow") {
|
||||
root.compactModeChanged("focusedWindow", !SettingsData.focusedWindowCompactMode);
|
||||
} else if (modelData.id === "runningApps") {
|
||||
root.compactModeChanged("runningApps", !SettingsData.runningAppsCompactMode);
|
||||
} else if (modelData.id === "keyboard_layout_name") {
|
||||
root.compactModeChanged("keyboard_layout_name", !SettingsData.keyboardLayoutNameCompactMode);
|
||||
}
|
||||
const currentValue = (() => {
|
||||
switch (modelData.id) {
|
||||
case "clock":
|
||||
return modelData.clockCompactMode !== undefined ? modelData.clockCompactMode : SettingsData.clockCompactMode;
|
||||
case "focusedWindow":
|
||||
return modelData.focusedWindowCompactMode !== undefined ? modelData.focusedWindowCompactMode : SettingsData.focusedWindowCompactMode;
|
||||
case "runningApps":
|
||||
return modelData.runningAppsCompactMode !== undefined ? modelData.runningAppsCompactMode : SettingsData.runningAppsCompactMode;
|
||||
case "keyboard_layout_name":
|
||||
return modelData.keyboardLayoutNameCompactMode !== undefined ? modelData.keyboardLayoutNameCompactMode : SettingsData.keyboardLayoutNameCompactMode;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
})();
|
||||
root.compactModeChanged(modelData.id, !currentValue);
|
||||
}
|
||||
onEntered: {
|
||||
let tooltipText = "Toggle Compact Mode";
|
||||
if (modelData.id === "clock") {
|
||||
tooltipText = SettingsData.clockCompactMode ? "Full Size" : "Compact";
|
||||
} else if (modelData.id === "focusedWindow") {
|
||||
tooltipText = SettingsData.focusedWindowCompactMode ? "Full Size" : "Compact";
|
||||
} else if (modelData.id === "runningApps") {
|
||||
tooltipText = SettingsData.runningAppsCompactMode ? "Full Size" : "Compact";
|
||||
} else if (modelData.id === "keyboard_layout_name") {
|
||||
tooltipText = SettingsData.keyboardLayoutNameCompactMode ? "Full Size" : "Compact";
|
||||
}
|
||||
const isCompact = (() => {
|
||||
switch (modelData.id) {
|
||||
case "clock":
|
||||
return modelData.clockCompactMode !== undefined ? modelData.clockCompactMode : SettingsData.clockCompactMode;
|
||||
case "focusedWindow":
|
||||
return modelData.focusedWindowCompactMode !== undefined ? modelData.focusedWindowCompactMode : SettingsData.focusedWindowCompactMode;
|
||||
case "runningApps":
|
||||
return modelData.runningAppsCompactMode !== undefined ? modelData.runningAppsCompactMode : SettingsData.runningAppsCompactMode;
|
||||
case "keyboard_layout_name":
|
||||
return modelData.keyboardLayoutNameCompactMode !== undefined ? modelData.keyboardLayoutNameCompactMode : SettingsData.keyboardLayoutNameCompactMode;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
})();
|
||||
const tooltipText = isCompact ? "Full Size" : "Compact";
|
||||
sharedTooltip.show(tooltipText, compactModeButton, 0, 0, "bottom");
|
||||
}
|
||||
onExited: {
|
||||
|
||||
Reference in New Issue
Block a user