mirror of
https://github.com/zoriya/noctalia-shell.git
synced 2025-12-06 06:36:15 +00:00
Autoformatting + translations
This commit is contained in:
@@ -396,29 +396,28 @@
|
||||
}
|
||||
},
|
||||
"changelog": {
|
||||
"error": {
|
||||
"rate-limit": "GitHub-Limit erreicht. Bitte versuche es in ein paar Minuten erneut."
|
||||
},
|
||||
"panel": {
|
||||
"title": "Was ist neu in {version}",
|
||||
"buttons": {
|
||||
"discord": "Unserem Discord beitreten",
|
||||
"dismiss": "Ok"
|
||||
},
|
||||
"empty": "Es sind noch keine Versionshinweise verfügbar.",
|
||||
"highlight-title": "Highlights",
|
||||
"section": {
|
||||
"released": "Veröffentlicht am {date}",
|
||||
"version": "Version {version}"
|
||||
},
|
||||
"subtitle": {
|
||||
"fresh": "Danke, dass du Noctalia installiert hast! Das ist in diesem Build enthalten.",
|
||||
"updated": "Aktualisiert von {previousVersion}"
|
||||
},
|
||||
"title": "Was ist neu in {version}",
|
||||
"version": {
|
||||
"new-user": "Neuinstallation"
|
||||
},
|
||||
"highlight-title": "Highlights",
|
||||
"empty": "Es sind noch keine Versionshinweise verfügbar.",
|
||||
"section": {
|
||||
"version": "Version {version}",
|
||||
"released": "Veröffentlicht am {date}"
|
||||
},
|
||||
"buttons": {
|
||||
"discord": "Unserem Discord beitreten",
|
||||
"feedback": "Feedback senden",
|
||||
"dismiss": "Ok"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"rate-limit": "GitHub-Limit erreicht. Bitte versuche es in ein paar Minuten erneut."
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
|
||||
@@ -396,28 +396,28 @@
|
||||
}
|
||||
},
|
||||
"changelog": {
|
||||
"error": {
|
||||
"rate-limit": "GitHub rate limit exceeded. Please try again in a few minutes."
|
||||
},
|
||||
"panel": {
|
||||
"title": "What's new in {version}",
|
||||
"buttons": {
|
||||
"discord": "Join our Discord",
|
||||
"dismiss": "Ok"
|
||||
},
|
||||
"empty": "Release notes are not available yet.",
|
||||
"highlight-title": "Highlights",
|
||||
"section": {
|
||||
"released": "Released on {date}",
|
||||
"version": "Version {version}"
|
||||
},
|
||||
"subtitle": {
|
||||
"fresh": "Thanks for installing Noctalia! Here is what’s included in this build.",
|
||||
"updated": "Updated from {previousVersion}"
|
||||
},
|
||||
"title": "What's new in {version}",
|
||||
"version": {
|
||||
"new-user": "Fresh install"
|
||||
},
|
||||
"highlight-title": "Highlights",
|
||||
"empty": "Release notes are not available yet.",
|
||||
"section": {
|
||||
"version": "Version {version}",
|
||||
"released": "Released on {date}"
|
||||
},
|
||||
"buttons": {
|
||||
"discord": "Join our Discord",
|
||||
"dismiss": "Ok"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"rate-limit": "GitHub rate limit exceeded. Please try again in a few minutes."
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
|
||||
@@ -396,29 +396,28 @@
|
||||
}
|
||||
},
|
||||
"changelog": {
|
||||
"error": {
|
||||
"rate-limit": "Se alcanzó el límite de GitHub. Inténtalo de nuevo en unos minutos."
|
||||
},
|
||||
"panel": {
|
||||
"title": "Novedades en {version}",
|
||||
"buttons": {
|
||||
"discord": "Únete a nuestro Discord",
|
||||
"dismiss": "Ok"
|
||||
},
|
||||
"empty": "Las notas de la versión aún no están disponibles.",
|
||||
"highlight-title": "Cambios destacados",
|
||||
"section": {
|
||||
"released": "Publicado el {date}",
|
||||
"version": "Versión {version}"
|
||||
},
|
||||
"subtitle": {
|
||||
"fresh": "Gracias por instalar Noctalia. Esto es lo que incluye esta compilación.",
|
||||
"updated": "Actualizado desde {previousVersion}"
|
||||
},
|
||||
"title": "Novedades en {version}",
|
||||
"version": {
|
||||
"new-user": "Instalación nueva"
|
||||
},
|
||||
"highlight-title": "Cambios destacados",
|
||||
"empty": "Las notas de la versión aún no están disponibles.",
|
||||
"section": {
|
||||
"version": "Versión {version}",
|
||||
"released": "Publicado el {date}"
|
||||
},
|
||||
"buttons": {
|
||||
"discord": "Únete a nuestro Discord",
|
||||
"feedback": "Enviar comentarios",
|
||||
"dismiss": "Ok"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"rate-limit": "Se alcanzó el límite de GitHub. Inténtalo de nuevo en unos minutos."
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
|
||||
@@ -396,29 +396,28 @@
|
||||
}
|
||||
},
|
||||
"changelog": {
|
||||
"error": {
|
||||
"rate-limit": "Limite de GitHub atteinte. Réessayez dans quelques minutes."
|
||||
},
|
||||
"panel": {
|
||||
"title": "Quoi de neuf dans {version}",
|
||||
"buttons": {
|
||||
"discord": "Rejoindre notre Discord",
|
||||
"dismiss": "Ok"
|
||||
},
|
||||
"empty": "Les notes de version ne sont pas encore disponibles.",
|
||||
"highlight-title": "Points importants",
|
||||
"section": {
|
||||
"released": "Publié le {date}",
|
||||
"version": "Version {version}"
|
||||
},
|
||||
"subtitle": {
|
||||
"fresh": "Merci d’avoir installé Noctalia ! Voici ce que contient cette version.",
|
||||
"updated": "Mise à jour depuis {previousVersion}"
|
||||
},
|
||||
"title": "Quoi de neuf dans {version}",
|
||||
"version": {
|
||||
"new-user": "Nouvelle installation"
|
||||
},
|
||||
"highlight-title": "Points importants",
|
||||
"empty": "Les notes de version ne sont pas encore disponibles.",
|
||||
"section": {
|
||||
"version": "Version {version}",
|
||||
"released": "Publié le {date}"
|
||||
},
|
||||
"buttons": {
|
||||
"discord": "Rejoindre notre Discord",
|
||||
"feedback": "Envoyer un retour",
|
||||
"dismiss": "Ok"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"rate-limit": "Limite de GitHub atteinte. Réessayez dans quelques minutes."
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
|
||||
@@ -396,29 +396,28 @@
|
||||
}
|
||||
},
|
||||
"changelog": {
|
||||
"error": {
|
||||
"rate-limit": "GitHub-limiet bereikt. Probeer het over enkele minuten opnieuw."
|
||||
},
|
||||
"panel": {
|
||||
"title": "Wat is er nieuw in {version}",
|
||||
"buttons": {
|
||||
"discord": "Word lid van onze Discord",
|
||||
"dismiss": "Ok"
|
||||
},
|
||||
"empty": "Er zijn nog geen release-opmerkingen beschikbaar.",
|
||||
"highlight-title": "Hoogtepunten",
|
||||
"section": {
|
||||
"released": "Uitgebracht op {date}",
|
||||
"version": "Versie {version}"
|
||||
},
|
||||
"subtitle": {
|
||||
"fresh": "Bedankt voor het installeren van Noctalia! Dit zit er in deze build.",
|
||||
"updated": "Bijgewerkt vanaf {previousVersion}"
|
||||
},
|
||||
"title": "Wat is er nieuw in {version}",
|
||||
"version": {
|
||||
"new-user": "Nieuwe installatie"
|
||||
},
|
||||
"highlight-title": "Hoogtepunten",
|
||||
"empty": "Er zijn nog geen release-opmerkingen beschikbaar.",
|
||||
"section": {
|
||||
"version": "Versie {version}",
|
||||
"released": "Uitgebracht op {date}"
|
||||
},
|
||||
"buttons": {
|
||||
"discord": "Word lid van onze Discord",
|
||||
"feedback": "Feedback verzenden",
|
||||
"dismiss": "Ok"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"rate-limit": "GitHub-limiet bereikt. Probeer het over enkele minuten opnieuw."
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
|
||||
@@ -396,29 +396,28 @@
|
||||
}
|
||||
},
|
||||
"changelog": {
|
||||
"error": {
|
||||
"rate-limit": "Limite do GitHub atingido. Tente novamente em alguns minutos."
|
||||
},
|
||||
"panel": {
|
||||
"title": "Novidades na {version}",
|
||||
"buttons": {
|
||||
"discord": "Entre no nosso Discord",
|
||||
"dismiss": "Ok"
|
||||
},
|
||||
"empty": "As notas da versão ainda não estão disponíveis.",
|
||||
"highlight-title": "Destaques",
|
||||
"section": {
|
||||
"released": "Lançado em {date}",
|
||||
"version": "Versão {version}"
|
||||
},
|
||||
"subtitle": {
|
||||
"fresh": "Obrigado por instalar o Noctalia! Veja o que está incluído nesta compilação.",
|
||||
"updated": "Atualizado a partir da {previousVersion}"
|
||||
},
|
||||
"title": "Novidades na {version}",
|
||||
"version": {
|
||||
"new-user": "Nova instalação"
|
||||
},
|
||||
"highlight-title": "Destaques",
|
||||
"empty": "As notas da versão ainda não estão disponíveis.",
|
||||
"section": {
|
||||
"version": "Versão {version}",
|
||||
"released": "Lançado em {date}"
|
||||
},
|
||||
"buttons": {
|
||||
"discord": "Entre no nosso Discord",
|
||||
"feedback": "Enviar feedback",
|
||||
"dismiss": "Ok"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"rate-limit": "Limite do GitHub atingido. Tente novamente em alguns minutos."
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
|
||||
@@ -396,29 +396,28 @@
|
||||
}
|
||||
},
|
||||
"changelog": {
|
||||
"error": {
|
||||
"rate-limit": "Превышен лимит GitHub. Попробуйте снова через несколько минут."
|
||||
},
|
||||
"panel": {
|
||||
"title": "Что нового в {version}",
|
||||
"buttons": {
|
||||
"discord": "Присоединиться к нашему Discord",
|
||||
"dismiss": "Ок"
|
||||
},
|
||||
"empty": "Примечания к выпуску пока недоступны.",
|
||||
"highlight-title": "Основные изменения",
|
||||
"section": {
|
||||
"released": "Выпущено {date}",
|
||||
"version": "Версия {version}"
|
||||
},
|
||||
"subtitle": {
|
||||
"fresh": "Спасибо за установку Noctalia! Вот что входит в этот билд.",
|
||||
"updated": "Обновлено с {previousVersion}"
|
||||
},
|
||||
"title": "Что нового в {version}",
|
||||
"version": {
|
||||
"new-user": "Новая установка"
|
||||
},
|
||||
"highlight-title": "Основные изменения",
|
||||
"empty": "Примечания к выпуску пока недоступны.",
|
||||
"section": {
|
||||
"version": "Версия {version}",
|
||||
"released": "Выпущено {date}"
|
||||
},
|
||||
"buttons": {
|
||||
"discord": "Присоединиться к нашему Discord",
|
||||
"feedback": "Отправить отзыв",
|
||||
"dismiss": "Ок"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"rate-limit": "Превышен лимит GitHub. Попробуйте снова через несколько минут."
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
|
||||
@@ -396,29 +396,28 @@
|
||||
}
|
||||
},
|
||||
"changelog": {
|
||||
"error": {
|
||||
"rate-limit": "GitHub sınırına ulaşıldı. Lütfen birkaç dakika sonra tekrar dene."
|
||||
},
|
||||
"panel": {
|
||||
"title": "{version} sürümünde neler yeni",
|
||||
"buttons": {
|
||||
"discord": "Discord sunucumuza katıl",
|
||||
"dismiss": "Tamam"
|
||||
},
|
||||
"empty": "Sürüm notları henüz hazır değil.",
|
||||
"highlight-title": "Öne çıkanlar",
|
||||
"section": {
|
||||
"released": "{date} tarihinde yayımlandı",
|
||||
"version": "Sürüm {version}"
|
||||
},
|
||||
"subtitle": {
|
||||
"fresh": "Noctalia’yı kurduğun için teşekkürler! Bu sürümde gelenler bunlar.",
|
||||
"updated": "{previousVersion} sürümünden güncellendi"
|
||||
},
|
||||
"title": "{version} sürümünde neler yeni",
|
||||
"version": {
|
||||
"new-user": "Yeni kurulum"
|
||||
},
|
||||
"highlight-title": "Öne çıkanlar",
|
||||
"empty": "Sürüm notları henüz hazır değil.",
|
||||
"section": {
|
||||
"version": "Sürüm {version}",
|
||||
"released": "{date} tarihinde yayımlandı"
|
||||
},
|
||||
"buttons": {
|
||||
"discord": "Discord sunucumuza katıl",
|
||||
"feedback": "Geri bildirim gönder",
|
||||
"dismiss": "Tamam"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"rate-limit": "GitHub sınırına ulaşıldı. Lütfen birkaç dakika sonra tekrar dene."
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
|
||||
@@ -396,29 +396,28 @@
|
||||
}
|
||||
},
|
||||
"changelog": {
|
||||
"error": {
|
||||
"rate-limit": "Перевищено ліміт GitHub. Спробуйте ще раз за кілька хвилин."
|
||||
},
|
||||
"panel": {
|
||||
"title": "Що нового у {version}",
|
||||
"buttons": {
|
||||
"discord": "Приєднатися до нашого Discord",
|
||||
"dismiss": "Ок"
|
||||
},
|
||||
"empty": "Примітки до релізу ще недоступні.",
|
||||
"highlight-title": "Основні зміни",
|
||||
"section": {
|
||||
"released": "Випущено {date}",
|
||||
"version": "Версія {version}"
|
||||
},
|
||||
"subtitle": {
|
||||
"fresh": "Дякуємо, що встановили Noctalia! Ось що містить цей білд.",
|
||||
"updated": "Оновлено з {previousVersion}"
|
||||
},
|
||||
"title": "Що нового у {version}",
|
||||
"version": {
|
||||
"new-user": "Нове встановлення"
|
||||
},
|
||||
"highlight-title": "Основні зміни",
|
||||
"empty": "Примітки до релізу ще недоступні.",
|
||||
"section": {
|
||||
"version": "Версія {version}",
|
||||
"released": "Випущено {date}"
|
||||
},
|
||||
"buttons": {
|
||||
"discord": "Приєднатися до нашого Discord",
|
||||
"feedback": "Надіслати відгук",
|
||||
"dismiss": "Ок"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"rate-limit": "Перевищено ліміт GitHub. Спробуйте ще раз за кілька хвилин."
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
|
||||
@@ -396,29 +396,28 @@
|
||||
}
|
||||
},
|
||||
"changelog": {
|
||||
"error": {
|
||||
"rate-limit": "已达到 GitHub 速率限制,请稍后再试。"
|
||||
},
|
||||
"panel": {
|
||||
"title": "{version} 有哪些更新",
|
||||
"buttons": {
|
||||
"discord": "加入我们的 Discord",
|
||||
"dismiss": "确定"
|
||||
},
|
||||
"empty": "暂时没有可用的发行说明。",
|
||||
"highlight-title": "重点更新",
|
||||
"section": {
|
||||
"released": "{date} 发布",
|
||||
"version": "版本 {version}"
|
||||
},
|
||||
"subtitle": {
|
||||
"fresh": "感谢安装 Noctalia!以下是本次构建包含的内容。",
|
||||
"updated": "已从 {previousVersion} 更新"
|
||||
},
|
||||
"title": "{version} 有哪些更新",
|
||||
"version": {
|
||||
"new-user": "全新安装"
|
||||
},
|
||||
"highlight-title": "重点更新",
|
||||
"empty": "暂时没有可用的发行说明。",
|
||||
"section": {
|
||||
"version": "版本 {version}",
|
||||
"released": "{date} 发布"
|
||||
},
|
||||
"buttons": {
|
||||
"discord": "加入我们的 Discord",
|
||||
"feedback": "发送反馈",
|
||||
"dismiss": "确定"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"rate-limit": "已达到 GitHub 速率限制,请稍后再试。"
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
|
||||
@@ -828,4 +828,4 @@ Singleton {
|
||||
const widgetAfter = JSON.stringify(widget);
|
||||
return (widgetAfter !== widgetBefore);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,10 +144,10 @@ Item {
|
||||
forceClose: displayMode === "alwaysHide"
|
||||
tooltipText: I18n.tr("tooltips.microphone-volume-at", {
|
||||
"volume": (() => {
|
||||
const maxVolume = Settings.data.audio.volumeOverdrive ? 1.5 : 1.0;
|
||||
const displayVolume = Math.min(maxVolume, AudioService.inputVolume);
|
||||
return Math.round(displayVolume * 100);
|
||||
})()
|
||||
const maxVolume = Settings.data.audio.volumeOverdrive ? 1.5 : 1.0;
|
||||
const displayVolume = Math.min(maxVolume, AudioService.inputVolume);
|
||||
return Math.round(displayVolume * 100);
|
||||
})()
|
||||
})
|
||||
|
||||
onWheel: function (delta) {
|
||||
|
||||
@@ -127,10 +127,10 @@ Item {
|
||||
forceClose: displayMode === "alwaysHide"
|
||||
tooltipText: I18n.tr("tooltips.volume-at", {
|
||||
"volume": (() => {
|
||||
const maxVolume = Settings.data.audio.volumeOverdrive ? 1.5 : 1.0;
|
||||
const displayVolume = Math.min(maxVolume, AudioService.volume);
|
||||
return Math.round(displayVolume * 100);
|
||||
})()
|
||||
const maxVolume = Settings.data.audio.volumeOverdrive ? 1.5 : 1.0;
|
||||
const displayVolume = Math.min(maxVolume, AudioService.volume);
|
||||
return Math.round(displayVolume * 100);
|
||||
})()
|
||||
})
|
||||
|
||||
onWheel: function (delta) {
|
||||
|
||||
@@ -602,12 +602,7 @@ Loader {
|
||||
}
|
||||
|
||||
// Calculate maximum width needed
|
||||
property real maxTextWidth: Math.max(
|
||||
logoutText.implicitWidth,
|
||||
Math.max(suspendText.implicitWidth,
|
||||
Math.max(hibernateText.implicitWidth,
|
||||
Math.max(rebootText.implicitWidth,
|
||||
shutdownText.implicitWidth))))
|
||||
property real maxTextWidth: Math.max(logoutText.implicitWidth, Math.max(suspendText.implicitWidth, Math.max(hibernateText.implicitWidth, Math.max(rebootText.implicitWidth, shutdownText.implicitWidth))))
|
||||
property real minButtonWidth: maxTextWidth + iconSize + spacing + padding
|
||||
}
|
||||
|
||||
@@ -615,9 +610,7 @@ Loader {
|
||||
// Button row needs: margins + 5 buttons + 4 spacings + margins
|
||||
// Plus ColumnLayout margins (14 on each side = 28 total)
|
||||
// Add extra buffer to ensure password input has proper padding
|
||||
property real minButtonRowWidth: buttonRowTextMeasurer.minButtonWidth > 0
|
||||
? (5 * buttonRowTextMeasurer.minButtonWidth) + 40 + (2 * Style.marginM) + 28 + (2 * Style.marginM)
|
||||
: 750
|
||||
property real minButtonRowWidth: buttonRowTextMeasurer.minButtonWidth > 0 ? (5 * buttonRowTextMeasurer.minButtonWidth) + 40 + (2 * Style.marginM) + 28 + (2 * Style.marginM) : 750
|
||||
width: Math.max(750, minButtonRowWidth)
|
||||
|
||||
ColumnLayout {
|
||||
|
||||
@@ -21,8 +21,8 @@ SmartPanel {
|
||||
readonly property bool hasPreviousVersion: previousVersion && previousVersion.length > 0
|
||||
readonly property var releaseHighlights: UpdateService.releaseHighlights || []
|
||||
readonly property string subtitleText: hasPreviousVersion ? I18n.tr("changelog.panel.subtitle.updated", {
|
||||
"previousVersion": previousVersion
|
||||
}) : I18n.tr("changelog.panel.subtitle.fresh")
|
||||
"previousVersion": previousVersion
|
||||
}) : I18n.tr("changelog.panel.subtitle.fresh")
|
||||
|
||||
panelContent: Rectangle {
|
||||
color: Color.mSurfaceVariant
|
||||
@@ -51,8 +51,8 @@ SmartPanel {
|
||||
|
||||
NText {
|
||||
text: I18n.tr("changelog.panel.title", {
|
||||
"version": currentVersion || UpdateService.currentVersion
|
||||
})
|
||||
"version": currentVersion || UpdateService.currentVersion
|
||||
})
|
||||
pointSize: Style.fontSizeXL
|
||||
font.weight: Style.fontWeightBold
|
||||
color: Color.mPrimary
|
||||
@@ -149,8 +149,8 @@ SmartPanel {
|
||||
|
||||
NText {
|
||||
text: I18n.tr("changelog.panel.section.version", {
|
||||
"version": modelData.version || I18n.tr("system.unknown-version")
|
||||
})
|
||||
"version": modelData.version || I18n.tr("system.unknown-version")
|
||||
})
|
||||
font.weight: Style.fontWeightBold
|
||||
color: Color.mOnSurface
|
||||
}
|
||||
@@ -158,8 +158,8 @@ SmartPanel {
|
||||
NText {
|
||||
visible: modelData.date && modelData.date.length > 0
|
||||
text: I18n.tr("changelog.panel.section.released", {
|
||||
"date": root.formatReleaseDate(modelData.date)
|
||||
})
|
||||
"date": root.formatReleaseDate(modelData.date)
|
||||
})
|
||||
color: Color.mOnSurfaceVariant
|
||||
pointSize: Style.fontSizeXS
|
||||
}
|
||||
@@ -262,4 +262,3 @@ SmartPanel {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -938,4 +938,4 @@ Popup {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,11 +94,11 @@ Singleton {
|
||||
if (vol > maxVolume) {
|
||||
root.isClampingOutput = true;
|
||||
Qt.callLater(() => {
|
||||
if (root.sink?.audio) {
|
||||
root.sink.audio.volume = maxVolume;
|
||||
}
|
||||
root.isClampingOutput = false;
|
||||
});
|
||||
if (root.sink?.audio) {
|
||||
root.sink.audio.volume = maxVolume;
|
||||
}
|
||||
root.isClampingOutput = false;
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -131,11 +131,11 @@ Singleton {
|
||||
if (vol > maxVolume) {
|
||||
root.isClampingInput = true;
|
||||
Qt.callLater(() => {
|
||||
if (root.source?.audio) {
|
||||
root.source.audio.volume = maxVolume;
|
||||
}
|
||||
root.isClampingInput = false;
|
||||
});
|
||||
if (root.source?.audio) {
|
||||
root.source.audio.volume = maxVolume;
|
||||
}
|
||||
root.isClampingInput = false;
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -227,10 +227,10 @@ Singleton {
|
||||
const parsed = responseText ? JSON.parse(responseText) : [];
|
||||
if (Array.isArray(parsed) && parsed.length > 0) {
|
||||
const mapped = parsed.map(rel => ({
|
||||
"version": rel.tag_name || "",
|
||||
"createdAt": rel.published_at || rel.created_at || "",
|
||||
"body": rel.body || ""
|
||||
})).filter(rel => rel.version !== "");
|
||||
"version": rel.tag_name || "",
|
||||
"createdAt": rel.published_at || rel.created_at || "",
|
||||
"body": rel.body || ""
|
||||
})).filter(rel => rel.version !== "");
|
||||
releasesAccumulator = releasesAccumulator.concat(mapped);
|
||||
|
||||
if (parsed.length === perPage) {
|
||||
|
||||
@@ -33,7 +33,7 @@ Singleton {
|
||||
property string changelogLastSeenVersion: ""
|
||||
property bool changelogStateLoaded: false
|
||||
property bool pendingShowRequest: false
|
||||
|
||||
|
||||
// Fix for FileView race condition
|
||||
property bool saveInProgress: false
|
||||
property bool pendingSave: false
|
||||
@@ -108,7 +108,7 @@ Singleton {
|
||||
function handleChangelogRequest() {
|
||||
const fromVersion = changelogFromVersion || "";
|
||||
const toVersion = changelogToVersion || "";
|
||||
|
||||
|
||||
if (!toVersion)
|
||||
return;
|
||||
|
||||
@@ -165,10 +165,10 @@ Singleton {
|
||||
continue;
|
||||
|
||||
selected.push({
|
||||
"version": tag,
|
||||
"date": rel.createdAt || "",
|
||||
"entries": entries
|
||||
});
|
||||
"version": tag,
|
||||
"date": rel.createdAt || "",
|
||||
"entries": entries
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -176,10 +176,10 @@ Singleton {
|
||||
const fallback = parseReleaseNotes(GitHubService ? GitHubService.releaseNotes : "");
|
||||
if (fallback.length > 0) {
|
||||
selected.push({
|
||||
"version": toVersion,
|
||||
"date": "",
|
||||
"entries": fallback
|
||||
});
|
||||
"version": toVersion,
|
||||
"date": "",
|
||||
"entries": fallback
|
||||
});
|
||||
fetchError = "";
|
||||
}
|
||||
}
|
||||
@@ -412,25 +412,25 @@ Singleton {
|
||||
|
||||
try {
|
||||
changelogStateAdapter.lastSeenVersion = changelogLastSeenVersion || "";
|
||||
|
||||
|
||||
// Ensure cache directory exists
|
||||
Quickshell.execDetached(["mkdir", "-p", Settings.cacheDir]);
|
||||
|
||||
|
||||
// Small delay to ensure directory creation completes
|
||||
Qt.callLater(() => {
|
||||
try {
|
||||
changelogStateFileView.writeAdapter();
|
||||
saveInProgress = false;
|
||||
|
||||
// Check if another save was queued while we were saving
|
||||
if (pendingSave) {
|
||||
Qt.callLater(executeSave);
|
||||
}
|
||||
} catch (writeError) {
|
||||
Logger.e("UpdateService", "Failed to write changelog state:", writeError);
|
||||
saveInProgress = false;
|
||||
}
|
||||
});
|
||||
try {
|
||||
changelogStateFileView.writeAdapter();
|
||||
saveInProgress = false;
|
||||
|
||||
// Check if another save was queued while we were saving
|
||||
if (pendingSave) {
|
||||
Qt.callLater(executeSave);
|
||||
}
|
||||
} catch (writeError) {
|
||||
Logger.e("UpdateService", "Failed to write changelog state:", writeError);
|
||||
saveInProgress = false;
|
||||
}
|
||||
});
|
||||
} catch (error) {
|
||||
Logger.e("UpdateService", "Failed to save changelog state:", error);
|
||||
saveInProgress = false;
|
||||
@@ -441,4 +441,4 @@ Singleton {
|
||||
// Immediate save (backward compatibility)
|
||||
debouncedSaveChangelogState();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,11 +26,11 @@ import qs.Services.Control
|
||||
import qs.Services.Hardware
|
||||
import qs.Services.Location
|
||||
import qs.Services.Networking
|
||||
import qs.Services.Noctalia
|
||||
import qs.Services.Power
|
||||
import qs.Services.System
|
||||
import qs.Services.Theming
|
||||
import qs.Services.UI
|
||||
import qs.Services.Noctalia
|
||||
|
||||
ShellRoot {
|
||||
id: shellRoot
|
||||
|
||||
Reference in New Issue
Block a user