mirror of
https://github.com/zoriya/noctalia-shell.git
synced 2026-08-13 09:38:38 +00:00
Add workspace number badges to TaskbarGrouped widget that display in the top-left corner of task groups, similar to existing Workspace widget styling. Features: - Circular workspace number badges with negative margins for border overlap - Color states: focused (primary), urgent (error), occupied (secondary), empty (outline) - Burst animation effects when workspace becomes focused - User-configurable settings: showWorkspaceNumbers, showNumbersOnlyWhenOccupied - Comprehensive internationalization support for all supported locales Implementation: - Enhanced TaskbarGrouped.qml with workspace number display and animation system - Created TaskbarGroupedSettings.qml for user configuration - Updated BarWidgetRegistry.qml with default settings metadata - Added settings dialog mapping in BarWidgetSettingsDialog.qml - Added translations for all supported locales (en, de, es, fr, pt, zh-CN, uk-UA) The workspace numbers provide quick visual identification of workspace assignment while maintaining the clean aesthetic of the taskbar.
42 lines
1.6 KiB
QML
42 lines
1.6 KiB
QML
import QtQuick
|
|
import QtQuick.Controls
|
|
import QtQuick.Layouts
|
|
import qs.Commons
|
|
import qs.Widgets
|
|
import qs.Services
|
|
|
|
ColumnLayout {
|
|
id: root
|
|
spacing: Style.marginM
|
|
|
|
// Properties to receive data from parent
|
|
property var widgetData: null
|
|
property var widgetMetadata: null
|
|
|
|
property bool valueShowWorkspaceNumbers: widgetData.showWorkspaceNumbers !== undefined ? widgetData.showWorkspaceNumbers : widgetMetadata.showWorkspaceNumbers
|
|
property bool valueShowNumbersOnlyWhenOccupied: widgetData.showNumbersOnlyWhenOccupied !== undefined ? widgetData.showNumbersOnlyWhenOccupied : widgetMetadata.showNumbersOnlyWhenOccupied
|
|
|
|
function saveSettings() {
|
|
var settings = Object.assign({}, widgetData || {})
|
|
settings.showWorkspaceNumbers = valueShowWorkspaceNumbers
|
|
settings.showNumbersOnlyWhenOccupied = valueShowNumbersOnlyWhenOccupied
|
|
return settings
|
|
}
|
|
|
|
NToggle {
|
|
Layout.fillWidth: true
|
|
label: I18n.tr("bar.widget-settings.taskbar-grouped.show-workspace-numbers.label")
|
|
description: I18n.tr("bar.widget-settings.taskbar-grouped.show-workspace-numbers.description")
|
|
checked: root.valueShowWorkspaceNumbers
|
|
onToggled: checked => root.valueShowWorkspaceNumbers = checked
|
|
}
|
|
|
|
NToggle {
|
|
Layout.fillWidth: true
|
|
label: I18n.tr("bar.widget-settings.taskbar-grouped.show-numbers-only-when-occupied.label")
|
|
description: I18n.tr("bar.widget-settings.taskbar-grouped.show-numbers-only-when-occupied.description")
|
|
checked: root.valueShowNumbersOnlyWhenOccupied
|
|
onToggled: checked => root.valueShowNumbersOnlyWhenOccupied = checked
|
|
visible: root.valueShowWorkspaceNumbers
|
|
}
|
|
} |