X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fnetworkssettingspage.cpp;h=c1ee10a861dedf3a364ae2e7107f06a147e7ae70;hb=54ebc1bf00f4f9a8376629925329f0e72be04662;hp=d8309ad63821a46126eb3c3f81e0b50c16392d79;hpb=b7447afe8e836376776dac26704e227a678d2913;p=quassel.git diff --git a/src/qtui/settingspages/networkssettingspage.cpp b/src/qtui/settingspages/networkssettingspage.cpp index d8309ad6..c1ee10a8 100644 --- a/src/qtui/settingspages/networkssettingspage.cpp +++ b/src/qtui/settingspages/networkssettingspage.cpp @@ -207,6 +207,9 @@ void NetworksSettingsPage::load() sslUpdated(); #endif + // Reset network capability status in case no valid networks get selected (a rare situation) + resetNetworkCapStates(); + foreach(NetworkId netid, Client::networkIds()) { clientNetworkAdded(netid); } @@ -355,10 +358,17 @@ void NetworksSettingsPage::setItemState(NetworkId id, QListWidgetItem *item) } +void NetworksSettingsPage::resetNetworkCapStates() +{ + // Set the status to a blank (invalid) network ID, reseting all UI + setNetworkCapStates(NetworkId()); +} + + void NetworksSettingsPage::setNetworkCapStates(NetworkId id) { const Network *net = Client::network(id); - if (Client::isCoreFeatureEnabled(Quassel::Feature::CapNegotiation) && net) { + if (net && Client::isCoreFeatureEnabled(Quassel::Feature::CapNegotiation)) { // Capability negotiation is supported, network exists. // Check if the network is connected. Don't use net->isConnected() as that won't be true // during capability negotiation when capabilities are added and removed.