X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fqtui%2Fsettingspages%2Fnetworkssettingspage.h;h=1b3b0fdaa4badf0a46679a8ba7165e0258bf70a1;hb=01ed2953cbad3f2de3df262dc1601e82d903b4a8;hp=f58d9008d2e1897a199036a7ec55862c03f4e84a;hpb=c5cbe5eb77fce2ab954a98399a1450803108217b;p=quassel.git diff --git a/src/qtui/settingspages/networkssettingspage.h b/src/qtui/settingspages/networkssettingspage.h index f58d9008..1b3b0fda 100644 --- a/src/qtui/settingspages/networkssettingspage.h +++ b/src/qtui/settingspages/networkssettingspage.h @@ -21,13 +21,15 @@ #ifndef _NETWORKSSETTINGSPAGE_H_ #define _NETWORKSSETTINGSPAGE_H_ -#include +#include +#include "network.h" #include "settingspage.h" -#include "ui_networkssettingspage.h" -#include "network.h" -#include "types.h" +#include "ui_networkssettingspage.h" +#include "ui_networkeditdlg.h" +#include "ui_servereditdlg.h" +#include "ui_saveidentitiesdlg.h" class NetworksSettingsPage : public SettingsPage { Q_OBJECT @@ -35,7 +37,7 @@ class NetworksSettingsPage : public SettingsPage { public: NetworksSettingsPage(QWidget *parent = 0); - //bool aboutToSave(); + bool aboutToSave(); public slots: void save(); @@ -45,10 +47,14 @@ class NetworksSettingsPage : public SettingsPage { void widgetHasChanged(); void setWidgetStates(); void coreConnectionStateChanged(bool); + void networkConnectionStateChanged(Network::ConnectionState state); + void networkConnectionError(const QString &msg); - void displayNetwork(NetworkId, bool dontsave = false); + void displayNetwork(NetworkId); + void setItemState(NetworkId, QListWidgetItem *item = 0); void clientNetworkAdded(NetworkId); + void clientNetworkRemoved(NetworkId); void clientNetworkUpdated(); void clientIdentityAdded(IdentityId); @@ -56,20 +62,84 @@ class NetworksSettingsPage : public SettingsPage { void clientIdentityUpdated(); void on_networkList_itemSelectionChanged(); + void on_addNetwork_clicked(); + void on_deleteNetwork_clicked(); + void on_renameNetwork_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(); private: Ui::NetworksSettingsPage ui; NetworkId currentId; QHash networkInfos; + bool _ignoreWidgetChanges; - QIcon connectedIcon, disconnectedIcon; + QPixmap connectedIcon, connectingIcon, disconnectedIcon; void reset(); bool testHasChanged(); - void insertNetwork(NetworkId); + QListWidgetItem *insertNetwork(NetworkId); + QListWidgetItem *insertNetwork(const NetworkInfo &info); QListWidgetItem *networkItem(NetworkId) const; + void saveToNetworkInfo(NetworkInfo &); +}; + +class NetworkEditDlg : public QDialog { + Q_OBJECT + + public: + NetworkEditDlg(const QString &old, const QStringList &existing = QStringList(), QWidget *parent = 0); + + QString networkName() const; + + private slots: + void on_networkEdit_textChanged(const QString &); + + private: + Ui::NetworkEditDlg ui; + + QStringList existing; +}; + + + +class ServerEditDlg : public QDialog { + Q_OBJECT + + public: + ServerEditDlg(const QVariant &serverData = QVariant(), QWidget *parent = 0); + + QVariant serverData() const; + + private slots: + void on_host_textChanged(); + + private: + Ui::ServerEditDlg ui; +}; + + +class SaveNetworksDlg : public QDialog { + Q_OBJECT + + public: + SaveNetworksDlg(const QList &toCreate, const QList &toUpdate, const QList &toRemove, QWidget *parent = 0); + + private slots: + void clientEvent(); + + private: + Ui::SaveIdentitiesDlg ui; + int numevents, rcvevents; }; #endif