- void widgetHasChanged();
- void setWidgetStates();
- void coreConnectionStateChanged(bool);
- void networkConnectionStateChanged(Network::ConnectionState state);
- void networkConnectionError(const QString &msg);
-
- void displayNetwork(NetworkId);
- void setItemState(NetworkId, QListWidgetItem *item = 0);
-
- void clientNetworkAdded(NetworkId);
- void clientNetworkRemoved(NetworkId);
- void clientNetworkUpdated();
-
- void clientIdentityAdded(IdentityId);
- void clientIdentityRemoved(IdentityId);
- void clientIdentityUpdated();
-
- void on_networkList_itemSelectionChanged();
- void on_addNetwork_clicked();
- void on_deleteNetwork_clicked();
- void on_renameNetwork_clicked();
- void on_editIdentities_clicked();
-
- // void on_connectNow_clicked();
-
- void on_serverList_itemSelectionChanged();
- void on_addServer_clicked();
- void on_deleteServer_clicked();
- void on_editServer_clicked();
- void on_upServer_clicked();
- void on_downServer_clicked();
+ void widgetHasChanged();
+ void setWidgetStates();
+ void coreConnectionStateChanged(bool);
+ void networkConnectionStateChanged(Network::ConnectionState state);
+ void networkConnectionError(const QString& msg);
+
+ void displayNetwork(NetworkId);
+ void setItemState(NetworkId, QListWidgetItem* item = nullptr);
+
+ /**
+ * Reset the capability-dependent settings to the default unknown states
+ *
+ * For example, this updates the SASL text to indicate the status is unknown. Any actual
+ * information should be set by setNetworkCapStates()
+ *
+ * @see NetworksSettingsPage::setNetworkCapStates()
+ */
+ void resetNetworkCapStates();
+
+ /**
+ * Update the capability-dependent settings according to what the server supports
+ *
+ * For example, this updates the SASL text for when the server advertises support. This should
+ * only be called on the currently displayed network.
+ *
+ * @param[in] id NetworkId referencing network used to update settings user interface.
+ */
+ void setNetworkCapStates(NetworkId id);
+
+ void clientNetworkAdded(NetworkId);
+ void clientNetworkRemoved(NetworkId);
+ void clientNetworkUpdated();
+
+ void clientIdentityAdded(IdentityId);
+ void clientIdentityRemoved(IdentityId);
+ void clientIdentityUpdated();
+
+ /**
+ * Update the settings user interface according to capabilities advertised by the IRC server
+ */
+ void clientNetworkCapsUpdated();
+
+ void sslUpdated();
+
+ void on_networkList_itemSelectionChanged();
+ void on_addNetwork_clicked();
+ void on_deleteNetwork_clicked();
+ void on_renameNetwork_clicked();
+ void on_editIdentities_clicked();
+
+ // void on_connectNow_clicked();
+
+ void on_serverList_itemSelectionChanged();
+ void on_addServer_clicked();
+ void on_deleteServer_clicked();
+ void on_editServer_clicked();
+ void on_upServer_clicked();
+ void on_downServer_clicked();
+
+ /**
+ * Event handler for SASL status Details button
+ */
+ void on_saslStatusDetails_clicked();
+
+ /**
+ * Event handler for Features status Details button
+ */
+ void on_enableCapsStatusDetails_clicked();
+
+ /**
+ * Event handler for Features Advanced edit button
+ */
+ void on_enableCapsAdvanced_clicked();