Plasma
favicons.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "favicons.h"
00021
00022 #include "faviconprovider.h"
00023
00024 FaviconsEngine::FaviconsEngine(QObject* parent, const QVariantList& args)
00025 : Plasma::DataEngine(parent, args)
00026 {
00027 }
00028
00029 FaviconsEngine::~FaviconsEngine()
00030 {
00031 }
00032
00033 bool FaviconsEngine::updateSourceEvent( const QString &identifier )
00034 {
00035 FaviconProvider *provider = new FaviconProvider(this, identifier);
00036
00037 connect(provider, SIGNAL(finished(FaviconProvider*)), this, SLOT(finished(FaviconProvider*)));
00038 connect(provider, SIGNAL(error(FaviconProvider*)), this, SLOT(error(FaviconProvider*)));
00039
00040 if (provider->image() != QImage()) {
00041 setData(provider->identifier(), "Icon", provider->image());
00042 }
00043
00044 return true;
00045 }
00046
00047 bool FaviconsEngine::sourceRequestEvent(const QString &identifier)
00048 {
00049 setData(identifier, QPixmap());
00050 return updateSourceEvent(identifier);
00051 }
00052
00053 void FaviconsEngine::finished(FaviconProvider *provider)
00054 {
00055 setData(provider->identifier(), "Icon", provider->image());
00056 provider->deleteLater();
00057 }
00058
00059 void FaviconsEngine::error(FaviconProvider *provider)
00060 {
00061 setData(provider->identifier(), QImage());
00062 provider->deleteLater();
00063 }
00064
00065 #include "favicons.moc"