Make the edit tag dialog save tags, also make it load them in a background thread.

This commit is contained in:
David Sansome 2010-12-21 13:42:06 +00:00
parent ccd26b4002
commit 8453e9e768
49 changed files with 485 additions and 15 deletions

View File

@ -295,6 +295,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr ""
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
@ -1836,6 +1840,9 @@ msgstr ""
msgid "Save this stream in the Internet tab"
msgstr ""
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -298,6 +298,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr ""
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Невядомая памылка last.fm: %1"
@ -1850,6 +1854,9 @@ msgstr ""
msgid "Save this stream in the Internet tab"
msgstr ""
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -295,6 +295,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr "Възникна грешка при зареждането на базата данни на iTunes"
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
@ -1840,6 +1844,9 @@ msgstr ""
msgid "Save this stream in the Internet tab"
msgstr ""
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -295,6 +295,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr ""
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
@ -1836,6 +1840,9 @@ msgstr ""
msgid "Save this stream in the Internet tab"
msgstr ""
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -307,6 +307,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr "S'ha produït un error carregant la base de dades d'iTunes"
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Un error desconegut de last.fm ha ocorregut: %1"
@ -1874,6 +1878,9 @@ msgstr "Desa els valors"
msgid "Save this stream in the Internet tab"
msgstr "Salva aquest flux a la pestanya d'Internet"
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -305,6 +305,10 @@ msgstr "Při kopírování databáze iTunes na zařízení nastala chyba"
msgid "An error occurred loading the iTunes database"
msgstr "Při nahrávání databáze iTunes nastala chyba"
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Vyskytla se neznámá chyba služby last.fm: %1"
@ -1875,6 +1879,9 @@ msgstr "Uložit přednastavení"
msgid "Save this stream in the Internet tab"
msgstr "Uložit tento proud na kartě Internet"
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr "Výsledek"

View File

@ -295,6 +295,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr ""
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
@ -1836,6 +1840,9 @@ msgstr ""
msgid "Save this stream in the Internet tab"
msgstr ""
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -296,6 +296,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr ""
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Der er sket en ukendt last.fm fejl: %1"
@ -1841,6 +1845,9 @@ msgstr "Gem forudindstilling"
msgid "Save this stream in the Internet tab"
msgstr ""
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -307,6 +307,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr "Beim Laden der iTunes Datenbank ist ein Fehler aufgetreten"
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Unbekannter Last.fm Fehler: %1"
@ -1878,6 +1882,9 @@ msgstr "Voreinstellung speichern"
msgid "Save this stream in the Internet tab"
msgstr "Diesen Stream im Internet-Tab sichern"
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr "Bewertung"

View File

@ -309,6 +309,10 @@ msgstr "Προέκυψε σφάλμα στην αντιγραφή της βάσ
msgid "An error occurred loading the iTunes database"
msgstr "Προέκυψε σφάλμα στην φόρτωση της βάσης δεδομένων iTunes"
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Προέκυψε ένα άγνωστο σφάλμα στο last.fm: %1"
@ -1885,6 +1889,9 @@ msgstr "Αποθήκευση ρύθμισης"
msgid "Save this stream in the Internet tab"
msgstr "Αποθήκευση της ροής στην καρτέλα Internet"
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -295,6 +295,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr ""
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "An unknown Last.fm error occurred: %1"
@ -1841,6 +1845,9 @@ msgstr "Save preset"
msgid "Save this stream in the Internet tab"
msgstr "Save this stream in the Internet tab"
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -295,6 +295,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr ""
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
@ -1838,6 +1842,9 @@ msgstr "Save preset"
msgid "Save this stream in the Internet tab"
msgstr ""
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -295,6 +295,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr ""
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Nekonata last.fm-eraro okazis: %1"
@ -1836,6 +1840,9 @@ msgstr ""
msgid "Save this stream in the Internet tab"
msgstr ""
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -309,6 +309,10 @@ msgstr "Ocurrió un error al copiar la base de datos de iTunes al dispositivo"
msgid "An error occurred loading the iTunes database"
msgstr "Ha ocurrido un error cargando la base de datos de iTunes"
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Un error desconocido de last.fm ha ocurrido: %1"
@ -1886,6 +1890,9 @@ msgstr "Guardar predefinición"
msgid "Save this stream in the Internet tab"
msgstr "Guardar este flujo en la pestaña de Internet"
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr "Puntuación"

