diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-03-01 19:17:32 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-03-01 19:17:32 +0000 |
commit | e38d2351b83fa65c66ccde443777647ef5cb6cff (patch) | |
tree | 1897fc20e9f73a81c520a5b9f76f8ed042124883 /src/newstuff/providerloader.h | |
download | tellico-e38d2351b83fa65c66ccde443777647ef5cb6cff.tar.gz tellico-e38d2351b83fa65c66ccde443777647ef5cb6cff.zip |
Added KDE3 version of Tellico
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/tellico@1097620 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'src/newstuff/providerloader.h')
-rw-r--r-- | src/newstuff/providerloader.h | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/src/newstuff/providerloader.h b/src/newstuff/providerloader.h new file mode 100644 index 0000000..3d2968c --- /dev/null +++ b/src/newstuff/providerloader.h @@ -0,0 +1,84 @@ +/*************************************************************************** + copyright : (C) 2006 by Robby Stephenson + email : [email protected] + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License as * + * published by the Free Software Foundation; * + * * + ***************************************************************************/ + +// this class is largely copied from kdelibs/knewstuff/provider.h +// which is Copyright (c) 2002 Cornelius Schumacher <[email protected]> +// and licensed under GPL v2, just like Tellico +// +// I want progress info for the download, and this was the +// easiest way to get it + +#ifndef TELLICO_NEWSTUFF_PROVIDERLOADER_H +#define TELLICO_NEWSTUFF_PROVIDERLOADER_H + +#include <qobject.h> +#include <qptrlist.h> + +namespace KIO { + class Job; +} +namespace KNS { + class Provider; +} + +namespace Tellico { + namespace NewStuff { + +class ProviderLoader : public QObject { +Q_OBJECT +public: + /** + * Constructor. + * + * @param parentWidget the parent widget + */ + ProviderLoader( QWidget *parentWidget ); + + /** + * Starts asynchronously loading the list of providers of the + * specified type. + * + * @param type data type such as 'kdesktop/wallpaper'. + * @param providerList the URl to the list of providers; if empty + * we first try the ProvidersUrl from KGlobal::config, then we + * fall back to a hardcoded value. + */ + void load( const QString &type, const QString &providerList = QString::null ); + + void setAlternativeProvider(const QString& alt) { mAltProvider = alt; } + + signals: + /** + * Indicates that the list of providers has been successfully loaded. + */ + void providersLoaded( QPtrList<KNS::Provider>* ); + void percent(KIO::Job *job, unsigned long percent); + void error(); + + protected slots: + void slotJobData( KIO::Job *, const QByteArray & ); + void slotJobResult( KIO::Job * ); + + private: + QWidget *mParentWidget; + + QString mJobData; + + QPtrList<KNS::Provider> mProviders; + QString mAltProvider; + bool mTryAlt; +}; + + } +} +#endif |