_ignoreListManager = new ClientIgnoreListManager(this);
p->synchronize(ignoreListManager());
+ // create TransferManager if core supports it
Q_ASSERT(!_transferManager);
- _transferManager = new ClientTransferManager(this);
- _transferModel->setManager(_transferManager);
- 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()));
}
_manager = manager;
- connect(manager, SIGNAL(transferAdded(QUuid)), SLOT(onTransferAdded(QUuid)));
- connect(manager, SIGNAL(transferRemoved(QUuid)), SLOT(onTransferRemoved(QUuid)));
+ if (_manager) {
+ connect(manager, SIGNAL(transferAdded(QUuid)), SLOT(onTransferAdded(QUuid)));
+ connect(manager, SIGNAL(transferRemoved(QUuid)), SLOT(onTransferRemoved(QUuid)));
+ }
}
CapNegotiation = 0x0020, /// IRCv3 capability negotiation, account tracking
VerifyServerSSL = 0x0040, /// IRC server SSL validation
CustomRateLimits = 0x0080, /// IRC server custom message rate limits
+ DccFileTransfer = 0x0100,
- NumFeatures = 0x0080
+ NumFeatures = 0x0100
};
Q_DECLARE_FLAGS(Features, Feature)
connect(Client::bufferViewManager(), SIGNAL(bufferViewConfigDeleted(int)), this, SLOT(removeBufferView(int)));
connect(Client::bufferViewManager(), SIGNAL(initDone()), this, SLOT(loadLayout()));
- connect(Client::transferManager(), SIGNAL(transferAdded(QUuid)), SLOT(showNewTransferDlg(QUuid)));
+ if (Client::transferManager()) {
+ connect(Client::transferManager(), SIGNAL(transferAdded(QUuid)), SLOT(showNewTransferDlg(QUuid)));
+ }
setConnectedState();
}