View File

@ -295,6 +295,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr ""
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
@ -1838,6 +1842,9 @@ msgstr "Eelmääratluse salvestamine"
msgid "Save this stream in the Internet tab"
msgstr ""
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -295,6 +295,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr ""
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
@ -1836,6 +1840,9 @@ msgstr ""
msgid "Save this stream in the Internet tab"
msgstr ""
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -295,6 +295,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr ""
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Tuntematon last.fm-virhe: %1"
@ -1838,6 +1842,9 @@ msgstr ""
msgid "Save this stream in the Internet tab"
msgstr ""
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -312,6 +312,10 @@ msgid "An error occurred loading the iTunes database"
msgstr ""
"Une erreur est survenue lors du chargement de la base de données iTunes"
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Une erreur inconnue de last.fm est survenue : %1"
@ -1891,6 +1895,9 @@ msgstr "Enregistrer pré-réglages"
msgid "Save this stream in the Internet tab"
msgstr "Sauvegarder ce flux dans l'onglet Internet"
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr "Score"

View File

@ -295,6 +295,10 @@ msgstr "Aconteceu un erro ao copiar a base de datos de iTunes ao dispositivo"
msgid "An error occurred loading the iTunes database"
msgstr "Aconteceu un erro carregando a base de datos de iTunes"
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Un erro descoñecido de last.fm aconteceu: %1"
@ -1842,6 +1846,9 @@ msgstr "Salvar os axustes"
msgid "Save this stream in the Internet tab"
msgstr ""
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -297,6 +297,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr ""
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
@ -1844,6 +1848,9 @@ msgstr ""
msgid "Save this stream in the Internet tab"
msgstr ""
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -295,6 +295,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr ""
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
@ -1836,6 +1840,9 @@ msgstr ""
msgid "Save this stream in the Internet tab"
msgstr ""
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -301,6 +301,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr ""
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
@ -1842,6 +1846,9 @@ msgstr ""
msgid "Save this stream in the Internet tab"
msgstr ""
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -303,6 +303,10 @@ msgstr "Hiba történt az iTunes adatbázis másolása közben az eszközre"
msgid "An error occurred loading the iTunes database"
msgstr "Hiba történt az iTunes adatbázis betöltése közben"
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Ismeretlen Last.fm hiba történt: %1"
@ -1874,6 +1878,9 @@ msgstr "Beállítás mentése"
msgid "Save this stream in the Internet tab"
msgstr "Adatfolyam mentése az Internet fül alá"
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr "Pontszám"

View File

@ -310,6 +310,10 @@ msgid "An error occurred loading the iTunes database"
msgstr ""
"Si è verificato un errore durante la il caricamento del database di iTunes"
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Si è verificato un errore di last.fm: %1"
@ -1882,6 +1886,9 @@ msgstr "Salva la preimpostazione"
msgid "Save this stream in the Internet tab"
msgstr "Salva questo flusso nella scheda Internet"
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr "Punteggio"

View File

@ -301,6 +301,10 @@ msgstr "デバイスへの iTunes データベースのコピー エラーです
msgid "An error occurred loading the iTunes database"
msgstr "iTunes データベースの読み込みエラーです"
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "不明な last.fm エラーが発生しました: %1"
@ -1864,6 +1868,9 @@ msgstr "プリセットの保存"
msgid "Save this stream in the Internet tab"
msgstr "このストリームを [インターネット] タブに保存する"
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr "スコア"

View File

