+ void bufferList_Open(NetworkId);
+
+private slots:
+ 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);
+
+ /**
+ * 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();
+
+#ifdef HAVE_SSL
+ void sslUpdated();
+#endif
+
+ 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();
+
+private:
+ /**
+ * Status of capability support
+ */
+ enum CapSupportStatus {
+ Unknown, ///< Old core, or otherwise unknown, can't make assumptions
+ Disconnected, ///< Disconnected from network, can't determine
+ MaybeUnsupported, ///< Server does not advertise support at this moment
+ MaybeSupported ///< Server advertises support at this moment
+ };
+ // Keep in mind networks can add, change, and remove capabilities at any time.