DesktopClockSettings: add option to display month as text

This commit is contained in:
Ly-sec
2025-12-17 11:43:20 +01:00
parent e69dafa231
commit 917174df92
14 changed files with 140 additions and 7 deletions
+8
View File
@@ -1341,10 +1341,18 @@
"description": "Das Erscheinungsbild des Uhr-Widgets konfigurieren.",
"label": "Uhr-Widget"
},
"minimal-mode": {
"description": "Verwende eine minimale Uhr-Anzeige mit Zeit und Datum.",
"label": "Minimaler Modus"
},
"show-background": {
"description": "Zeige den Hintergrundcontainer für das Uhr-Widget an.",
"label": "Hintergrund anzeigen"
},
"show-month-name": {
"description": "Zeige den Monatsnamen im Datum an. Wenn deaktiviert, wird die Monatsnummer angezeigt.",
"label": "Monatsnamen anzeigen"
},
"style": {
"analog": "Analog",
"description": "Wähle den Anzeigestil der Uhr.",
+8
View File
@@ -1341,10 +1341,18 @@
"description": "Configure the clock widget appearance.",
"label": "Clock Widget"
},
"minimal-mode": {
"description": "Use a minimal clock display with time and date.",
"label": "Minimal mode"
},
"show-background": {
"description": "Show the background container for the clock widget.",
"label": "Show background"
},
"show-month-name": {
"description": "Display the month name in the date. When disabled, shows the month number.",
"label": "Show month name"
},
"style": {
"analog": "Analog",
"description": "Choose the clock display style.",
+8
View File
@@ -1341,10 +1341,18 @@
"description": "Configurar la apariencia del widget de reloj.",
"label": "Widget de reloj"
},
"minimal-mode": {
"description": "Usar una visualización de reloj minimalista con hora y fecha.",
"label": "Modo minimalista"
},
"show-background": {
"description": "Mostrar el contenedor de fondo para el widget de reloj.",
"label": "Mostrar fondo"
},
"show-month-name": {
"description": "Mostrar el nombre del mes en la fecha. Cuando está desactivado, muestra el número del mes.",
"label": "Mostrar nombre del mes"
},
"style": {
"analog": "Analógico",
"description": "Elige el estilo de visualización del reloj.",
+8
View File
@@ -1341,10 +1341,18 @@
"description": "Configurer l'apparence du widget horloge.",
"label": "Widget d'horloge"
},
"minimal-mode": {
"description": "Utiliser un affichage d'horloge minimaliste avec l'heure et la date.",
"label": "Mode minimaliste"
},
"show-background": {
"description": "Afficher le conteneur d'arrière-plan pour le widget d'horloge.",
"label": "Afficher l'arrière-plan"
},
"show-month-name": {
"description": "Afficher le nom du mois dans la date. Lorsqu'il est désactivé, affiche le numéro du mois.",
"label": "Afficher le nom du mois"
},
"style": {
"analog": "Analogique",
"description": "Choisissez le style d'affichage de l'horloge.",
+8
View File
@@ -1341,10 +1341,18 @@
"description": "時計ウィジェットの外観を設定します。",
"label": "時計ウィジェット"
},
"minimal-mode": {
"description": "時刻と日付を含むミニマルな時計表示を使用します。",
"label": "ミニマルモード"
},
"show-background": {
"description": "時計ウィジェットの背景コンテナを表示する。",
"label": "背景を表示"
},
"show-month-name": {
"description": "日付に月名を表示します。無効にすると、月番号が表示されます。",
"label": "月名を表示"
},
"style": {
"analog": "アナログ",
"description": "時計の表示スタイルを選択してください。",
+8
View File
@@ -1341,10 +1341,18 @@
"description": "Configureer de weergave van de klokwidget.",
"label": "Klokwidget"
},
"minimal-mode": {
"description": "Gebruik een minimale klokweergave met tijd en datum.",
"label": "Minimale modus"
},
"show-background": {
"description": "Toon de achtergrondcontainer voor de klokwidget.",
"label": "Achtergrond weergeven"
},
"show-month-name": {
"description": "Toon de maandnaam in de datum. Wanneer uitgeschakeld, wordt het maandnummer weergegeven.",
"label": "Maandnaam weergeven"
},
"style": {
"analog": "Analoog",
"description": "Kies de weergavestijl van de klok.",
+8
View File
@@ -1341,10 +1341,18 @@
"description": "Configurar a aparência do widget de relógio.",
"label": "Widget de Relógio"
},
"minimal-mode": {
"description": "Usar uma exibição de relógio minimalista com hora e data.",
"label": "Modo minimalista"
},
"show-background": {
"description": "Mostrar o contêiner de fundo para o widget de relógio.",
"label": "Mostrar plano de fundo"
},
"show-month-name": {
"description": "Exibir o nome do mês na data. Quando desativado, mostra o número do mês.",
"label": "Mostrar nome do mês"
},
"style": {
"analog": "Analógico",
"description": "Escolha o estilo de exibição do relógio.",
+8
View File
@@ -1341,10 +1341,18 @@
"description": "Настроить внешний вид виджета часов.",
"label": "Виджет часов"
},
"minimal-mode": {
"description": "Использовать минимальное отображение часов с временем и датой.",
"label": "Минимальный режим"
},
"show-background": {
"description": "Показать фоновый контейнер для виджета часов.",
"label": "Показать фон"
},
"show-month-name": {
"description": "Отображать название месяца в дате. При отключении отображается номер месяца.",
"label": "Показать название месяца"
},
"style": {
"analog": "Аналоговый",
"description": "Выберите стиль отображения часов.",
+8
View File
@@ -1341,10 +1341,18 @@
"description": "Saat aracı görünümünü yapılandırın.",
"label": "Saat Widget'ı"
},
"minimal-mode": {
"description": "Zaman ve tarih içeren minimal bir saat görüntüsü kullanın.",
"label": "Minimal mod"
},
"show-background": {
"description": "Saat widget'ı için arka plan kabını göster.",
"label": "Arka planı göster"
},
"show-month-name": {
"description": "Tarihte ay adını göster. Devre dışı bırakıldığında, ay numarasını gösterir.",
"label": "Ay adını göster"
},
"style": {
"analog": "Analog",
"description": "Saat görüntüleme stilini seçin.",
+8
View File
@@ -1341,10 +1341,18 @@
"description": "Налаштуйте вигляд віджета годинника.",
"label": "Віджет годинника"
},
"minimal-mode": {
"description": "Використовувати мінімальне відображення годинника з часом і датою.",
"label": "Мінімальний режим"
},
"show-background": {
"description": "Показати фоновий контейнер для віджета годинника.",
"label": "Показати фон"
},
"show-month-name": {
"description": "Відображати назву місяця в даті. Коли вимкнено, відображається номер місяця.",
"label": "Показати назву місяця"
},
"style": {
"analog": "Аналоговий",
"description": "Виберіть стиль відображення годинника.",
+8
View File
@@ -1341,10 +1341,18 @@
"description": "配置时钟小部件外观。",
"label": "时钟小部件"
},
"minimal-mode": {
"description": "使用包含时间和日期的简约时钟显示。",
"label": "简约模式"
},
"show-background": {
"description": "显示时钟小部件的背景容器。",
"label": "显示背景"
},
"show-month-name": {
"description": "在日期中显示月份名称。禁用时,显示月份数字。",
"label": "显示月份名称"
},
"style": {
"analog": "模拟",
"description": "选择时钟显示样式。",
@@ -22,6 +22,7 @@ DraggableDesktopWidget {
property bool showSeconds: (widgetData && widgetData.showSeconds !== undefined) ? widgetData.showSeconds : true
property bool showDate: (widgetData && widgetData.showDate !== undefined) ? widgetData.showDate : true
property string clockStyle: (widgetData && widgetData.clockStyle) ? widgetData.clockStyle : "digital"
property bool showMonthName: (widgetData && widgetData.showMonthName !== undefined) ? widgetData.showMonthName : true
readonly property real contentPadding: clockStyle === "minimal" ? Style.marginL : Style.marginXL
implicitWidth: contentLoader.item ? (contentLoader.item.implicitWidth || contentLoader.item.width || 0) + contentPadding * 2 : 0
@@ -64,7 +65,17 @@ DraggableDesktopWidget {
}
NText {
text: Qt.formatDate(root.now, Qt.DefaultLocaleLongDate)
text: {
if (root.showMonthName) {
return I18n.locale.toString(root.now, "d MMMM yyyy");
} else {
// Format with month number: "17 12 2025"
var day = root.now.getDate();
var month = root.now.getMonth() + 1; // getMonth() is 0-based
var year = root.now.getFullYear();
return I18n.locale.toString(root.now, "d") + " " + month.toString() + " " + year.toString();
}
}
pointSize: Style.fontSizeM
font.weight: Style.fontWeightMedium
color: clockTextColor
@@ -12,17 +12,44 @@ ColumnLayout {
property var widgetMetadata: null
property bool valueShowBackground: widgetData.showBackground !== undefined ? widgetData.showBackground : (widgetMetadata ? widgetMetadata.showBackground : true)
property string valueClockStyle: widgetData.clockStyle !== undefined ? widgetData.clockStyle : "digital"
property string valueClockStyle: {
// If clockStyle is "minimal", default to "digital" for the combo box
var style = widgetData.clockStyle !== undefined ? widgetData.clockStyle : "digital";
return style === "minimal" ? "digital" : style;
}
property bool valueMinimalMode: {
// Check if minimalMode is set, or if clockStyle is "minimal"
if (widgetData.minimalMode !== undefined) {
return widgetData.minimalMode;
}
return widgetData.clockStyle === "minimal";
}
property bool valueShowMonthName: widgetData.showMonthName !== undefined ? widgetData.showMonthName : true
function saveSettings() {
var settings = Object.assign({}, widgetData || {});
settings.showBackground = valueShowBackground;
settings.clockStyle = valueClockStyle;
if (valueMinimalMode) {
settings.clockStyle = "minimal";
} else {
settings.clockStyle = valueClockStyle;
}
settings.minimalMode = valueMinimalMode;
settings.showMonthName = valueShowMonthName;
return settings;
}
NToggle {
Layout.fillWidth: true
label: I18n.tr("settings.desktop-widgets.clock.minimal-mode.label")
description: I18n.tr("settings.desktop-widgets.clock.minimal-mode.description")
checked: valueMinimalMode
onToggled: checked => valueMinimalMode = checked
}
NComboBox {
Layout.fillWidth: true
visible: !valueMinimalMode
label: I18n.tr("settings.desktop-widgets.clock.style.label")
description: I18n.tr("settings.desktop-widgets.clock.style.description")
currentKey: valueClockStyle
@@ -35,15 +62,20 @@ ColumnLayout {
{
"key": "analog",
"name": I18n.tr("settings.desktop-widgets.clock.style.analog")
},
{
"key": "minimal",
"name": I18n.tr("settings.desktop-widgets.clock.style.minimal")
}
]
onSelected: key => valueClockStyle = key
}
NToggle {
Layout.fillWidth: true
visible: valueMinimalMode
label: I18n.tr("settings.desktop-widgets.clock.show-month-name.label")
description: I18n.tr("settings.desktop-widgets.clock.show-month-name.description")
checked: valueShowMonthName
onToggled: checked => valueShowMonthName = checked
}
NToggle {
Layout.fillWidth: true
label: I18n.tr("settings.desktop-widgets.clock.show-background.label")
+2
View File
@@ -143,6 +143,8 @@ Singleton {
${expandedPath}' ${tmpDir}/extension/themes/NoctaliaTheme-color-theme.json && cd ${tmpDir} && zip -q -r ${modifiedVsix} . && ${client.name} --install-extension ${modifiedVsix} 2>&1 && rm -rf ${tmpDir}; fi`;
var updateSettingsJson = `if command -v ${client.name} >/dev/null 2>&1 && [ -f ${settingsPath} ]; then sed -i 's/\\\\\\"workbench.colorTheme\\\\\\":[[:space:]]*\\\\\\"[^\\\\\\"]*/\\\\\\"workbench.colorTheme\\\\\\": \\\\\\"NoctaliaTheme/' ${settingsPath}; fi`;
lines.push(`post_hook = "sh -c \\"${reinstallVsix}; ${updateSettingsJson}\\""`);