diff --git a/.github/workflows/release-windows.yml b/.github/workflows/release-windows.yml index defdb249f..64b863cc2 100644 --- a/.github/workflows/release-windows.yml +++ b/.github/workflows/release-windows.yml @@ -106,13 +106,13 @@ jobs: foreach ($f in "qbz.exe", "platforms\qwindows.dll", "qml\QtQuick\Controls\Basic\qmldir", "imageformats\qsvg.dll", "LICENSE.txt") { if (-not (Test-Path "$root\$f")) { throw "installed layout is missing $f" } } - foreach ($protocol in "qbz", "qobuzapp") { + foreach ($protocol in "qbz") { if (-not (Test-Path "HKCU:\Software\Classes\$protocol")) { throw "$protocol protocol key missing" } } if (-not (Test-Path "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\QBZ.lnk")) { throw "Start-menu shortcut missing" } $uninstall = Start-Process msiexec.exe -ArgumentList "/x `"$msi`" /qn /norestart" -Wait -PassThru if ($uninstall.ExitCode -ne 0) { throw "synthetic MSI uninstall failed: $($uninstall.ExitCode)" } - foreach ($protocol in "qbz", "qobuzapp") { + foreach ($protocol in "qbz") { if (Test-Path "HKCU:\Software\Classes\$protocol") { throw "$protocol protocol key survived uninstall" } } @@ -418,7 +418,7 @@ jobs: foreach ($f in "qbz.exe","platforms\qwindows.dll","qml\QtQuick\Controls\Basic","imageformats\qsvg.dll","LICENSE.txt") { if (-not (Test-Path "$root\$f")) { Write-Host "::error::installed layout is missing $f"; exit 1 } } - foreach ($protocol in "qbz", "qobuzapp") { + foreach ($protocol in "qbz") { if (-not (Test-Path "HKCU:\Software\Classes\$protocol")) { Write-Host "::error::$protocol protocol key missing"; exit 1 } } if (-not (Test-Path "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\QBZ.lnk")) { Write-Host "::error::Start-menu shortcut missing"; exit 1 } @@ -429,7 +429,7 @@ jobs: $u = Start-Process msiexec -ArgumentList "/x `"$msi`" /qn /l*v uninstall.log" -Wait -PassThru if ($u.ExitCode -ne 0) { Get-Content uninstall.log -Tail 60; Write-Host "::error::msiexec /x exit $($u.ExitCode)"; exit 1 } if (Test-Path "$root\qbz.exe") { Write-Host "::error::uninstall left $root\qbz.exe"; exit 1 } - foreach ($protocol in "qbz", "qobuzapp") { + foreach ($protocol in "qbz") { if (Test-Path "HKCU:\Software\Classes\$protocol") { Write-Host "::error::uninstall left the $protocol protocol key"; exit 1 } } Write-Host "MSI install/launch/uninstall OK" diff --git a/crates/qbz-core/src/core.rs b/crates/qbz-core/src/core.rs index 2b6fbafec..880de3afd 100644 --- a/crates/qbz-core/src/core.rs +++ b/crates/qbz-core/src/core.rs @@ -3877,6 +3877,7 @@ mod tests { image: Default::default(), label: None, genre: None, + artist: None, }); t } diff --git a/crates/qbz-i18n/translations/de/LC_MESSAGES/qbz-ui.po b/crates/qbz-i18n/translations/de/LC_MESSAGES/qbz-ui.po index db7e34cff..019e3a380 100644 --- a/crates/qbz-i18n/translations/de/LC_MESSAGES/qbz-ui.po +++ b/crates/qbz-i18n/translations/de/LC_MESSAGES/qbz-ui.po @@ -6711,3 +6711,21 @@ msgstr "Album-Cover in der Titelliste der Bibliothek anzeigen" msgid "Display the album cover thumbnail between the track number and title. Off by default." msgstr "Zeigt die Cover-Miniatur zwischen Titelnummer und Titel an. Standardmäßig deaktiviert." + +msgid "Play random" +msgstr "Zufällig abspielen" + +msgid "Play selected" +msgstr "Auswahl abspielen" + +msgid "Cancel selection" +msgstr "Auswahl aufheben" + +msgid "QOBUZ LINKS" +msgstr "QOBUZ-LINKS" + +msgid "Open Qobuz links in QBZ" +msgstr "Qobuz-Links in QBZ öffnen" + +msgid "Make QBZ the handler for qobuzapp:// links from your browser. Off, the official Qobuz app keeps them; QBZ's own qbz:// links always open here." +msgstr "Macht QBZ zum Handler für qobuzapp://-Links aus dem Browser. Ausgeschaltet behält die offizielle Qobuz-App sie; QBZ-eigene qbz://-Links öffnen immer hier." diff --git a/crates/qbz-i18n/translations/en/LC_MESSAGES/qbz-ui.po b/crates/qbz-i18n/translations/en/LC_MESSAGES/qbz-ui.po index d95092060..5627f83f4 100644 --- a/crates/qbz-i18n/translations/en/LC_MESSAGES/qbz-ui.po +++ b/crates/qbz-i18n/translations/en/LC_MESSAGES/qbz-ui.po @@ -2298,3 +2298,21 @@ msgstr "Show album artwork in Library track list" msgid "Display the album cover thumbnail between the track number and title. Off by default." msgstr "Display the album cover thumbnail between the track number and title. Off by default." + +msgid "Play random" +msgstr "Play random" + +msgid "Play selected" +msgstr "Play selected" + +msgid "Cancel selection" +msgstr "Cancel selection" + +msgid "QOBUZ LINKS" +msgstr "QOBUZ LINKS" + +msgid "Open Qobuz links in QBZ" +msgstr "Open Qobuz links in QBZ" + +msgid "Make QBZ the handler for qobuzapp:// links from your browser. Off, the official Qobuz app keeps them; QBZ's own qbz:// links always open here." +msgstr "Make QBZ the handler for qobuzapp:// links from your browser. Off, the official Qobuz app keeps them; QBZ's own qbz:// links always open here." diff --git a/crates/qbz-i18n/translations/es/LC_MESSAGES/qbz-ui.po b/crates/qbz-i18n/translations/es/LC_MESSAGES/qbz-ui.po index 2073046da..4a475c3c3 100644 --- a/crates/qbz-i18n/translations/es/LC_MESSAGES/qbz-ui.po +++ b/crates/qbz-i18n/translations/es/LC_MESSAGES/qbz-ui.po @@ -6717,3 +6717,21 @@ msgstr "Mostrar carátulas de álbum en la lista de pistas de la Biblioteca" msgid "Display the album cover thumbnail between the track number and title. Off by default." msgstr "Muestra la miniatura de la carátula entre el número y el título de la pista. Desactivado por defecto." + +msgid "Play random" +msgstr "Reproducir al azar" + +msgid "Play selected" +msgstr "Reproducir selección" + +msgid "Cancel selection" +msgstr "Cancelar selección" + +msgid "QOBUZ LINKS" +msgstr "ENLACES DE QOBUZ" + +msgid "Open Qobuz links in QBZ" +msgstr "Abrir enlaces de Qobuz en QBZ" + +msgid "Make QBZ the handler for qobuzapp:// links from your browser. Off, the official Qobuz app keeps them; QBZ's own qbz:// links always open here." +msgstr "Hace que QBZ maneje los enlaces qobuzapp:// que salen de tu navegador. Apagado, la app oficial de Qobuz se queda con ellos; los enlaces qbz:// de QBZ siempre abren aquí." diff --git a/crates/qbz-i18n/translations/fr/LC_MESSAGES/qbz-ui.po b/crates/qbz-i18n/translations/fr/LC_MESSAGES/qbz-ui.po index be0972602..784de45bc 100644 --- a/crates/qbz-i18n/translations/fr/LC_MESSAGES/qbz-ui.po +++ b/crates/qbz-i18n/translations/fr/LC_MESSAGES/qbz-ui.po @@ -6709,3 +6709,21 @@ msgstr "Afficher les pochettes dans la liste des pistes de la Bibliothèque" msgid "Display the album cover thumbnail between the track number and title. Off by default." msgstr "Affiche la miniature de la pochette entre le numéro et le titre de la piste. Désactivé par défaut." + +msgid "Play random" +msgstr "Lecture aléatoire" + +msgid "Play selected" +msgstr "Lire la sélection" + +msgid "Cancel selection" +msgstr "Annuler la sélection" + +msgid "QOBUZ LINKS" +msgstr "LIENS QOBUZ" + +msgid "Open Qobuz links in QBZ" +msgstr "Ouvrir les liens Qobuz dans QBZ" + +msgid "Make QBZ the handler for qobuzapp:// links from your browser. Off, the official Qobuz app keeps them; QBZ's own qbz:// links always open here." +msgstr "Fait de QBZ le gestionnaire des liens qobuzapp:// venant du navigateur. Désactivé, l'application Qobuz officielle les conserve ; les liens qbz:// de QBZ s'ouvrent toujours ici." diff --git a/crates/qbz-i18n/translations/ja/LC_MESSAGES/qbz-ui.po b/crates/qbz-i18n/translations/ja/LC_MESSAGES/qbz-ui.po index 71b7223d7..52143f725 100644 --- a/crates/qbz-i18n/translations/ja/LC_MESSAGES/qbz-ui.po +++ b/crates/qbz-i18n/translations/ja/LC_MESSAGES/qbz-ui.po @@ -6692,3 +6692,21 @@ msgstr "ライブラリのトラックリストにアルバムアートワーク msgid "Display the album cover thumbnail between the track number and title. Off by default." msgstr "トラック番号とタイトルの間にアルバムカバーのサムネイルを表示します。デフォルトではオフです。" + +msgid "Play random" +msgstr "ランダム再生" + +msgid "Play selected" +msgstr "選択項目を再生" + +msgid "Cancel selection" +msgstr "選択を解除" + +msgid "QOBUZ LINKS" +msgstr "QOBUZ リンク" + +msgid "Open Qobuz links in QBZ" +msgstr "Qobuz のリンクを QBZ で開く" + +msgid "Make QBZ the handler for qobuzapp:// links from your browser. Off, the official Qobuz app keeps them; QBZ's own qbz:// links always open here." +msgstr "ブラウザーからの qobuzapp:// リンクを QBZ で処理します。オフの場合は公式の Qobuz アプリが処理します。QBZ 独自の qbz:// リンクは常にここで開きます。" diff --git a/crates/qbz-i18n/translations/nl/LC_MESSAGES/qbz-ui.po b/crates/qbz-i18n/translations/nl/LC_MESSAGES/qbz-ui.po index ffd883b85..a88dcd575 100644 --- a/crates/qbz-i18n/translations/nl/LC_MESSAGES/qbz-ui.po +++ b/crates/qbz-i18n/translations/nl/LC_MESSAGES/qbz-ui.po @@ -6699,3 +6699,21 @@ msgstr "Albumhoezen tonen in de nummerlijst van de bibliotheek" msgid "Display the album cover thumbnail between the track number and title. Off by default." msgstr "Toon de albumhoesminiatuur tussen het nummer en de titel. Standaard uit." + +msgid "Play random" +msgstr "Willekeurig afspelen" + +msgid "Play selected" +msgstr "Selectie afspelen" + +msgid "Cancel selection" +msgstr "Selectie annuleren" + +msgid "QOBUZ LINKS" +msgstr "QOBUZ-LINKS" + +msgid "Open Qobuz links in QBZ" +msgstr "Qobuz-links openen in QBZ" + +msgid "Make QBZ the handler for qobuzapp:// links from your browser. Off, the official Qobuz app keeps them; QBZ's own qbz:// links always open here." +msgstr "Maakt QBZ de handler voor qobuzapp://-links uit je browser. Uit: de officiële Qobuz-app houdt ze; QBZ's eigen qbz://-links openen altijd hier." diff --git a/crates/qbz-i18n/translations/pt/LC_MESSAGES/qbz-ui.po b/crates/qbz-i18n/translations/pt/LC_MESSAGES/qbz-ui.po index d6bad6194..0c2f1604f 100644 --- a/crates/qbz-i18n/translations/pt/LC_MESSAGES/qbz-ui.po +++ b/crates/qbz-i18n/translations/pt/LC_MESSAGES/qbz-ui.po @@ -6709,3 +6709,21 @@ msgstr "Mostrar capas de álbum na lista de faixas da Biblioteca" msgid "Display the album cover thumbnail between the track number and title. Off by default." msgstr "Exibe a miniatura da capa entre o número e o título da faixa. Desligado por padrão." + +msgid "Play random" +msgstr "Reproduzir aleatório" + +msgid "Play selected" +msgstr "Reproduzir seleção" + +msgid "Cancel selection" +msgstr "Cancelar seleção" + +msgid "QOBUZ LINKS" +msgstr "LINKS DO QOBUZ" + +msgid "Open Qobuz links in QBZ" +msgstr "Abrir links do Qobuz no QBZ" + +msgid "Make QBZ the handler for qobuzapp:// links from your browser. Off, the official Qobuz app keeps them; QBZ's own qbz:// links always open here." +msgstr "Torna o QBZ o manipulador dos links qobuzapp:// vindos do navegador. Desligado, o app oficial do Qobuz fica com eles; os links qbz:// do QBZ sempre abrem aqui." diff --git a/crates/qbz-i18n/translations/ru/LC_MESSAGES/qbz-ui.po b/crates/qbz-i18n/translations/ru/LC_MESSAGES/qbz-ui.po index 436b14197..1a4668b0a 100644 --- a/crates/qbz-i18n/translations/ru/LC_MESSAGES/qbz-ui.po +++ b/crates/qbz-i18n/translations/ru/LC_MESSAGES/qbz-ui.po @@ -6730,3 +6730,21 @@ msgstr "Показывать обложки альбомов в списке т msgid "Display the album cover thumbnail between the track number and title. Off by default." msgstr "Показывает миниатюру обложки между номером и названием трека. Отключено по умолчанию." + +msgid "Play random" +msgstr "Воспроизвести случайный" + +msgid "Play selected" +msgstr "Воспроизвести выбранное" + +msgid "Cancel selection" +msgstr "Отменить выбор" + +msgid "QOBUZ LINKS" +msgstr "ССЫЛКИ QOBUZ" + +msgid "Open Qobuz links in QBZ" +msgstr "Открывать ссылки Qobuz в QBZ" + +msgid "Make QBZ the handler for qobuzapp:// links from your browser. Off, the official Qobuz app keeps them; QBZ's own qbz:// links always open here." +msgstr "Делает QBZ обработчиком ссылок qobuzapp:// из браузера. Если выключено, их оставляет официальное приложение Qobuz; собственные ссылки qbz:// всегда открываются здесь." diff --git a/crates/qbz-models/src/types.rs b/crates/qbz-models/src/types.rs index e36b28799..f31249dae 100644 --- a/crates/qbz-models/src/types.rs +++ b/crates/qbz-models/src/types.rs @@ -672,6 +672,13 @@ pub struct AlbumSummary { pub label: Option