Add support for saving album covers/kittens.

Fixes issue 
This commit is contained in:
John Maguire 2011-01-31 20:53:38 +00:00
parent 5b5d3f0c2e
commit 9786570f35
52 changed files with 470 additions and 9 deletions

@ -94,7 +94,9 @@ void AlbumCoverLoader::ProcessTask(Task *task) {
}
if (result.loaded_success) {
emit ImageLoaded(task->id, ScaleAndPad(result.image));
QImage scaled = ScaleAndPad(result.image);
emit ImageLoaded(task->id, scaled);
emit ImageLoaded(task->id, scaled, result.image);
return;
}
@ -109,6 +111,7 @@ void AlbumCoverLoader::NextState(Task* task) {
} else {
// Give up
emit ImageLoaded(task->id, default_);
emit ImageLoaded(task->id, default_, default_);
}
}
@ -172,7 +175,9 @@ void AlbumCoverLoader::RemoteFetchFinished() {
// Try to load the image
QImage image;
if (image.load(reply, 0)) {
emit ImageLoaded(task.id, ScaleAndPad(image));
QImage scaled = ScaleAndPad(image);
emit ImageLoaded(task.id, scaled);
emit ImageLoaded(task.id, scaled, image);
return;
}
}

@ -62,6 +62,7 @@ class AlbumCoverLoader : public QObject {
signals:
void ImageLoaded(quint64 id, const QImage& image);
void ImageLoaded(quint64 id, const QImage& scaled, const QImage& original);
protected slots:
void ProcessTasks();

@ -1157,6 +1157,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1959,6 +1962,12 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr ""

@ -1171,6 +1171,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1973,6 +1976,12 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr ""

@ -1184,6 +1184,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Игнориране на \"The\" в имена на изпълнители"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1997,6 +2000,12 @@ msgstr "Дискретизация"
msgid "Samplerate"
msgstr "Дискретизация"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr "Запазване на изображение"

@ -1158,6 +1158,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1961,6 +1964,12 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr ""

@ -1190,6 +1190,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ignora \"The\" als noms d'artistes"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1997,6 +2000,12 @@ msgstr "Freqüència de mostreig"
msgid "Samplerate"
msgstr "Freqüència de mostreig"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr ""

@ -1189,6 +1189,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Nevšímat si 'The' ve jménech umělců"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1999,6 +2002,12 @@ msgstr "Vzorkovací kmitočet"
msgid "Samplerate"
msgstr "Vzorkovací frekvence"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr "Uložit obrázek"

@ -1157,6 +1157,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1959,6 +1962,12 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr ""

@ -1160,6 +1160,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1964,6 +1967,12 @@ msgstr "Samplingsrate"
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr ""

@ -1191,6 +1191,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ignoriere \"The\" in Künstlernamen"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -2001,6 +2004,12 @@ msgstr "Abtastrate"
msgid "Samplerate"
msgstr "Abtastrate"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr "Bild speichern"

@ -1197,6 +1197,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Αγνόηση του \"The\" στο όνομα των καλλιτεχνών"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -2010,6 +2013,12 @@ msgstr "Ρυθμός δειγματοληψίας"
msgid "Samplerate"
msgstr "Δειγματοληψία"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr "Αποθήκευση εικόνας"

@ -1157,6 +1157,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1959,6 +1962,12 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr ""

@ -1160,6 +1160,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1964,6 +1967,12 @@ msgstr "Sample rate"
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr ""

@ -1158,6 +1158,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1961,6 +1964,12 @@ msgstr "Sample rate"
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr ""

@ -1157,6 +1157,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1959,6 +1962,12 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr ""

@ -1197,6 +1197,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ignorar el \"The\" en los nombres de los artistas"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -2010,6 +2013,12 @@ msgstr "Tasa de muestreo"
msgid "Samplerate"
msgstr "Tasa de muestreo"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr "Guardar imagen"

@ -1158,6 +1158,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1961,6 +1964,12 @@ msgstr "Diskreetimissagedus"
msgid "Samplerate"
msgstr "Diskreetimissagedus"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr "Pildi salvestamine"

@ -1157,6 +1157,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1959,6 +1962,12 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr ""

@ -1157,6 +1157,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1961,6 +1964,12 @@ msgstr "Näytteenottotaajuus"
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr ""

@ -1201,6 +1201,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ignorer «The» dans les noms d'artiste"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -2015,6 +2018,12 @@ msgstr "Échantillonnage"
msgid "Samplerate"
msgstr "Échantillonnage"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr "Enregistrer l'image"

@ -1165,6 +1165,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1969,6 +1972,12 @@ msgstr "Taxa de mostra"
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr ""

@ -1174,6 +1174,9 @@ msgstr "אם תמשיך, ההתקן יעבוד לאט וייתכן ששירים
msgid "Ignore \"The\" in artist names"
msgstr "התעלם מה-\"The\" בשם האמן"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1980,6 +1983,12 @@ msgstr "קצב הדגימה"
msgid "Samplerate"
msgstr "קצב דגימה"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr "שמור התמונה"

@ -1157,6 +1157,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1959,6 +1962,12 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr ""

@ -1184,6 +1184,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ignoriraj \"The\" u nazivu izvođača"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1992,6 +1995,12 @@ msgstr "Frekvencija"
msgid "Samplerate"
msgstr "Frekvencija"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr "Preuzmi sliku"

@ -1187,6 +1187,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "A \"The\" mellőzése előadó nevekben"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1997,6 +2000,12 @@ msgstr "Mintavételi sűrűség"
msgid "Samplerate"
msgstr "Mintavétel"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr "Kép mentése"

@ -1193,6 +1193,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ignora \"The\" nei nomi degli artisti"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -2005,6 +2008,12 @@ msgstr "Campionamento"
msgid "Samplerate"
msgstr "Campionamento"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr "Salva l'immagine"

@ -1180,6 +1180,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "アーティスト名の \"The\" を無視する"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1990,6 +1993,12 @@ msgstr "サンプル レート"
msgid "Samplerate"
msgstr "サンプルレート"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr "イメージの保存"

@ -1157,6 +1157,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1961,6 +1964,12 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr ""

@ -1183,6 +1183,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Nepaisyti \"The\" atlikėjų varduose"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1994,6 +1997,12 @@ msgstr "Išrankos dažnis"
msgid "Samplerate"
msgstr "Išrankosdažnis"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr "Išsaugoti paveikslėlį"

@ -1157,6 +1157,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1959,6 +1962,12 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr ""

@ -1169,6 +1169,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1973,6 +1976,12 @@ msgstr "Samplingsrate"
msgid "Samplerate"
msgstr "Samplingsrate"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr ""

@ -1188,6 +1188,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "\"The\" in artiestennamen negeren"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1997,6 +2000,12 @@ msgstr "Samplerate"
msgid "Samplerate"
msgstr "Samplerate"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr "plaatje opslaan"

@ -1157,6 +1157,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1959,6 +1962,12 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr ""

@ -1186,6 +1186,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ignoruj \"The\" w nazwach artystów"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1997,6 +2000,12 @@ msgstr "Próbkowanie"
msgid "Samplerate"
msgstr "Próbkowanie"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr "Zapisz obraz"

@ -1189,6 +1189,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ignorar \"The\" no nome dos artistas"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -2000,6 +2003,12 @@ msgstr "Taxa de amostragem"
msgid "Samplerate"
msgstr "Taxa de amostragem"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr "Gravar imagem"

@ -1186,6 +1186,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ignorar o \"The\" em nomes de artistas"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1998,6 +2001,12 @@ msgstr "Taxa de amostragem"
msgid "Samplerate"
msgstr "Taxa de amostragem"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr "Salvar imagem"

@ -1157,6 +1157,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1960,6 +1963,12 @@ msgstr "Rată de eșantionare"
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr ""

@ -1182,6 +1182,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Игнорировать \"The\" в имени исполнителя"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1992,6 +1995,12 @@ msgstr "Частота"
msgid "Samplerate"
msgstr "Частота дискретизации"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr "Сохранить изображение"

@ -1181,6 +1181,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ignorovať \"The\" v mene interpréta"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1989,6 +1992,12 @@ msgstr "Rýchlosť vzorkovania"
msgid "Samplerate"
msgstr "Rýchlosť vzorkovania"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr "Uložiť obrázok"

@ -1183,6 +1183,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Prezri \"The\" v imenih izvajalcev"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1991,6 +1994,12 @@ msgstr "Hitrost vzorčenja"
msgid "Samplerate"
msgstr "Hitrost vzorčenja"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr "Shrani sliko"

@ -1160,6 +1160,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1964,6 +1967,12 @@ msgstr "узорковање"
msgid "Samplerate"
msgstr "Учестаност узорковања"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr ""

@ -1187,6 +1187,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ignorera \"The\" i artistnamn"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1993,6 +1996,12 @@ msgstr "Samplingsfrekvens"
msgid "Samplerate"
msgstr "Samplingsfrekvens"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr "Spara bild"

@ -1180,6 +1180,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Sanatçı isimlerinde \"The\" kelimesini önemseme"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1991,6 +1994,12 @@ msgstr "Örnekleme oranı"
msgid "Samplerate"
msgstr "Örneklemeoranı"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr "Görüntüyü kaydet"

@ -1147,6 +1147,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1949,6 +1952,12 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr ""

@ -1181,6 +1181,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ігнорувати «The» в іменах виконавців"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1991,6 +1994,12 @@ msgstr "Частота вибірки"
msgid "Samplerate"
msgstr "Частота вибірки"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr "Зберегти зображення"

@ -1159,6 +1159,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "忽略艺人名称中的“The”"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1962,6 +1965,12 @@ msgstr "采样率"
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr ""

@ -1161,6 +1161,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "忽視在演唱者名字中的“The”"
msgid "Images (*.jpg)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr ""
@ -1964,6 +1967,12 @@ msgstr "取樣頻率"
msgid "Samplerate"
msgstr "取樣頻率"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image"
msgstr ""

@ -58,6 +58,7 @@ AlbumCoverChoiceController::AlbumCoverChoiceController(QWidget* parent)
cover_from_file_ = menu_->addAction(IconLoader::Load("document-open"), tr("Load cover from disk..."));
cover_from_url_ = menu_->addAction(IconLoader::Load("download"), tr("Load cover from URL..."));
search_for_cover_ = menu_->addAction(IconLoader::Load("find"), tr("Search for album covers..."));
save_cover_ = menu_->addAction(IconLoader::Load("document-save"), tr("Save cover to disk..."));
unset_cover_ = menu_->addAction(IconLoader::Load("list-remove"), tr("Unset cover"));
show_cover_ = menu_->addAction(IconLoader::Load("zoom-in"), tr("Show fullsize..."));
}
@ -68,8 +69,8 @@ AlbumCoverChoiceController::~AlbumCoverChoiceController()
QList<QAction*> AlbumCoverChoiceController::GetAllActions() {
return QList<QAction*>() << cover_from_file_ << cover_from_url_
<< search_for_cover_ << unset_cover_
<< show_cover_;
<< search_for_cover_ << save_cover_
<< unset_cover_ << show_cover_;
}
void AlbumCoverChoiceController::SetLibrary(LibraryBackend* library) {

@ -45,6 +45,7 @@ class AlbumCoverChoiceController : public QWidget {
QAction* cover_from_file_action() const { return cover_from_file_; }
QAction* cover_from_url_action() const { return cover_from_url_; }
QAction* search_for_cover_action() const { return search_for_cover_; }
QAction* save_cover_action() const { return save_cover_; }
QAction* unset_cover_action() const { return unset_cover_; }
QAction* show_cover_action() const { return show_cover_; }
@ -111,6 +112,7 @@ private:
QAction* cover_from_file_;
QAction* cover_from_url_;
QAction* search_for_cover_;
QAction* save_cover_;
QAction* unset_cover_;
QAction* show_cover_;
};

@ -22,6 +22,8 @@
#include "ui/albumcoverchoicecontroller.h"
#include "ui/iconloader.h"
#include <QFileDialog>
#include <QImageWriter>
#include <QMenu>
#include <QMovie>
#include <QPainter>
@ -60,6 +62,7 @@ NowPlayingWidget::NowPlayingWidget(QWidget *parent)
kitten_loader_(NULL),
mode_(SmallSongDetails),
menu_(new QMenu(this)),
save_dialog_(NULL),
above_statusbar_action_(NULL),
visible_(false),
small_ideal_height_(0),
@ -99,6 +102,8 @@ NowPlayingWidget::NowPlayingWidget(QWidget *parent)
SIGNAL(triggered()), this, SLOT(UnsetCover()));
connect(album_cover_choice_controller_->show_cover_action(),
SIGNAL(triggered()), this, SLOT(ShowCover()));
connect(album_cover_choice_controller_->save_cover_action(),
SIGNAL(triggered()), this, SLOT(SaveCover()));
menu_->addActions(actions);
menu_->addSeparator();
@ -146,8 +151,8 @@ void NowPlayingWidget::CoverLoaderInitialised() {
static_cast<BackgroundThread<AlbumCoverLoader>*>(sender());
UpdateHeight(loader->Worker().get());
loader->Worker()->SetPadOutputImage(true);
connect(loader->Worker().get(), SIGNAL(ImageLoaded(quint64,QImage)),
SLOT(AlbumArtLoaded(quint64,QImage)));
connect(loader->Worker().get(), SIGNAL(ImageLoaded(quint64,QImage,QImage)),
SLOT(AlbumArtLoaded(quint64,QImage,QImage)));
}
void NowPlayingWidget::UpdateHeight(AlbumCoverLoader* loader) {
@ -236,11 +241,12 @@ void NowPlayingWidget::UpdateDetailsText() {
details_->setHtml(html);
}
void NowPlayingWidget::AlbumArtLoaded(quint64 id, const QImage& image) {
void NowPlayingWidget::AlbumArtLoaded(quint64 id, const QImage& scaled, const QImage& original) {
if (id != load_cover_id_)
return;
cover_ = QPixmap::fromImage(image);
cover_ = QPixmap::fromImage(scaled);
original_ = original;
update();
// Were we waiting for this cover to load before we started fading?
@ -430,6 +436,32 @@ void NowPlayingWidget::SearchForCover() {
NowPlaying(metadata_);
}
void NowPlayingWidget::SaveCover() {
if (!save_dialog_) {
save_dialog_ = new QFileDialog(
this,
tr("Save Album Cover"),
QDir::home().absolutePath(),
tr("Images (*.jpg)"));
save_dialog_->setAcceptMode(QFileDialog::AcceptSave);
}
save_dialog_->selectFile(metadata_.album() + ".jpg");
if (!save_dialog_->exec()) {
return;
}
QStringList filenames = save_dialog_->selectedFiles();
QString save_filename = filenames[0];
QString extension = save_filename.right(4);
if (!extension.startsWith('.') ||
!QImageWriter::supportedImageFormats().contains(extension.right(3).toUtf8())) {
save_filename.append(".jpg");
}
original_.save(save_filename);
}
void NowPlayingWidget::UnsetCover() {
album_cover_choice_controller_->UnsetCover(&metadata_);
NowPlaying(metadata_);

@ -29,6 +29,7 @@ class LibraryBackend;
class QAction;
class QActionGroup;
class QFileDialog;
class QMenu;
class QMovie;
class QSignalMapper;
@ -81,7 +82,7 @@ private slots:
void ShowAboveStatusBar(bool above);
void CoverLoaderInitialised();
void AlbumArtLoaded(quint64 id, const QImage& image);
void AlbumArtLoaded(quint64 id, const QImage& scaled, const QImage& original);
void SetVisible(bool visible);
void SetHeight(int height);
@ -91,6 +92,7 @@ private slots:
void LoadCoverFromFile();
void LoadCoverFromURL();
void SearchForCover();
void SaveCover();
void UnsetCover();
void ShowCover();
@ -111,6 +113,8 @@ private:
QMenu* menu_;
QFileDialog* save_dialog_;
QAction* above_statusbar_action_;
bool visible_;
@ -124,6 +128,8 @@ private:
Song metadata_;
quint64 load_cover_id_;
QPixmap cover_;
// A copy of the original, unscaled album cover.
QImage original_;
QTextDocument* details_;
// Holds the last track while we're fading to the new track