From e67f9a66c82bbf732611d63413d3ecbe7a26bc04 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Tue, 3 Aug 2010 18:57:17 +0000 Subject: [PATCH] Load playlist in separate threads on startup. --- src/CMakeLists.txt | 1 + src/core/song.cpp | 6 ++--- src/core/song.h | 5 ++++- src/library/librarybackend.cpp | 1 + src/library/librarymodel.cpp | 1 + src/library/libraryplaylistitem.cpp | 2 +- src/library/libraryplaylistitem.h | 2 +- src/library/sqlrow.cpp | 12 ++++++++++ src/library/sqlrow.h | 22 ++++++++++++++++++ src/playlist/playlist.cpp | 17 ++++++++++++-- src/playlist/playlist.h | 1 + src/playlist/playlistbackend.cpp | 35 +++++++++++++++++------------ src/playlist/playlistbackend.h | 7 ++++-- src/playlist/playlistitem.h | 4 ++-- src/playlist/songplaylistitem.cpp | 4 +++- src/playlist/songplaylistitem.h | 2 +- src/radio/magnatuneplaylistitem.cpp | 2 +- src/radio/magnatuneplaylistitem.h | 2 +- src/radio/radioplaylistitem.cpp | 3 ++- src/radio/radioplaylistitem.h | 2 +- src/translations/ar.po | 14 ++++++------ src/translations/bg.po | 14 ++++++------ src/translations/cs.po | 14 ++++++------ src/translations/da.po | 14 ++++++------ src/translations/de.po | 14 ++++++------ src/translations/el.po | 14 ++++++------ src/translations/en_CA.po | 14 ++++++------ src/translations/en_GB.po | 14 ++++++------ src/translations/es.po | 14 ++++++------ src/translations/fi.po | 14 ++++++------ src/translations/fr.po | 14 ++++++------ src/translations/gl.po | 14 ++++++------ src/translations/it.po | 14 ++++++------ src/translations/kk.po | 14 ++++++------ src/translations/lt.po | 14 ++++++------ src/translations/nb.po | 14 ++++++------ src/translations/nl.po | 14 ++++++------ src/translations/oc.po | 14 ++++++------ src/translations/pl.po | 14 ++++++------ src/translations/pt.po | 14 ++++++------ src/translations/pt_BR.po | 14 ++++++------ src/translations/ro.po | 14 ++++++------ src/translations/ru.po | 14 ++++++------ src/translations/sk.po | 14 ++++++------ src/translations/sr.po | 14 ++++++------ src/translations/sv.po | 14 ++++++------ src/translations/tr.po | 14 ++++++------ src/translations/translations.pot | 12 +++++----- src/translations/uk.po | 14 ++++++------ src/translations/zh_CN.po | 14 ++++++------ src/translations/zh_TW.po | 14 ++++++------ src/ui/albumcovermanager.cpp | 1 + 52 files changed, 315 insertions(+), 249 deletions(-) create mode 100644 src/library/sqlrow.cpp create mode 100644 src/library/sqlrow.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 04a46560e..4029dd940 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -78,6 +78,7 @@ set(SOURCES library/libraryquery.cpp library/libraryview.cpp library/librarywatcher.cpp + library/sqlrow.cpp playlist/playlist.cpp playlist/playlistbackend.cpp diff --git a/src/core/song.cpp b/src/core/song.cpp index 9d6b820d1..cd3122231 100644 --- a/src/core/song.cpp +++ b/src/core/song.cpp @@ -57,6 +57,7 @@ using boost::scoped_ptr; #include "albumcoverloader.h" #include "engines/enginebase.h" +#include "library/sqlrow.h" #include "widgets/trackslider.h" static QStringList Prepend(const QString& text, const QStringList& list) { @@ -280,7 +281,6 @@ QString UniversalEncodingHandler::FixEncoding(const TagLib::String& input) { return TStringToQString(input).trimmed(); } - Song::Private::Private() : valid_(false), id_(-1), @@ -495,13 +495,11 @@ void Song::GuessFileType(TagLib::FileRef* fileref) { d->filetype_ = Type_TrueAudio; } -void Song::InitFromQuery(const QSqlQuery& q, int col) { +void Song::InitFromQuery(const SqlRow& q, int col) { #ifndef QT_NO_DEBUG_OUTPUT if (qApp->thread() == QThread::currentThread()) qWarning() << Q_FUNC_INFO << "on GUI thread!"; #endif - if (!q.isValid()) - return; d->valid_ = true; diff --git a/src/core/song.h b/src/core/song.h index a7d3ec370..393811e10 100644 --- a/src/core/song.h +++ b/src/core/song.h @@ -37,6 +37,8 @@ # include #endif +class SqlRow; + namespace lastfm { class Track; } @@ -83,6 +85,7 @@ class UniversalEncodingHandler : public TagLib::ID3v1::StringHandler, QTextCodec* current_codec_; }; + class Song { public: Song(); @@ -124,7 +127,7 @@ class Song { // Constructors void Init(const QString& title, const QString& artist, const QString& album, int length); void InitFromFile(const QString& filename, int directory_id); - void InitFromQuery(const QSqlQuery& query, int col = 0); + void InitFromQuery(const SqlRow& query, int col = 0); void InitFromLastFM(const lastfm::Track& track); void MergeFromSimpleMetaBundle(const Engine::SimpleMetaBundle& bundle); diff --git a/src/library/librarybackend.cpp b/src/library/librarybackend.cpp index 1ce75e0fd..909ebd215 100644 --- a/src/library/librarybackend.cpp +++ b/src/library/librarybackend.cpp @@ -16,6 +16,7 @@ #include "librarybackend.h" #include "libraryquery.h" +#include "sqlrow.h" #include "core/database.h" #include "core/scopedtransaction.h" diff --git a/src/library/librarymodel.cpp b/src/library/librarymodel.cpp index f22afd996..dcac95e02 100644 --- a/src/library/librarymodel.cpp +++ b/src/library/librarymodel.cpp @@ -18,6 +18,7 @@ #include "librarybackend.h" #include "libraryitem.h" #include "librarydirectorymodel.h" +#include "sqlrow.h" #include "core/database.h" #include "playlist/songmimedata.h" #include "ui/iconloader.h" diff --git a/src/library/libraryplaylistitem.cpp b/src/library/libraryplaylistitem.cpp index 14081330e..8fb408a86 100644 --- a/src/library/libraryplaylistitem.cpp +++ b/src/library/libraryplaylistitem.cpp @@ -39,7 +39,7 @@ void LibraryPlaylistItem::Reload() { song_.InitFromFile(song_.filename(), song_.directory_id()); } -bool LibraryPlaylistItem::InitFromQuery(const QSqlQuery &query) { +bool LibraryPlaylistItem::InitFromQuery(const SqlRow& query) { // Rows from the songs tables come first song_.InitFromQuery(query); diff --git a/src/library/libraryplaylistitem.h b/src/library/libraryplaylistitem.h index a7f84b1e0..2f0e5a8f8 100644 --- a/src/library/libraryplaylistitem.h +++ b/src/library/libraryplaylistitem.h @@ -25,7 +25,7 @@ class LibraryPlaylistItem : public PlaylistItem { LibraryPlaylistItem(const QString& type); LibraryPlaylistItem(const Song& song); - bool InitFromQuery(const QSqlQuery &query); + bool InitFromQuery(const SqlRow& query); void Reload(); Song Metadata() const; diff --git a/src/library/sqlrow.cpp b/src/library/sqlrow.cpp new file mode 100644 index 000000000..be350b50b --- /dev/null +++ b/src/library/sqlrow.cpp @@ -0,0 +1,12 @@ +#include "sqlrow.h" + +#include +#include + +SqlRow::SqlRow(const QSqlQuery& query) { + int rows = query.record().count(); + for (int i = 0; i < rows; ++i) { + columns_ << query.value(i); + } +} + diff --git a/src/library/sqlrow.h b/src/library/sqlrow.h new file mode 100644 index 000000000..9b282be93 --- /dev/null +++ b/src/library/sqlrow.h @@ -0,0 +1,22 @@ +#ifndef SQLROW_H +#define SQLROW_H + +#include +#include + +class QSqlQuery; + +class SqlRow { + public: + // WARNING: Implicit construction from QSqlQuery and LibraryQuery. + SqlRow(const QSqlQuery& query); + + QVariant value(int i) const { return columns_[i]; } + + private: + SqlRow(); + + QList columns_; +}; + +#endif diff --git a/src/playlist/playlist.cpp b/src/playlist/playlist.cpp index 0d9b60fe1..c9a165647 100644 --- a/src/playlist/playlist.cpp +++ b/src/playlist/playlist.cpp @@ -881,6 +881,7 @@ void Playlist::Save() const { } void Playlist::Restore() { + qDebug() << Q_FUNC_INFO; if (!backend_) return; @@ -888,11 +889,23 @@ void Playlist::Restore() { virtual_items_.clear(); library_items_by_id_.clear(); - items_ = backend_->GetPlaylistItems(id_); + QFuture > future = backend_->GetPlaylistItems(id_); + QFutureWatcher >* watcher = + new QFutureWatcher >(this); + watcher->setFuture(future); + connect(watcher, SIGNAL(finished()), SLOT(ItemsLoaded())); +} + +void Playlist::ItemsLoaded() { + QFutureWatcher >* watcher = + static_cast >*>(sender()); + watcher->deleteLater(); + + items_ = watcher->future().results(); PlaylistBackend::Playlist p = backend_->GetPlaylist(id_); - for (int i=0 ; itype() == "Library") { diff --git a/src/playlist/playlist.h b/src/playlist/playlist.h index f89eb6348..75e408aac 100644 --- a/src/playlist/playlist.h +++ b/src/playlist/playlist.h @@ -203,6 +203,7 @@ class Playlist : public QAbstractListModel { void TracksEnqueued(const QModelIndex&, int begin, int end); void QueueLayoutChanged(); void SongSaveComplete(); + void ItemsLoaded(); private: PlaylistFilter* proxy_; diff --git a/src/playlist/playlistbackend.cpp b/src/playlist/playlistbackend.cpp index 6ca7342c1..701977973 100644 --- a/src/playlist/playlistbackend.cpp +++ b/src/playlist/playlistbackend.cpp @@ -18,9 +18,11 @@ #include "core/database.h" #include "core/scopedtransaction.h" #include "core/song.h" +#include "library/sqlrow.h" -#include #include +#include +#include using boost::shared_ptr; @@ -72,7 +74,7 @@ PlaylistBackend::Playlist PlaylistBackend::GetPlaylist(int id) { return p; } -PlaylistItemList PlaylistBackend::GetPlaylistItems(int playlist) { +QFuture > PlaylistBackend::GetPlaylistItems(int playlist) { QMutexLocker l(db_->Mutex()); QSqlDatabase db(db_->Connect()); @@ -91,22 +93,27 @@ PlaylistItemList PlaylistBackend::GetPlaylistItems(int playlist) { q.bindValue(":playlist", playlist); q.exec(); if (db_->CheckErrors(q.lastError())) - return ret; + return QFuture >(); + + QList rows; while (q.next()) { - // The song tables gets joined first, plus one each for the song ROWIDs - const int row = (Song::kColumns.count() + 1) * 2; - - shared_ptr item( - PlaylistItem::NewFromType(q.value(row + 0).toString())); - if (!item) - continue; - - if (item->InitFromQuery(q)) - ret << item; + rows << SqlRow(q); } - return ret; + return QtConcurrent::mapped(rows, &PlaylistBackend::NewSongFromQuery); +} + +shared_ptr PlaylistBackend::NewSongFromQuery(const SqlRow& row) { + // The song tables gets joined first, plus one each for the song ROWIDs + const int playlist_row = (Song::kColumns.count() + 1) * 2; + + shared_ptr item( + PlaylistItem::NewFromType(row.value(playlist_row).toString())); + if (item) { + item->InitFromQuery(row); + } + return item; } void PlaylistBackend::SavePlaylistAsync(int playlist, const PlaylistItemList &items, diff --git a/src/playlist/playlistbackend.h b/src/playlist/playlistbackend.h index a9ab01f1c..7755a03d7 100644 --- a/src/playlist/playlistbackend.h +++ b/src/playlist/playlistbackend.h @@ -17,8 +17,9 @@ #ifndef PLAYLISTBACKEND_H #define PLAYLISTBACKEND_H -#include +#include #include +#include #include "playlistitem.h" @@ -42,7 +43,7 @@ class PlaylistBackend : public QObject { PlaylistList GetAllPlaylists(); Playlist GetPlaylist(int id); - PlaylistItemList GetPlaylistItems(int playlist); + QFuture > GetPlaylistItems(int playlist); void SavePlaylistAsync(int playlist, const PlaylistItemList& items, int last_played); void SetPlaylistOrder(const QList& ids); @@ -55,6 +56,8 @@ class PlaylistBackend : public QObject { void SavePlaylist(int playlist, const PlaylistItemList& items, int last_played); private: + static boost::shared_ptr NewSongFromQuery(const SqlRow& row); + boost::shared_ptr db_; }; diff --git a/src/playlist/playlistitem.h b/src/playlist/playlistitem.h index 83f85baf4..e23f6c2ee 100644 --- a/src/playlist/playlistitem.h +++ b/src/playlist/playlistitem.h @@ -24,7 +24,7 @@ #include "core/song.h" -class QSqlQuery; +class SqlRow; class PlaylistItem { public: @@ -89,7 +89,7 @@ class PlaylistItem { virtual Options options() const { return Default; } - virtual bool InitFromQuery(const QSqlQuery& query) = 0; + virtual bool InitFromQuery(const SqlRow& query) = 0; void BindToQuery(QSqlQuery* query) const; virtual void Reload() {} diff --git a/src/playlist/songplaylistitem.cpp b/src/playlist/songplaylistitem.cpp index b1f7f38bb..6530cdc5e 100644 --- a/src/playlist/songplaylistitem.cpp +++ b/src/playlist/songplaylistitem.cpp @@ -16,6 +16,8 @@ #include "songplaylistitem.h" +#include "library/sqlrow.h" + #include #include #include @@ -31,7 +33,7 @@ SongPlaylistItem::SongPlaylistItem(const Song& song) { } -bool SongPlaylistItem::InitFromQuery(const QSqlQuery &query) { +bool SongPlaylistItem::InitFromQuery(const SqlRow& query) { // The song tables gets joined first, plus one each for the song ROWIDs const int row = (Song::kColumns.count() + 1) * 2; diff --git a/src/playlist/songplaylistitem.h b/src/playlist/songplaylistitem.h index 1db92c7c6..42a16512a 100644 --- a/src/playlist/songplaylistitem.h +++ b/src/playlist/songplaylistitem.h @@ -25,7 +25,7 @@ class SongPlaylistItem : public PlaylistItem { SongPlaylistItem(const QString& type); SongPlaylistItem(const Song& song); - bool InitFromQuery(const QSqlQuery &query); + bool InitFromQuery(const SqlRow& query); void Reload(); Song Metadata() const; diff --git a/src/radio/magnatuneplaylistitem.cpp b/src/radio/magnatuneplaylistitem.cpp index e6370d453..d1b0192f4 100644 --- a/src/radio/magnatuneplaylistitem.cpp +++ b/src/radio/magnatuneplaylistitem.cpp @@ -13,7 +13,7 @@ MagnatunePlaylistItem::MagnatunePlaylistItem(const Song& song) song_ = song; } -bool MagnatunePlaylistItem::InitFromQuery(const QSqlQuery &query) { +bool MagnatunePlaylistItem::InitFromQuery(const SqlRow& query) { // Rows from the songs tables come first song_.InitFromQuery(query, Song::kColumns.count() + 1); diff --git a/src/radio/magnatuneplaylistitem.h b/src/radio/magnatuneplaylistitem.h index d72caa929..d2f25e233 100644 --- a/src/radio/magnatuneplaylistitem.h +++ b/src/radio/magnatuneplaylistitem.h @@ -8,7 +8,7 @@ class MagnatunePlaylistItem : public LibraryPlaylistItem { MagnatunePlaylistItem(const QString& type); MagnatunePlaylistItem(const Song& song); - bool InitFromQuery(const QSqlQuery &query); + bool InitFromQuery(const SqlRow& query); Options options() const; diff --git a/src/radio/radioplaylistitem.cpp b/src/radio/radioplaylistitem.cpp index da8f55114..045e1bf50 100644 --- a/src/radio/radioplaylistitem.cpp +++ b/src/radio/radioplaylistitem.cpp @@ -18,6 +18,7 @@ #include "radioservice.h" #include "radiomodel.h" #include "core/settingsprovider.h" +#include "library/sqlrow.h" #include #include @@ -40,7 +41,7 @@ RadioPlaylistItem::RadioPlaylistItem(RadioService* service, const QUrl& url, InitMetadata(); } -bool RadioPlaylistItem::InitFromQuery(const QSqlQuery &query) { +bool RadioPlaylistItem::InitFromQuery(const SqlRow& query) { // The song tables gets joined first, plus one each for the song ROWIDs const int row = (Song::kColumns.count() + 1) * 2; diff --git a/src/radio/radioplaylistitem.h b/src/radio/radioplaylistitem.h index b7c8a7443..a15e570c4 100644 --- a/src/radio/radioplaylistitem.h +++ b/src/radio/radioplaylistitem.h @@ -32,7 +32,7 @@ class RadioPlaylistItem : public PlaylistItem { Options options() const; - bool InitFromQuery(const QSqlQuery &query); + bool InitFromQuery(const SqlRow& query); void BindToQuery(QSqlQuery *query) const; Song Metadata() const; diff --git a/src/translations/ar.po b/src/translations/ar.po index 77b5a7d30..b4599e751 100644 --- a/src/translations/ar.po +++ b/src/translations/ar.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-05-21 01:02+0000\n" "Last-Translator: EL7R \n" "Language-Team: Arabic \n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" "X-Launchpad-Export-Date: 2010-05-22 04:09+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -44,15 +44,15 @@ msgstr "" msgid "%1 tracks" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "" @@ -588,7 +588,7 @@ msgstr "" msgid "Edit..." msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "" @@ -1749,7 +1749,7 @@ msgstr "" msgid "[click to edit]" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "أضِف %n أغاني\\أغنية" @@ -1769,7 +1769,7 @@ msgstr "انقل الأغاني" msgid "options" msgstr "الخيارات" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "أزِل %n أغاني\\أغنية" diff --git a/src/translations/bg.po b/src/translations/bg.po index 372450b46..4a5287a77 100644 --- a/src/translations/bg.po +++ b/src/translations/bg.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-07-06 14:54+0000\n" "Last-Translator: Hristo Apostolov \n" "Language-Team: Bulgarian \n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "X-Launchpad-Export-Date: 2010-07-07 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -44,15 +44,15 @@ msgstr "" msgid "%1 tracks" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "" @@ -588,7 +588,7 @@ msgstr "" msgid "Edit..." msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "" @@ -1749,7 +1749,7 @@ msgstr "" msgid "[click to edit]" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "" @@ -1769,7 +1769,7 @@ msgstr "" msgid "options" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "" diff --git a/src/translations/cs.po b/src/translations/cs.po index 218ded074..57d7c1e2f 100644 --- a/src/translations/cs.po +++ b/src/translations/cs.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-07-20 03:50+0000\n" "Last-Translator: David Sansome \n" "Language-Team: LANGUAGE \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: \n" "X-Launchpad-Export-Date: 2010-07-21 03:55+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Language: cs_CZ\n" @@ -45,15 +45,15 @@ msgstr "" msgid "%1 tracks" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "" @@ -589,7 +589,7 @@ msgstr "Upravit informaci o skladbách..." msgid "Edit..." msgstr "Upravit..." -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "Úprava %n stop" @@ -1753,7 +1753,7 @@ msgstr "Vynulovat" msgid "[click to edit]" msgstr "[pro úpravy klikněte]" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "Přidej %n skladby" @@ -1773,7 +1773,7 @@ msgstr "Přesuň skladby" msgid "options" msgstr "Možnosti" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "Odeber %n skladeb" diff --git a/src/translations/da.po b/src/translations/da.po index 5ad2e56be..2de72d4cb 100644 --- a/src/translations/da.po +++ b/src/translations/da.po @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2010-07-16 21:57+0000\n" "Last-Translator: Kabel \n" "Language-Team: Danish \n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "X-Launchpad-Export-Date: 2010-07-17 04:04+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -45,15 +45,15 @@ msgstr "" msgid "%1 tracks" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "" @@ -589,7 +589,7 @@ msgstr "Redigér sporinformation..." msgid "Edit..." msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "Redigerer %n spor" @@ -1756,7 +1756,7 @@ msgstr "Nul" msgid "[click to edit]" msgstr "[Klik for at redigere]" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "tilføj %n sange" @@ -1776,7 +1776,7 @@ msgstr "flyt sange" msgid "options" msgstr "indstillinger" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "fjern %n sange" diff --git a/src/translations/de.po b/src/translations/de.po index 268c7f386..9b4cf96d6 100644 --- a/src/translations/de.po +++ b/src/translations/de.po @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2010-07-19 11:13+0000\n" "Last-Translator: murrayy \n" "Language-Team: German \n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de\n" "X-Launchpad-Export-Date: 2010-07-20 04:01+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -45,15 +45,15 @@ msgstr "%1 ausgewählt von" msgid "%1 tracks" msgstr "%1 Stücke" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "%n fehlgeschlagen" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "%n konvertiert" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "%n verbleibend" @@ -597,7 +597,7 @@ msgstr "Metadaten bearbeiten..." msgid "Edit..." msgstr "Bearbeiten..." -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "%n Stücke bearbeiten" @@ -1779,7 +1779,7 @@ msgstr "Null" msgid "[click to edit]" msgstr "[zum Bearbeiten klicken]" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "%n Stücke hinzufügen" @@ -1799,7 +1799,7 @@ msgstr "Stücke verschieben" msgid "options" msgstr "Einstellungen" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "%n Stücke entfernen" diff --git a/src/translations/el.po b/src/translations/el.po index c29e68f28..09acc518a 100644 --- a/src/translations/el.po +++ b/src/translations/el.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-07-18 09:56+0000\n" "Last-Translator: firewalker \n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: \n" "X-Launchpad-Export-Date: 2010-07-19 03:54+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Language: el_GR\n" @@ -46,15 +46,15 @@ msgstr "%1 επιλεγμένα από" msgid "%1 tracks" msgstr "%1 κομμάτια" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "%n απέτυχε" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "%n ολοκληρώθηκε" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "%n απομένει" @@ -600,7 +600,7 @@ msgstr "Τροποποίηση πληροφοριών κομματιού..." msgid "Edit..." msgstr "Επεξεργασία..." -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "Τροποποίηση %n κομματιών" @@ -1784,7 +1784,7 @@ msgstr "Zero" msgid "[click to edit]" msgstr "[κλικ για τροποποίηση]" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "προσθήκη %n τραγουδιών" @@ -1804,7 +1804,7 @@ msgstr "μετακίνηση τραγουδιών" msgid "options" msgstr "επιλογές" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "αφαίρεση %n τραγουδιών" diff --git a/src/translations/en_CA.po b/src/translations/en_CA.po index 50f16e899..9befb94ff 100644 --- a/src/translations/en_CA.po +++ b/src/translations/en_CA.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-06-17 01:37+0000\n" "Last-Translator: David Sansome \n" "Language-Team: English (Canada) \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: \n" "X-Launchpad-Export-Date: 2010-06-18 03:42+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -44,15 +44,15 @@ msgstr "" msgid "%1 tracks" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "%n failed" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "%n finished" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "%n remaining" @@ -590,7 +590,7 @@ msgstr "Edit track information..." msgid "Edit..." msgstr "Edit..." -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "Editing %n tracks" @@ -1754,7 +1754,7 @@ msgstr "Zero" msgid "[click to edit]" msgstr "[click to edit]" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "add %n songs" @@ -1774,7 +1774,7 @@ msgstr "move songs" msgid "options" msgstr "options" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "remove %n songs" diff --git a/src/translations/en_GB.po b/src/translations/en_GB.po index f5405fe1c..a0e95880c 100644 --- a/src/translations/en_GB.po +++ b/src/translations/en_GB.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-06-17 01:38+0000\n" "Last-Translator: David Sansome \n" "Language-Team: LANGUAGE \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: \n" "X-Launchpad-Export-Date: 2010-06-18 03:42+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -44,15 +44,15 @@ msgstr "" msgid "%1 tracks" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "" @@ -588,7 +588,7 @@ msgstr "Edit track information..." msgid "Edit..." msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "Editing %n tracks" @@ -1751,7 +1751,7 @@ msgstr "Zero" msgid "[click to edit]" msgstr "[click to edit]" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "" @@ -1771,7 +1771,7 @@ msgstr "" msgid "options" msgstr "options" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "" diff --git a/src/translations/es.po b/src/translations/es.po index 3f0d30341..00dffb1d7 100644 --- a/src/translations/es.po +++ b/src/translations/es.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-07-19 21:03+0000\n" "Last-Translator: Carlos Jenkins Pérez \n" "Language-Team: LANGUAGE \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: \n" "X-Launchpad-Export-Date: 2010-07-20 04:01+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Language: es_ES\n" @@ -45,15 +45,15 @@ msgstr "%1 seleccionadas de" msgid "%1 tracks" msgstr "%1 pistas" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "%n fallaron" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "%n completado(s)" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "%n pendiente(s)" @@ -601,7 +601,7 @@ msgstr "Editar información de la pista..." msgid "Edit..." msgstr "Editar..." -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "Editando %n pistas" @@ -1785,7 +1785,7 @@ msgstr "Zero" msgid "[click to edit]" msgstr "[click para editar]" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "agregar %n pistas" @@ -1805,7 +1805,7 @@ msgstr "mover pistas" msgid "options" msgstr "opciones" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "remover %n pistas" diff --git a/src/translations/fi.po b/src/translations/fi.po index 63675c07a..3c00da078 100644 --- a/src/translations/fi.po +++ b/src/translations/fi.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-06-30 12:14+0000\n" "Last-Translator: David Sansome \n" "Language-Team: Finnish \n" +"Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fi\n" "X-Launchpad-Export-Date: 2010-07-01 03:58+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -44,15 +44,15 @@ msgstr "" msgid "%1 tracks" msgstr "%1 kappaletta" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "" @@ -588,7 +588,7 @@ msgstr "Muokkaa kappaleen tietoja..." msgid "Edit..." msgstr "Muokkaa..." -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "" @@ -1751,7 +1751,7 @@ msgstr "" msgid "[click to edit]" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "" @@ -1771,7 +1771,7 @@ msgstr "" msgid "options" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "" diff --git a/src/translations/fr.po b/src/translations/fr.po index c001e7f51..a9954b3f2 100644 --- a/src/translations/fr.po +++ b/src/translations/fr.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-07-23 20:36+0000\n" "Last-Translator: Arno \n" "Language-Team: LANGUAGE \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: \n" "X-Launchpad-Export-Date: 2010-07-24 04:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Language: fr_FR\n" @@ -45,15 +45,15 @@ msgstr "" msgid "%1 tracks" msgstr "%1 pistes" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "%n échoué" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "%n terminé" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "%n manquant" @@ -593,7 +593,7 @@ msgstr "Modifier la description de la piste..." msgid "Edit..." msgstr "Éditer..." -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "Éditer %n pistes" @@ -1765,7 +1765,7 @@ msgstr "Zéro" msgid "[click to edit]" msgstr "[cliquer pour modifier]" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "" @@ -1785,7 +1785,7 @@ msgstr "déplacer les chansons" msgid "options" msgstr "options" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "" diff --git a/src/translations/gl.po b/src/translations/gl.po index 9ab2f9dae..5ca0a613e 100644 --- a/src/translations/gl.po +++ b/src/translations/gl.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-04-27 16:34+0000\n" "Last-Translator: andreout \n" "Language-Team: Galician \n" +"Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: gl\n" "X-Launchpad-Export-Date: 2010-04-28 03:53+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -44,15 +44,15 @@ msgstr "" msgid "%1 tracks" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "" @@ -588,7 +588,7 @@ msgstr "" msgid "Edit..." msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "Editando %n faixas" @@ -1751,7 +1751,7 @@ msgstr "" msgid "[click to edit]" msgstr "[clique para editar]" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "" @@ -1771,7 +1771,7 @@ msgstr "" msgid "options" msgstr "Opzóns" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "" diff --git a/src/translations/it.po b/src/translations/it.po index 3958340bc..689ad0b03 100644 --- a/src/translations/it.po +++ b/src/translations/it.po @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2010-07-13 06:56+0000\n" "Last-Translator: Vincenzo Reale \n" "Language-Team: Italian \n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "X-Launchpad-Export-Date: 2010-07-14 03:50+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -45,15 +45,15 @@ msgstr "%1 selezionate di" msgid "%1 tracks" msgstr "%1 tracce" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "%n non riusciti" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "%n completati" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "%n rimanenti" @@ -599,7 +599,7 @@ msgstr "Modifica informazioni traccia..." msgid "Edit..." msgstr "Modifica..." -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "Modifica di %n tracce" @@ -1789,7 +1789,7 @@ msgstr "Zero" msgid "[click to edit]" msgstr "[clic per modificare]" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "aggiungi %n brani" @@ -1809,7 +1809,7 @@ msgstr "sposta brani" msgid "options" msgstr "opzioni" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "rimuovi %n brani" diff --git a/src/translations/kk.po b/src/translations/kk.po index f7a88f310..d2600cf66 100644 --- a/src/translations/kk.po +++ b/src/translations/kk.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-04-27 16:33+0000\n" "Last-Translator: David Sansome \n" "Language-Team: Kazakh \n" +"Language: kk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: kk\n" "X-Launchpad-Export-Date: 2010-04-28 03:53+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -44,15 +44,15 @@ msgstr "" msgid "%1 tracks" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "" @@ -588,7 +588,7 @@ msgstr "" msgid "Edit..." msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "" @@ -1751,7 +1751,7 @@ msgstr "Нөл" msgid "[click to edit]" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "" @@ -1771,7 +1771,7 @@ msgstr "" msgid "options" msgstr "опциялар" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "" diff --git a/src/translations/lt.po b/src/translations/lt.po index e966f854c..3dab3d9f7 100644 --- a/src/translations/lt.po +++ b/src/translations/lt.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-07-22 12:24+0000\n" "Last-Translator: Kazimieras Aliulis \n" "Language-Team: Lithuanian \n" +"Language: lt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: lt\n" "X-Launchpad-Export-Date: 2010-07-23 04:23+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -44,15 +44,15 @@ msgstr "%1 pažymėta iš" msgid "%1 tracks" msgstr "%1 takeliai" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "" @@ -588,7 +588,7 @@ msgstr "" msgid "Edit..." msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "" @@ -1749,7 +1749,7 @@ msgstr "" msgid "[click to edit]" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "" @@ -1769,7 +1769,7 @@ msgstr "" msgid "options" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "" diff --git a/src/translations/nb.po b/src/translations/nb.po index 47fbacd76..9d0ccadd3 100644 --- a/src/translations/nb.po +++ b/src/translations/nb.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-04-14 22:22+0000\n" "Last-Translator: David Sansome \n" "Language-Team: Norwegian Bokmal \n" +"Language: nb\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nb\n" "X-Launchpad-Export-Date: 2010-04-16 04:07+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -44,15 +44,15 @@ msgstr "" msgid "%1 tracks" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "" @@ -588,7 +588,7 @@ msgstr "Rediger informasjon om sporet..." msgid "Edit..." msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "Endrer %n spor" @@ -1753,7 +1753,7 @@ msgstr "Null" msgid "[click to edit]" msgstr "[klikk for å endre]" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "" @@ -1773,7 +1773,7 @@ msgstr "" msgid "options" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "" diff --git a/src/translations/nl.po b/src/translations/nl.po index e49051f46..d504b9a04 100644 --- a/src/translations/nl.po +++ b/src/translations/nl.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-07-15 22:34+0000\n" "Last-Translator: Balaam's Miracle \n" "Language-Team: Dutch \n" +"Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl\n" "X-Launchpad-Export-Date: 2010-07-17 04:04+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -44,15 +44,15 @@ msgstr "%1 geselecteerd van" msgid "%1 tracks" msgstr "%1 tracks" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "%n mislukt" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "%n voltooid" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "%n te gaan" @@ -596,7 +596,7 @@ msgstr "Trackinformatie bewerken..." msgid "Edit..." msgstr "Bewerken..." -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "%n tracks bewerken" @@ -1778,7 +1778,7 @@ msgstr "Nul" msgid "[click to edit]" msgstr "[klik om te bewerken]" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "%n nummers toevoegen" @@ -1798,7 +1798,7 @@ msgstr "nummers verplaatsen" msgid "options" msgstr "opties" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "%n nummers verwijderen" diff --git a/src/translations/oc.po b/src/translations/oc.po index d896b483d..46e901b9d 100644 --- a/src/translations/oc.po +++ b/src/translations/oc.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-05-21 01:01+0000\n" "Last-Translator: Cédric VALMARY (Tot en òc) \n" "Language-Team: Occitan (post 1500) \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: \n" "X-Launchpad-Export-Date: 2010-05-22 04:09+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -44,15 +44,15 @@ msgstr "" msgid "%1 tracks" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "" @@ -588,7 +588,7 @@ msgstr "" msgid "Edit..." msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "" @@ -1749,7 +1749,7 @@ msgstr "Zèro" msgid "[click to edit]" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "" @@ -1769,7 +1769,7 @@ msgstr "" msgid "options" msgstr "opcions" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "" diff --git a/src/translations/pl.po b/src/translations/pl.po index dc840487c..63bbb54d9 100644 --- a/src/translations/pl.po +++ b/src/translations/pl.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-07-23 09:51+0000\n" "Last-Translator: Patryk Wychowaniec \n" "Language-Team: LANGUAGE \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: \n" "X-Launchpad-Export-Date: 2010-07-24 04:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Language: pl_PL\n" @@ -45,15 +45,15 @@ msgstr "%1 zaznaczonych z" msgid "%1 tracks" msgstr "%1 ścieżek" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "%n zawiodło" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "%n zakończone" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "" @@ -594,7 +594,7 @@ msgstr "Edytuj informacje o utworze..." msgid "Edit..." msgstr "Edytuj..." -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "Edytowanie %n ścieżek" @@ -1760,7 +1760,7 @@ msgstr "" msgid "[click to edit]" msgstr "[kliknij aby edytować]" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "" @@ -1780,7 +1780,7 @@ msgstr "" msgid "options" msgstr "opcje" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "" diff --git a/src/translations/pt.po b/src/translations/pt.po index fb899e147..e1ade2999 100644 --- a/src/translations/pt.po +++ b/src/translations/pt.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-07-20 09:28+0000\n" "Last-Translator: Sérgio Marques \n" "Language-Team: Portuguese \n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "X-Launchpad-Export-Date: 2010-07-21 03:55+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -44,15 +44,15 @@ msgstr "seleccionada(s) %1 de" msgid "%1 tracks" msgstr "%1 faixas" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "%n falha(s)" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "%n concluída(s)" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "%n restante(s)" @@ -597,7 +597,7 @@ msgstr "Editar a informação da faixa..." msgid "Edit..." msgstr "Editar..." -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "Editando %n faixas" @@ -1775,7 +1775,7 @@ msgstr "Zero" msgid "[click to edit]" msgstr "[clique para editar]" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "adicionar %n canções" @@ -1795,7 +1795,7 @@ msgstr "mover canções" msgid "options" msgstr "opções" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "remover %n canções" diff --git a/src/translations/pt_BR.po b/src/translations/pt_BR.po index 757602ca9..c65c55efc 100644 --- a/src/translations/pt_BR.po +++ b/src/translations/pt_BR.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-06-26 18:01+0000\n" "Last-Translator: David Sansome \n" "Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "X-Launchpad-Export-Date: 2010-06-27 03:57+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -44,15 +44,15 @@ msgstr "%1 selecionado(s) de" msgid "%1 tracks" msgstr "%1 faixas" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "%n falhou" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "%n fizalizado" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "%n faltando" @@ -593,7 +593,7 @@ msgstr "Editar informações da faixa..." msgid "Edit..." msgstr "Editar..." -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "Editando %n faixas" @@ -1769,7 +1769,7 @@ msgstr "Zero" msgid "[click to edit]" msgstr "[clique para editar]" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "Adicionar %n músicas" @@ -1789,7 +1789,7 @@ msgstr "mover músicas" msgid "options" msgstr "opções" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "Remover %n músicas" diff --git a/src/translations/ro.po b/src/translations/ro.po index 6bc3bc432..cc8a7c53d 100644 --- a/src/translations/ro.po +++ b/src/translations/ro.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-05-03 21:09+0000\n" "Last-Translator: David Sansome \n" "Language-Team: Romanian \n" +"Language: ro\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro\n" "X-Launchpad-Export-Date: 2010-05-04 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -44,15 +44,15 @@ msgstr "" msgid "%1 tracks" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "" @@ -588,7 +588,7 @@ msgstr "" msgid "Edit..." msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "" @@ -1750,7 +1750,7 @@ msgstr "Zero" msgid "[click to edit]" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "" @@ -1770,7 +1770,7 @@ msgstr "" msgid "options" msgstr "opțiuni" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "" diff --git a/src/translations/ru.po b/src/translations/ru.po index 7b4da5acf..628478588 100644 --- a/src/translations/ru.po +++ b/src/translations/ru.po @@ -10,10 +10,10 @@ msgstr "" "PO-Revision-Date: 2010-07-20 06:51+0000\n" "Last-Translator: Pavel Maleev \n" "Language-Team: Russian \n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" "X-Launchpad-Export-Date: 2010-07-21 03:55+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -43,15 +43,15 @@ msgstr "%1 выбрано из" msgid "%1 tracks" msgstr "%1 композиций" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "%n с ошибкой" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "%n завершено" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "%n осталось" @@ -595,7 +595,7 @@ msgstr "Изменить информацию о композиции..." msgid "Edit..." msgstr "Изменить..." -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "Редактирую %n треков" @@ -1775,7 +1775,7 @@ msgstr "По-умолчанию" msgid "[click to edit]" msgstr "[щелкните, чтобы изменить]" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "добавить %n композиций" @@ -1795,7 +1795,7 @@ msgstr "переместить композиции" msgid "options" msgstr "настройки" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "удалить %n композиций" diff --git a/src/translations/sk.po b/src/translations/sk.po index 1e0c4a4c0..2f996bca9 100644 --- a/src/translations/sk.po +++ b/src/translations/sk.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-07-20 09:42+0000\n" "Last-Translator: DAG Software \n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: \n" "X-Launchpad-Export-Date: 2010-07-21 03:55+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Language: sk_SK\n" @@ -45,15 +45,15 @@ msgstr "%1 vybratých z" msgid "%1 tracks" msgstr "%1 skladieb" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "%n zlyhalo" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "%n dokončených" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "%n zostávajúcich" @@ -597,7 +597,7 @@ msgstr "Upravť informácie o skladbe..." msgid "Edit..." msgstr "Upraviť..." -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "Upravovanie %n skladieb" @@ -1773,7 +1773,7 @@ msgstr "Vynulovať" msgid "[click to edit]" msgstr "[kliknite pre úpravu]" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "pridať %n piesní" @@ -1793,7 +1793,7 @@ msgstr "presunúť piesne" msgid "options" msgstr "možnosti" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "odstrániť %n piesní" diff --git a/src/translations/sr.po b/src/translations/sr.po index b2ecfff20..e1527faf4 100644 --- a/src/translations/sr.po +++ b/src/translations/sr.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-07-23 16:01+0000\n" "Last-Translator: Далибор Ђурић \n" "Language-Team: Serbian \n" +"Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sr\n" "X-Launchpad-Export-Date: 2010-07-24 04:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -44,15 +44,15 @@ msgstr "" msgid "%1 tracks" msgstr "%1 нумера" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "%n завршено" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "%n преостало" @@ -590,7 +590,7 @@ msgstr "Уреди податке о нумери..." msgid "Edit..." msgstr "Уреди..." -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "Уређивање %n нумера" @@ -1756,7 +1756,7 @@ msgstr "Нулто" msgid "[click to edit]" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "додај %n песама" @@ -1776,7 +1776,7 @@ msgstr "" msgid "options" msgstr "Опције" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "remove %n песама" diff --git a/src/translations/sv.po b/src/translations/sv.po index 99e3c3a4e..9c01dca57 100644 --- a/src/translations/sv.po +++ b/src/translations/sv.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-07-21 16:23+0000\n" "Last-Translator: alopex \n" "Language-Team: Swedish \n" +"Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" "X-Launchpad-Export-Date: 2010-07-22 04:11+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -44,15 +44,15 @@ msgstr "" msgid "%1 tracks" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "%n misslyckades" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "%n färdig" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "%n återstår" @@ -590,7 +590,7 @@ msgstr "Redigera spårinformation..." msgid "Edit..." msgstr "Redigera..." -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "Redigerar %n spår" @@ -1757,7 +1757,7 @@ msgstr "Noll" msgid "[click to edit]" msgstr "[klicka för att redigera]" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "Lägg till %n songer" @@ -1777,7 +1777,7 @@ msgstr "Flytta songer" msgid "options" msgstr "alternativ" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "Ta bort %n songer" diff --git a/src/translations/tr.po b/src/translations/tr.po index 133357195..3e14184f5 100644 --- a/src/translations/tr.po +++ b/src/translations/tr.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-07-15 05:59+0000\n" "Last-Translator: Cihan Ersoy \n" "Language-Team: Turkish \n" +"Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: tr\n" "X-Launchpad-Export-Date: 2010-07-16 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -44,15 +44,15 @@ msgstr "" msgid "%1 tracks" msgstr "%1 parça" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "%n başarısız" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "%n tamamlandı" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "%n kalan" @@ -588,7 +588,7 @@ msgstr "Parça bilgisini düzenle..." msgid "Edit..." msgstr "Düzenle..." -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "" @@ -1755,7 +1755,7 @@ msgstr "" msgid "[click to edit]" msgstr "[düzenlemek için tıklayın]" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "%n şakıyı ekle" @@ -1775,7 +1775,7 @@ msgstr "Parçaları taşı" msgid "options" msgstr "seçenekler" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "%n şakıyı çıkart" diff --git a/src/translations/translations.pot b/src/translations/translations.pot index 133e72119..7013a5d2d 100644 --- a/src/translations/translations.pot +++ b/src/translations/translations.pot @@ -34,15 +34,15 @@ msgstr "" msgid "%1 tracks" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "" @@ -578,7 +578,7 @@ msgstr "" msgid "Edit..." msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "" @@ -1739,7 +1739,7 @@ msgstr "" msgid "[click to edit]" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "" @@ -1759,7 +1759,7 @@ msgstr "" msgid "options" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "" diff --git a/src/translations/uk.po b/src/translations/uk.po index c798c749b..f4d0ef1aa 100644 --- a/src/translations/uk.po +++ b/src/translations/uk.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-07-20 06:52+0000\n" "Last-Translator: Sergiy Gavrylov \n" "Language-Team: Ukrainian \n" +"Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: uk\n" "X-Launchpad-Export-Date: 2010-07-21 03:55+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -44,15 +44,15 @@ msgstr "вибрано з %1" msgid "%1 tracks" msgstr "%1 доріжок" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "%n з помилкою" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "%n завершено" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "%n залишилось" @@ -596,7 +596,7 @@ msgstr "Редагувати дані про доріжку..." msgid "Edit..." msgstr "Змінити..." -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "Редагування %n доріжок" @@ -1774,7 +1774,7 @@ msgstr "Zero" msgid "[click to edit]" msgstr "[клацніть, щоб змінити]" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "додати %n композицій" @@ -1794,7 +1794,7 @@ msgstr "перемістити композиції" msgid "options" msgstr "параметри" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "вилучити %n композицій" diff --git a/src/translations/zh_CN.po b/src/translations/zh_CN.po index 71411dcd7..428c78a25 100644 --- a/src/translations/zh_CN.po +++ b/src/translations/zh_CN.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-06-07 01:43+0000\n" "Last-Translator: David Sansome \n" "Language-Team: Chinese (Simplified) \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: \n" "X-Launchpad-Export-Date: 2010-06-08 03:51+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -44,15 +44,15 @@ msgstr "" msgid "%1 tracks" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "" @@ -588,7 +588,7 @@ msgstr "" msgid "Edit..." msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "" @@ -1749,7 +1749,7 @@ msgstr "" msgid "[click to edit]" msgstr "" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "" @@ -1769,7 +1769,7 @@ msgstr "" msgid "options" msgstr "选项" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "" diff --git a/src/translations/zh_TW.po b/src/translations/zh_TW.po index c99a38bf6..c919df5fa 100644 --- a/src/translations/zh_TW.po +++ b/src/translations/zh_TW.po @@ -11,10 +11,10 @@ msgstr "" "PO-Revision-Date: 2010-07-20 03:55+0000\n" "Last-Translator: David Sansome \n" "Language-Team: Chinese (Traditional) \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: \n" "X-Launchpad-Export-Date: 2010-07-21 03:55+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -44,15 +44,15 @@ msgstr "%1 選定" msgid "%1 tracks" msgstr "%1 歌曲" -#, c-format +#, c-format, qt-plural-format msgid "%n failed" msgstr "%n 失敗的" -#, c-format +#, c-format, qt-plural-format msgid "%n finished" msgstr "%n 完成的" -#, c-format +#, c-format, qt-plural-format msgid "%n remaining" msgstr "%n 剩餘的" @@ -592,7 +592,7 @@ msgstr "編輯歌曲資訊..." msgid "Edit..." msgstr "編輯..." -#, c-format +#, c-format, qt-plural-format msgid "Editing %n tracks" msgstr "編輯 %n 歌曲" @@ -1756,7 +1756,7 @@ msgstr "" msgid "[click to edit]" msgstr "[點擊以編輯]" -#, c-format +#, c-format, qt-plural-format msgid "add %n songs" msgstr "加入 %n 歌" @@ -1776,7 +1776,7 @@ msgstr "移動歌曲" msgid "options" msgstr "選項" -#, c-format +#, c-format, qt-plural-format msgid "remove %n songs" msgstr "移除 %n 歌" diff --git a/src/ui/albumcovermanager.cpp b/src/ui/albumcovermanager.cpp index cd1b41784..6d7b89f3b 100644 --- a/src/ui/albumcovermanager.cpp +++ b/src/ui/albumcovermanager.cpp @@ -21,6 +21,7 @@ #include "core/albumcoverfetcher.h" #include "library/librarybackend.h" #include "library/libraryquery.h" +#include "library/sqlrow.h" #include #include