summaryrefslogtreecommitdiffstats
path: root/src/newstuff/providerloader.h
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-03-01 19:17:32 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-03-01 19:17:32 +0000
commite38d2351b83fa65c66ccde443777647ef5cb6cff (patch)
tree1897fc20e9f73a81c520a5b9f76f8ed042124883 /src/newstuff/providerloader.h
downloadtellico-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.h84
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
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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