kget
bttransferfactory.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include "bttransferfactory.h"
00012
00013
00014 #include "bttransfer.h"
00015 #include "bttransferhandler.h"
00016 #include "btdetailswidget.h"
00017 #include "advanceddetails/btadvanceddetailswidget.h"
00018
00019 #include <kdebug.h>
00020
00021 KGET_EXPORT_PLUGIN(BTTransferFactory)
00022
00023 BTTransferFactory::BTTransferFactory()
00024 {
00025 }
00026
00027 BTTransferFactory::~BTTransferFactory()
00028 {
00029 }
00030
00031 Transfer * BTTransferFactory::createTransfer(const KUrl &srcUrl, const KUrl &destUrl,
00032 TransferGroup * parent,
00033 Scheduler * scheduler,
00034 const QDomElement * e )
00035 {
00036 kDebug(5001) << "BTTransferFactory::createTransfer";
00037
00038 if (srcUrl.fileName().endsWith(".torrent"))
00039 {
00040 return new BTTransfer(parent, this, scheduler, srcUrl, destUrl, e);
00041 }
00042 return 0;
00043 }
00044
00045 TransferHandler * BTTransferFactory::createTransferHandler(Transfer * transfer, Scheduler * scheduler)
00046 {
00047 BTTransfer * bttransfer = dynamic_cast<BTTransfer *>(transfer);
00048
00049 if (!bttransfer)
00050 {
00051 kError(5001) << "BTTransferFactory::createTransferHandler: WARNING!\n"
00052 "passing a non-BTTransfer pointer!!" << endl;
00053 return 0;
00054 }
00055
00056 return new BTTransferHandler(bttransfer, scheduler);
00057 }
00058
00059 QWidget * BTTransferFactory::createDetailsWidget( TransferHandler * transfer )
00060 {
00061 BTTransferHandler * bttransfer = static_cast<BTTransferHandler *>(transfer);
00062
00063 if (bttransfer->ready())
00064 {
00065 BTAdvancedDetailsWidget * details = new BTAdvancedDetailsWidget(bttransfer);
00066 details->show();
00067 details->resize(500, 400);
00068 }
00069
00070 return new BTDetailsWidget(bttransfer);
00071 }
00072
00073 const QList<KAction *> BTTransferFactory::actions()
00074 {
00078 return QList<KAction *>();
00079 }
00080