- }
-}
-
-void InputWidget::updateEnabledState() {
- QModelIndex currentIndex = selectionModel()->currentIndex();
-
- const Network *net = Client::networkModel()->networkByIndex(currentIndex);
- bool enabled = false;
- if(net) {
- // disable inputline if it's a channelbuffer we parted from or...
- enabled = (currentIndex.data(NetworkModel::ItemActiveRole).value<bool>() || (currentIndex.data(NetworkModel::BufferTypeRole).toInt() != BufferInfo::ChannelBuffer));
- // ... if we're not connected to the network at all
- enabled &= net->isConnected();
- }
- ui.inputEdit->setEnabled(enabled);
-}
-
-const Network *InputWidget::currentNetwork() const {
- return Client::network(_networkId);
-}
-
-BufferInfo InputWidget::currentBufferInfo() const {
- return selectionModel()->currentIndex().data(NetworkModel::BufferInfoRole).value<BufferInfo>();
-};
-
-void InputWidget::setNetwork(NetworkId networkId) {
- if(_networkId == networkId)
- return;
-
- const Network *previousNet = Client::network(_networkId);
- if(previousNet) {
- disconnect(previousNet, 0, this, 0);
- if(previousNet->me())
- disconnect(previousNet->me(), 0, this, 0);
- }
-
- _networkId = networkId;
-
- const Network *network = Client::network(networkId);
- if(network) {
- connect(network, SIGNAL(identitySet(IdentityId)), this, SLOT(setIdentity(IdentityId)));
- connectMyIrcUser();
- setIdentity(network->identity());
- } else {
- setIdentity(0);
- _networkId = 0;
- }
-}
-
-void InputWidget::connectMyIrcUser() {
- const Network *network = currentNetwork();
- if(network->me()) {
- connect(network->me(), SIGNAL(nickSet(const QString &)), this, SLOT(updateNickSelector()));
- connect(network->me(), SIGNAL(userModesSet(QString)), this, SLOT(updateNickSelector()));
- connect(network->me(), SIGNAL(userModesAdded(QString)), this, SLOT(updateNickSelector()));
- connect(network->me(), SIGNAL(userModesRemoved(QString)), this, SLOT(updateNickSelector()));
- connect(network->me(), SIGNAL(awaySet(bool)), this, SLOT(updateNickSelector()));
- disconnect(network, SIGNAL(myNickSet(const QString &)), this, SLOT(connectMyIrcUser()));
- updateNickSelector();
- } else {
- connect(network, SIGNAL(myNickSet(const QString &)), this, SLOT(connectMyIrcUser()));
- }