moving the 'Save cover to file' action into AlbumCoverChoiceController; implementing the action in all related places (now playing widget, album cover manager, edit tag dialog)

now playing widget: disable all cover related context menu options (except for the 'save cover' one) when in 'Kittens' mode
This commit is contained in:
Paweł Bara 2011-02-02 16:22:04 +00:00
parent b52f3b6082
commit 8aedda1795
57 changed files with 480 additions and 263 deletions

View File

@ -194,7 +194,8 @@ void LibraryFilterWidget::SetFilterHint(const QString& hint) {
void LibraryFilterWidget::SetDuplicatesOnly(bool duplicates_only) {
// no filtering in duplicates_only mode
static_cast<QLineEdit*>(ui_->filter)->clear();
filter_->clear();
// TODO: won't work on Mac
ui_->filter->setEnabled(!duplicates_only);
model_->SetFilterDuplicatesOnly(duplicates_only);
@ -212,15 +213,6 @@ void LibraryFilterWidget::AddMenuAction(QAction* action) {
library_menu_->addAction(action);
}
void LibraryFilterWidget::AddSeparator() {
library_menu_->addSeparator();
}
void LibraryFilterWidget::AppendAndFocus(const QString& text) {
ui_->filter->setText(ui_->filter->text() + text);
ui_->filter->setFocus();
}
void LibraryFilterWidget::keyReleaseEvent(QKeyEvent* e) {
switch (e->key()) {
case Qt::Key_Up:

View File

@ -47,13 +47,11 @@ class LibraryFilterWidget : public QWidget {
void SetGroupByEnabled(bool enabled);
void AddMenuAction(QAction* action);
void AddSeparator();
void SetSettingsGroup(const QString& group) { settings_group_ = group; }
void SetLibraryModel(LibraryModel* model);
public slots:
void AppendAndFocus(const QString& text);
void SetDuplicatesOnly(bool duplicates_only);
signals:
@ -88,6 +86,9 @@ class LibraryFilterWidget : public QWidget {
QString settings_group_;
// Since on Mac ui_->filter is nonexistent and on other platforms
// filter_ == ui_->filter, make sure to always use this field and
// not the one in the ui_ object!
LineEditInterface* filter_;
};

View File

@ -1157,11 +1157,10 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
msgid ""

View File

@ -1171,11 +1171,10 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
msgid ""

View File

@ -1184,14 +1184,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Игнориране на \"The\" в имена на изпълнители"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Изображения (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
"tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2772,6 +2769,13 @@ msgstr "Стоп"
msgid "track %1"
msgstr "песен %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Изображения (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm "
#~ "*.tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr "Двойно щракване върху песен първо изчиства плейлистата"

View File

@ -1158,11 +1158,10 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
msgid ""

View File

@ -1190,13 +1190,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ignora \"The\" als noms d'artistes"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Imatges (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2757,6 +2755,13 @@ msgstr "atura"
msgid "track %1"
msgstr "peça %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Imatges (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr "Fer doble click sobre una canço netejara la llista de reproducció"

View File

@ -1189,13 +1189,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Nevšímat si 'The' ve jménech umělců"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Obrázky (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2771,6 +2769,13 @@ msgstr "Zastavit"
msgid "track %1"
msgstr "Skladba %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Obrázky (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr "Dvojité klepnutí na písničku nejprve vymaže seznam se skladbami"

View File

@ -1157,11 +1157,10 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
msgid ""

View File

@ -1160,14 +1160,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Billeder (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
"tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2710,6 +2707,13 @@ msgstr ""
msgid "track %1"
msgstr "spor %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Billeder (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Last.fm Recommended Radio - %1"
#~ msgstr "Last.fm anbefaletradio - %1"

View File

@ -1191,13 +1191,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ignoriere \"The\" in Künstlernamen"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Bilder (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2778,6 +2776,13 @@ msgstr "Anhalten"
msgid "track %1"
msgstr "Stück %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Bilder (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr "Stück doppelklicken um Wiedergabeliste zu ersetzen"

View File

@ -1197,13 +1197,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Αγνόηση του \"The\" στο όνομα των καλλιτεχνών"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Εικόνες (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2789,6 +2787,13 @@ msgstr "διακοπή"
msgid "track %1"
msgstr "κομμάτι %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Εικόνες (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr ""
#~ "Διπλό κλικ σε ένα τραγούδι θα καθαρίσει πρώτα την λίστα αναπαραγωγής"

View File

@ -1157,11 +1157,10 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
msgid ""

View File

@ -1160,13 +1160,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2708,6 +2706,13 @@ msgstr ""
msgid "track %1"
msgstr "track %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr "Double-clicking a song clears the playlist first"

View File

@ -1158,13 +1158,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2705,6 +2703,13 @@ msgstr ""
msgid "track %1"
msgstr "track %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Hide..."
#~ msgstr "Hide..."

View File

@ -1157,11 +1157,10 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
msgid ""

View File

@ -1197,14 +1197,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ignorar el \"The\" en los nombres de los artistas"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Imágenes (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
"tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2784,6 +2781,13 @@ msgstr "detener"
msgid "track %1"
msgstr "Pista %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Imágenes (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr ""
#~ "Hacer doble clic sobre una canción primero limpia la lista de reproducción"

View File

@ -1158,13 +1158,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Pildid (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2705,6 +2703,13 @@ msgstr "peata"
msgid "track %1"
msgstr ""
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Pildid (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Hide %1"
#~ msgstr "Peida %1"

View File

@ -1157,11 +1157,10 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
msgid ""

View File

@ -1157,13 +1157,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Kuvat (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2705,6 +2703,13 @@ msgstr ""
msgid "track %1"
msgstr ""
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Kuvat (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Hide %1"
#~ msgstr "Piilota %1"

View File

@ -1201,13 +1201,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ignorer «The» dans les noms d'artiste"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2795,6 +2793,13 @@ msgstr "stop"
msgid "track %1"
msgstr "piste %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr "Un double clic sur un morceau efface d'abord la liste de lecture"

View File

@ -1165,13 +1165,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Imaxes (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2713,6 +2711,13 @@ msgstr ""
msgid "track %1"
msgstr "faixa %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Imaxes (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Hide %1"
#~ msgstr "Esconder %1"

View File

@ -1174,13 +1174,11 @@ msgstr "אם תמשיך, ההתקן יעבוד לאט וייתכן ששירים
msgid "Ignore \"The\" in artist names"
msgstr "התעלם מה-\"The\" בשם האמן"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"תמונות (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2741,6 +2739,13 @@ msgstr "הפסקה"
msgid "track %1"
msgstr "רצועה %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "תמונות (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr "לחיצה כפולה על שיר מנקה קודם כל את רשימת ההשמעה"

View File

@ -1157,11 +1157,10 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
msgid ""

View File

@ -1184,13 +1184,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ignoriraj \"The\" u nazivu izvođača"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Slike (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2762,6 +2760,13 @@ msgstr ""
msgid "track %1"
msgstr "pjesma %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Slike (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr "Ako prvo dvaput kliknete na pjesmu popis izvođenja će se isprazniti"

View File

@ -1187,13 +1187,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "A \"The\" mellőzése előadó nevekben"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Képek (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2769,6 +2767,13 @@ msgstr "leállítás"
msgid "track %1"
msgstr "%1. szám"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Képek (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr "Dupla kattintás egy számon előbb törli a lejátszási listát"

View File

@ -1193,14 +1193,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ignora \"The\" nei nomi degli artisti"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Immagini (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
"tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2784,6 +2781,13 @@ msgstr "ferma"
msgid "track %1"
msgstr "traccia %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Immagini (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr "Il doppio clic su un brano svuota la scaletta"

View File

@ -1180,14 +1180,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "アーティスト名の \"The\" を無視する"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"イメージ (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
"tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2756,6 +2753,13 @@ msgstr "停止"
msgid "track %1"
msgstr "トラック %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "イメージ (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr "曲のダブルクリックで最初にプレイリストをクリアする"

View File

@ -1157,14 +1157,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Суреттер (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
"tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2705,6 +2702,13 @@ msgstr ""
msgid "track %1"
msgstr ""
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Суреттер (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Hide %1"
#~ msgstr "%1 жасыру"

View File

@ -1183,14 +1183,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Nepaisyti \"The\" atlikėjų varduose"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Paveikslai (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
"tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2759,6 +2756,13 @@ msgstr "stabdyti"
msgid "track %1"
msgstr "takelis %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Paveikslai (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm "
#~ "*.tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr "Išvalyti grojaraštį du kartus spragtelėjus ant dainos"

View File

@ -1157,11 +1157,10 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
msgid ""

View File

@ -1169,14 +1169,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Bildefiler (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
"tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2718,6 +2715,13 @@ msgstr "stopp"
msgid "track %1"
msgstr "spor %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Bildefiler (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm "
#~ "*.tiff)"
#~ msgid "Hide %1"
#~ msgstr "Skjul %1"

View File

@ -1188,14 +1188,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "\"The\" in artiestennamen negeren"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Afbeeldingen (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
"tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2771,6 +2768,13 @@ msgstr "stoppen"
msgid "track %1"
msgstr "track %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Afbeeldingen (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *."
#~ "xbm *.tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr "Dubbelklikken op een nummer maakt eerst de afspeellijst leeg"

View File

@ -1157,11 +1157,10 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
msgid ""

View File

@ -1186,13 +1186,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ignoruj \"The\" w nazwach artystów"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Obrazy (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2768,6 +2766,13 @@ msgstr "zatrzymaj"
msgid "track %1"
msgstr "utwór %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Obrazy (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr "Podwójne kliknięcie na utworze najpierw czyści listę odtwarzania"

View File

@ -1189,13 +1189,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ignorar \"The\" no nome dos artistas"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Imagens (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2777,6 +2775,13 @@ msgstr "parar"
msgid "track %1"
msgstr "música %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Imagens (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr "Duplo clique na música limpa a lista de reprodução"

View File

@ -1186,13 +1186,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ignorar o \"The\" em nomes de artistas"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Imagens (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2766,6 +2764,13 @@ msgstr "parar"
msgid "track %1"
msgstr "faixa %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Imagens (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr "Duplo clique em música limpa a lista de reprodução primeiro"

View File

@ -1157,13 +1157,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Imagini (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2704,6 +2702,13 @@ msgstr ""
msgid "track %1"
msgstr "pistă %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Imagini (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Hide %1"
#~ msgstr "Ascunde %1"

View File

@ -1182,14 +1182,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Игнорировать \"The\" в имени исполнителя"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Изображения (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
"tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2764,6 +2761,13 @@ msgstr "Остановить"
msgid "track %1"
msgstr "композиция %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Изображения (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *."
#~ "xbm *.tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr "Двойной щелчок мышью на композиции стирает список воспроизведения"

View File

@ -1181,13 +1181,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ignorovať \"The\" v mene interpréta"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Obrázky (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2760,6 +2758,13 @@ msgstr "zastaviť"
msgid "track %1"
msgstr "skladba %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Obrázky (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr "Dvojklik na pieseň najprv vymaže playlist"

View File

@ -1183,13 +1183,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Prezri \"The\" v imenih izvajalcev"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Slike (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2762,6 +2760,13 @@ msgstr "zaustavi"
msgid "track %1"
msgstr "skladba %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Slike (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr "Dvoklik na skladbo počisti predvajalni seznam"

View File

@ -1160,13 +1160,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"IСлике (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2710,6 +2708,13 @@ msgstr "Заустави"
msgid "track %1"
msgstr "нумера %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "IСлике (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr "Двоструки клик на песму претходно ће очистити листу нумера"

View File

@ -1187,13 +1187,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ignorera \"The\" i artistnamn"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Bilder (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2760,6 +2758,13 @@ msgstr "stoppa"
msgid "track %1"
msgstr "spår %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Bilder (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr "Vid dubbelklick på en låt rensas först spellistan"

View File

@ -1180,14 +1180,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Sanatçı isimlerinde \"The\" kelimesini önemseme"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Görüntüler (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
"tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2754,6 +2751,13 @@ msgstr "durdur"
msgid "track %1"
msgstr "parça %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Görüntüler (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm "
#~ "*.tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr "Bir şarkıya çift tıklamak önce çalma listesini temizler"

View File

@ -1147,11 +1147,10 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr ""
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
msgid ""

View File

@ -1181,14 +1181,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "Ігнорувати «The» в іменах виконавців"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"Зображення (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
"tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2756,6 +2753,13 @@ msgstr "зупинити"
msgid "track %1"
msgstr "доріжка %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "Зображення (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm "
#~ "*.tiff)"
#~ msgid "Double-clicking a song clears the playlist first"
#~ msgstr "Подвійнне клацання на композиції спочатку очищає список відтворення"

View File

@ -1159,13 +1159,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "忽略艺人名称中的“The”"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"图像文件(*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2706,6 +2704,13 @@ msgstr "停止"
msgid "track %1"
msgstr ""
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "图像文件(*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgid "Complete automatically"
#~ msgstr "自动完成"

View File

@ -1161,13 +1161,11 @@ msgstr ""
msgid "Ignore \"The\" in artist names"
msgstr "忽視在演唱者名字中的“The”"
msgid "Images (*.jpg)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)"
msgstr ""
msgid ""
"Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid "Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)"
msgstr ""
"圖片 (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
msgid ""
"In dynamic mode new tracks will be chosen and added to the playlist every "
@ -2710,6 +2708,12 @@ msgstr ""
msgid "track %1"
msgstr "歌曲 %1"
#~ msgid ""
#~ "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *."
#~ "tiff)"
#~ msgstr ""
#~ "圖片 (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)"
#~ msgid "My Loved Tracks"
#~ msgstr "我喜愛的歌曲"

View File

@ -32,12 +32,15 @@
#include <QCryptographicHash>
#include <QDialog>
#include <QFileDialog>
#include <QImageWriter>
#include <QLabel>
#include <QList>
#include <QMenu>
const char* AlbumCoverChoiceController::kImageFileFilter =
QT_TR_NOOP("Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *.tiff)");
const char* AlbumCoverChoiceController::kLoadImageFileFilter =
QT_TR_NOOP("Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)");
const char* AlbumCoverChoiceController::kSaveImageFileFilter =
QT_TR_NOOP("Images (*.png *.jpg *.jpeg *.bmp *.xpm *.pbm *.ppm *.xbm)");
const char* AlbumCoverChoiceController::kAllFilesFilter =
QT_TR_NOOP("All files (*)");
@ -47,20 +50,23 @@ AlbumCoverChoiceController::AlbumCoverChoiceController(QWidget* parent)
cover_searcher_(new AlbumCoverSearcher(QIcon(":/nocover.png"), this)),
cover_fetcher_(new AlbumCoverFetcher(this)),
#endif
save_file_dialog_(NULL),
cover_from_url_dialog_(NULL),
library_(NULL),
menu_(new QMenu(this))
library_(NULL)
{
#ifdef HAVE_LIBLASTFM
cover_searcher_->Init(cover_fetcher_);
#endif
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..."));
cover_from_file_ = new QAction(IconLoader::Load("document-open"), tr("Load cover from disk..."), this);
cover_to_file_ = new QAction(IconLoader::Load("document-save"), tr("Save cover to disk..."), this);
cover_from_url_ = new QAction(IconLoader::Load("download"), tr("Load cover from URL..."), this);
search_for_cover_ = new QAction(IconLoader::Load("find"), tr("Search for album covers..."), this);
unset_cover_ = new QAction(IconLoader::Load("list-remove"), tr("Unset cover"), this);
show_cover_ = new QAction(IconLoader::Load("zoom-in"), tr("Show fullsize..."), this);
separator_ = new QAction(this);
separator_->setSeparator(true);
}
AlbumCoverChoiceController::~AlbumCoverChoiceController()
@ -68,8 +74,9 @@ AlbumCoverChoiceController::~AlbumCoverChoiceController()
}
QList<QAction*> AlbumCoverChoiceController::GetAllActions() {
return QList<QAction*>() << cover_from_file_ << cover_from_url_
<< search_for_cover_ << save_cover_
return QList<QAction*>() << cover_from_file_ << cover_to_file_
<< separator_
<< cover_from_url_ << search_for_cover_
<< unset_cover_ << show_cover_;
}
@ -92,7 +99,7 @@ QString AlbumCoverChoiceController::LoadCoverFromFile(Song* song) {
QString cover = QFileDialog::getOpenFileName(
this, tr("Choose manual cover"), dir,
tr(kImageFileFilter) + ";;" + tr(kAllFilesFilter));
tr(kLoadImageFileFilter) + ";;" + tr(kAllFilesFilter));
if (cover.isNull())
return QString();
@ -108,6 +115,36 @@ QString AlbumCoverChoiceController::LoadCoverFromFile(Song* song) {
}
}
void AlbumCoverChoiceController::SaveCoverToFile(const Song& song, const QImage& image) {
if (!save_file_dialog_) {
save_file_dialog_ = new QFileDialog(
this,
tr("Save Album Cover"),
QDir::home().absolutePath(),
tr(kSaveImageFileFilter) + ";;" + tr(kAllFilesFilter));
save_file_dialog_->setAcceptMode(QFileDialog::AcceptSave);
}
QString initial_file_name = (song.album().isEmpty()
? tr("Unknown")
: song.album()) + ".jpg";
save_file_dialog_->selectFile(initial_file_name);
if (!save_file_dialog_->exec()) {
return;
}
QString save_filename = save_file_dialog_->selectedFiles()[0];
QString extension = save_filename.right(4);
if (!extension.startsWith('.') ||
!QImageWriter::supportedImageFormats().contains(extension.right(3).toUtf8())) {
save_filename.append(".jpg");
}
image.save(save_filename);
}
QString AlbumCoverChoiceController::LoadCoverFromURL(Song* song) {
if(!cover_from_url_dialog_) {
cover_from_url_dialog_ = new CoverFromURLDialog(this);

View File

@ -30,6 +30,7 @@
class CoverFromURLDialog;
class LibraryBackend;
class QFileDialog;
class Song;
// Controller for the common album cover related menu options.
@ -43,9 +44,9 @@ class AlbumCoverChoiceController : public QWidget {
// Getters for all QActions implemented by this controller.
QAction* cover_from_file_action() const { return cover_from_file_; }
QAction* cover_to_file_action() const { return cover_to_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_; }
@ -72,6 +73,10 @@ class AlbumCoverChoiceController : public QWidget {
// path to the chosen cover will be returned.
QString LoadCoverFromFile(Song* song);
// Shows a dialog that allows user to save the given image on disk. The image
// is supposed to be the cover of the given song's album.
void SaveCoverToFile(const Song& song, const QImage& image);
// Downloads the cover from an URL given by user. This returns the downloaded image
// or null image if something went wrong for example when user cancelled the
// dialog.
@ -95,7 +100,8 @@ class AlbumCoverChoiceController : public QWidget {
QString SaveCoverInCache(const QString& artist, const QString& album, const QImage& image);
private:
static const char* kImageFileFilter;
static const char* kLoadImageFileFilter;
static const char* kSaveImageFileFilter;
static const char* kAllFilesFilter;
#ifdef HAVE_LIBLASTFM
@ -103,16 +109,16 @@ private:
AlbumCoverFetcher* cover_fetcher_;
#endif
QFileDialog* save_file_dialog_;
CoverFromURLDialog* cover_from_url_dialog_;
LibraryBackend* library_;
QMenu* menu_;
QAction* cover_from_file_;
QAction* cover_to_file_;
QAction* separator_;
QAction* cover_from_url_;
QAction* search_for_cover_;
QAction* save_cover_;
QAction* unset_cover_;
QAction* show_cover_;
};

View File

@ -128,6 +128,8 @@ void AlbumCoverManager::Init() {
connect(album_cover_choice_controller_->cover_from_file_action(),
SIGNAL(triggered()), this, SLOT(LoadCoverFromFile()));
connect(album_cover_choice_controller_->cover_to_file_action(),
SIGNAL(triggered()), this, SLOT(SaveCoverToFile()));
connect(album_cover_choice_controller_->cover_from_url_action(),
SIGNAL(triggered()), this, SLOT(LoadCoverFromURL()));
connect(album_cover_choice_controller_->search_for_cover_action(),
@ -527,6 +529,29 @@ void AlbumCoverManager::LoadCoverFromFile() {
}
}
void AlbumCoverManager::SaveCoverToFile() {
Song song = GetSingleSelectionAsSong();
if(!song.is_valid())
return;
QImage image;
// load the image from disk
if(song.art_manual() == AlbumCoverLoader::kManuallyUnsetCover) {
image = QImage(":/nocover.png");
} else {
if(!song.art_manual().isEmpty() && QFile::exists(song.art_manual())) {
image = QImage(song.art_manual());
} else if(!song.art_automatic().isEmpty() && QFile::exists(song.art_automatic())) {
image = QImage(song.art_automatic());
} else {
image = QImage(":/nocover.png");
}
}
album_cover_choice_controller_->SaveCoverToFile(song, image);
}
void AlbumCoverManager::LoadCoverFromURL() {
Song song = GetSingleSelectionAsSong();
if(!song.is_valid())

View File

@ -83,6 +83,7 @@ class AlbumCoverManager : public QMainWindow {
void FetchSingleCover();
void LoadCoverFromFile();
void SaveCoverToFile();
void LoadCoverFromURL();
void SearchForCover();
void UnsetCover();

View File

@ -60,8 +60,8 @@ EditTagDialog::EditTagDialog(QWidget* parent)
{
cover_loader_->Start(true);
cover_loader_->Worker()->SetDefaultOutputImage(QImage(":nocover.png"));
connect(cover_loader_->Worker().get(), SIGNAL(ImageLoaded(quint64,QImage)),
SLOT(ArtLoaded(quint64,QImage)));
connect(cover_loader_->Worker().get(), SIGNAL(ImageLoaded(quint64,QImage,QImage)),
SLOT(ArtLoaded(quint64,QImage,QImage)));
#ifdef HAVE_LIBTUNEPIMP
connect(tag_fetcher_, SIGNAL(FetchFinished(QString, SongList)),
this, SLOT(FetchTagFinished(QString, SongList)), Qt::QueuedConnection);
@ -138,6 +138,8 @@ EditTagDialog::EditTagDialog(QWidget* parent)
connect(album_cover_choice_controller_->cover_from_file_action(),
SIGNAL(triggered()), this, SLOT(LoadCoverFromFile()));
connect(album_cover_choice_controller_->cover_to_file_action(),
SIGNAL(triggered()), this, SLOT(SaveCoverToFile()));
connect(album_cover_choice_controller_->cover_from_url_action(),
SIGNAL(triggered()), this, SLOT(LoadCoverFromURL()));
connect(album_cover_choice_controller_->search_for_cover_action(),
@ -452,9 +454,10 @@ void EditTagDialog::UpdateStatisticsTab(const Song& song) {
QLocale::system().dateTimeFormat(QLocale::LongFormat)));
}
void EditTagDialog::ArtLoaded(quint64 id, const QImage& image) {
void EditTagDialog::ArtLoaded(quint64 id, const QImage& scaled, const QImage& original) {
if (id == cover_art_id_) {
ui_->art->setPixmap(QPixmap::fromImage(image));
ui_->art->setPixmap(QPixmap::fromImage(scaled));
original_ = original;
}
}
@ -515,6 +518,14 @@ void EditTagDialog::LoadCoverFromFile() {
UpdateCoverOf(*song, sel, cover);
}
void EditTagDialog::SaveCoverToFile() {
Song* song = GetFirstSelected();
if(!song)
return;
album_cover_choice_controller_->SaveCoverToFile(*song, original_);
}
void EditTagDialog::LoadCoverFromURL() {
Song* song = GetFirstSelected();
if(!song)

View File

@ -80,9 +80,10 @@ private slots:
void FetchTagFinished(const QString& filename, const SongList& songs_guessed);
void FetchTagSongChoosen(const QString& filename, const Song& song);
void ArtLoaded(quint64 id, const QImage& image);
void ArtLoaded(quint64 id, const QImage& scaled, const QImage& original);
void LoadCoverFromFile();
void SaveCoverToFile();
void LoadCoverFromURL();
void SearchForCover();
void UnsetCover();
@ -158,6 +159,9 @@ private:
quint64 cover_art_id_;
bool cover_art_is_set_;
// A copy of the original, unscaled album cover.
QImage original_;
QMenu* cover_menu_;
QPushButton* previous_button_;

View File

@ -429,8 +429,11 @@ MainWindow::MainWindow(
library_view_->filter()->SetSettingsGroup(kSettingsGroup);
library_view_->filter()->SetLibraryModel(library_->model());
QAction* separator = new QAction(this);
separator->setSeparator(true);
library_view_->filter()->AddMenuAction(duplicates_only_action);
library_view_->filter()->AddSeparator();
library_view_->filter()->AddMenuAction(separator);
library_view_->filter()->AddMenuAction(library_config_action);
// Playlist menu

View File

@ -22,8 +22,6 @@
#include "ui/albumcoverchoicecontroller.h"
#include "ui/iconloader.h"
#include <QFileDialog>
#include <QImageWriter>
#include <QMenu>
#include <QMovie>
#include <QPainter>
@ -62,7 +60,6 @@ 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),
@ -94,6 +91,8 @@ NowPlayingWidget::NowPlayingWidget(QWidget *parent)
connect(album_cover_choice_controller_->cover_from_file_action(),
SIGNAL(triggered()), this, SLOT(LoadCoverFromFile()));
connect(album_cover_choice_controller_->cover_to_file_action(),
SIGNAL(triggered()), this, SLOT(SaveCoverToFile()));
connect(album_cover_choice_controller_->cover_from_url_action(),
SIGNAL(triggered()), this, SLOT(LoadCoverFromURL()));
connect(album_cover_choice_controller_->search_for_cover_action(),
@ -102,8 +101,6 @@ 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();
@ -363,18 +360,32 @@ void NowPlayingWidget::resizeEvent(QResizeEvent* e) {
}
void NowPlayingWidget::contextMenuEvent(QContextMenuEvent* e) {
#ifndef HAVE_LIBLASTFM
album_cover_choice_controller_->cover_from_file_action()->setEnabled(false);
album_cover_choice_controller_->search_for_cover_action()->setEnabled(false);
#endif
// initial 'enabled' values depending on the kitty mode
album_cover_choice_controller_->cover_from_file_action()->setEnabled(!aww_);
album_cover_choice_controller_->cover_to_file_action()->setEnabled(!aww_);
album_cover_choice_controller_->cover_from_url_action()->setEnabled(!aww_);
album_cover_choice_controller_->search_for_cover_action()->setEnabled(!aww_);
album_cover_choice_controller_->unset_cover_action()->setEnabled(!aww_);
album_cover_choice_controller_->show_cover_action()->setEnabled(!aww_);
const bool art_is_not_set =
metadata_.art_manual() == AlbumCoverLoader::kManuallyUnsetCover
|| (metadata_.art_automatic().isEmpty() && metadata_.art_manual().isEmpty());
// some special cases
if(aww_) {
album_cover_choice_controller_->cover_to_file_action()->setEnabled(true);
} else {
#ifndef HAVE_LIBLASTFM
album_cover_choice_controller_->cover_from_file_action()->setEnabled(false);
album_cover_choice_controller_->search_for_cover_action()->setEnabled(false);
#endif
album_cover_choice_controller_->unset_cover_action()->setEnabled(!art_is_not_set);
album_cover_choice_controller_->show_cover_action()->setEnabled(!art_is_not_set);
const bool art_is_not_set =
metadata_.art_manual() == AlbumCoverLoader::kManuallyUnsetCover
|| (metadata_.art_automatic().isEmpty() && metadata_.art_manual().isEmpty());
album_cover_choice_controller_->unset_cover_action()->setEnabled(!art_is_not_set);
album_cover_choice_controller_->show_cover_action()->setEnabled(!art_is_not_set);
}
// show the menu
menu_->popup(mapToGlobal(e->pos()));
}
@ -436,30 +447,8 @@ 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::SaveCoverToFile() {
album_cover_choice_controller_->SaveCoverToFile(metadata_, original_);
}
void NowPlayingWidget::UnsetCover() {

View File

@ -29,7 +29,6 @@ class LibraryBackend;
class QAction;
class QActionGroup;
class QFileDialog;
class QMenu;
class QMovie;
class QSignalMapper;
@ -90,9 +89,9 @@ private slots:
void FadePreviousTrack(qreal value);
void LoadCoverFromFile();
void SaveCoverToFile();
void LoadCoverFromURL();
void SearchForCover();
void SaveCover();
void UnsetCover();
void ShowCover();
@ -113,8 +112,6 @@ private:
QMenu* menu_;
QFileDialog* save_dialog_;
QAction* above_statusbar_action_;
bool visible_;