X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fclienttransfermanager.cpp;h=ec5c49fa8df3df502571ffd4a3b8825166b385f6;hp=b67c6902fcca8ddf26855ae0769c0343006399ba;hb=921e54680da16fcf2adb7a90506875aceb6633a4;hpb=100a2678adf2016b7b4753d09d868929de83294e diff --git a/src/client/clienttransfermanager.cpp b/src/client/clienttransfermanager.cpp index b67c6902..ec5c49fa 100644 --- a/src/client/clienttransfermanager.cpp +++ b/src/client/clienttransfermanager.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2013 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -21,14 +21,20 @@ #include "clienttransfermanager.h" #include "client.h" -#include "transfer.h" +#include "clienttransfer.h" INIT_SYNCABLE_OBJECT(ClientTransferManager) ClientTransferManager::ClientTransferManager(QObject *parent) : TransferManager(parent) { + connect(this, SIGNAL(transferAdded(const Transfer*)), SLOT(onTransferAdded(const Transfer*))); +} + +const ClientTransfer *ClientTransferManager::transfer(const QUuid &uuid) const +{ + return qobject_cast(transfer_(uuid)); } @@ -39,7 +45,7 @@ void ClientTransferManager::onCoreTransferAdded(const QUuid &uuid) return; } - Transfer *transfer = new Transfer(uuid, this); + ClientTransfer *transfer = new ClientTransfer(uuid, this); connect(transfer, SIGNAL(initDone()), SLOT(onTransferInitDone())); // we only want to add initialized transfers Client::signalProxy()->synchronize(transfer); } @@ -51,3 +57,15 @@ void ClientTransferManager::onTransferInitDone() Q_ASSERT(transfer); addTransfer(transfer); } + + +void ClientTransferManager::onTransferAdded(const Transfer *transfer) +{ + const ClientTransfer *t = qobject_cast(transfer); + if (!t) { + qWarning() << "Invalid Transfer added to ClientTransferManager!"; + return; + } + + emit transferAdded(t); +}