X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fclient.cpp;h=91165418b08a80658430b2baf8a4cb712df178b4;hp=0c6ad25c0e8fcb6f5a980e9e62ffbbcc39f019a8;hb=123fc368f8705fa7799c04ee84af85999a7ebde3;hpb=8cece06596c290d69c1f32b7221c796437f5fabb diff --git a/src/client/client.cpp b/src/client/client.cpp index 0c6ad25c..91165418 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2015 by the Quassel Project * + * Copyright (C) 2005-2016 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -47,6 +47,7 @@ #include "networkmodel.h" #include "quassel.h" #include "signalproxy.h" +#include "transfermodel.h" #include "util.h" #include "clientauthhandler.h" @@ -105,6 +106,7 @@ Client::Client(QObject *parent) _networkConfig(0), _ignoreListManager(0), _transferManager(0), + _transferModel(new TransferModel(this)), _messageModel(0), _messageProcessor(0), _coreAccountModel(new CoreAccountModel(this)), @@ -412,9 +414,13 @@ void Client::setSyncedToCore() _ignoreListManager = new ClientIgnoreListManager(this); p->synchronize(ignoreListManager()); + // create TransferManager if core supports it Q_ASSERT(!_transferManager); - _transferManager = new ClientTransferManager(this); - p->synchronize(transferManager()); + if (coreFeatures() & Quassel::DccFileTransfer) { + _transferManager = new ClientTransferManager(this); + _transferModel->setManager(_transferManager); + p->synchronize(transferManager()); + } // trigger backlog request once all active bufferviews are initialized connect(bufferViewOverlay(), SIGNAL(initDone()), this, SLOT(requestInitialBacklog())); @@ -487,8 +493,9 @@ void Client::setDisconnectedFromCore() } if (_transferManager) { + _transferModel->setManager(nullptr); _transferManager->deleteLater(); - _transferManager = 0; + _transferManager = nullptr; } // we probably don't want to save pending input for reconnect