ChatMonitorSettingspage ported to 0.3.x
[quassel.git] / src / qtui / settingspages / identitiessettingspage.h
index 0e21662..c0c862b 100644 (file)
@@ -27,6 +27,7 @@
 #include "ui_identitiessettingspage.h"
 #include "ui_createidentitydlg.h"
 #include "ui_saveidentitiesdlg.h"
+#include "ui_nickeditdlg.h"
 
 class QAbstractItemModel;
 
@@ -41,7 +42,6 @@ class IdentitiesSettingsPage : public SettingsPage {
   public slots:
     void save();
     void load();
-    void defaults();
 
   private slots:
     void coreConnectionStateChanged(bool);
@@ -50,12 +50,19 @@ class IdentitiesSettingsPage : public SettingsPage {
     void clientIdentityRemoved(IdentityId);
 
     void on_identityList_currentIndexChanged(int index);
-    void on_identityList_editTextChanged(const QString &);
 
     void on_addIdentity_clicked();
     void on_deleteIdentity_clicked();
+    void on_renameIdentity_clicked();
+
+    void on_addNick_clicked();
+    void on_deleteNick_clicked();
+    void on_renameNick_clicked();
+    void on_nickUp_clicked();
+    void on_nickDown_clicked();
 
     void widgetHasChanged();
+    void setWidgetStates();
 
   private:
     Ui::IdentitiesSettingsPage ui;
@@ -68,6 +75,7 @@ class IdentitiesSettingsPage : public SettingsPage {
 
     void insertIdentity(Identity *identity);
     void removeIdentity(Identity *identity);
+    void renameIdentity(IdentityId id, const QString &newName);
     void displayIdentity(Identity *, bool dontsave = false);
     void saveToIdentity(Identity *);
 
@@ -94,7 +102,7 @@ class SaveIdentitiesDlg : public QDialog {
   Q_OBJECT
 
   public:
-    SaveIdentitiesDlg(QList<Identity *> toCreate, QList<Identity *> toUpdate, QList<IdentityId> toRemove, QWidget *parent = 0);
+    SaveIdentitiesDlg(const QList<Identity *> &toCreate, const QList<Identity *> &toUpdate, const QList<IdentityId> &toRemove, QWidget *parent = 0);
 
   private slots:
     void clientEvent();
@@ -102,11 +110,30 @@ class SaveIdentitiesDlg : public QDialog {
   private:
     Ui::SaveIdentitiesDlg ui;
 
-    QList<Identity *> toCreate, toUpdate;
-    QList<IdentityId> toRemove;
+    //QList<Identity *> toCreate, toUpdate;
+    //QList<IdentityId> toRemove;
 
     int numevents, rcvevents;
 
 };
 
+class NickEditDlg : public QDialog {
+  Q_OBJECT
+
+  public:
+    NickEditDlg(const QString &oldnick, const QStringList &existing = QStringList(), QWidget *parent = 0);
+
+    QString nick() const;
+
+  private slots:
+    void on_nickEdit_textChanged(const QString &);
+
+  private:
+    Ui::NickEditDlg ui;
+
+    QString oldNick;
+    QStringList existing;
+
+};
+
 #endif