X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fidentitiessettingspage.h;h=37c5ec24dabd8038bee50cdf63da367b76fc9258;hp=294d646e6213bc9e091d08d6ba09bf5da3d5c12f;hb=1adc00219ba072da57994764d086beed8ffb7bb4;hpb=2e6dc76ae100a6b8e1b1661e422995f90083500e diff --git a/src/qtui/settingspages/identitiessettingspage.h b/src/qtui/settingspages/identitiessettingspage.h index 294d646e..37c5ec24 100644 --- a/src/qtui/settingspages/identitiessettingspage.h +++ b/src/qtui/settingspages/identitiessettingspage.h @@ -18,95 +18,146 @@ * 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 "ui_identitiessettingspage.h" #include "ui_createidentitydlg.h" #include "ui_saveidentitiesdlg.h" +#include "ui_nickeditdlg.h" + +#ifdef HAVE_SSL +#include +#include +#endif class QAbstractItemModel; 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(); + +#ifdef HAVE_SSL +protected: + virtual bool eventFilter(QObject *watched, QEvent *event); +#endif - 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_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(); + +#ifdef HAVE_SSL + void on_continueUnsecured_clicked(); + void on_clearOrLoadKeyButton_clicked(); + void on_clearOrLoadCertButton_clicked(); +#endif + void widgetHasChanged(); + void setWidgetStates(); - void on_identityList_currentIndexChanged(int index); +#ifdef HAVE_SSL + void sslDragEnterEvent(QDragEnterEvent *event); + void sslDropEvent(QDropEvent *event, bool isCert); +#endif - void on_addIdentity_clicked(); - void on_deleteIdentity_clicked(); - void on_renameIdentity_clicked(); +private: + Ui::IdentitiesSettingsPage ui; - void widgetHasChanged(); + QHash identities; + IdentityId currentId; - private: - Ui::IdentitiesSettingsPage ui; + QList changedIdentities; // for setting the widget changed state + QList deletedIdentities; - QHash identities; - IdentityId currentId; + bool _editSsl; - QList changedIdentities; // for setting the widget changed state - QList deletedIdentities; + void insertIdentity(CertIdentity *identity); + void removeIdentity(Identity *identity); + void renameIdentity(IdentityId id, const QString &newName); + void displayIdentity(CertIdentity *, bool dontsave = false); + void saveToIdentity(CertIdentity *); - void insertIdentity(Identity *identity); - void removeIdentity(Identity *identity); - void renameIdentity(IdentityId id, const QString &newName); - void displayIdentity(Identity *, bool dontsave = false); - void saveToIdentity(Identity *); +#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(); }; 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 toCreate, QList toUpdate, QList toRemove, QWidget *parent = 0); +public: + SaveIdentitiesDlg(const QList &toCreate, const QList &toUpdate, const QList &toRemove, QWidget *parent = 0); + +private slots: + void clientEvent(); + +private: + Ui::SaveIdentitiesDlg ui; + + int numevents, rcvevents; +}; + +class NickEditDlg : public QDialog { + Q_OBJECT + +public: + NickEditDlg(const QString &oldnick, const QStringList &existing = QStringList(), QWidget *parent = 0); - private slots: - void clientEvent(); + QString nick() const; - private: - Ui::SaveIdentitiesDlg ui; +private slots: + void on_nickEdit_textChanged(const QString &); - QList toCreate, toUpdate; - QList toRemove; +private: + Ui::NickEditDlg ui; - int numevents, rcvevents; + QString oldNick; + QStringList existing; };