You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tellico/src/newstuff/providerloader.h

86 lines
2.5 KiB

/***************************************************************************
copyright : (C) 2006 by Robby Stephenson
email : robby@periapsis.org
***************************************************************************/
/***************************************************************************
* *
* 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 tdelibs/knewstuff/provider.h
// which is Copyright (c) 2002 Cornelius Schumacher <schumacher@kde.org>
// 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 <tqobject.h>
#include <tqptrlist.h>
namespace KIO {
class Job;
}
namespace KNS {
class Provider;
}
namespace Tellico {
namespace NewStuff {
class ProviderLoader : public TQObject {
Q_OBJECT
TQ_OBJECT
public:
/**
* Constructor.
*
* @param parentWidget the parent widget
*/
ProviderLoader( TQWidget *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 TQString &type, const TQString &providerList = TQString() );
void setAlternativeProvider(const TQString& alt) { mAltProvider = alt; }
signals:
/**
* Indicates that the list of providers has been successfully loaded.
*/
void providersLoaded( TQPtrList<KNS::Provider>* );
void percent(KIO::Job *job, unsigned long percent);
void error();
protected slots:
void slotJobData( KIO::Job *, const TQByteArray & );
void slotJobResult( KIO::Job * );
private:
TQWidget *mParentWidget;
TQString mJobData;
TQPtrList<KNS::Provider> mProviders;
TQString mAltProvider;
bool mTryAlt;
};
}
}
#endif