Add support for saving album covers/kittens.

Fixes issue #1395
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

View File

@ -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;
}
}

View File

@ -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();

View File

@ -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 ""

View File

@ -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 ""

View File

@ -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 "Запазване на изображение"

View File

@ -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 ""

View File

@ -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 ""

View File

@ -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"

View File

@ -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 ""

View File

@ -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 ""

View File

@ -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"

View File

@ -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 "Αποθήκευση εικόνας"

View File

@ -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 ""

View File

@ -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 ""

View File

@ -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 ""

View File

@ -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 ""

View File

@ -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"

View File

@ -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"

View File

@ -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 ""

View File

@ -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 ""

View File

@ -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"

View File

@ -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 ""

View File

@ -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 "שמור התמונה"

View File

@ -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 ""

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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 "イメージの保存"

View File

@ -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 ""

View File

@ -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į"

View File

@ -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 ""

View File

@ -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 ""

View File

@ -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"

View File

@ -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 ""

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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 ""

View File

@ -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 "Сохранить изображение"

View File

@ -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"

View File

@ -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"

View File

@ -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 ""

View File

@ -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"

View File

@ -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"

View File

@ -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 ""

View File

@ -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 "Зберегти зображення"

View File

@ -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 ""

View File

@ -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 ""

View File

@ -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) {

View File

@ -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_;
};

View File

@ -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_);

View File

@ -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