X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fnetworkssettingspage.cpp;h=1ed468f93530cd8c82471d6d0a80ca686905c049;hb=0f16a547d17c536cc567bfb2746824bfca3424cd;hp=f32540c96269f121ee8c83a5b1ac15282727df77;hpb=f2c9c9f60421892c011f6f11e5b5d7990394d7ac;p=quassel.git diff --git a/src/qtui/settingspages/networkssettingspage.cpp b/src/qtui/settingspages/networkssettingspage.cpp index f32540c9..1ed468f9 100644 --- a/src/qtui/settingspages/networkssettingspage.cpp +++ b/src/qtui/settingspages/networkssettingspage.cpp @@ -42,9 +42,11 @@ NetworksSettingsPage::NetworksSettingsPage(QWidget *parent) : SettingsPage(tr("G QByteArray codec = QTextCodec::codecForMib(mib)->name(); ui.sendEncoding->addItem(codec); ui.recvEncoding->addItem(codec); + ui.serverEncoding->addItem(codec); } ui.sendEncoding->model()->sort(0); ui.recvEncoding->model()->sort(0); + ui.serverEncoding->model()->sort(0); currentId = 0; setEnabled(Client::isConnected()); // need a core connection! setWidgetStates(); @@ -63,6 +65,7 @@ NetworksSettingsPage::NetworksSettingsPage(QWidget *parent) : SettingsPage(tr("G connect(ui.useDefaultEncodings, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); connect(ui.sendEncoding, SIGNAL(currentIndexChanged(int)), this, SLOT(widgetHasChanged())); connect(ui.recvEncoding, SIGNAL(currentIndexChanged(int)), this, SLOT(widgetHasChanged())); + connect(ui.serverEncoding, SIGNAL(currentIndexChanged(int)), this, SLOT(widgetHasChanged())); connect(ui.autoReconnect, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); connect(ui.reconnectInterval, SIGNAL(valueChanged(int)), this, SLOT(widgetHasChanged())); connect(ui.reconnectRetries, SIGNAL(valueChanged(int)), this, SLOT(widgetHasChanged())); @@ -312,7 +315,7 @@ void NetworksSettingsPage::clientIdentityRemoved(IdentityId id) { } QListWidgetItem *NetworksSettingsPage::networkItem(NetworkId id) const { - for(int i = 0; i < ui.networkList->count(); i++) { + for(int i = 0; i < ui.networkList->count(); i++) { QListWidgetItem *item = ui.networkList->item(i); if(item->data(Qt::UserRole).value() == id) return item; } @@ -321,7 +324,24 @@ QListWidgetItem *NetworksSettingsPage::networkItem(NetworkId id) const { void NetworksSettingsPage::clientNetworkAdded(NetworkId id) { insertNetwork(id); - connect(Client::network(id), SIGNAL(updatedRemotely()), this, SLOT(clientNetworkUpdated())); + //connect(Client::network(id), SIGNAL(updatedRemotely()), this, SLOT(clientNetworkUpdated())); + connect(Client::network(id), SIGNAL(identitySet(IdentityId)), this, SLOT(clientNetworkUpdated())); + connect(Client::network(id), SIGNAL(networkNameSet(const QString &)), this, SLOT(clientNetworkUpdated())); + connect(Client::network(id), SIGNAL(serverListSet(QVariantList)), this, SLOT(clientNetworkUpdated())); + connect(Client::network(id), SIGNAL(useRandomServerSet(bool)), this, SLOT(clientNetworkUpdated())); + connect(Client::network(id), SIGNAL(performSet(const QStringList &)), this, SLOT(clientNetworkUpdated())); + connect(Client::network(id), SIGNAL(useAutoIdentifySet(bool)), this, SLOT(clientNetworkUpdated())); + connect(Client::network(id), SIGNAL(autoIdentifyServiceSet(const QString &)), this, SLOT(clientNetworkUpdated())); + connect(Client::network(id), SIGNAL(autoIdentifyPasswordSet(const QString &)), this, SLOT(clientNetworkUpdated())); + connect(Client::network(id), SIGNAL(useAutoReconnectSet(bool)), this, SLOT(clientNetworkUpdated())); + connect(Client::network(id), SIGNAL(autoReconnectIntervalSet(quint32)), this, SLOT(clientNetworkUpdated())); + connect(Client::network(id), SIGNAL(autoReconnectRetriesSet(quint16)), this, SLOT(clientNetworkUpdated())); + connect(Client::network(id), SIGNAL(unlimitedReconnectRetriesSet(bool)), this, SLOT(clientNetworkUpdated())); + connect(Client::network(id), SIGNAL(rejoinChannelsSet(bool)), this, SLOT(clientNetworkUpdated())); + connect(Client::network(id), SIGNAL(codecForServerSet(const QByteArray &)), this, SLOT(clientNetworkUpdated())); + connect(Client::network(id), SIGNAL(codecForEncodingSet(const QByteArray &)), this, SLOT(clientNetworkUpdated())); + connect(Client::network(id), SIGNAL(codecForDecodingSet(const QByteArray &)), this, SLOT(clientNetworkUpdated())); + connect(Client::network(id), SIGNAL(connectionStateSet(Network::ConnectionState)), this, SLOT(networkConnectionStateChanged(Network::ConnectionState))); connect(Client::network(id), SIGNAL(connectionError(const QString &)), this, SLOT(networkConnectionError(const QString &))); } @@ -359,6 +379,7 @@ void NetworksSettingsPage::networkConnectionStateChanged(Network::ConnectionStat ui.connectNow->setEnabled(state == Network::Initialized || state == Network::Disconnected); } setItemState(net->networkId()); + setWidgetStates(); } void NetworksSettingsPage::networkConnectionError(const QString &) { @@ -408,10 +429,12 @@ void NetworksSettingsPage::displayNetwork(NetworkId id) { if(info.codecForEncoding.isEmpty()) { ui.sendEncoding->setCurrentIndex(ui.sendEncoding->findText(Network::defaultCodecForEncoding())); ui.recvEncoding->setCurrentIndex(ui.recvEncoding->findText(Network::defaultCodecForDecoding())); + ui.serverEncoding->setCurrentIndex(ui.serverEncoding->findText(Network::defaultCodecForServer())); ui.useDefaultEncodings->setChecked(true); } else { ui.sendEncoding->setCurrentIndex(ui.sendEncoding->findText(info.codecForEncoding)); ui.recvEncoding->setCurrentIndex(ui.recvEncoding->findText(info.codecForDecoding)); + ui.serverEncoding->setCurrentIndex(ui.serverEncoding->findText(info.codecForServer)); ui.useDefaultEncodings->setChecked(false); } ui.autoReconnect->setChecked(info.useAutoReconnect); @@ -442,9 +465,11 @@ void NetworksSettingsPage::saveToNetworkInfo(NetworkInfo &info) { if(ui.useDefaultEncodings->isChecked()) { info.codecForEncoding.clear(); info.codecForDecoding.clear(); + info.codecForServer.clear(); } else { info.codecForEncoding = ui.sendEncoding->currentText().toLatin1(); info.codecForDecoding = ui.recvEncoding->currentText().toLatin1(); + info.codecForServer = ui.serverEncoding->currentText().toLatin1(); } info.useAutoReconnect = ui.autoReconnect->isChecked(); info.autoReconnectInterval = ui.reconnectInterval->value(); @@ -671,6 +696,9 @@ SaveNetworksDlg::SaveNetworksDlg(const QList &toCreate, const QList connect(Client::instance(), SIGNAL(networkCreated(NetworkId)), this, SLOT(clientEvent())); connect(Client::instance(), SIGNAL(networkRemoved(NetworkId)), this, SLOT(clientEvent())); + foreach(NetworkId id, toRemove) { + Client::removeNetwork(id); + } foreach(NetworkInfo info, toCreate) { Client::createNetwork(info); } @@ -685,9 +713,6 @@ SaveNetworksDlg::SaveNetworksDlg(const QList &toCreate, const QList connect(net, SIGNAL(updatedRemotely()), this, SLOT(clientEvent())); Client::updateNetwork(info); } - foreach(NetworkId id, toRemove) { - Client::removeNetwork(id); - } } else { qWarning() << "Sync dialog called without stuff to change!"; accept();