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) { 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; return;
} }
@ -109,6 +111,7 @@ void AlbumCoverLoader::NextState(Task* task) {
} else { } else {
// Give up // Give up
emit ImageLoaded(task->id, default_); emit ImageLoaded(task->id, default_);
emit ImageLoaded(task->id, default_, default_);
} }
} }
@ -172,7 +175,9 @@ void AlbumCoverLoader::RemoteFetchFinished() {
// Try to load the image // Try to load the image
QImage image; QImage image;
if (image.load(reply, 0)) { 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; return;
} }
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1161,6 +1161,9 @@ msgstr ""
msgid "Ignore \"The\" in artist names" msgid "Ignore \"The\" in artist names"
msgstr "忽視在演唱者名字中的“The”" msgstr "忽視在演唱者名字中的“The”"
msgid "Images (*.jpg)"
msgstr ""
msgid "" msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)" "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgstr "" msgstr ""
@ -1964,6 +1967,12 @@ msgstr "取樣頻率"
msgid "Samplerate" msgid "Samplerate"
msgstr "取樣頻率" msgstr "取樣頻率"
msgid "Save Album Cover"
msgstr ""
msgid "Save cover to disk..."
msgstr ""
msgid "Save image" msgid "Save image"
msgstr "" 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_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...")); 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...")); 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")); unset_cover_ = menu_->addAction(IconLoader::Load("list-remove"), tr("Unset cover"));
show_cover_ = menu_->addAction(IconLoader::Load("zoom-in"), tr("Show fullsize...")); show_cover_ = menu_->addAction(IconLoader::Load("zoom-in"), tr("Show fullsize..."));
} }
@ -68,8 +69,8 @@ AlbumCoverChoiceController::~AlbumCoverChoiceController()
QList<QAction*> AlbumCoverChoiceController::GetAllActions() { QList<QAction*> AlbumCoverChoiceController::GetAllActions() {
return QList<QAction*>() << cover_from_file_ << cover_from_url_ return QList<QAction*>() << cover_from_file_ << cover_from_url_
<< search_for_cover_ << unset_cover_ << search_for_cover_ << save_cover_
<< show_cover_; << unset_cover_ << show_cover_;
} }
void AlbumCoverChoiceController::SetLibrary(LibraryBackend* library) { 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_file_action() const { return cover_from_file_; }
QAction* cover_from_url_action() const { return cover_from_url_; } QAction* cover_from_url_action() const { return cover_from_url_; }
QAction* search_for_cover_action() const { return search_for_cover_; } 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* unset_cover_action() const { return unset_cover_; }
QAction* show_cover_action() const { return show_cover_; } QAction* show_cover_action() const { return show_cover_; }
@ -111,6 +112,7 @@ private:
QAction* cover_from_file_; QAction* cover_from_file_;
QAction* cover_from_url_; QAction* cover_from_url_;
QAction* search_for_cover_; QAction* search_for_cover_;
QAction* save_cover_;
QAction* unset_cover_; QAction* unset_cover_;
QAction* show_cover_; QAction* show_cover_;
}; };

View File

@ -22,6 +22,8 @@
#include "ui/albumcoverchoicecontroller.h" #include "ui/albumcoverchoicecontroller.h"
#include "ui/iconloader.h" #include "ui/iconloader.h"
#include <QFileDialog>
#include <QImageWriter>
#include <QMenu> #include <QMenu>
#include <QMovie> #include <QMovie>
#include <QPainter> #include <QPainter>
@ -60,6 +62,7 @@ NowPlayingWidget::NowPlayingWidget(QWidget *parent)
kitten_loader_(NULL), kitten_loader_(NULL),
mode_(SmallSongDetails), mode_(SmallSongDetails),
menu_(new QMenu(this)), menu_(new QMenu(this)),
save_dialog_(NULL),
above_statusbar_action_(NULL), above_statusbar_action_(NULL),
visible_(false), visible_(false),
small_ideal_height_(0), small_ideal_height_(0),
@ -99,6 +102,8 @@ NowPlayingWidget::NowPlayingWidget(QWidget *parent)
SIGNAL(triggered()), this, SLOT(UnsetCover())); SIGNAL(triggered()), this, SLOT(UnsetCover()));
connect(album_cover_choice_controller_->show_cover_action(), connect(album_cover_choice_controller_->show_cover_action(),
SIGNAL(triggered()), this, SLOT(ShowCover())); SIGNAL(triggered()), this, SLOT(ShowCover()));
connect(album_cover_choice_controller_->save_cover_action(),
SIGNAL(triggered()), this, SLOT(SaveCover()));
menu_->addActions(actions); menu_->addActions(actions);
menu_->addSeparator(); menu_->addSeparator();
@ -146,8 +151,8 @@ void NowPlayingWidget::CoverLoaderInitialised() {
static_cast<BackgroundThread<AlbumCoverLoader>*>(sender()); static_cast<BackgroundThread<AlbumCoverLoader>*>(sender());
UpdateHeight(loader->Worker().get()); UpdateHeight(loader->Worker().get());
loader->Worker()->SetPadOutputImage(true); loader->Worker()->SetPadOutputImage(true);
connect(loader->Worker().get(), SIGNAL(ImageLoaded(quint64,QImage)), connect(loader->Worker().get(), SIGNAL(ImageLoaded(quint64,QImage,QImage)),
SLOT(AlbumArtLoaded(quint64,QImage))); SLOT(AlbumArtLoaded(quint64,QImage,QImage)));
} }
void NowPlayingWidget::UpdateHeight(AlbumCoverLoader* loader) { void NowPlayingWidget::UpdateHeight(AlbumCoverLoader* loader) {
@ -236,11 +241,12 @@ void NowPlayingWidget::UpdateDetailsText() {
details_->setHtml(html); 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_) if (id != load_cover_id_)
return; return;
cover_ = QPixmap::fromImage(image); cover_ = QPixmap::fromImage(scaled);
original_ = original;
update(); update();
// Were we waiting for this cover to load before we started fading? // Were we waiting for this cover to load before we started fading?
@ -430,6 +436,32 @@ void NowPlayingWidget::SearchForCover() {
NowPlaying(metadata_); 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() { void NowPlayingWidget::UnsetCover() {
album_cover_choice_controller_->UnsetCover(&metadata_); album_cover_choice_controller_->UnsetCover(&metadata_);
NowPlaying(metadata_); NowPlaying(metadata_);

View File

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