diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9b19b0125..0346e01df 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -86,6 +86,7 @@ set(SOURCES lyrics/htmlscraper.cpp lyrics/lyricfetcher.cpp lyrics/lyricprovider.cpp + lyrics/lyricview.cpp lyrics/ultimatelyricsreader.cpp playlist/playlist.cpp @@ -150,6 +151,7 @@ set(SOURCES widgets/autoexpandingtreeview.cpp widgets/busyindicator.cpp + widgets/elidedlabel.cpp widgets/equalizerslider.cpp widgets/errordialog.cpp widgets/fileview.cpp @@ -217,6 +219,7 @@ set(HEADERS lyrics/htmlscraper.h lyrics/lyricfetcher.h lyrics/lyricprovider.h + lyrics/lyricview.h lyrics/ultimatelyricsreader.h playlist/playlist.h @@ -274,6 +277,7 @@ set(HEADERS widgets/autoexpandingtreeview.h widgets/busyindicator.h + widgets/elidedlabel.h widgets/equalizerslider.h widgets/errordialog.h widgets/fileview.h @@ -300,6 +304,8 @@ set(UI library/libraryconfig.ui library/libraryfilterwidget.ui + lyrics/lyricview.ui + playlist/playlistcontainer.ui playlist/playlistsequence.ui playlist/queuemanager.ui diff --git a/src/lyrics/lyricfetcher.cpp b/src/lyrics/lyricfetcher.cpp index 8654a63f4..10158885b 100644 --- a/src/lyrics/lyricfetcher.cpp +++ b/src/lyrics/lyricfetcher.cpp @@ -39,6 +39,7 @@ LyricFetcher::LyricFetcher(NetworkAccessManager* network, QObject* parent) } LyricFetcher::~LyricFetcher() { + qDeleteAll(providers_); } void LyricFetcher::UltimateLyricsParsed() { @@ -61,13 +62,12 @@ int LyricFetcher::SearchAsync(const Song& metadata) { void LyricFetcher::DoSearch(const Song& metadata, int id) { foreach (LyricProvider* provider, providers_) { - qDebug() << "Searching" << metadata.title() << "with" << provider->name(); + emit SearchProgress(id, provider->name()); LyricProvider::Result result = provider->Search(metadata); if (result.valid) { - qDebug() << "Content" << result.content; emit SearchResult(id, true, result.title, result.content); - //return; + return; } } diff --git a/src/lyrics/lyricfetcher.h b/src/lyrics/lyricfetcher.h index a77d712ad..e733a8617 100644 --- a/src/lyrics/lyricfetcher.h +++ b/src/lyrics/lyricfetcher.h @@ -37,6 +37,7 @@ public: int SearchAsync(const Song& metadata); signals: + void SearchProgress(int id, const QString& provider); void SearchResult(int id, bool success, const QString& title, const QString& content); private slots: diff --git a/src/lyrics/lyricview.cpp b/src/lyrics/lyricview.cpp new file mode 100644 index 000000000..010a5211d --- /dev/null +++ b/src/lyrics/lyricview.cpp @@ -0,0 +1,68 @@ +/* This file is part of Clementine. + + Clementine is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Clementine is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Clementine. If not, see . +*/ + +#include "lyricfetcher.h" +#include "lyricview.h" +#include "ui_lyricview.h" + +LyricView::LyricView(QWidget *parent) + : QWidget(parent), + ui_(new Ui_LyricView), + fetcher_(NULL), + current_request_id_(-1) +{ + ui_->setupUi(this); + ui_->busy_container->setVisible(false); +} + +LyricView::~LyricView() { + delete ui_; +} + +void LyricView::set_network(NetworkAccessManager* network) { + fetcher_ = new LyricFetcher(network, this); + connect(fetcher_, SIGNAL(SearchResult(int,bool,QString,QString)), + SLOT(SearchFinished(int,bool,QString,QString))); + connect(fetcher_, SIGNAL(SearchProgress(int,QString)), + SLOT(SearchProgress(int,QString))); +} + +void LyricView::SongChanged(const Song& metadata) { + current_request_id_ = fetcher_->SearchAsync(metadata); + + ui_->busy_text->SetText(tr("Searching...")); + ui_->busy_container->setVisible(true); +} + +void LyricView::SearchProgress(int id, const QString& provider) { + if (id != current_request_id_) + return; + + ui_->busy_text->SetText(tr("Searching %1...").arg(provider)); +} + +void LyricView::SearchFinished(int id, bool success, const QString& title, const QString& content) { + if (id != current_request_id_) + return; + current_request_id_ = -1; + ui_->busy_container->setVisible(false); + + if (success) { + ui_->content->setHtml(content); + } else { + ui_->content->setHtml(tr("No lyrics could be found")); + } +} diff --git a/src/lyrics/lyricview.h b/src/lyrics/lyricview.h new file mode 100644 index 000000000..5e2d101e0 --- /dev/null +++ b/src/lyrics/lyricview.h @@ -0,0 +1,51 @@ +/* This file is part of Clementine. + + Clementine is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Clementine is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Clementine. If not, see . +*/ + +#ifndef LYRICVIEW_H +#define LYRICVIEW_H + +#include "core/song.h" + +#include + +class LyricFetcher; +class NetworkAccessManager; +class Ui_LyricView; + +class LyricView : public QWidget { + Q_OBJECT + +public: + LyricView(QWidget* parent = 0); + ~LyricView(); + + void set_network(NetworkAccessManager* network); + +public slots: + void SongChanged(const Song& metadata); + +private slots: + void SearchProgress(int id, const QString& provider); + void SearchFinished(int id, bool success, const QString& title, const QString& content); + +private: + Ui_LyricView* ui_; + + LyricFetcher* fetcher_; + int current_request_id_; +}; + +#endif // LYRICVIEW_H diff --git a/src/lyrics/lyricview.ui b/src/lyrics/lyricview.ui new file mode 100644 index 000000000..805e83b7b --- /dev/null +++ b/src/lyrics/lyricview.ui @@ -0,0 +1,72 @@ + + + LyricView + + + + 0 + 0 + 400 + 300 + + + + Form + + + + 0 + + + 0 + + + + + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + + + true + + + + + + + + BusyIndicator + QLabel +
widgets/busyindicator.h
+
+ + ElidedLabel + QLabel +
widgets/elidedlabel.h
+
+
+ + +
diff --git a/src/translations/ar.po b/src/translations/ar.po index 0077d3579..f33c6e824 100644 --- a/src/translations/ar.po +++ b/src/translations/ar.po @@ -1077,6 +1077,9 @@ msgstr "" msgid "Low (256x256)" msgstr "" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "" @@ -1179,6 +1182,9 @@ msgstr "" msgid "No analyzer" msgstr "" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1511,6 +1517,13 @@ msgstr "" msgid "Search for album covers..." msgstr "" +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "المستوى الثاني" diff --git a/src/translations/bg.po b/src/translations/bg.po index 745167e7a..c246e381c 100644 --- a/src/translations/bg.po +++ b/src/translations/bg.po @@ -1078,6 +1078,9 @@ msgstr "" msgid "Low (256x256)" msgstr "" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "" @@ -1180,6 +1183,9 @@ msgstr "" msgid "No analyzer" msgstr "" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1512,6 +1518,13 @@ msgstr "" msgid "Search for album covers..." msgstr "" +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "" diff --git a/src/translations/ca.po b/src/translations/ca.po index 0b9fa51f7..2a2f6e534 100644 --- a/src/translations/ca.po +++ b/src/translations/ca.po @@ -101,8 +101,8 @@ msgid "" "

If you surround sections of text that contain a token with curly-braces, " "that section will be hidden if the token is empty.

" msgstr "" -"

Les fitxes de reemplaçament comencen amb %, per exemple: %artist %album " -"%title

\n" +"

Les fitxes de reemplaçament comencen amb %, per exemple: %artist %album %" +"title

\n" "\n" "

Si demarqueu entre claus una secció de text que contingui una fitxa de " "remplaçament, aquesta secció no es mostrarà si la fitxa de remplaçament es " @@ -1048,8 +1048,8 @@ msgstr "Usuari de Last.fm" msgid "Leave blank for the default. Examples: \"/dev/dsp\", \"front\", etc." msgstr "" -"Deixar-ho en blanc per assignar el valor per defecte. Exemples : " -"\"/dev/dsp\", \"front\", etc." +"Deixar-ho en blanc per assignar el valor per defecte. Exemples : \"/dev/dsp" +"\", \"front\", etc." msgid "Length" msgstr "Durada" @@ -1105,6 +1105,9 @@ msgstr "Baixa (15 fps)" msgid "Low (256x256)" msgstr "Baixa (256x256)" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1166,8 +1169,7 @@ msgid "Music" msgstr "Música" msgid "Music (*.mp3 *.ogg *.flac *.mpc *.m4a *.aac *.wma *.mp4 *.spx *.wav)" -msgstr "" -"Música (*.mp3 *.ogg *.flac *.mpc *.m4a *.aac *.wma *.mp4 *.spx *.wav)" +msgstr "Música (*.mp3 *.ogg *.flac *.mpc *.m4a *.aac *.wma *.mp4 *.spx *.wav)" msgid "Music Library" msgstr "Biblioteca de Música" @@ -1208,6 +1210,9 @@ msgstr "Pista següent" msgid "No analyzer" msgstr "Sense analitzador" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1542,6 +1547,13 @@ msgstr "Cercar a Magnatune" msgid "Search for album covers..." msgstr "Cercar caratules dels àlbums" +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "Segon nivell" @@ -2015,15 +2027,14 @@ msgstr "" "afiliació s'eliminaran els missatges al final de cada pista." msgid "" -"You can scrobble tracks for free, but only paid subscribers can stream Last.fm radio from " -"Clementine." +"You can scrobble tracks for free, but only paid subscribers can stream Last.fm radio from Clementine." msgstr "" msgid "" -"You can use your Wii Remote as a remote control for Clementine. See the page on the " -"Clementine wiki for more information.\n" +"You can use your Wii Remote as a remote control for Clementine. See the page on the Clementine " +"wiki for more information.\n" msgstr "" msgid "" diff --git a/src/translations/cs.po b/src/translations/cs.po index a950a67a6..733f328da 100644 --- a/src/translations/cs.po +++ b/src/translations/cs.po @@ -1082,6 +1082,9 @@ msgstr "" msgid "Low (256x256)" msgstr "" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1184,6 +1187,9 @@ msgstr "Další skladba" msgid "No analyzer" msgstr "Žádný analyzátor" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1516,6 +1522,13 @@ msgstr "" msgid "Search for album covers..." msgstr "" +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "Druhá úroveň" diff --git a/src/translations/da.po b/src/translations/da.po index ea9c24a25..1273501bb 100644 --- a/src/translations/da.po +++ b/src/translations/da.po @@ -1083,6 +1083,9 @@ msgstr "" msgid "Low (256x256)" msgstr "" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1185,6 +1188,9 @@ msgstr "Næste spor" msgid "No analyzer" msgstr "Ingen analyzer" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1517,6 +1523,13 @@ msgstr "" msgid "Search for album covers..." msgstr "" +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "Andet niveau" diff --git a/src/translations/de.po b/src/translations/de.po index 2d9226d54..1870978ac 100644 --- a/src/translations/de.po +++ b/src/translations/de.po @@ -1106,6 +1106,9 @@ msgstr "Niedrig (15 fps)" msgid "Low (256x256)" msgstr "Niedrig (256x256)" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1208,6 +1211,9 @@ msgstr "Nächstes Stück" msgid "No analyzer" msgstr "Keine Visualisierung" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1542,6 +1548,13 @@ msgstr "Magnatune durchsuchen" msgid "Search for album covers..." msgstr "Nach Covern suchen..." +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "Zweite Stufe" diff --git a/src/translations/el.po b/src/translations/el.po index c64fadeb9..ebdbab11b 100644 --- a/src/translations/el.po +++ b/src/translations/el.po @@ -1109,6 +1109,9 @@ msgstr "Λίγα (15 fps)" msgid "Low (256x256)" msgstr "Χαμηλή (256x256)" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1211,6 +1214,9 @@ msgstr "Επόμενο κομμάτι" msgid "No analyzer" msgstr "Χωρίς αναλυτή" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1545,6 +1551,13 @@ msgstr "Εύρεση στο Magnatune" msgid "Search for album covers..." msgstr "Αναζήτηση για εξώφυλλο άλμπουμ..." +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "Δεύτερο επίπεδο" diff --git a/src/translations/en_CA.po b/src/translations/en_CA.po index cd9e68d84..d8ed89345 100644 --- a/src/translations/en_CA.po +++ b/src/translations/en_CA.po @@ -1081,6 +1081,9 @@ msgstr "" msgid "Low (256x256)" msgstr "" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1183,6 +1186,9 @@ msgstr "Next track" msgid "No analyzer" msgstr "No analyzer" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1516,6 +1522,13 @@ msgstr "Search Magnatune" msgid "Search for album covers..." msgstr "" +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "Second level" diff --git a/src/translations/en_GB.po b/src/translations/en_GB.po index b0a75f16d..dc2ae57d6 100644 --- a/src/translations/en_GB.po +++ b/src/translations/en_GB.po @@ -1079,6 +1079,9 @@ msgstr "" msgid "Low (256x256)" msgstr "" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1181,6 +1184,9 @@ msgstr "Next track" msgid "No analyzer" msgstr "No analyzer" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1513,6 +1519,13 @@ msgstr "" msgid "Search for album covers..." msgstr "" +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "Second level" diff --git a/src/translations/es.po b/src/translations/es.po index cef29fda8..5272dcde5 100644 --- a/src/translations/es.po +++ b/src/translations/es.po @@ -1110,6 +1110,9 @@ msgstr "Baja (15 fps)" msgid "Low (256x256)" msgstr "Bajo (256x256)" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1212,6 +1215,9 @@ msgstr "Pista siguiente" msgid "No analyzer" msgstr "Sin Analizador" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1546,6 +1552,13 @@ msgstr "Buscar en Magnatune" msgid "Search for album covers..." msgstr "Buscar caratulas de álbumes..." +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "Segundo nivel" diff --git a/src/translations/fi.po b/src/translations/fi.po index da6ba1d65..9743b07e9 100644 --- a/src/translations/fi.po +++ b/src/translations/fi.po @@ -1079,6 +1079,9 @@ msgstr "Matala (15 fps)" msgid "Low (256x256)" msgstr "Matala (256x256)" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1182,6 +1185,9 @@ msgstr "Seuraava kappale" msgid "No analyzer" msgstr "" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1514,6 +1520,13 @@ msgstr "" msgid "Search for album covers..." msgstr "" +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "" diff --git a/src/translations/fr.po b/src/translations/fr.po index 2c02ba48d..e6c852645 100644 --- a/src/translations/fr.po +++ b/src/translations/fr.po @@ -1114,6 +1114,9 @@ msgstr "Faible (15 fps)" msgid "Low (256x256)" msgstr "Faible (256x256)" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1216,6 +1219,9 @@ msgstr "Piste suivante" msgid "No analyzer" msgstr "Désactiver le spectrogramme" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1550,6 +1556,13 @@ msgstr "Recherche Magnatune" msgid "Search for album covers..." msgstr "Chercher jaquettes d'album" +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "Deuxième niveau" diff --git a/src/translations/gl.po b/src/translations/gl.po index 27e2a4075..5a4ea3dc6 100644 --- a/src/translations/gl.po +++ b/src/translations/gl.po @@ -1084,6 +1084,9 @@ msgstr "" msgid "Low (256x256)" msgstr "" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1186,6 +1189,9 @@ msgstr "" msgid "No analyzer" msgstr "Sen analisador" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1518,6 +1524,13 @@ msgstr "" msgid "Search for album covers..." msgstr "" +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "" diff --git a/src/translations/hu.po b/src/translations/hu.po index 4e133b4f6..db7aa2d9a 100644 --- a/src/translations/hu.po +++ b/src/translations/hu.po @@ -901,8 +901,7 @@ msgid "Hardware information" msgstr "Hardverjellemzők" msgid "Hardware information is only available while the device is connected." -msgstr "" -"A hardverjellemzők csak csatlakoztatott eszköz esetén tekinthetők meg." +msgstr "A hardverjellemzők csak csatlakoztatott eszköz esetén tekinthetők meg." msgid "Help" msgstr "Súgó" @@ -1104,6 +1103,9 @@ msgstr "Lassú (15 fps)" msgid "Low (256x256)" msgstr "Alacsony (256x256)" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1206,6 +1208,9 @@ msgstr "Következő szám" msgid "No analyzer" msgstr "Kikapcsolva" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1540,6 +1545,13 @@ msgstr "Keresés a Magnatuneon" msgid "Search for album covers..." msgstr "Album borítok keresése..." +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "Második szinten" @@ -2016,18 +2028,17 @@ msgstr "" "vásárlása esetén a számvégi üzenetek eltávolításra kerülnek." msgid "" -"You can scrobble tracks for free, but only paid subscribers can stream Last.fm radio from " -"Clementine." +"You can scrobble tracks for free, but only paid subscribers can stream Last.fm radio from Clementine." msgstr "" "Scrobble funkcióval ingyenesen figyeltetheted a számokat, de csak előfizetők hallgathatnak Last.fm rádiót a " "Clementineből." msgid "" -"You can use your Wii Remote as a remote control for Clementine. See the page on the " -"Clementine wiki for more information.\n" +"You can use your Wii Remote as a remote control for Clementine. See the page on the Clementine " +"wiki for more information.\n" msgstr "" "A Clementine távvezérléshez használhat Wii távvezérlőt is. Részletekért tekintse meg a Clementine " @@ -2038,9 +2049,9 @@ msgid "" "style:italic;\">Enable access for assistive devices\" to use global " "shortcuts in Clementine." msgstr "" -"A Rendszerbeállításokban engedélyeznie kell a \"Hozzáférés engedélyezése kisegítő eszközökhöz\" " -"opciót a globális billentyűparancsok használatához." +"A Rendszerbeállításokban engedélyeznie kell a \"Hozzáférés engedélyezése kisegítő eszközökhöz\" opciót a " +"globális billentyűparancsok használatához." msgid "You will need to restart Clementine if you change the language." msgstr "A nyelv megváltoztatásához újra kell indítania a Clementinet." @@ -2112,31 +2123,26 @@ msgstr "%1. szám" #~ msgid "Connect Wii remotes to Clementine using active/deactive action" #~ msgstr "" -#~ "Wii távvezérlő eszköz csatlakoztatása az aktív/deaktív esemény használatával" +#~ "Wii távvezérlő eszköz csatlakoztatása az aktív/deaktív esemény " +#~ "használatával" -#, qt-format #~ msgid "Wiiremote %1: critical battery (%2%) " #~ msgstr "Wiiremote %1: kritikus teleptöltés (%2%) " -#, qt-format #~ msgid "Wiiremote %1: actived" #~ msgstr "Wiiremote %1: aktiválva" -#, qt-format #~ msgid "Wiiremote %1: connected" #~ msgstr "Wiiremote %1: csatlakoztatva" #~ msgid "Use Wii remote" #~ msgstr "Wii távvezérlő használata" -#, qt-format #~ msgid "Wiiremote %1: disconnected" #~ msgstr "Wiiremote %1: leválasztva" -#, qt-format #~ msgid "Wiiremote %1: low battery (%2%)" #~ msgstr "Wiiremote %1: alacsony teleptöltés (%2%)" -#, qt-format #~ msgid "Wiiremote %1: disactived" #~ msgstr "Wiiremote %1: deaktiválva" diff --git a/src/translations/it.po b/src/translations/it.po index c471b875a..a879d3900 100644 --- a/src/translations/it.po +++ b/src/translations/it.po @@ -104,8 +104,8 @@ msgid "" msgstr "" "

Le variabili iniziano con %, ad esempio: %artist %album %title

\n" "\n" -"

Se racchiudi sezioni di testo che contengono una variabile tra parentesi " -"\n" +"

Se racchiudi sezioni di testo che contengono una variabile tra " +"parentesi \n" "graffe, queste sezioni saranno nascoste se la variabile non contiene alcun \n" "valore.

" @@ -946,8 +946,8 @@ msgstr "Ignora \"The\" nei nomi degli artisti" 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)" +"Immagini (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *." +"tiff)" msgid "Include album art in the notification" msgstr "Includi copertina nella notifica" @@ -1046,8 +1046,7 @@ msgid "Last.fm Tag Radio: %1" msgstr "Radio del tag di Last.fm: %1" msgid "Last.fm is currently busy, please try again in a few minutes" -msgstr "" -"Al momento Last.fm non è disponibile, prova ancora tra qualche minuto" +msgstr "Al momento Last.fm non è disponibile, prova ancora tra qualche minuto" msgid "Last.fm password" msgstr "Password Last.fm" @@ -1114,6 +1113,9 @@ msgstr "Bassa (15 fps)" msgid "Low (256x256)" msgstr "Bassa (256x256)" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1175,8 +1177,7 @@ msgid "Music" msgstr "Musica" msgid "Music (*.mp3 *.ogg *.flac *.mpc *.m4a *.aac *.wma *.mp4 *.spx *.wav)" -msgstr "" -"Musica (*.mp3 *.ogg *.flac *.mpc *.m4a *.aac *.wma *.mp4 *.spx *.wav)" +msgstr "Musica (*.mp3 *.ogg *.flac *.mpc *.m4a *.aac *.wma *.mp4 *.spx *.wav)" msgid "Music Library" msgstr "Raccolta musicale" @@ -1217,6 +1218,9 @@ msgstr "Traccia successiva" msgid "No analyzer" msgstr "Nessun analizzatore" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1552,6 +1556,13 @@ msgstr "Cerca in Magnatune" msgid "Search for album covers..." msgstr "Cerca copertine degli album..." +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "Secondo livello" @@ -2034,21 +2045,20 @@ msgstr "" "traccia." msgid "" -"You can scrobble tracks for free, but only paid subscribers can stream Last.fm radio from " -"Clementine." +"You can scrobble tracks for free, but only paid subscribers can stream Last.fm radio from Clementine." msgstr "" "Puoi inviare informazioni sulle tracce gratuitamente, ma solo gli abbonati a pagamento possono ascoltare le " "radio Last.fm da Clementine" msgid "" -"You can use your Wii Remote as a remote control for Clementine.
See the page on the " -"Clementine wiki for more information.\n" +"You can use your Wii Remote as a remote control for Clementine. See the page on the Clementine " +"wiki for more information.\n" msgstr "" -"Puoi utilizzare un Wii Remote come telecomando per Clementine. Vedi la pagina sul wiki di " +"Puoi utilizzare un Wii Remote come telecomando per Clementine. Vedi la pagina sul wiki di " "Clementine per ulteriori informazioni.\n" msgid "" @@ -2056,9 +2066,9 @@ msgid "" "style:italic;\">Enable access for assistive devices\" to use global " "shortcuts in Clementine." msgstr "" -"Devi aprire le preferenze di sistema e attivare \"Abilita l'accesso per i dispositivi di assistenza\" " -"per utilizzare le scorciatoie globali in Clementine." +"Devi aprire le preferenze di sistema e attivare \"Abilita l'accesso per i dispositivi di assistenza\" per " +"utilizzare le scorciatoie globali in Clementine." msgid "You will need to restart Clementine if you change the language." msgstr "Dovrai riavviare Clementine se cambi la lingua." @@ -2164,8 +2174,9 @@ msgstr "traccia %1" #~ "Note that you must be a paid " #~ "subscriber to listen to Last.fm radio from within Clementine." #~ msgstr "" -#~ "Nota che è necessario essere un abbonato a " -#~ "pagamento per ascoltare una radio Last.fm da Clementine." +#~ "Nota che è necessario essere un abbonato a pagamento per ascoltare una radio Last.fm da " +#~ "Clementine." #~ msgid "Configure global shortcuts..." #~ msgstr "Configura le scorciatoie globali..." @@ -2221,23 +2232,18 @@ msgstr "traccia %1" #~ msgid "Enable shortcuts only when application is focused" #~ msgstr "Abilita le scorciatoie solo quando l'applicazione è in primo piano" -#, qt-format #~ msgid "Wiiremote %1: disconnected" #~ msgstr "Wiiremote %1: disconnesso" -#, qt-format #~ msgid "Wiiremote %1: actived" #~ msgstr "Wiiremote %1: attivato" -#, qt-format #~ msgid "Wiiremote %1: connected" #~ msgstr "Wiiremote %1: connesso" -#, qt-format #~ msgid "Wiiremote %1: disactived" #~ msgstr "Wiiremote %1: disattivato" -#, qt-format #~ msgid "Wiiremote %1: low battery (%2%)" #~ msgstr "Wiiremote %1: batteria scarsa (%2%)" @@ -2251,6 +2257,5 @@ msgstr "traccia %1" #~ msgid "Use notifications to report Wii remote status" #~ msgstr "Utilizza le notifiche per segnalare lo stato del Wii remote" -#, qt-format #~ msgid "Wiiremote %1: critical battery (%2%) " #~ msgstr "Wiiremote %1: livello della batteria critico (%2%) " diff --git a/src/translations/kk.po b/src/translations/kk.po index dff979ac8..0c636a1c0 100644 --- a/src/translations/kk.po +++ b/src/translations/kk.po @@ -1079,6 +1079,9 @@ msgstr "" msgid "Low (256x256)" msgstr "" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1181,6 +1184,9 @@ msgstr "" msgid "No analyzer" msgstr "" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1513,6 +1519,13 @@ msgstr "" msgid "Search for album covers..." msgstr "" +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "" diff --git a/src/translations/lt.po b/src/translations/lt.po index a114cc999..fbcc27c6e 100644 --- a/src/translations/lt.po +++ b/src/translations/lt.po @@ -1078,6 +1078,9 @@ msgstr "" msgid "Low (256x256)" msgstr "" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "" @@ -1180,6 +1183,9 @@ msgstr "" msgid "No analyzer" msgstr "" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1512,6 +1518,13 @@ msgstr "" msgid "Search for album covers..." msgstr "" +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "" diff --git a/src/translations/nb.po b/src/translations/nb.po index 7d9248087..6d581f3fb 100644 --- a/src/translations/nb.po +++ b/src/translations/nb.po @@ -1081,6 +1081,9 @@ msgstr "" msgid "Low (256x256)" msgstr "Lav (256x256)" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1183,6 +1186,9 @@ msgstr "Neste spor" msgid "No analyzer" msgstr "Ingen analyse" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1515,6 +1521,13 @@ msgstr "" msgid "Search for album covers..." msgstr "" +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "Andre nivå" diff --git a/src/translations/nl.po b/src/translations/nl.po index c81129225..2708d508e 100644 --- a/src/translations/nl.po +++ b/src/translations/nl.po @@ -941,8 +941,8 @@ msgstr "\"The\" in artiestennamen negeren" 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)" +"Afbeeldingen (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *." +"tiff)" msgid "Include album art in the notification" msgstr "Albumhoes in de notificatie weergeven" @@ -1041,8 +1041,7 @@ msgid "Last.fm Tag Radio: %1" msgstr "Last.fm tag radio: %1" msgid "Last.fm is currently busy, please try again in a few minutes" -msgstr "" -"Last.fm is momenteel bezet, probeer het over een paar minuten nogmaals" +msgstr "Last.fm is momenteel bezet, probeer het over een paar minuten nogmaals" msgid "Last.fm password" msgstr "Last.fm wachtwoord" @@ -1108,6 +1107,9 @@ msgstr "Laag (15 fps)" msgid "Low (256x256)" msgstr "Laag (256x256)" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1169,8 +1171,7 @@ msgid "Music" msgstr "Muziek" msgid "Music (*.mp3 *.ogg *.flac *.mpc *.m4a *.aac *.wma *.mp4 *.spx *.wav)" -msgstr "" -"Muziek (*.mp3 *.ogg *.flac *.mpc *.m4a *.aac *.wma *.mp4 *.spx *.wav)" +msgstr "Muziek (*.mp3 *.ogg *.flac *.mpc *.m4a *.aac *.wma *.mp4 *.spx *.wav)" msgid "Music Library" msgstr "Muziekbibliotheek" @@ -1211,6 +1212,9 @@ msgstr "Volgende track" msgid "No analyzer" msgstr "Geen analyzer" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1547,6 +1551,13 @@ msgstr "Zoeken op Magnatune" msgid "Search for album covers..." msgstr "Zoeken naar albumhoezen..." +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "Tweede niveau" @@ -2029,21 +2040,19 @@ msgstr "" "lidmaatschap worden de berichten aan aan het eind van elk nummer verwijderd." msgid "" -"You can scrobble tracks for free, but only paid subscribers can stream Last.fm radio from " -"Clementine." +"You can scrobble tracks for free, but only paid subscribers can stream Last.fm radio from Clementine." msgstr "" -"U kunt gratis tracks scrobblen, maar alleen betalende leden kunnen Last.fm radio streamen vanuit " -"Clementine." +"U kunt gratis tracks scrobblen, maar alleen betalende leden kunnen Last.fm radio streamen vanuit Clementine." msgid "" -"You can use your Wii Remote as a remote control for Clementine. See the page on the " -"Clementine wiki for more information.\n" +"You can use your Wii Remote as a remote control for Clementine. See the page on the Clementine " +"wiki for more information.\n" msgstr "" -"U kan uw Wii Remote gebruiken als afstandsbediening voor Clementine. Neem een kijkje op de " +"U kan uw Wii Remote gebruiken als afstandsbediening voor Clementine. Neem een kijkje op de " "Clementine wikipagina voor meer informatie.\n" msgid "" @@ -2051,9 +2060,9 @@ msgid "" "style:italic;\">Enable access for assistive devices\" to use global " "shortcuts in Clementine." msgstr "" -"Jemoet de Systeem Voorkeuren opstarten en \"Toegang voor assisterende apparaten \" aanzetten om " -"de globlale sneltoetsen in Clementine te gebruiken." +"Jemoet de Systeem Voorkeuren opstarten en \"Toegang voor assisterende apparaten \" aanzetten om de globlale " +"sneltoetsen in Clementine te gebruiken." msgid "You will need to restart Clementine if you change the language." msgstr "Clementine moet herstart worden als u de taal verandert." diff --git a/src/translations/oc.po b/src/translations/oc.po index 1b6b5e9a9..02f9695a1 100644 --- a/src/translations/oc.po +++ b/src/translations/oc.po @@ -1077,6 +1077,9 @@ msgstr "" msgid "Low (256x256)" msgstr "" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1179,6 +1182,9 @@ msgstr "Pista seguenta" msgid "No analyzer" msgstr "Desactivar l'espectrograma" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1511,6 +1517,13 @@ msgstr "" msgid "Search for album covers..." msgstr "" +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "" diff --git a/src/translations/pl.po b/src/translations/pl.po index 27da7d8f2..959d27fda 100644 --- a/src/translations/pl.po +++ b/src/translations/pl.po @@ -705,8 +705,7 @@ msgstr "Wpisz nową nazwę dla listy odtwarzania" msgid "" "Enter an artist or tag to start listening to Last.fm radio." -msgstr "" -"Wpisz wykonawcę lub znacznik aby słuchać radia Last.fm." +msgstr "Wpisz wykonawcę lub znacznik aby słuchać radia Last.fm." msgid "Enter search terms here" msgstr "Wpisz szukane wyrażenie" @@ -903,8 +902,7 @@ msgid "Hardware information" msgstr "Informacja o urządzeniu" msgid "Hardware information is only available while the device is connected." -msgstr "" -"Informacja o urządzeniu jest widoczna gdy urządzenie jest podłączone." +msgstr "Informacja o urządzeniu jest widoczna gdy urządzenie jest podłączone." msgid "Help" msgstr "Pomoc" @@ -1107,6 +1105,9 @@ msgstr "Niska (15 klatek na sekundę)" msgid "Low (256x256)" msgstr "Niska (256x256)" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1168,8 +1169,7 @@ msgid "Music" msgstr "Muzyka" msgid "Music (*.mp3 *.ogg *.flac *.mpc *.m4a *.aac *.wma *.mp4 *.spx *.wav)" -msgstr "" -"Muzyka (*.mp3 *.ogg *.flac *.mpc *.m4a *.aac *.wma *.mp4 *.spx *.wav)" +msgstr "Muzyka (*.mp3 *.ogg *.flac *.mpc *.m4a *.aac *.wma *.mp4 *.spx *.wav)" msgid "Music Library" msgstr "Biblioteka muzyki" @@ -1210,6 +1210,9 @@ msgstr "Następny utwór" msgid "No analyzer" msgstr "Bez analizatora" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1544,6 +1547,13 @@ msgstr "Przeszukaj Magnatune" msgid "Search for album covers..." msgstr "Szukaj okładek..." +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "Drugi poziom" @@ -2018,18 +2028,17 @@ msgstr "" "członkostwa usuwa komunikaty na końcu każdej ścieżki." msgid "" -"You can scrobble tracks for free, but only paid subscribers can stream Last.fm radio from " -"Clementine." +"You can scrobble tracks for free, but only paid subscribers can stream Last.fm radio from Clementine." msgstr "" msgid "" -"You can use your Wii Remote as a remote control for Clementine. See the page on the " -"Clementine wiki for more information.\n" +"You can use your Wii Remote as a remote control for Clementine. See the page on the Clementine " +"wiki for more information.\n" msgstr "" -"Możesz użyć kontrolerów Wii Remote jako zdalny pilot w Clementine. Zobacz strone wiki dla " +"Możesz użyć kontrolerów Wii Remote jako zdalny pilot w Clementine. Zobacz strone wiki dla " "Clementine w celu uzyskania wiekszej ilości informacji.\n" msgid "" @@ -2094,11 +2103,9 @@ msgstr "utwór %1" #~ msgid "Show section" #~ msgstr "Pokaż sekcję" -#, qt-format #~ msgid "%1's Neighborhood" #~ msgstr "%1 sąsiada" -#, qt-format #~ msgid "%1's Library" #~ msgstr "%1 biblioteka" @@ -2130,8 +2137,8 @@ msgstr "utwór %1" #~ "Note that you must be a paid " #~ "subscriber to listen to Last.fm radio from within Clementine." #~ msgstr "" -#~ "Musisz posiadać opłacone konto aby " -#~ "słuchać radia Last.fm w Clementine." +#~ "Musisz posiadać opłacone konto " +#~ "aby słuchać radia Last.fm w Clementine." #~ msgid "Fadeout" #~ msgstr "Zanikanie" @@ -2187,11 +2194,9 @@ msgstr "utwór %1" #~ msgid "Enable shortcuts only when application is focused" #~ msgstr "Reaguj na skróty tylko gdy aplikacja jest aktywna" -#, qt-format #~ msgid "Keep buttons for %1 second" #~ msgstr "Przytrzymaj klawisze przez %1 sekunde" -#, qt-format #~ msgid "Keep buttons for %1 seconds" #~ msgstr "Przytrzymaj klawisze przez %1 sekundy" @@ -2210,18 +2215,14 @@ msgstr "utwór %1" #~ msgid "Deactive Wiiremote" #~ msgstr "Deaktywuj wiiremote'a" -#, qt-format #~ msgid "Wiiremote %1: connected" #~ msgstr "Wiiremote %1: połączony" -#, qt-format #~ msgid "Wiiremote %1: critical battery (%2%) " #~ msgstr "Wiiremote %1: krytyczny poziom baterii (%2%) " -#, qt-format #~ msgid "Wiiremote %1: disconnected" #~ msgstr "Wiiremote %1: rozłączony" -#, qt-format #~ msgid "Wiiremote %1: low battery (%2%)" #~ msgstr "Wiiremote %1: niski poziom baterii (%2%)" diff --git a/src/translations/pt.po b/src/translations/pt.po index 6fb50814d..876484dbc 100644 --- a/src/translations/pt.po +++ b/src/translations/pt.po @@ -1105,6 +1105,9 @@ msgstr "Baixa (15 fps)" msgid "Low (256x256)" msgstr "Baixa (256x256)" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1166,8 +1169,7 @@ msgid "Music" msgstr "Música" msgid "Music (*.mp3 *.ogg *.flac *.mpc *.m4a *.aac *.wma *.mp4 *.spx *.wav)" -msgstr "" -"Música (*.mp3 *.ogg *.flac *.mpc *.m4a *.aac *.wma *.mp4 *.spx *.wav)" +msgstr "Música (*.mp3 *.ogg *.flac *.mpc *.m4a *.aac *.wma *.mp4 *.spx *.wav)" msgid "Music Library" msgstr "Biblioteca de músicas" @@ -1208,6 +1210,9 @@ msgstr "Faixa seguinte" msgid "No analyzer" msgstr "Sem analisador" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1543,6 +1548,13 @@ msgstr "Pesquisar na Magnatune" msgid "Search for album covers..." msgstr "Pesquisar capas de álbuns..." +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "Segundo nível" @@ -2020,22 +2032,21 @@ msgstr "" "serviço, a mensagem no final de cada faixa será removida." msgid "" -"You can scrobble tracks for free, but only paid subscribers can stream Last.fm radio from " -"Clementine." +"You can scrobble tracks for free, but only paid subscribers can stream Last.fm radio from Clementine." msgstr "" "Você pode atualizar/memorizar as faixas gratuitamente, mas apenas os assinantes conseguem ouvir as rádios " -"Last.fm através do Clementine." +"style=\" font-weight:600;\">assinantes conseguem ouvir as rádios Last." +"fm através do Clementine." msgid "" -"You can use your Wii Remote as a remote control for Clementine. See the page on the " -"Clementine wiki for more information.\n" +"You can use your Wii Remote as a remote control for Clementine. See the page on the Clementine " +"wiki for more information.\n" msgstr "" -"Pode utilizar o seu \"Wii Remote\" para controlar o Clementine. Veja a página no " -"Clementine wiki para mais informações.\n" +"Pode utilizar o seu \"Wii Remote\" para controlar o Clementine. Veja a página no Clementine " +"wiki para mais informações.\n" msgid "" "You need to launch System Preferences and turn on \"paid subscribers can stream Last.fm radio from " -"Clementine." +"You can scrobble tracks for free, but only paid subscribers can stream Last.fm radio from Clementine." msgstr "" -"Môžte skrobblovať skladby zadarmo, ale len platiaci predplatitelia môžu streamovať Last.fm rádio z " -"Clementine." +"Môžte skrobblovať skladby zadarmo, ale len platiaci predplatitelia môžu streamovať Last.fm rádio z Clementine." msgid "" -"You can use your Wii Remote as a remote control for Clementine. See the page on the " -"Clementine wiki for more information.\n" +"You can use your Wii Remote as a remote control for Clementine. See the page on the Clementine " +"wiki for more information.\n" msgstr "" "Môžete použiť vaše Wii diaľkové ako diaľkový ovládač pre Clementine. Pozrite si stránku na " @@ -2092,11 +2103,9 @@ msgstr "skladba %1" #~ msgid "Show section" #~ msgstr "Zobraziť stĺpec" -#, qt-format #~ msgid "%1's Neighborhood" #~ msgstr "%1 susedia" -#, qt-format #~ msgid "%1's Library" #~ msgstr "%1 zbierka" @@ -2179,8 +2188,8 @@ msgstr "skladba %1" #~ msgstr "Pôvodný kľúč" #~ msgid "" -#~ "You are about to reset to global shortcuts default values. Are you sure you " -#~ "want to continue?" +#~ "You are about to reset to global shortcuts default values. Are you sure " +#~ "you want to continue?" #~ msgstr "" #~ "Pokúšate sa zresetovať pôvodné globálne skratky. Ste si istý, že chcete " #~ "pokračovať?" diff --git a/src/translations/sl.po b/src/translations/sl.po index 88204fd9f..9cb21ad57 100644 --- a/src/translations/sl.po +++ b/src/translations/sl.po @@ -1099,6 +1099,9 @@ msgstr "Nizko (15 fps)" msgid "Low (256x256)" msgstr "Nizka (256x256)" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1201,6 +1204,9 @@ msgstr "Naslednja skladba" msgid "No analyzer" msgstr "Brez preučevalnika" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1535,6 +1541,13 @@ msgstr "Išči na Magnatune" msgid "Search for album covers..." msgstr "Najdi ovitke albumov ..." +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "Druga raven" diff --git a/src/translations/sr.po b/src/translations/sr.po index d461c9c5b..e20fd882d 100644 --- a/src/translations/sr.po +++ b/src/translations/sr.po @@ -1083,6 +1083,9 @@ msgstr "" msgid "Low (256x256)" msgstr "" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MП3" @@ -1185,6 +1188,9 @@ msgstr "Следећа нумера" msgid "No analyzer" msgstr "Без анализатора" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1517,6 +1523,13 @@ msgstr "Претражи Магнатјун" msgid "Search for album covers..." msgstr "Тражи омоте албума" +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "Други ниво" diff --git a/src/translations/sv.po b/src/translations/sv.po index 9b5fb7b5d..4fe6c9456 100644 --- a/src/translations/sv.po +++ b/src/translations/sv.po @@ -1087,6 +1087,9 @@ msgstr "Låg (15 fps)" msgid "Low (256x256)" msgstr "Låg (256x256)" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1189,6 +1192,9 @@ msgstr "Nästa spår" msgid "No analyzer" msgstr "Ingen analysator" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "Inga träffar hittades. Tom sökrutan för att visa hela spellistan igen." @@ -1521,6 +1527,13 @@ msgstr "Sök Magnatune" msgid "Search for album covers..." msgstr "Sök efter omslagsbilder..." +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "Andra nivån" diff --git a/src/translations/tr.po b/src/translations/tr.po index 58d842f99..66de1785d 100644 --- a/src/translations/tr.po +++ b/src/translations/tr.po @@ -1082,6 +1082,9 @@ msgstr "Düşük (15 fps)" msgid "Low (256x256)" msgstr "Düşük (256x256)" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1184,6 +1187,9 @@ msgstr "Sonraki parça" msgid "No analyzer" msgstr "" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1518,6 +1524,13 @@ msgstr "Magnatune'da Ara" msgid "Search for album covers..." msgstr "Albüm kapaklarını ara..." +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "" diff --git a/src/translations/translations.pot b/src/translations/translations.pot index 30e7de577..9819c9827 100644 --- a/src/translations/translations.pot +++ b/src/translations/translations.pot @@ -1068,6 +1068,9 @@ msgstr "" msgid "Low (256x256)" msgstr "" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "" @@ -1170,6 +1173,9 @@ msgstr "" msgid "No analyzer" msgstr "" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1502,6 +1508,13 @@ msgstr "" msgid "Search for album covers..." msgstr "" +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "" diff --git a/src/translations/uk.po b/src/translations/uk.po index 10e65f7a2..1b15d5873 100644 --- a/src/translations/uk.po +++ b/src/translations/uk.po @@ -934,8 +934,8 @@ msgstr "Ігнорувати «The» в іменах виконавців" 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)" +"Зображення (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm *." +"tiff)" msgid "Include album art in the notification" msgstr "Показувати обкладинку в повідомлені" @@ -1099,6 +1099,9 @@ msgstr "Низька (15 к/с)" msgid "Low (256x256)" msgstr "Низька (256x256)" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1160,8 +1163,7 @@ msgid "Music" msgstr "Музика" msgid "Music (*.mp3 *.ogg *.flac *.mpc *.m4a *.aac *.wma *.mp4 *.spx *.wav)" -msgstr "" -"Музика (*.mp3 *.ogg *.flac *.mpc *.m4a *.aac *.wma *.mp4 *.spx *.wav)" +msgstr "Музика (*.mp3 *.ogg *.flac *.mpc *.m4a *.aac *.wma *.mp4 *.spx *.wav)" msgid "Music Library" msgstr "Фонотека" @@ -1202,6 +1204,9 @@ msgstr "Наступна доріжка" msgid "No analyzer" msgstr "Без аналізатора" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1536,6 +1541,13 @@ msgstr "Пошук на Magnatune" msgid "Search for album covers..." msgstr "Пошук обкладинок альбомів..." +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "Другий рівень" @@ -1796,8 +1808,7 @@ msgstr "Цей пристрів не працюватиме як слід" msgid "" "This is an MTP device, but you compiled Clementine without libmtp support." -msgstr "" -"Це пристрій MTP, але ви скомпілювали Clementine без підтримки libmtp." +msgstr "Це пристрій MTP, але ви скомпілювали Clementine без підтримки libmtp." msgid "This is an iPod, but you compiled Clementine without libgpod support." msgstr "" @@ -2006,18 +2017,17 @@ msgstr "" "Набуття членства дає змогу вилучати повідомлення в кінці кожної композиції." msgid "" -"You can scrobble tracks for free, but only paid subscribers can stream Last.fm radio from " -"Clementine." +"You can scrobble tracks for free, but only paid subscribers can stream Last.fm radio from Clementine." msgstr "" -"Ви можете вільно скроббити доріжки, але лише платні передплатники можуть слухати потокове радіо " -"Last.fm з Clementine." +"Ви можете вільно скроббити доріжки, але лише платні передплатники можуть слухати потокове радіо Last.fm з " +"Clementine." msgid "" -"You can use your Wii Remote as a remote control for Clementine. See the page on the " -"Clementine wiki for more information.\n" +"You can use your Wii Remote as a remote control for Clementine. See the page on the Clementine " +"wiki for more information.\n" msgstr "" "Можете використовувати Wii Remote для віддаленого керування Clementine. Детальніше, на сторінці " @@ -2029,9 +2039,8 @@ msgid "" "shortcuts in Clementine." msgstr "" "Потрібно запустити «Системні налаштування» та увімкнути параметр \"Увімкнути доступ для допоміжних " -"пристроїв\", щоб використовувати глобальні комбінації клавіш в " -"Clementine." +"style=\" font-style:italic;\">Увімкнути доступ для допоміжних пристроїв\", щоб використовувати глобальні комбінації клавіш в Clementine." msgid "You will need to restart Clementine if you change the language." msgstr "Потрібно перезапустити Clementine, щоб змінити мову." @@ -2191,26 +2200,20 @@ msgstr "доріжка %1" #~ msgid "Use Wii remote" #~ msgstr "Використовувати Wii remote" -#, qt-format #~ msgid "Wiiremote %1: disconnected" #~ msgstr "Wiiremote %1: роз’єднано" -#, qt-format #~ msgid "Wiiremote %1: low battery (%2%)" #~ msgstr "Wiiremote %1: низький заряд акумулятора (%2%)" -#, qt-format #~ msgid "Wiiremote %1: critical battery (%2%) " #~ msgstr "Wiiremote %1: критичний заряд акумулятора (%2%) " -#, qt-format #~ msgid "Wiiremote %1: disactived" #~ msgstr "Wiiremote %1: деактивовано" -#, qt-format #~ msgid "Wiiremote %1: actived" #~ msgstr "Wiiremote %1: активовано" -#, qt-format #~ msgid "Wiiremote %1: connected" #~ msgstr "Wiiremote %1: з’єднано" diff --git a/src/translations/zh_CN.po b/src/translations/zh_CN.po index d163ca8b1..d2df215ad 100644 --- a/src/translations/zh_CN.po +++ b/src/translations/zh_CN.po @@ -1077,6 +1077,9 @@ msgstr "" msgid "Low (256x256)" msgstr "" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "" @@ -1179,6 +1182,9 @@ msgstr "下一音轨" msgid "No analyzer" msgstr "" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "" @@ -1511,6 +1517,13 @@ msgstr "" msgid "Search for album covers..." msgstr "" +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "" diff --git a/src/translations/zh_TW.po b/src/translations/zh_TW.po index 797931127..e6bbb13e9 100644 --- a/src/translations/zh_TW.po +++ b/src/translations/zh_TW.po @@ -1083,6 +1083,9 @@ msgstr "" msgid "Low (256x256)" msgstr "" +msgid "Lyrics" +msgstr "" + msgid "MP3" msgstr "MP3" @@ -1185,6 +1188,9 @@ msgstr "下一首歌曲" msgid "No analyzer" msgstr "沒有分析儀" +msgid "No lyrics could be found" +msgstr "" + msgid "" "No matches found. Clear the search box to show the whole playlist again." msgstr "沒有找到符合的.清除搜尋框,再次顯示整個播放清單" @@ -1517,6 +1523,13 @@ msgstr "搜尋 Magnatune" msgid "Search for album covers..." msgstr "搜尋專輯封面..." +#, qt-format +msgid "Searching %1..." +msgstr "" + +msgid "Searching..." +msgstr "" + msgid "Second level" msgstr "第二個層次" diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index 3af605d5f..7555b8736 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -34,7 +34,7 @@ #include "library/libraryconfig.h" #include "library/librarydirectorymodel.h" #include "library/library.h" -#include "lyrics/lyricfetcher.h" +#include "lyrics/lyricview.h" #include "playlist/playlistbackend.h" #include "playlist/playlist.h" #include "playlist/playlistmanager.h" @@ -127,7 +127,6 @@ MainWindow::MainWindow(NetworkAccessManager* network, Engine::Type engine, QWidg player_(NULL), library_(NULL), global_shortcuts_(new GlobalShortcuts(this)), - lyric_fetcher_(new LyricFetcher(network, this)), devices_(NULL), settings_dialog_(NULL), cover_manager_(NULL), @@ -327,7 +326,7 @@ MainWindow::MainWindow(NetworkAccessManager* network, Engine::Type engine, QWidg connect(player_, SIGNAL(ForceShowOSD(Song)), SLOT(ForceShowOSD(Song))); connect(playlists_, SIGNAL(CurrentSongChanged(Song)), osd_, SLOT(SongChanged(Song))); connect(playlists_, SIGNAL(CurrentSongChanged(Song)), player_, SLOT(CurrentMetadataChanged(Song))); - connect(playlists_, SIGNAL(CurrentSongChanged(Song)), this, SLOT(FetchLyrics(Song))); + connect(playlists_, SIGNAL(CurrentSongChanged(Song)), ui_->lyrics_view, SLOT(SongChanged(Song))); connect(playlists_, SIGNAL(PlaylistChanged()), player_, SLOT(PlaylistChanged())); connect(playlists_, SIGNAL(EditingFinished(QModelIndex)), SLOT(PlaylistEditFinished(QModelIndex))); connect(playlists_, SIGNAL(Error(QString)), SLOT(ShowErrorDialog(QString))); @@ -468,6 +467,9 @@ MainWindow::MainWindow(NetworkAccessManager* network, Engine::Type engine, QWidg connect(global_shortcuts_, SIGNAL(ShowHide()), SLOT(ToggleShowHide())); connect(global_shortcuts_, SIGNAL(ShowOSD()), player_, SLOT(ShowOSD())); + // Lyrics + ui_->lyrics_view->set_network(network); + // Analyzer ui_->analyzer->SetEngine(player_->GetEngine()); ui_->analyzer->SetActions(ui_->action_visualisations); @@ -1552,7 +1554,3 @@ void MainWindow::ShowVisualisations() { visualisation_->show(); #endif // ENABLE_VISUALISATIONS } - -void MainWindow::FetchLyrics(const Song& song) { - lyric_fetcher_->SearchAsync(song); -} diff --git a/src/ui/mainwindow.h b/src/ui/mainwindow.h index c5117a5b5..3e2abfdfb 100644 --- a/src/ui/mainwindow.h +++ b/src/ui/mainwindow.h @@ -42,7 +42,6 @@ class ErrorDialog; class GlobalShortcuts; class GroupByDialog; class Library; -class LyricFetcher; class MultiLoadingIndicator; class NetworkAccessManager; class OrganiseDialog; @@ -184,9 +183,6 @@ class MainWindow : public QMainWindow, public PlatformInterface { void OpenSettingsDialog(); void OpenSettingsDialogAtPage(SettingsDialog::Page page); - // TODO: Move to the UI class - void FetchLyrics(const Song& song); - private: void SaveGeometry(); void AddFilesToPlaylist(bool clear_first, const QList& urls); @@ -213,7 +209,6 @@ class MainWindow : public QMainWindow, public PlatformInterface { Player* player_; Library* library_; GlobalShortcuts* global_shortcuts_; - LyricFetcher* lyric_fetcher_; DeviceManager* devices_; diff --git a/src/ui/mainwindow.ui b/src/ui/mainwindow.ui index 8f86940c9..43e3228f7 100644 --- a/src/ui/mainwindow.ui +++ b/src/ui/mainwindow.ui @@ -14,7 +14,7 @@ Clementine - + :/icon.png:/icon.png @@ -26,7 +26,7 @@ 0 - + Qt::Horizontal @@ -167,21 +167,56 @@ - + 0 - + - + 0 0 - - + + Qt::Horizontal + + + + + 0 + 0 + + + + + + + + 0 + + + true + + + + Lyrics + + + + 0 + + + 0 + + + + + + + @@ -641,7 +676,7 @@ false - + :/last.fm/love.png:/last.fm/love.png @@ -656,7 +691,7 @@ false - + :/last.fm/ban.png:/last.fm/ban.png @@ -918,9 +953,13 @@ QTreeView
devices/deviceview.h
+ + LyricView + QWidget +
lyrics/lyricview.h
+ 1 +
- - - + diff --git a/src/widgets/elidedlabel.cpp b/src/widgets/elidedlabel.cpp new file mode 100644 index 000000000..cc888b251 --- /dev/null +++ b/src/widgets/elidedlabel.cpp @@ -0,0 +1,35 @@ +/* This file is part of Clementine. + + Clementine is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Clementine is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Clementine. If not, see . +*/ + +#include "elidedlabel.h" + +ElidedLabel::ElidedLabel(QWidget* parent) + : QLabel(parent) +{ +} + +void ElidedLabel::SetText(const QString& text) { + text_ = text; + UpdateText(); +} + +void ElidedLabel::resizeEvent(QResizeEvent*) { + UpdateText(); +} + +void ElidedLabel::UpdateText() { + setText(fontMetrics().elidedText(text_, Qt::ElideRight, width() - 5)); +} diff --git a/src/widgets/elidedlabel.h b/src/widgets/elidedlabel.h new file mode 100644 index 000000000..cdfb48f47 --- /dev/null +++ b/src/widgets/elidedlabel.h @@ -0,0 +1,41 @@ +/* This file is part of Clementine. + + Clementine is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Clementine is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Clementine. If not, see . +*/ + +#ifndef ELIDEDLABEL_H +#define ELIDEDLABEL_H + +#include + +class ElidedLabel : public QLabel { + Q_OBJECT + +public: + ElidedLabel(QWidget* parent = 0); + +public slots: + void SetText(const QString& text); + +protected: + void resizeEvent(QResizeEvent* e); + +private: + void UpdateText(); + +private: + QString text_; +}; + +#endif // ELIDEDLABEL_H