X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fclient%2Fclient.cpp;h=91165418b08a80658430b2baf8a4cb712df178b4;hb=92b14080db9838311ba45bddc7306d8366970820;hp=54a93fb34d8aa7676f3c5fbf2f52af2b6cdea3a4;hpb=d0e9b7a1d5e73041ade519189eea012500440ba9;p=quassel.git diff --git a/src/client/client.cpp b/src/client/client.cpp index 54a93fb3..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 @@ -535,7 +542,7 @@ void Client::networkDestroyed() break; } else { - netIter++; + ++netIter; } } }