/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel Project *
+ * Copyright (C) 2005-09 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
-#ifndef _IDENTITIESSETTINGSPAGE_H_
-#define _IDENTITIESSETTINGSPAGE_H_
+#ifndef IDENTITIESSETTINGSPAGE_H
+#define IDENTITIESSETTINGSPAGE_H
-#include "identity.h"
+#include "clientidentity.h"
#include "settingspage.h"
+#include "identityeditwidget.h"
+
#include "ui_identitiessettingspage.h"
#include "ui_createidentitydlg.h"
#include "ui_saveidentitiesdlg.h"
class IdentitiesSettingsPage : public SettingsPage {
Q_OBJECT
- public:
- IdentitiesSettingsPage(QWidget *parent = 0);
+public:
+ IdentitiesSettingsPage(QWidget *parent = 0);
+
+ bool aboutToSave();
- bool aboutToSave();
+public slots:
+ void save();
+ void load();
- public slots:
- void save();
- void load();
- void defaults();
+private slots:
+ void coreConnectionStateChanged(bool);
+ void clientIdentityCreated(IdentityId);
+ void clientIdentityUpdated();
+ void clientIdentityRemoved(IdentityId);
- private slots:
- void coreConnectionStateChanged(bool);
- void clientIdentityCreated(IdentityId);
- void clientIdentityUpdated();
- void clientIdentityRemoved(IdentityId);
+ void on_identityList_currentIndexChanged(int index);
- void on_identityList_currentIndexChanged(int index);
+ void on_addIdentity_clicked();
+ void on_deleteIdentity_clicked();
+ void on_renameIdentity_clicked();
- void on_addIdentity_clicked();
- void on_deleteIdentity_clicked();
- void on_renameIdentity_clicked();
+#ifdef HAVE_SSL
+ void continueUnsecured();
+#endif
+ void widgetHasChanged();
+ void setWidgetStates();
- void widgetHasChanged();
+private:
+ Ui::IdentitiesSettingsPage ui;
- private:
- Ui::IdentitiesSettingsPage ui;
+ QHash<IdentityId, CertIdentity *> identities;
+ IdentityId currentId;
- QHash<IdentityId, Identity *> identities;
- IdentityId currentId;
+ QList<IdentityId> changedIdentities; // for setting the widget changed state
+ QList<IdentityId> deletedIdentities;
- QList<IdentityId> changedIdentities; // for setting the widget changed state
- QList<IdentityId> deletedIdentities;
+ bool _editSsl;
- void insertIdentity(Identity *identity);
- void removeIdentity(Identity *identity);
- void renameIdentity(IdentityId id, const QString &newName);
- void displayIdentity(Identity *, bool dontsave = false);
- void saveToIdentity(Identity *);
+ void insertIdentity(CertIdentity *identity);
+ void removeIdentity(Identity *identity);
+ void renameIdentity(IdentityId id, const QString &newName);
+
+#ifdef HAVE_SSL
+ QSslKey keyByFilename(const QString &filename);
+ void showKeyState(const QSslKey &key);
+ QSslCertificate certByFilename(const QString &filename);
+ void showCertState(const QSslCertificate &cert);
+#endif
- bool testHasChanged();
+ bool testHasChanged();
};
+// ==============================
+// Various Dialogs
+// ==============================
class CreateIdentityDlg : public QDialog {
Q_OBJECT
- public:
- CreateIdentityDlg(QAbstractItemModel *model, QWidget *parent = 0);
+public:
+ CreateIdentityDlg(QAbstractItemModel *model, QWidget *parent = 0);
- QString identityName() const;
- IdentityId duplicateId() const;
+ QString identityName() const;
+ IdentityId duplicateId() const;
- private slots:
- void on_identityName_textChanged(const QString &text);
+private slots:
+ void on_identityName_textChanged(const QString &text);
- private:
- Ui::CreateIdentityDlg ui;
+private:
+ Ui::CreateIdentityDlg ui;
};
+
+
class SaveIdentitiesDlg : public QDialog {
Q_OBJECT
- public:
- SaveIdentitiesDlg(QList<Identity *> toCreate, QList<Identity *> toUpdate, QList<IdentityId> toRemove, QWidget *parent = 0);
+public:
+ SaveIdentitiesDlg(const QList<CertIdentity *> &toCreate, const QList<CertIdentity *> &toUpdate, const QList<IdentityId> &toRemove, QWidget *parent = 0);
- private slots:
- void clientEvent();
+private slots:
+ void clientEvent();
- private:
- Ui::SaveIdentitiesDlg ui;
+private:
+ Ui::SaveIdentitiesDlg ui;
- QList<Identity *> toCreate, toUpdate;
- QList<IdentityId> toRemove;
+ int numevents, rcvevents;
+};
- int numevents, rcvevents;
-};
#endif