@ -295,6 +295,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr ""
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
@ -1838,6 +1842,9 @@ msgstr ""
msgid "Save this stream in the Internet tab"
msgstr ""
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -295,6 +295,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr ""
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
@ -1836,6 +1840,9 @@ msgstr ""
msgid "Save this stream in the Internet tab"
msgstr ""
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -298,6 +298,10 @@ msgstr "En feil oppsto under kopiering av iTunes databasen over til enheten"
msgid "An error occurred loading the iTunes database"
msgstr "En feil oppsto med lasting av iTunes databasen"
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "En ukjent last.fm feil oppsto: %1"
@ -1850,6 +1854,9 @@ msgstr ""
msgid "Save this stream in the Internet tab"
msgstr ""
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -303,6 +303,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr "Er gebeurde een fout tijdens het laden van de iTunes databank"
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Er is een onbekende last.fm fout opgetreden: %1"
@ -1869,6 +1873,9 @@ msgstr "Voorinstelling opslaan"
msgid "Save this stream in the Internet tab"
msgstr "Deze radiostream in de Internet tab opslaan"
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -295,6 +295,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr ""
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
@ -1836,6 +1840,9 @@ msgstr "Enregistrar un prereglatge"
msgid "Save this stream in the Internet tab"
msgstr ""
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -303,6 +303,10 @@ msgstr "Wystąpił bład podczas kopiowania bazy danych iTunes do urządzenia"
msgid "An error occurred loading the iTunes database"
msgstr "Wystąpił bład podczas ladowania bazy danych iTunes"
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Wystąpił nieznany błąd last.fm: %1"
@ -1869,6 +1873,9 @@ msgstr "Zapisz ustawienia korektora"
msgid "Save this stream in the Internet tab"
msgstr "Zapisz ten strumień w zakładce Internet"
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr "Wynik"

View File

@ -306,6 +306,10 @@ msgstr "Ocorreu um erro ao copiar a base de dados iTunes para o dispositivo"
msgid "An error occurred loading the iTunes database"
msgstr "Ocorreu um erro ao carregar a base de dados iTunes"
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Ocorreu um erro last.fm desconhecido: %1"
@ -1879,6 +1883,9 @@ msgstr "Gravar pré-ajustes"
msgid "Save this stream in the Internet tab"
msgstr "Gravar esta emissão no separador Internet"
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr "Pontuação"

View File

@ -303,6 +303,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr "Ocorreu um erro no carregamento do banco de dados do iTunes"
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Ocorreu um erro desconhecido no Last.fm %1"
@ -1875,6 +1879,9 @@ msgstr "Salvar pré-regulagem"
msgid "Save this stream in the Internet tab"
msgstr "Salvar este trecho na aba da Internet"
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -295,6 +295,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr ""
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
@ -1837,6 +1841,9 @@ msgstr "Salvează presetări"
msgid "Save this stream in the Internet tab"
msgstr ""
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -302,6 +302,10 @@ msgstr "Произошла ошибка при загрузке данных iTu
msgid "An error occurred loading the iTunes database"
msgstr "Произошла ошибка при загрузке данных iTunes"
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Неизвестная ошибка last.fm: %1"
@ -1869,6 +1873,9 @@ msgstr "Сохранить профиль"
msgid "Save this stream in the Internet tab"
msgstr "Сохранить этот поток в закладке Интернет"
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr "Счет"

View File

@ -303,6 +303,10 @@ msgstr "Nastala chyba pri kopírovaní iTunes databázy na zariadenie"
msgid "An error occurred loading the iTunes database"
msgstr "Nastala chyba pri načítavaní iTunes databázy"
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Vyskytla sa neznáma last.fm chyba: %1"
@ -1865,6 +1869,9 @@ msgstr "Uložiť predvoľbu"
msgid "Save this stream in the Internet tab"
msgstr "Uložiť tento stream na karte Internet"
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr "Skóre"

View File

@ -302,6 +302,10 @@ msgstr "Pri kopiranju podatkovne zbirke iTunes na napravo, je prišlo do napake"
msgid "An error occurred loading the iTunes database"
msgstr "Pri nalaganju podatkovne zbirke iTunes, je prišlo do napake"
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Zgodila se je neznana napaka last.fm: %1"
@ -1868,6 +1872,9 @@ msgstr "Shrani prednastavitev"
msgid "Save this stream in the Internet tab"
msgstr "Shrani ta pretok v zavihek Medmrežje"
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr "Rezultat"

View File

