From 7d18e6fc53b400e618aeba9181188e934e23cbe1 Mon Sep 17 00:00:00 2001 From: me_desk Date: Sun, 20 Oct 2013 19:59:32 +0000 Subject: new dialog ShowPicaIdDialog for showing Pica ID git-svn-id: svn://localhost/project_picapica/trunk@294 fb96df88-216d-11de-830c-f3023f12d8ac --- Makefile.am | 3 +++ pica-client/accountswindow.cpp | 7 +++---- pica-client/contactlistwidget.cpp | 12 +++++------ pica-client/dialogs/showpicaiddialog.cpp | 36 ++++++++++++++++++++++++++++++++ pica-client/dialogs/showpicaiddialog.h | 27 ++++++++++++++++++++++++ pica-client/mainwindow.ui | 8 ------- pica-client/pica-client.pro | 6 ++++-- pica-client/picaactioncenter.cpp | 9 +++----- 8 files changed, 81 insertions(+), 27 deletions(-) create mode 100644 pica-client/dialogs/showpicaiddialog.cpp create mode 100644 pica-client/dialogs/showpicaiddialog.h diff --git a/Makefile.am b/Makefile.am index 534c0f3..5b3f906 100644 --- a/Makefile.am +++ b/Makefile.am @@ -95,6 +95,8 @@ pica-client/dialogs/registeraccountdialog.cpp \ pica-client/dialogs/registeraccountdialog.h \ pica-client/dialogs/viewcertdialog.cpp \ pica-client/dialogs/viewcertdialog.h \ +pica-client/dialogs/showpicaiddialog.cpp \ +pica-client/dialogs/showpicaiddialog.h \ PICA_client.c \ PICA_client.h \ PICA_msgproc.c \ @@ -117,6 +119,7 @@ moc_picasystray.cpp \ moc_registeraccountdialog.cpp \ moc_skynet.cpp \ moc_viewcertdialog.cpp \ +moc_showpicaiddialog.cpp \ moc_dhparam.cpp \ ui_mainwindow.h diff --git a/pica-client/accountswindow.cpp b/pica-client/accountswindow.cpp index 84c607d..e9c88e5 100644 --- a/pica-client/accountswindow.cpp +++ b/pica-client/accountswindow.cpp @@ -4,6 +4,7 @@ #include "globals.h" #include "dialogs/addaccountdialog.h" #include "dialogs/registeraccountdialog.h" +#include "dialogs/showpicaiddialog.h" #include "../PICA_client.h" #include "skynet.h" #include "openssltool.h" @@ -168,10 +169,8 @@ void AccountsWindow::CreateAccount(QString CertFilename, QString PkeyFilename, b } else { - QMessageBox mbx; - mbx.setTextFormat(Qt::RichText); - mbx.setText(tr("New account
Pica Pica ID: %1
is created.").arg(id.toBase64().constData())); - mbx.exec(); + ShowPicaIdDialog d(name, id, tr("New account is created")); + d.exec(); } LoadAccounts(); } diff --git a/pica-client/contactlistwidget.cpp b/pica-client/contactlistwidget.cpp index 1d53f49..03ef901 100644 --- a/pica-client/contactlistwidget.cpp +++ b/pica-client/contactlistwidget.cpp @@ -1,6 +1,7 @@ #include "contactlistwidget.h" #include "globals.h" #include "dialogs/viewcertdialog.h" +#include "dialogs/showpicaiddialog.h" #include "msguirouter.h" #include #include @@ -191,13 +192,10 @@ void ContactListWidget::view_cert() void ContactListWidget::show_id() { - QMessageBox mbx; - mbx.setTextFormat(Qt::RichText); - mbx.setText(tr("Contact name: %1
Pica Pica ID: %2") - .arg(wgitem_to_recs[currentItem()]->name) - .arg(wgitem_to_recs[currentItem()]->id.toBase64().constData())); - - mbx.exec(); + ShowPicaIdDialog d(wgitem_to_recs[currentItem()]->name, + wgitem_to_recs[currentItem()]->id, + tr("Contact's ID")); + d.exec(); } void ContactListWidget::Reload() diff --git a/pica-client/dialogs/showpicaiddialog.cpp b/pica-client/dialogs/showpicaiddialog.cpp new file mode 100644 index 0000000..8fed71e --- /dev/null +++ b/pica-client/dialogs/showpicaiddialog.cpp @@ -0,0 +1,36 @@ +#include "showpicaiddialog.h" +#include +#include +#include + +ShowPicaIdDialog::ShowPicaIdDialog(QString name, QByteArray id, QString caption, QWidget *parent) : + QDialog(parent) +{ + setWindowTitle(caption); + QVBoxLayout *layout = new QVBoxLayout(this); + + lbname_ = new QLabel(tr("Account: %1").arg(name)); + lbname_ ->setTextFormat(Qt::RichText); + + picaid_ = new QLineEdit(); + + picaid_ ->setText(id.toBase64().constData()); + picaid_->setReadOnly(true); + picaid_->setSelection(0, picaid_->text().size()); + picaid_->setMinimumWidth(picaid_->fontMetrics().width(picaid_->text()) + 2 * picaid_->style()->pixelMetric(QStyle::PM_DefaultFrameWidth)); + + btok_ = new QPushButton(tr("OK")); + btok_->setDefault(true); + btok_->setMaximumWidth(btok_->fontMetrics().width(btok_->text()) * 3 / 2 + 2 * btok_->style()->pixelMetric(QStyle::PM_ButtonMargin)); + + layout->addWidget(lbname_); + layout->addWidget(picaid_); + layout->addWidget(btok_, 0, Qt::AlignHCenter); + + connect(btok_, SIGNAL(clicked()), this, SLOT(Ok())); +} + +void ShowPicaIdDialog::Ok() +{ + done(0); +} diff --git a/pica-client/dialogs/showpicaiddialog.h b/pica-client/dialogs/showpicaiddialog.h new file mode 100644 index 0000000..a566c12 --- /dev/null +++ b/pica-client/dialogs/showpicaiddialog.h @@ -0,0 +1,27 @@ +#ifndef SHOWPICAIDDIALOG_H +#define SHOWPICAIDDIALOG_H + +#include +#include +#include +#include +#include +#include + +class ShowPicaIdDialog : public QDialog +{ + Q_OBJECT +public: + explicit ShowPicaIdDialog(QString name, QByteArray id, QString caption, QWidget *parent = 0); + +private slots: + void Ok(); + +private: + QLabel *lbname_; + QLineEdit *picaid_; + QPushButton *btok_; + +}; + +#endif // SHOWPICAIDDIALOG_H diff --git a/pica-client/mainwindow.ui b/pica-client/mainwindow.ui index 0f2e2a7..f4b770d 100644 --- a/pica-client/mainwindow.ui +++ b/pica-client/mainwindow.ui @@ -24,14 +24,6 @@ - - - TopToolBarArea - - - false - - diff --git a/pica-client/pica-client.pro b/pica-client/pica-client.pro index e74cd1d..97e7315 100644 --- a/pica-client/pica-client.pro +++ b/pica-client/pica-client.pro @@ -33,7 +33,8 @@ SOURCES += main.cpp\ openssltool.cpp \ history.cpp \ ../PICA_id.c \ - dhparam.cpp + dhparam.cpp \ + dialogs/showpicaiddialog.cpp HEADERS += mainwindow.h \ chatwindow.h \ @@ -60,7 +61,8 @@ HEADERS += mainwindow.h \ openssltool.h \ history.h \ ../PICA_id.h \ - dhparam.h + dhparam.h \ + dialogs/showpicaiddialog.h DEFINES = PICA_MULTITHREADED diff --git a/pica-client/picaactioncenter.cpp b/pica-client/picaactioncenter.cpp index a447b44..fe22c9b 100644 --- a/pica-client/picaactioncenter.cpp +++ b/pica-client/picaactioncenter.cpp @@ -5,6 +5,7 @@ #include #include "../PICA_proto.h" #include "accounts.h" +#include "dialogs/showpicaiddialog.h" #include @@ -50,10 +51,6 @@ void PicaActionCenter::exit() void PicaActionCenter::showmyid() { - QMessageBox mbx; - mbx.setTextFormat(Qt::RichText); - mbx.setText(tr("Account: %1
Pica Pica ID: %2") - .arg(Accounts::GetCurrentAccount().name) - .arg(Accounts::GetCurrentAccount().id.toBase64().constData())); - mbx.exec(); + ShowPicaIdDialog d(Accounts::GetCurrentAccount().name, Accounts::GetCurrentAccount().id, tr("My Current Account")); + d.exec(); } -- cgit v1.2.1