X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fnetworkssettingspage.h;h=89ac4b210d76e417dc601aa817032326fb2503fb;hp=16e498189d49e304618189a72fce85b082874b05;hb=a71a4cc60303b29f493d9d0b6636f00473c4eaf6;hpb=d28b9ec38b6ea0bc473200fc2f1e65abd1b56bd6 diff --git a/src/qtui/settingspages/networkssettingspage.h b/src/qtui/settingspages/networkssettingspage.h index 16e49818..89ac4b21 100644 --- a/src/qtui/settingspages/networkssettingspage.h +++ b/src/qtui/settingspages/networkssettingspage.h @@ -21,9 +21,16 @@ #ifndef _NETWORKSSETTINGSPAGE_H_ #define _NETWORKSSETTINGSPAGE_H_ -#include "settingspage.h" +#include +#include "settingspage.h" #include "ui_networkssettingspage.h" +#include "ui_networkeditdlgnew.h" +#include "ui_servereditdlgnew.h" +#include "ui_saveidentitiesdlg.h" + +#include "network.h" +#include "types.h" class NetworksSettingsPage : public SettingsPage { Q_OBJECT @@ -31,16 +38,98 @@ class NetworksSettingsPage : public SettingsPage { public: NetworksSettingsPage(QWidget *parent = 0); - //bool aboutToSave(); + bool aboutToSave(); public slots: void save(); void load(); + private slots: + void widgetHasChanged(); + void setWidgetStates(); + void coreConnectionStateChanged(bool); + + void displayNetwork(NetworkId, bool dontsave = false); + + 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_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; + + QIcon connectedIcon, disconnectedIcon; + + void reset(); + bool testHasChanged(); + QListWidgetItem *insertNetwork(NetworkId); + QListWidgetItem *insertNetwork(const NetworkInfo &info); + QListWidgetItem *networkItem(NetworkId) const; + void saveToNetworkInfo(NetworkInfo &); +}; + +class NetworkEditDlgNew : public QDialog { + Q_OBJECT + + public: + NetworkEditDlgNew(const QString &old, const QStringList &existing = QStringList(), QWidget *parent = 0); + + QString networkName() const; + + private slots: + void on_networkEdit_textChanged(const QString &); + + private: + Ui::NetworkEditDlgNew ui; + QStringList existing; +}; + + + +class ServerEditDlgNew : public QDialog { + Q_OBJECT + + public: + ServerEditDlgNew(const QVariantMap &serverData = QVariantMap(), QWidget *parent = 0); + + QVariantMap serverData() const; + + private slots: + void on_host_textChanged(); + + private: + Ui::ServerEditDlgNew ui; +}; + + +class SaveNetworksDlg : public QDialog { + Q_OBJECT + + public: + SaveNetworksDlg(const QList &toCreate, const QList &toUpdate, const QList &toRemove, QWidget *parent = 0); + + private: + Ui::SaveIdentitiesDlg ui; }; #endif