@ -295,6 +295,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr ""
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Непозната ЛастФМ грешка: %1"
@ -1841,6 +1845,9 @@ msgstr "Сачувати претподешавање"
msgid "Save this stream in the Internet tab"
msgstr ""
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -305,6 +305,10 @@ msgstr "Ett fel uppstod vid kopiering av iTunes-databasen till enheten"
msgid "An error occurred loading the iTunes database"
msgstr "Ett fel uppstod vid inläsning av iTunes-databasen"
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Ett okänt Last.fm-fel uppstod: %1"
@ -1870,6 +1874,9 @@ msgstr "Spara förinställning"
msgid "Save this stream in the Internet tab"
msgstr "Spara denna ström i Internet-filken"
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr "Poäng"

View File

@ -302,6 +302,10 @@ msgstr "iTunes veritabanı aygıta kopyalanırken hata oluştu"
msgid "An error occurred loading the iTunes database"
msgstr "iTunes veritabanı yüklenirken hata oluştu"
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Bilinmeyen bir last.fm hatası oluştu: %1"
@ -1868,6 +1872,9 @@ msgstr "Ayarı kaydet"
msgid "Save this stream in the Internet tab"
msgstr "Bu akışı Internet sekmesine kaydet"
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr "Puan"

View File

@ -285,6 +285,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr ""
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
@ -1826,6 +1830,9 @@ msgstr ""
msgid "Save this stream in the Internet tab"
msgstr ""
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -304,6 +304,10 @@ msgstr "Виникла помилка копіювання бази даних i
msgid "An error occurred loading the iTunes database"
msgstr "Виникла помилка завантаження бази даних iTunes"
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "Виникла невідома помилка last.fm: %1"
@ -1870,6 +1874,9 @@ msgstr "Зберегти установки"
msgid "Save this stream in the Internet tab"
msgstr "Зберегти цей потік на вкладці «Інтернет»"
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr "Рахунок"

View File

@ -297,6 +297,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr "加载 iTunes数据库时出错"
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "一个未知的 last.fm错误出现: %1"
@ -1840,6 +1844,9 @@ msgstr ""
msgid "Save this stream in the Internet tab"
msgstr ""
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -299,6 +299,10 @@ msgstr ""
msgid "An error occurred loading the iTunes database"
msgstr ""
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr "一個未知的last.fm錯誤出現: %1"
@ -1841,6 +1845,9 @@ msgstr "保存設定"
msgid "Save this stream in the Internet tab"
msgstr "儲存這串流網址到網際網路這個分頁標籤"
msgid "Saving tracks"
msgstr ""
msgid "Score"
msgstr ""

View File

