/******************************************************************************* * gui/connect/ConfCertDialog.h * * * * Copyright (C) 2006 Crypton * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU Affero General Public License as * * published by the Free Software Foundation, either version 3 of the * * License, or (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU Affero General Public License for more details. * * * * You should have received a copy of the GNU Affero General Public License * * along with this program. If not, see . * * * *******************************************************************************/ #ifndef _CONFCERTDIALOG_H #define _CONFCERTDIALOG_H #include #include "ui_ConfCertDialog.h" #include #include class ConfCertDialog : public QDialog { Q_OBJECT public: enum enumPage { PageDetails, PageTrust, PageCertificate }; template static void showIt(const ID_CLASS& id, enumPage page) { ConfCertDialog *confdialog = instance(id); switch (page) { case PageDetails: confdialog->ui.stabWidget->setCurrentIndex(0); break; case PageTrust: confdialog->ui.stabWidget->setCurrentIndex(1); break; case PageCertificate: confdialog->ui.stabWidget->setCurrentIndex(2); break; } confdialog->load(); confdialog->show(); confdialog->raise(); confdialog->activateWindow(); /* window will destroy itself! */ } static void loadAll(); static QString getCertificateDescription(const RsPeerDetails& det, bool signatures_included, bool use_short_format, bool extra_locators_included); signals: void configChanged(); private: /** Default constructor */ ConfCertDialog(const RsPeerId &id,const RsPgpId& pgp_id, QWidget *parent = 0, Qt::WindowFlags flags = 0); /** Default destructor */ ~ConfCertDialog(); static ConfCertDialog *instance(const RsPeerId &peer_id); static ConfCertDialog *instance(const RsPgpId &pgp_id); void load(); private slots: void applyDialog(); void loadInvitePage(); void showHelpDialog(); /** Called when a child window requests the given help topic. */ void showHelpDialog(const QString &topic); private: RsPeerId peerId; RsPgpId pgpId; QString nameAndLocation; /** Qt Designer generated object */ Ui::ConfCertDialog ui; }; #endif