Hello community, here is the log from the commit of package plasma5-mediacenter for openSUSE:Factory checked in at 2016-04-07 13:30:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/plasma5-mediacenter (Old) and /work/SRC/openSUSE:Factory/.plasma5-mediacenter.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "plasma5-mediacenter" Changes: -------- --- /work/SRC/openSUSE:Factory/plasma5-mediacenter/plasma5-mediacenter.changes 2016-03-07 13:27:05.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.plasma5-mediacenter.new/plasma5-mediacenter.changes 2016-04-07 13:30:31.000000000 +0200 @@ -1,0 +2,16 @@ +Tue Mar 29 16:21:06 UTC 2016 - hrvoje.sen...@gmail.com + +- Update to 5.6.1 + * New bugfix release + * For more details please see: + https://www.kde.org/announcements/plasma-5.6.1.php + +------------------------------------------------------------------- +Sun Mar 20 09:19:58 UTC 2016 - hrvoje.sen...@gmail.com + +- Update to 5.6.0 + * New feature release + * For more details please see: + https://www.kde.org/announcements/plasma-5.6.0.php + +------------------------------------------------------------------- Old: ---- plasma-mediacenter-5.5.5.tar.xz New: ---- plasma-mediacenter-5.6.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ plasma5-mediacenter.spec ++++++ --- /var/tmp/diff_new_pack.V1CVEc/_old 2016-04-07 13:30:32.000000000 +0200 +++ /var/tmp/diff_new_pack.V1CVEc/_new 2016-04-07 13:30:32.000000000 +0200 @@ -20,7 +20,7 @@ %define rname plasma-mediacenter Name: plasma5-mediacenter -Version: 5.5.5 +Version: 5.6.1 Release: 0 Summary: Media center workspace for plasma License: GPL-2.0+ ++++++ plasma-mediacenter-5.5.5.tar.xz -> plasma-mediacenter-5.6.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/CMakeLists.txt new/plasma-mediacenter-5.6.1/CMakeLists.txt --- old/plasma-mediacenter-5.5.5/CMakeLists.txt 2016-03-01 14:42:02.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/CMakeLists.txt 2016-03-29 16:19:37.000000000 +0200 @@ -5,7 +5,7 @@ set(QT_MIN_VERSION "5.3.0") set (KF5_MIN_VERSION "5.5.0") -set(PROJECT_VERSION "5.5.5") +set(PROJECT_VERSION "5.6.1") set(PROJECT_VERSION_MAJOR "5") find_package(ECM 0.0.8 REQUIRED NO_MODULE) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/autotests/CMakeLists.txt new/plasma-mediacenter-5.6.1/autotests/CMakeLists.txt --- old/plasma-mediacenter-5.5.5/autotests/CMakeLists.txt 2016-03-01 14:41:20.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/autotests/CMakeLists.txt 2016-03-29 16:19:04.000000000 +0200 @@ -14,7 +14,6 @@ set(pmc_test_SRCS medialibrarytest.cpp singletonfactorytest.cpp - lastfmimagefetchertest.cpp pmcmediatest.cpp mediatest.cpp mediacentertest.cpp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/autotests/lastfmimagefetchertest.cpp new/plasma-mediacenter-5.6.1/autotests/lastfmimagefetchertest.cpp --- old/plasma-mediacenter-5.5.5/autotests/lastfmimagefetchertest.cpp 2016-03-01 14:41:20.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/autotests/lastfmimagefetchertest.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,107 +0,0 @@ -/*********************************************************************************** - * Copyright 2014 Shantanu Tushar <shant...@kde.org> * - * Copyright 2014 Sinny Kumari <ksi...@gmail.com> * - * * - * * - * This library is free software; you can redistribute it and/or * - * modify it under the terms of the GNU Lesser General Public * - * License as published by the Free Software Foundation; either * - * version 2.1 of the License, or (at your option) any later version. * - * * - * This library 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 * - * Lesser General Public License for more details. * - * * - * You should have received a copy of the GNU Lesser General Public * - * License along with this library. If not, see <http://www.gnu.org/licenses/>. * - ***********************************************************************************/ - -#include "lastfmimagefetchertest.h" -#include "lastfmimagefetcher.h" -#include "pmcimagecache.h" -#include "singletonfactory.h" - -#include <qtest.h> - -void LastFmImageFetcherTest::initTestCase() -{ - // Called before the first testfunction is executed -} - -void LastFmImageFetcherTest::cleanupTestCase() -{ - // Called after the last testfunction was executed -} - -void LastFmImageFetcherTest::init() -{ - // Called before each testfunction is executed -} - -void LastFmImageFetcherTest::cleanup() -{ - // Called after every testfunction -} - -void LastFmImageFetcherTest::shouldDownloadArtistImageAndSaveToCache() -{ - LastFmImageFetcher lastFmFetcher; - QSignalSpy spyInitialize(&lastFmFetcher, SIGNAL(imageFetched(QVariant,QString))); - QVERIFY2(spyInitialize.isValid(), "Can't listen to signal imageFetched"); - QSignalSpy spyNetwork(&lastFmFetcher, SIGNAL(serviceUnavailable())); - QVERIFY2(spyNetwork.isValid(), "Can't listen to signal serviceUnavailable"); - - lastFmFetcher.fetchImage("artist", "Myfaveartist", "shaan"); - - waitForSignal(&spyNetwork, TIMEOUT_FOR_SIGNALS); - - if(spyNetwork.size() >= 1) - QSKIP("Network connection unavailable", SkipAll); - - waitForSignal(&spyInitialize, TIMEOUT_FOR_SIGNALS); - - QCOMPARE(spyInitialize.size(), 1); - QList<QVariant> arguments = spyInitialize.takeFirst(); - QCOMPARE(arguments.at(0).value<QVariant>().toString(), QString("Myfaveartist")); - QCOMPARE(arguments.at(1).toString(), QString("shaan")); - QVERIFY2(SingletonFactory::instanceFor<PmcImageCache>()->containsImageWithId("artist:shaan"), "Cache did not contain artist image"); -} - -void LastFmImageFetcherTest::shouldDownloadAlbumImageAndSaveToCache() -{ - LastFmImageFetcher lastFmFetcher; - QSignalSpy spyInitialize(&lastFmFetcher, SIGNAL(imageFetched(QVariant,QString))); - QVERIFY2(spyInitialize.isValid(), "Can't listen to signal imageFetched"); - QSignalSpy spyNetwork(&lastFmFetcher, SIGNAL(serviceUnavailable())); - QVERIFY2(spyNetwork.isValid(), "Can't listen to signal serviceUnavailable"); - - lastFmFetcher.fetchImage("album", "Myfavealbum", "Cher", "Believe"); - - waitForSignal(&spyNetwork, TIMEOUT_FOR_SIGNALS); - - if(spyNetwork.size() >= 1) - QSKIP("Network connection unavailable"); - - waitForSignal(&spyInitialize, TIMEOUT_FOR_SIGNALS); - - QCOMPARE(spyInitialize.size(), 1); - QList<QVariant> arguments = spyInitialize.takeFirst(); - QCOMPARE(arguments.at(0).value<QVariant>().toString(), QString("Myfavealbum")); - QCOMPARE(arguments.at(1).toString(), QString("Believe")); - QVERIFY2(SingletonFactory::instanceFor<PmcImageCache>()->containsImageWithId("album:Believe"), "Cache did not contain album image"); -} - -bool LastFmImageFetcherTest::waitForSignal(QSignalSpy* spy, int timeout) -{ - QTime timer; - timer.start(); - while (spy->isEmpty() && timer.elapsed() < timeout) - { - QCoreApplication::processEvents(); - } - return !spy->isEmpty(); -} - -QTEST_GUILESS_MAIN(LastFmImageFetcherTest) - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/autotests/lastfmimagefetchertest.h new/plasma-mediacenter-5.6.1/autotests/lastfmimagefetchertest.h --- old/plasma-mediacenter-5.5.5/autotests/lastfmimagefetchertest.h 2016-03-01 14:41:20.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/autotests/lastfmimagefetchertest.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,51 +0,0 @@ -/*********************************************************************************** - * Copyright 2014 Shantanu Tushar <shant...@kde.org> * - * Copyright 2014 Sinny Kumari <ksi...@gmail.com> * - * * - * * - * This library is free software; you can redistribute it and/or * - * modify it under the terms of the GNU Lesser General Public * - * License as published by the Free Software Foundation; either * - * version 2.1 of the License, or (at your option) any later version. * - * * - * This library 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 * - * Lesser General Public License for more details. * - * * - * You should have received a copy of the GNU Lesser General Public * - * License along with this library. If not, see <http://www.gnu.org/licenses/>. * - ***********************************************************************************/ - -#ifndef LASTFMIMAGEFETCHERTEST_H -#define LASTFMIMAGEFETCHERTEST_H - -#include <QObject> -#include <QSignalSpy> - -namespace { - static const int TIMEOUT_FOR_SIGNALS = 10000; -} - -class QSignalSpy; - -class LastFmImageFetcherTest : public QObject -{ - Q_OBJECT - -private slots: - void initTestCase(); - void cleanupTestCase(); - - void init(); - void cleanup(); - - void shouldDownloadArtistImageAndSaveToCache(); - void shouldDownloadAlbumImageAndSaveToCache(); - -private: - bool waitForSignal(QSignalSpy *spy, int timeout); - -}; - -#endif // LASTFMIMAGEFETCHERTEST_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/browsingbackends/eventsbackend/eventsbackend.desktop new/plasma-mediacenter-5.6.1/browsingbackends/eventsbackend/eventsbackend.desktop --- old/plasma-mediacenter-5.5.5/browsingbackends/eventsbackend/eventsbackend.desktop 2016-03-01 14:41:20.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/browsingbackends/eventsbackend/eventsbackend.desktop 2016-03-29 16:19:04.000000000 +0200 @@ -3,6 +3,7 @@ Icon=image-x-generic Name=Events and Trips Name[ar]=الأحداث والرّحلات +Name[ast]=Eventos y escursiones Name[ca]=Esdeveniments i viatges Name[ca@valencia]=Esdeveniments i viatges Name[cs]=Události a výlety @@ -41,6 +42,7 @@ Name[zh_TW]=事件與旅程 Comment=Organize your photos for events and trips you have taken Comment[ar]=نظّم صور أحداثك ورحلاتك التي التقطتها +Comment[ast]=Organiza les tos semeyes pa eventos y escursiones que fixeres Comment[ca]=Organitza les fotografies que heu pres dels esdeveniments i viatges Comment[ca@valencia]=Organitza les fotografies que heu pres dels esdeveniments i viatges Comment[cs]=Organizujte své fotky pro události a výlety, na kterých jste byli diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/browsingbackends/metadatamusicbackend/metadatamusicbackend.desktop new/plasma-mediacenter-5.6.1/browsingbackends/metadatamusicbackend/metadatamusicbackend.desktop --- old/plasma-mediacenter-5.5.5/browsingbackends/metadatamusicbackend/metadatamusicbackend.desktop 2016-03-01 14:41:20.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/browsingbackends/metadatamusicbackend/metadatamusicbackend.desktop 2016-03-29 16:19:04.000000000 +0200 @@ -3,6 +3,7 @@ Icon=tools-rip-audio-cd Name=Music Name[ar]=الموسيقى +Name[ast]=Música Name[ca]=Música Name[ca@valencia]=Música Name[cs]=Hudba @@ -40,6 +41,7 @@ Name[zh_TW]=音樂 Comment=Listen to the music on your device Comment[ar]=استمع إلى الموسيقى في جهازك +Comment[ast]=Escucha música nel to preséu Comment[bs]=Slušaj muziku na svom uređaju Comment[ca]=Escolta la música en el dispositiu Comment[ca@valencia]=Escolta la música en el dispositiu diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/browsingbackends/metadatapicturebackend/metadatapicturebackend.desktop new/plasma-mediacenter-5.6.1/browsingbackends/metadatapicturebackend/metadatapicturebackend.desktop --- old/plasma-mediacenter-5.5.5/browsingbackends/metadatapicturebackend/metadatapicturebackend.desktop 2016-03-01 14:41:20.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/browsingbackends/metadatapicturebackend/metadatapicturebackend.desktop 2016-03-29 16:19:04.000000000 +0200 @@ -3,6 +3,7 @@ Icon=image-x-generic Name=Pictures Name[ar]=الصّور +Name[ast]=Semeyes Name[ca]=Imatges Name[ca@valencia]=Imatges Name[cs]=Obrázky @@ -40,6 +41,7 @@ Name[zh_TW]=圖片 Comment=See the pictures on your device Comment[ar]=طالع الصّور في جهازك +Comment[ast]=Mira les semeyes nel to preséu Comment[bs]=Gledaj slike na svom uređaju Comment[ca]=Mostra les imatges en el dispositiu Comment[ca@valencia]=Mostra les imatges en el dispositiu diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/browsingbackends/metadatavideobackend/metadatavideobackend.desktop new/plasma-mediacenter-5.6.1/browsingbackends/metadatavideobackend/metadatavideobackend.desktop --- old/plasma-mediacenter-5.5.5/browsingbackends/metadatavideobackend/metadatavideobackend.desktop 2016-03-01 14:41:20.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/browsingbackends/metadatavideobackend/metadatavideobackend.desktop 2016-03-29 16:19:04.000000000 +0200 @@ -41,6 +41,7 @@ Name[zh_TW]=影片 Comment=Watch the videos on your device Comment[ar]=شاهد الفيديوهات في جهازك +Comment[ast]=Ve los videos nel to preséu Comment[bs]=Gledaj videozapise na svom uređaju Comment[ca]=Mostra els vídeos en el dispositiu Comment[ca@valencia]=Mostra els vídeos en el dispositiu diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/datasources/CMakeLists.txt new/plasma-mediacenter-5.6.1/datasources/CMakeLists.txt --- old/plasma-mediacenter-5.5.5/datasources/CMakeLists.txt 2016-03-01 14:41:20.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/datasources/CMakeLists.txt 2016-03-29 16:19:04.000000000 +0200 @@ -1,2 +1,3 @@ add_subdirectory(baloosearch) add_subdirectory(filesystemsearch) +add_subdirectory(lastfm) \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/datasources/baloosearch/baloosearch.desktop new/plasma-mediacenter-5.6.1/datasources/baloosearch/baloosearch.desktop --- old/plasma-mediacenter-5.5.5/datasources/baloosearch/baloosearch.desktop 2016-03-01 14:41:20.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/datasources/baloosearch/baloosearch.desktop 2016-03-29 16:19:04.000000000 +0200 @@ -3,6 +3,7 @@ Icon=baloo Name=Baloo Search Name[ar]=بحث بالو +Name[ast]=Gueta de Baloo Name[ca]=Cerca amb Baloo Name[ca@valencia]=Cerca amb Baloo Name[cs]=Baloo Search diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/datasources/lastfm/CMakeLists.txt new/plasma-mediacenter-5.6.1/datasources/lastfm/CMakeLists.txt --- old/plasma-mediacenter-5.5.5/datasources/lastfm/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/datasources/lastfm/CMakeLists.txt 2016-03-29 16:19:04.000000000 +0200 @@ -0,0 +1,14 @@ +set(lastfm_SRCS + lastfmimagefetcher.cpp +) + +add_library(pmc_lastfm MODULE ${lastfm_SRCS}) +set_target_properties(pmc_lastfm PROPERTIES PREFIX "") + +target_link_libraries(pmc_lastfm + plasmamediacenter +) + +kcoreaddons_desktop_to_json(pmc_lastfm lastfmimagefetcher.desktop) + +install(TARGETS pmc_lastfm DESTINATION ${PLUGIN_INSTALL_DIR}/plasma/mediacenter/datasources) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/datasources/lastfm/lastfmimagefetcher.cpp new/plasma-mediacenter-5.6.1/datasources/lastfm/lastfmimagefetcher.cpp --- old/plasma-mediacenter-5.5.5/datasources/lastfm/lastfmimagefetcher.cpp 1970-01-01 01:00:00.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/datasources/lastfm/lastfmimagefetcher.cpp 2016-03-29 16:19:04.000000000 +0200 @@ -0,0 +1,183 @@ +/*********************************************************************************** + * Copyright 2013 Shantanu Tushar <shant...@kde.org> * + * * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Lesser General Public * + * License as published by the Free Software Foundation; either * + * version 2.1 of the License, or (at your option) any later version. * + * * + * This library 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 * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library. If not, see <http://www.gnu.org/licenses/>. * + ***********************************************************************************/ + +#include "lastfmimagefetcher.h" +#include "mediacenter/pmcimagecache.h" +#include "mediacenter/singletonfactory.h" +#include "mediacenter/medialibrary.h" +#include "mediacenter/pmcmetadatamodel.h" + +#include <QNetworkRequest> +#include <QNetworkReply> +#include <QUrl> +#include <QDomDocument> +#include <QSharedPointer> + +#include <QTimer> +#include <QImage> +#include <QDebug> + +MEDIACENTER_EXPORT_DATASOURCE(LastFmImageFetcher, "lastfmimagefetcher.json") + +LastFmImageFetcher::LastFmImageFetcher(QObject* parent, const QVariantList& args) + : AbstractDataSource(parent, args) + , m_busy(false) + , m_artistInfoUrl("http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist=%1&api_key=22a6906e49bffd8cc11be1385aea73de") + , m_albumInfoUrl("http://ws.audioscrobbler.com/2.0/?method=album.getinfo&artist=%1&album=%2&api_key=22a6906e49bffd8cc11be1385aea73de") + +{ + connect(SingletonFactory::instanceFor<MediaLibrary>(), &MediaLibrary::newMedia, this, &LastFmImageFetcher::handleLastFmNewMedia); +} + +LastFmImageFetcher::~LastFmImageFetcher() +{ + +} + +void LastFmImageFetcher::fetchImage(const QString& type, const QVariant& identifier, const QString& artistName, const QString& albumName) +{ + if (albumList.contains(albumName) || artistList.contains(artistName)) { + return; + } + QStringList nameList; + nameList << type << artistName; + if (!albumName.isEmpty()) { + nameList << albumName; + albumList.append(albumName); + } + if (!artistList.isEmpty()) { + artistList.append(artistName); + } + m_pendingQueue.enqueue(nameList); + m_identifiers.insert(albumName.isEmpty() ? artistName : albumName, identifier); + QTimer::singleShot(0, this, SLOT(processQueue())); +} + +void LastFmImageFetcher::processQueue() +{ + if (m_pendingQueue.empty()) { + QTimer::singleShot(1000, this, SLOT(processQueue())); + return; + } + + const QStringList nameList = m_pendingQueue.dequeue(); + + QUrl apiUrl; + if (nameList.count() > 2) { + apiUrl = QUrl(m_albumInfoUrl.arg(nameList.at(1), nameList.at(2))); + } else { + apiUrl = QUrl(m_artistInfoUrl.arg(nameList.at(1))); + } + + // qDebug() << "Fetching " << apiUrl; + QNetworkReply *reply = m_netAccessManager->get(QNetworkRequest(apiUrl)); + m_currentInfoDownloads.insert(reply, + nameList.count() > 2 ? nameList.at(2) : nameList.at(1)); + + m_busy = true; +} + +void LastFmImageFetcher::gotResponse(QNetworkReply* reply) +{ + + if (reply->error() != QNetworkReply::NoError) { + qDebug() << reply->errorString(); + emit serviceUnavailable(); + return; + } + + QDomDocument doc; + doc.setContent(reply->readAll()); + + const QDomElement firstElement = doc.firstChildElement().firstChildElement(); + const QString type = firstElement.tagName(); + + const QString name = m_currentInfoDownloads.take(reply); + const QDomNodeList imageList = firstElement.childNodes(); + + for (int i=imageList.length(); i>0; i--) { + const QDomElement element = imageList.at(i).toElement(); + if (element.tagName() == "image" && + (element.attribute("size") == "extralarge" + || element.attribute("size") == "large")) { + downloadImage(type, name, element.text()); + return; + } + } + +// qDebug() << "Webservice has no image for " << name; + QTimer::singleShot(0, this, SLOT(processQueue())); + + reply->deleteLater(); +} + +void LastFmImageFetcher::downloadImage(const QString& type, const QString& name, const QString& url) +{ + if (url.isEmpty() || type == "error") { +// qDebug() << "Webservice has no image for " << name; + return; + } + // qDebug() << "Downloading image for " << name << " from " << url; + QNetworkReply *reply = m_imageDownloadManager->get(QNetworkRequest(url)); + m_currentImageDownloads.insert(reply, QPair<QString,QString>(type, name)); +} + +void LastFmImageFetcher::gotImage(QNetworkReply* reply) +{ + const QPair<QString,QString> thisDownload = m_currentImageDownloads.take(reply); + const QString type = thisDownload.first; + const QString namePrefix = type + ':'; + const QString name = thisDownload.second; + const QByteArray data = reply->readAll(); + + QImage image = QImage::fromData(data); + // qDebug() << "Adding image " << image.size() << " for " << name; + SingletonFactory::instanceFor<PmcImageCache>()->addImage(QString(name).prepend(namePrefix), image); + + m_busy = false; + QTimer::singleShot(0, this, SLOT(processQueue())); + emit SingletonFactory::instanceFor<MediaLibrary>()->imageFetched(m_identifiers.take(name), name); +} + +void LastFmImageFetcher::handleLastFmNewMedia(const QList< QSharedPointer<PmcMedia> > newMediaList) +{ + foreach(QSharedPointer<PmcMedia> media, newMediaList) { + QString album = media->album(); + QString artist = media->artist(); + if (!album.isEmpty() && !artist.isEmpty()) { + fetchImage("album", album, artist, album); + fetchImage("artist", artist, artist); + } + } +} + +void LastFmImageFetcher::run() +{ + QTimer::singleShot(0, this, &LastFmImageFetcher::setupImageFetcher); + exec(); +} + +void LastFmImageFetcher::setupImageFetcher() +{ + m_netAccessManager = new QNetworkAccessManager; + m_imageDownloadManager = new QNetworkAccessManager; + connect(m_netAccessManager, SIGNAL(finished(QNetworkReply*)), SLOT(gotResponse(QNetworkReply*))); + connect(m_imageDownloadManager, SIGNAL(finished(QNetworkReply*)), SLOT(gotImage(QNetworkReply*))); +} + +#include "lastfmimagefetcher.moc" \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/datasources/lastfm/lastfmimagefetcher.desktop new/plasma-mediacenter-5.6.1/datasources/lastfm/lastfmimagefetcher.desktop --- old/plasma-mediacenter-5.5.5/datasources/lastfm/lastfmimagefetcher.desktop 1970-01-01 01:00:00.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/datasources/lastfm/lastfmimagefetcher.desktop 2016-03-29 16:19:04.000000000 +0200 @@ -0,0 +1,39 @@ +[Desktop Entry] +Type=Service +Name=LastFmImageFetcher +Name[ca]=LastFmImageFetcher +Name[ca@valencia]=LastFmImageFetcher +Name[da]=LastFmImageFetcher +Name[de]=LastFmImageFetcher +Name[el]=LastFmImageFetcher +Name[en_GB]=LastFmImageFetcher +Name[es]=Extractor de imágenes de LastFM +Name[fi]=LastFmImageFetcher +Name[gl]=LastFmImageFetcher +Name[it]=RecuperoImmaginiLastFm +Name[ko]=LastFmImageFetcher +Name[nl]=LastFmImageFetcher +Name[nn]=LastFmImageFetcher +Name[pl]=LastFmImageFetcher +Name[pt]=LastFmImageFetcher +Name[pt_BR]=LastFmImageFetcher +Name[sk]=LastFmImageFetcher +Name[sl]=LastFmImageFetcher +Name[sr]=Добављач слика са ЛастФМ‑а +Name[sr@ijekavian]=Добављач слика са ЛастФМ‑а +Name[sr@ijekavianlatin]=Dobavljač slika sa last.fm‑a +Name[sr@latin]=Dobavljač slika sa last.fm‑a +Name[sv]=Senaste FM-bildhämtare +Name[uk]=Засіб отримання зображень з LastFm +Name[x-test]=xxLastFmImageFetcherxx +Name[zh_CN]=获取 LastFm 图片 + +X-KDE-ServiceTypes=Plasma/MediaCenter/DataSource + +X-KDE-PluginInfo-Name=lastfm +X-KDE-PluginInfo-Author=Shantanu Tushar +X-KDE-PluginInfo-Email=shant...@kde.org +X-KDE-PluginInfo-Version=1.0 +X-KDE-PluginInfo-License=GPL +X-KDE-PluginInfo-EnabledByDefault=true +X-KDE-Library=pmc_lastfm diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/datasources/lastfm/lastfmimagefetcher.h new/plasma-mediacenter-5.6.1/datasources/lastfm/lastfmimagefetcher.h --- old/plasma-mediacenter-5.5.5/datasources/lastfm/lastfmimagefetcher.h 1970-01-01 01:00:00.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/datasources/lastfm/lastfmimagefetcher.h 2016-03-29 16:19:04.000000000 +0200 @@ -0,0 +1,68 @@ +/*********************************************************************************** + * Copyright 2013 Shantanu Tushar <shant...@kde.org> * + * * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Lesser General Public * + * License as published by the Free Software Foundation; either * + * version 2.1 of the License, or (at your option) any later version. * + * * + * This library 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 * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library. If not, see <http://www.gnu.org/licenses/>. * + ***********************************************************************************/ + +#ifndef LASTFMIMAGEFETCHER_H +#define LASTFMIMAGEFETCHER_H + +#include <QObject> +#include <QQueue> +#include <QHash> +#include <QNetworkAccessManager> +#include <QVariant> +#include <QSharedPointer> + +#include "mediacenter/abstractdatasource.h" +#include "mediacenter/pmcmedia.h" +#include "mediacenter_export.h" + +class LastFmImageFetcher : public MediaCenter::AbstractDataSource +{ + Q_OBJECT +public: + explicit LastFmImageFetcher(QObject* parent = 0, const QVariantList& args = QVariantList()); + ~LastFmImageFetcher(); + void fetchImage(const QString& type, const QVariant& identifier, const QString& artistName, const QString& albumName = QString()); + Q_SIGNALS: + void serviceUnavailable(); + +protected: + virtual void run(); + +private Q_SLOTS: + void processQueue(); + void gotResponse(QNetworkReply* reply); + void gotImage(QNetworkReply* reply); + void handleLastFmNewMedia(QList< QSharedPointer<PmcMedia> > newMediaList ); + void setupImageFetcher(); + +private: + void downloadImage(const QString& type, const QString& name, const QString& url); + + bool m_busy; + QString m_artistInfoUrl; + QString m_albumInfoUrl; + QQueue< QList<QString> > m_pendingQueue; + QNetworkAccessManager *m_netAccessManager; + QNetworkAccessManager *m_imageDownloadManager; + QHash<QNetworkReply*, QString> m_currentInfoDownloads; + QHash<QNetworkReply*, QPair<QString,QString> > m_currentImageDownloads; + QHash<QString, QVariant> m_identifiers; + QStringList albumList, artistList; +}; + +#endif // LASTFMIMAGEFETCHER_H_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/libs/mediacenter/CMakeLists.txt new/plasma-mediacenter-5.6.1/libs/mediacenter/CMakeLists.txt --- old/plasma-mediacenter-5.5.5/libs/mediacenter/CMakeLists.txt 2016-03-01 14:41:20.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/libs/mediacenter/CMakeLists.txt 2016-03-29 16:19:04.000000000 +0200 @@ -11,7 +11,6 @@ artist.cpp album.cpp media.cpp - lastfmimagefetcher.cpp pmcmodel.cpp objectpair.cpp mediacenter.cpp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/libs/mediacenter/lastfmimagefetcher.cpp new/plasma-mediacenter-5.6.1/libs/mediacenter/lastfmimagefetcher.cpp --- old/plasma-mediacenter-5.5.5/libs/mediacenter/lastfmimagefetcher.cpp 2016-03-01 14:41:20.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/libs/mediacenter/lastfmimagefetcher.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,152 +0,0 @@ -/*********************************************************************************** - * Copyright 2013 Shantanu Tushar <shant...@kde.org> * - * * - * * - * This library is free software; you can redistribute it and/or * - * modify it under the terms of the GNU Lesser General Public * - * License as published by the Free Software Foundation; either * - * version 2.1 of the License, or (at your option) any later version. * - * * - * This library 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 * - * Lesser General Public License for more details. * - * * - * You should have received a copy of the GNU Lesser General Public * - * License along with this library. If not, see <http://www.gnu.org/licenses/>. * - ***********************************************************************************/ - -#include "lastfmimagefetcher.h" -#include "pmcimagecache.h" -#include "singletonfactory.h" - -#include <QNetworkRequest> -#include <QNetworkReply> -#include <QUrl> -#include <QDomDocument> - -#include <QTimer> -#include <QImage> -#include <QDebug> - -LastFmImageFetcher::LastFmImageFetcher(QObject* parent) - : QObject(parent) - , m_busy(false) - , m_artistInfoUrl("http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist=%1&api_key=22a6906e49bffd8cc11be1385aea73de") - , m_albumInfoUrl("http://ws.audioscrobbler.com/2.0/?method=album.getinfo&artist=%1&album=%2&api_key=22a6906e49bffd8cc11be1385aea73de") - -{ - connect(&m_netAccessManager, SIGNAL(finished(QNetworkReply*)), SLOT(gotResponse(QNetworkReply*))); - connect(&m_imageDownloadManager, SIGNAL(finished(QNetworkReply*)), SLOT(gotImage(QNetworkReply*))); -} - -LastFmImageFetcher::~LastFmImageFetcher() -{ - -} - -void LastFmImageFetcher::fetchImage(const QString& type, const QVariant& identifier, const QString& artistName, const QString& albumName) -{ - if (albumList.contains(albumName) || artistList.contains(artistName)) { - return; - } - QStringList nameList; - nameList << type << artistName; - if (!albumName.isEmpty()) { - nameList << albumName; - albumList.append(albumName); - } - if (!artistList.isEmpty()) { - artistList.append(artistName); - } - m_pendingQueue.enqueue(nameList); - m_identifiers.insert(albumName.isEmpty() ? artistName : albumName, identifier); - QTimer::singleShot(0, this, SLOT(processQueue())); -} - -void LastFmImageFetcher::processQueue() -{ - if (m_pendingQueue.empty()) { - QTimer::singleShot(1000, this, SLOT(processQueue())); - return; - } - - const QStringList nameList = m_pendingQueue.dequeue(); - - QUrl apiUrl; - if (nameList.count() > 2) { - apiUrl = QUrl(m_albumInfoUrl.arg(nameList.at(1), nameList.at(2))); - } else { - apiUrl = QUrl(m_artistInfoUrl.arg(nameList.at(1))); - } - - // qDebug() << "Fetching " << apiUrl; - QNetworkReply *reply = m_netAccessManager.get(QNetworkRequest(apiUrl)); - m_currentInfoDownloads.insert(reply, - nameList.count() > 2 ? nameList.at(2) : nameList.at(1)); - - m_busy = true; -} - -void LastFmImageFetcher::gotResponse(QNetworkReply* reply) -{ - - if (reply->error() != QNetworkReply::NoError) { - qDebug() << reply->errorString(); - emit serviceUnavailable(); - return; - } - - QDomDocument doc; - doc.setContent(reply->readAll()); - - const QDomElement firstElement = doc.firstChildElement().firstChildElement(); - const QString type = firstElement.tagName(); - - const QString name = m_currentInfoDownloads.take(reply); - const QDomNodeList imageList = firstElement.childNodes(); - - for (int i=imageList.length(); i>0; i--) { - const QDomElement element = imageList.at(i).toElement(); - if (element.tagName() == "image" && - (element.attribute("size") == "extralarge" - || element.attribute("size") == "large")) { - downloadImage(type, name, element.text()); - return; - } - } - -// qDebug() << "Webservice has no image for " << name; - QTimer::singleShot(0, this, SLOT(processQueue())); - - reply->deleteLater(); -} - -void LastFmImageFetcher::downloadImage(const QString& type, const QString& name, const QString& url) -{ - if (url.isEmpty() || type == "error") { -// qDebug() << "Webservice has no image for " << name; - return; - } - // qDebug() << "Downloading image for " << name << " from " << url; - QNetworkReply *reply = m_imageDownloadManager.get(QNetworkRequest(url)); - m_currentImageDownloads.insert(reply, QPair<QString,QString>(type, name)); -} - -void LastFmImageFetcher::gotImage(QNetworkReply* reply) -{ - const QPair<QString,QString> thisDownload = m_currentImageDownloads.take(reply); - const QString type = thisDownload.first; - const QString namePrefix = type + ':'; - const QString name = thisDownload.second; - const QByteArray data = reply->readAll(); - - QImage image = QImage::fromData(data); - // qDebug() << "Adding image " << image.size() << " for " << name; - SingletonFactory::instanceFor<PmcImageCache>()->addImage(QString(name).prepend(namePrefix), image); - - m_busy = false; - QTimer::singleShot(0, this, SLOT(processQueue())); - - emit imageFetched(m_identifiers.take(name), name); -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/libs/mediacenter/lastfmimagefetcher.h new/plasma-mediacenter-5.6.1/libs/mediacenter/lastfmimagefetcher.h --- old/plasma-mediacenter-5.5.5/libs/mediacenter/lastfmimagefetcher.h 2016-03-01 14:41:20.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/libs/mediacenter/lastfmimagefetcher.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,63 +0,0 @@ -/*********************************************************************************** - * Copyright 2013 Shantanu Tushar <shant...@kde.org> * - * * - * * - * This library is free software; you can redistribute it and/or * - * modify it under the terms of the GNU Lesser General Public * - * License as published by the Free Software Foundation; either * - * version 2.1 of the License, or (at your option) any later version. * - * * - * This library 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 * - * Lesser General Public License for more details. * - * * - * You should have received a copy of the GNU Lesser General Public * - * License along with this library. If not, see <http://www.gnu.org/licenses/>. * - ***********************************************************************************/ - -#ifndef LASTFMIMAGEFETCHER_H -#define LASTFMIMAGEFETCHER_H - -#include <QObject> -#include <QQueue> -#include <QHash> -#include <QNetworkAccessManager> -#include <QVariant> - -#include "mediacenter_export.h" - -class LastFmImageFetcher : public QObject -{ - Q_OBJECT -public: - explicit LastFmImageFetcher(QObject* parent = 0); - ~LastFmImageFetcher(); - - void fetchImage(const QString& type, const QVariant& identifier, const QString& artistName, const QString& albumName = QString()); - -Q_SIGNALS: - void imageFetched(const QVariant &identifier, const QString &artistName); - void serviceUnavailable(); - -private Q_SLOTS: - void processQueue(); - void gotResponse(QNetworkReply* reply); - void gotImage(QNetworkReply* reply); - -private: - void downloadImage(const QString& type, const QString& name, const QString& url); - - bool m_busy; - QString m_artistInfoUrl; - QString m_albumInfoUrl; - QQueue< QList<QString> > m_pendingQueue; - QNetworkAccessManager m_netAccessManager; - QNetworkAccessManager m_imageDownloadManager; - QHash<QNetworkReply*, QString> m_currentInfoDownloads; - QHash<QNetworkReply*, QPair<QString,QString> > m_currentImageDownloads; - QHash<QString, QVariant> m_identifiers; - QStringList albumList, artistList; -}; - -#endif // LASTFMIMAGEFETCHER_H_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/libs/mediacenter/medialibrary.h new/plasma-mediacenter-5.6.1/libs/mediacenter/medialibrary.h --- old/plasma-mediacenter-5.5.5/libs/mediacenter/medialibrary.h 2016-03-01 14:41:20.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/libs/mediacenter/medialibrary.h 2016-03-29 16:19:04.000000000 +0200 @@ -25,6 +25,7 @@ #include <QThread> #include <QSharedPointer> #include <QMutex> +#include <QVariant> class Artist; class Album; @@ -55,7 +56,7 @@ Q_SIGNALS: void initialized(); - + void imageFetched(const QVariant &identifier, const QString &artistName); void newMedia(const QList< QSharedPointer<PmcMedia> > &media); void newAlbums(const QList< QSharedPointer<PmcAlbum> > &album); void newArtists(const QList< QSharedPointer<PmcArtist> > &artist); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/libs/mediacenter/pmcmetadatamodel.cpp new/plasma-mediacenter-5.6.1/libs/mediacenter/pmcmetadatamodel.cpp --- old/plasma-mediacenter-5.5.5/libs/mediacenter/pmcmetadatamodel.cpp 2016-03-01 14:41:20.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/libs/mediacenter/pmcmetadatamodel.cpp 2016-03-29 16:19:04.000000000 +0200 @@ -19,7 +19,6 @@ #include "pmcmetadatamodel.h" #include "pmcimagecache.h" -#include "lastfmimagefetcher.h" #include "media.h" #include "medialibrary.h" #include "pmcmedia.h" @@ -83,11 +82,8 @@ connect(&d->updateTimer, &QTimer::timeout, this, &PmcMetadataModel::updateModel); d->metadataFetchTimer.setSingleShot(true); connect(&d->metadataFetchTimer, &QTimer::timeout, this, &PmcMetadataModel::fetchMetadata); - + connect(SingletonFactory::instanceFor<MediaLibrary>(), &MediaLibrary::imageFetched, this, &PmcMetadataModel::signalUpdate); d->thumbnailSize = QSize(512, 512); - - connect(SingletonFactory::instanceFor<LastFmImageFetcher>(), &LastFmImageFetcher::imageFetched, - this, &PmcMetadataModel::signalUpdate); } PmcMetadataModel::~PmcMetadataModel() @@ -345,8 +341,6 @@ if (imageCache->containsAlbumCover(albumName)) { return PmcCoverArtProvider::qmlImageUriForAlbumCover(albumName); - } else { - SingletonFactory::instanceFor<LastFmImageFetcher>()->fetchImage("album", resourceId, albumArtist, albumName); } return d->defaultDecoration; @@ -358,8 +352,6 @@ if (imageCache->containsArtistCover(artistName)) { return PmcCoverArtProvider::qmlImageUriForArtistCover(artistName); - } else { - SingletonFactory::instanceFor<LastFmImageFetcher>()->fetchImage("artist", resourceId, artistName); } return d->defaultDecoration; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/onlineservices/flickr/flickrbackend.desktop new/plasma-mediacenter-5.6.1/onlineservices/flickr/flickrbackend.desktop --- old/plasma-mediacenter-5.5.5/onlineservices/flickr/flickrbackend.desktop 2016-03-01 14:41:21.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/onlineservices/flickr/flickrbackend.desktop 2016-03-29 16:19:04.000000000 +0200 @@ -3,6 +3,7 @@ Icon=image-x-generic Name=Flickr Name[ar]=فلِكر +Name[ast]=Flickr Name[bs]=Flikr Name[ca]=Flickr Name[ca@valencia]=Flickr diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/onlineservices/picasa/picasabackend.desktop new/plasma-mediacenter-5.6.1/onlineservices/picasa/picasabackend.desktop --- old/plasma-mediacenter-5.5.5/onlineservices/picasa/picasabackend.desktop 2016-03-01 14:41:21.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/onlineservices/picasa/picasabackend.desktop 2016-03-29 16:19:04.000000000 +0200 @@ -3,6 +3,7 @@ Icon=image-x-generic Name=Picasa Name[ar]=بيكاسا +Name[ast]=Picasa Name[bs]=Picasa Name[ca]=Picasa Name[ca@valencia]=Picasa diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/onlineservices/youtube/youtubebackend.desktop new/plasma-mediacenter-5.6.1/onlineservices/youtube/youtubebackend.desktop --- old/plasma-mediacenter-5.5.5/onlineservices/youtube/youtubebackend.desktop 2016-03-01 14:41:21.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/onlineservices/youtube/youtubebackend.desktop 2016-03-29 16:19:04.000000000 +0200 @@ -78,7 +78,7 @@ Comment[tr]=YouTube'dan video izleyin Comment[uk]=Перегляд відео з Youtube Comment[x-test]=xxWatch videos from Youtubexx -Comment[zh_CN]=在 YouTube 上观看视频 +Comment[zh_CN]=在 Youtube 上观看视频 Comment[zh_TW]=觀看 Youtube 的影片 X-KDE-ServiceTypes=Plasma/MediaCenter/BrowsingBackend diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/plasma-mediacenter.desktop.cmake new/plasma-mediacenter-5.6.1/plasma-mediacenter.desktop.cmake --- old/plasma-mediacenter-5.5.5/plasma-mediacenter.desktop.cmake 2016-03-01 14:41:21.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/plasma-mediacenter.desktop.cmake 2016-03-29 16:19:04.000000000 +0200 @@ -58,7 +58,7 @@ Comment[en_GB]=Plasma Media Centre by KDE Comment[es]=Centro multimedia de Plasma, por KDE Comment[et]=KDE Plasma meediakeskus -Comment[fi]=KDE:n tekemä Plasma-mediakeskus +Comment[fi]=Plasma-mediakeskus KDE:ltä Comment[fr]=Centre multimédia de Plasma par KDE Comment[gl]=Centro Multimedia para Plasma (PMC) de KDE Comment[hu]=Plasma médiaközpont a KDE-től Files old/plasma-mediacenter-5.5.5/po/ar/messages.mo and new/plasma-mediacenter-5.6.1/po/ar/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/ast/messages.mo and new/plasma-mediacenter-5.6.1/po/ast/messages.mo differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/po/ast/plasma_shell_org.kde.plasma.mediacenter.po new/plasma-mediacenter-5.6.1/po/ast/plasma_shell_org.kde.plasma.mediacenter.po --- old/plasma-mediacenter-5.5.5/po/ast/plasma_shell_org.kde.plasma.mediacenter.po 2016-03-01 14:41:23.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/po/ast/plasma_shell_org.kde.plasma.mediacenter.po 2016-03-29 16:19:06.000000000 +0200 @@ -7,9 +7,9 @@ "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" "POT-Creation-Date: 2015-03-06 08:50+0000\n" -"PO-Revision-Date: 2015-11-16 02:43+0100\n" +"PO-Revision-Date: 2015-12-06 03:21+0100\n" "Last-Translator: enolp <en...@softastur.org>\n" -"Language-Team: Asturian <kde-i18n-...@kde.org>\n" +"Language-Team: Asturian <>\n" "Language: ast\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -177,7 +177,6 @@ msgstr "Maximizar panel" #: contents/configuration/panelconfiguration/ToolBar.qml:232 -#, fuzzy msgid "Lock Widgets" msgstr "Bloquiar widgets" Files old/plasma-mediacenter-5.5.5/po/bs/messages.mo and new/plasma-mediacenter-5.6.1/po/bs/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/ca/messages.mo and new/plasma-mediacenter-5.6.1/po/ca/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/ca@valencia/messages.mo and new/plasma-mediacenter-5.6.1/po/ca@valencia/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/cs/messages.mo and new/plasma-mediacenter-5.6.1/po/cs/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/da/messages.mo and new/plasma-mediacenter-5.6.1/po/da/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/de/messages.mo and new/plasma-mediacenter-5.6.1/po/de/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/el/messages.mo and new/plasma-mediacenter-5.6.1/po/el/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/en_GB/messages.mo and new/plasma-mediacenter-5.6.1/po/en_GB/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/es/messages.mo and new/plasma-mediacenter-5.6.1/po/es/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/et/messages.mo and new/plasma-mediacenter-5.6.1/po/et/messages.mo differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/po/et/plasma-mediacenter.po new/plasma-mediacenter-5.6.1/po/et/plasma-mediacenter.po --- old/plasma-mediacenter-5.5.5/po/et/plasma-mediacenter.po 2016-03-01 14:41:32.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/po/et/plasma-mediacenter.po 2016-03-29 16:19:13.000000000 +0200 @@ -9,7 +9,7 @@ "POT-Creation-Date: 2015-04-22 08:33+0000\n" "PO-Revision-Date: 2016-01-11 10:41+0200\n" "Last-Translator: Marek Laane <qiila...@gmail.com>\n" -"Language-Team: Estonian <kde-i18n-...@kde.org>\n" +"Language-Team: Estonian <kde...@linux.ee>\n" "Language: et\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" Files old/plasma-mediacenter-5.5.5/po/eu/messages.mo and new/plasma-mediacenter-5.6.1/po/eu/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/fi/messages.mo and new/plasma-mediacenter-5.6.1/po/fi/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/fr/messages.mo and new/plasma-mediacenter-5.6.1/po/fr/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/ga/messages.mo and new/plasma-mediacenter-5.6.1/po/ga/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/gl/messages.mo and new/plasma-mediacenter-5.6.1/po/gl/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/hu/messages.mo and new/plasma-mediacenter-5.6.1/po/hu/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/id/messages.mo and new/plasma-mediacenter-5.6.1/po/id/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/it/messages.mo and new/plasma-mediacenter-5.6.1/po/it/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/ja/messages.mo and new/plasma-mediacenter-5.6.1/po/ja/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/km/messages.mo and new/plasma-mediacenter-5.6.1/po/km/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/ko/messages.mo and new/plasma-mediacenter-5.6.1/po/ko/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/lt/messages.mo and new/plasma-mediacenter-5.6.1/po/lt/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/lv/messages.mo and new/plasma-mediacenter-5.6.1/po/lv/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/mr/messages.mo and new/plasma-mediacenter-5.6.1/po/mr/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/nb/messages.mo and new/plasma-mediacenter-5.6.1/po/nb/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/nds/messages.mo and new/plasma-mediacenter-5.6.1/po/nds/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/nl/messages.mo and new/plasma-mediacenter-5.6.1/po/nl/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/nn/messages.mo and new/plasma-mediacenter-5.6.1/po/nn/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/pl/messages.mo and new/plasma-mediacenter-5.6.1/po/pl/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/pt/messages.mo and new/plasma-mediacenter-5.6.1/po/pt/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/pt_BR/messages.mo and new/plasma-mediacenter-5.6.1/po/pt_BR/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/ro/messages.mo and new/plasma-mediacenter-5.6.1/po/ro/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/ru/messages.mo and new/plasma-mediacenter-5.6.1/po/ru/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/sk/messages.mo and new/plasma-mediacenter-5.6.1/po/sk/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/sl/messages.mo and new/plasma-mediacenter-5.6.1/po/sl/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/sr/messages.mo and new/plasma-mediacenter-5.6.1/po/sr/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/sr@ijekavian/messages.mo and new/plasma-mediacenter-5.6.1/po/sr@ijekavian/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/sr@ijekavianlatin/messages.mo and new/plasma-mediacenter-5.6.1/po/sr@ijekavianlatin/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/sr@latin/messages.mo and new/plasma-mediacenter-5.6.1/po/sr@latin/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/sv/messages.mo and new/plasma-mediacenter-5.6.1/po/sv/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/tr/messages.mo and new/plasma-mediacenter-5.6.1/po/tr/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/ug/messages.mo and new/plasma-mediacenter-5.6.1/po/ug/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/uk/messages.mo and new/plasma-mediacenter-5.6.1/po/uk/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/zh_CN/messages.mo and new/plasma-mediacenter-5.6.1/po/zh_CN/messages.mo differ Files old/plasma-mediacenter-5.5.5/po/zh_TW/messages.mo and new/plasma-mediacenter-5.6.1/po/zh_TW/messages.mo differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-mediacenter-5.5.5/tests/fakemediasource/fakemediasource.desktop new/plasma-mediacenter-5.6.1/tests/fakemediasource/fakemediasource.desktop --- old/plasma-mediacenter-5.5.5/tests/fakemediasource/fakemediasource.desktop 2016-03-01 14:41:21.000000000 +0100 +++ new/plasma-mediacenter-5.6.1/tests/fakemediasource/fakemediasource.desktop 2016-03-29 16:19:04.000000000 +0200 @@ -29,8 +29,7 @@ Name[tr]=Sahte Medya Kaynağı Name[uk]=Несправжнє медіаджерело Name[x-test]=xxFake Mediasourcexx -Name[zh_CN]=虚假媒体源 -Name[zh_TW]=假的媒體來源 +Name[zh_CN]=虚拟媒体源 X-KDE-ServiceTypes=Plasma/MediaCenter/MediaSource