@ -28,9 +28,12 @@
#include <QDateTime>
#include <QFileDialog>
#include <QFuture>
#include <QFutureWatcher>
#include <QLabel>
#include <QMenu>
#include <QPushButton>
#include <QtConcurrentRun>
#include <QtDebug>
const char* EditTagDialog::kHintText = QT_TR_NOOP("(different across multiple songs)");
@ -39,6 +42,7 @@ EditTagDialog::EditTagDialog(QWidget* parent)
: QDialog(parent),
ui_(new Ui_EditTagDialog),
backend_(NULL),
loading_(false),
ignore_edits_(false),
cover_searcher_(new AlbumCoverSearcher(QIcon(":/nocover.png"), this)),
cover_fetcher_(new AlbumCoverFetcher(this)),
@ -54,6 +58,7 @@ EditTagDialog::EditTagDialog(QWidget* parent)
ui_->setupUi(this);
ui_->splitter->setSizes(QList<int>() << 200 << width() - 200);
ui_->loading_container->hide();
// An editable field is one that has a label as a buddy. The label is
// important because it gets turned bold when the field is changed.
@ -82,6 +87,8 @@ EditTagDialog::EditTagDialog(QWidget* parent)
connect(ui_->song_list->selectionModel(),
SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
SLOT(SelectionChanged()));
connect(ui_->button_box, SIGNAL(clicked(QAbstractButton*)),
SLOT(ButtonClicked(QAbstractButton*)));
// Set up the album cover menu
cover_menu_ = new QMenu(this);
@ -113,25 +120,67 @@ EditTagDialog::~EditTagDialog() {
delete ui_;
}
bool EditTagDialog::SetSongs(const SongList& s) {
data_.clear();
bool EditTagDialog::SetLoading(const QString& message) {
const bool loading = !message.isEmpty();
if (loading == loading_)
return false;
loading_ = loading;
foreach (const Song& song, s) {
ui_->loading_container->setVisible(loading);
ui_->button_box->setEnabled(!loading);
ui_->tab_widget->setEnabled(!loading);
ui_->song_list->setEnabled(!loading);
ui_->loading_label->setText(message);
return true;
}
QList<EditTagDialog::Data> EditTagDialog::LoadData(const SongList& songs) const {
QList<Data> ret;
foreach (const Song& song, songs) {
if (song.IsEditable()) {
// Try reloading the tags from file
Song copy(song);
copy.InitFromFile(copy.filename(), copy.directory_id());
if (copy.is_valid())
data_ << Data(copy);
ret << Data(copy);
}
}
return ret;
}
void EditTagDialog::SetSongs(const SongList& s, const PlaylistItemList& items) {
// Show the loading indicator
if (!SetLoading(tr("Loading tracks") + "..."))
return;
data_.clear();
playlist_items_ = items;
ui_->song_list->clear();
// Reload tags in the background
QFuture<QList<Data> > future = QtConcurrent::run(this, &EditTagDialog::LoadData, s);
QFutureWatcher<QList<Data> >* watcher = new QFutureWatcher<QList<Data> >(this);
watcher->setFuture(future);
connect(watcher, SIGNAL(finished()), SLOT(SetSongsFinished()));
}
void EditTagDialog::SetSongsFinished() {
QFutureWatcher<QList<Data> >* watcher = dynamic_cast<QFutureWatcher<QList<Data> >*>(sender());
if (!watcher)
return;
watcher->deleteLater();
if (!SetLoading(QString()))
return;
data_ = watcher->result();
if (data_.count() == 0)
return false;
return;
// Add the filenames to the list
ui_->song_list->clear();
foreach (const Data& data, data_) {
ui_->song_list->addItem(data.current_.basefilename());
}
@ -145,7 +194,7 @@ bool EditTagDialog::SetSongs(const SongList& s) {
previous_button_->setEnabled(multiple);
next_button_->setEnabled(multiple);
return true;
ui_->tab_widget->setCurrentWidget(multiple ? ui_->tags_tab : ui_->summary_tab);
}
void EditTagDialog::SetTagCompleter(LibraryBackend* backend) {
@ -468,3 +517,45 @@ void EditTagDialog::PreviousSong() {
int row = (ui_->song_list->currentRow() - 1) % ui_->song_list->count();
ui_->song_list->setCurrentRow(row);
}
void EditTagDialog::ButtonClicked(QAbstractButton* button) {
if (button == ui_->button_box->button(QDialogButtonBox::Discard)) {
reject();
}
}
void EditTagDialog::SaveData(const QList<Data>& data) {
for (int i=0 ; i<data.count() ; ++i) {
const Data& ref = data[i];
if (ref.current_.IsMetadataEqual(ref.original_))
continue;
if (!ref.current_.Save()) {
emit Error(tr("An error occurred writing metadata to '%1'").arg(ref.current_.filename()));
}
}
}
void EditTagDialog::accept() {
// Show the loading indicator
if (!SetLoading(tr("Saving tracks") + "..."))
return;
// Savetags in the background
QFuture<void> future = QtConcurrent::run(this, &EditTagDialog::SaveData, data_);
QFutureWatcher<void>* watcher = new QFutureWatcher<void>(this);
watcher->setFuture(future);
connect(watcher, SIGNAL(finished()), SLOT(AcceptFinished()));
}
void EditTagDialog::AcceptFinished() {
QFutureWatcher<void>* watcher = dynamic_cast<QFutureWatcher<void>*>(sender());
if (!watcher)
return;
watcher->deleteLater();
if (!SetLoading(QString()))
return;
QDialog::accept();
}

View File

@ -23,6 +23,7 @@
#include "core/backgroundthread.h"
#include "core/song.h"
#include "playlist/playlistitem.h"
#include "widgets/lineedit.h"
class AlbumCoverFetcher;
@ -31,6 +32,7 @@ class AlbumCoverSearcher;
class LibraryBackend;
class Ui_EditTagDialog;
class QAbstractButton;
class QItemSelection;
class QLabel;
class QPushButton;
@ -44,13 +46,24 @@ public:
static const char* kHintText;
bool SetSongs(const SongList& songs);
void SetSongs(const SongList& songs, const PlaylistItemList& items = PlaylistItemList());
void SetTagCompleter(LibraryBackend* backend);
PlaylistItemList playlist_items() const { return playlist_items_; }
void accept();
signals:
void Error(const QString& message);
private slots:
void SetSongsFinished();
void AcceptFinished();
void SelectionChanged();
void FieldValueEdited();
void ResetField();
void ButtonClicked(QAbstractButton* button);
void ArtLoaded(quint64 id, const QImage& image);
@ -98,10 +111,19 @@ private:
void SetAlbumArt(const QString& path);
bool SetLoading(const QString& message);
// Called by QtConcurrentRun
QList<Data> LoadData(const SongList& songs) const;
void SaveData(const QList<Data>& data);
private:
Ui_EditTagDialog* ui_;
LibraryBackend* backend_;
bool loading_;
PlaylistItemList playlist_items_;
QList<Data> data_;
QList<FieldData> fields_;

View File

@ -601,6 +601,41 @@
</widget>
</widget>
</item>
<item>
<widget class="QWidget" name="loading_container" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="BusyIndicator" name="label_2">
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="loading_label">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="button_box">
<property name="standardButtons">
@ -632,6 +667,11 @@
<extends>QSpinBox</extends>
<header>widgets/lineedit.h</header>
</customwidget>
<customwidget>
<class>BusyIndicator</class>
<extends>QLabel</extends>
<header>widgets/busyindicator.h</header>
</customwidget>
</customwidgets>
<resources>
<include location="../../data/data.qrc"/>

View File

@ -1199,29 +1199,35 @@ void MainWindow::PlaylistStopAfter() {
void MainWindow::EditTracks() {
SongList songs;
QList<int> rows;
PlaylistItemList items;
foreach (const QModelIndex& index,
ui_->playlist->view()->selectionModel()->selection().indexes()) {
if (index.column() != 0)
continue;
int row = playlists_->current()->proxy()->mapToSource(index).row();
Song song = playlists_->current()->item_at(row)->Metadata();
PlaylistItemPtr item(playlists_->current()->item_at(row));
Song song = item->Metadata();
if (song.IsEditable()) {
songs << song;
rows << index.row();
items << item;
}
}
EnsureEditTagDialogCreated();
edit_tag_dialog_->SetSongs(songs);
edit_tag_dialog_->SetSongs(songs, items);
edit_tag_dialog_->SetTagCompleter(library_->model()->backend());
edit_tag_dialog_->show();
}
if (edit_tag_dialog_->exec() == QDialog::Rejected)
return;
void MainWindow::EditTagDialogAccepted() {
foreach (PlaylistItemPtr item, edit_tag_dialog_->playlist_items()) {
item->Reload();
}
playlists_->current()->ReloadItems(rows);
// This is really lame but we don't know what rows have changed
ui_->playlist->view()->update();
}
void MainWindow::RenumberTracks() {
@ -1679,6 +1685,8 @@ void MainWindow::EnsureEditTagDialogCreated() {
return;
edit_tag_dialog_.reset(new EditTagDialog);
connect(edit_tag_dialog_.get(), SIGNAL(accepted()), SLOT(EditTagDialogAccepted()));
connect(edit_tag_dialog_.get(), SIGNAL(Error(QString)), SLOT(ShowErrorDialog(QString)));
}
void MainWindow::ShowAboutDialog() {

View File

@ -120,6 +120,7 @@ class MainWindow : public QMainWindow, public PlatformInterface {
void PlaylistRemoveCurrent();
void PlaylistEditFinished(const QModelIndex& index);
void EditTracks();
void EditTagDialogAccepted();
void RenumberTracks();
void SelectionSetValue();
void EditValue();