From 57ead40b4e5d6f70e93e4f4762a64aa9b50f2c6b Mon Sep 17 00:00:00 2001 From: me_desk Date: Sun, 13 Oct 2013 12:54:56 +0000 Subject: "show my ID" menuitem git-svn-id: svn://localhost/project_picapica/trunk@280 fb96df88-216d-11de-830c-f3023f12d8ac --- pica-client/contactlistwidget.cpp | 17 +++++++++++++++++ pica-client/contactlistwidget.h | 2 ++ pica-client/mainwindow.cpp | 3 +++ pica-client/mainwindow.h | 1 + pica-client/picaactioncenter.cpp | 14 ++++++++++++++ pica-client/picaactioncenter.h | 3 +++ 6 files changed, 40 insertions(+) diff --git a/pica-client/contactlistwidget.cpp b/pica-client/contactlistwidget.cpp index 0fe79e6..2fd378f 100644 --- a/pica-client/contactlistwidget.cpp +++ b/pica-client/contactlistwidget.cpp @@ -25,6 +25,9 @@ ContactListWidget::ContactListWidget(QWidget *parent) : viewcertAct = new QAction(tr("&View Certificate"), this); connect(viewcertAct, SIGNAL(triggered()), this, SLOT(view_cert())); + showidAct = new QAction(tr("Show Pica Pica &ID"), this); + connect(showidAct, SIGNAL(triggered()), this, SLOT(show_id())); + connect(this, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(start_chat())); setContactsStorage(new Contacts(config_dbname, Accounts::GetCurrentAccount().id)); @@ -51,6 +54,9 @@ void ContactListWidget::contextMenuEvent(QContextMenuEvent *event) if (this->itemAt(event->pos())) menu.addAction(viewcertAct); + if (this->itemAt(event->pos())) + menu.addAction(showidAct); + menu.exec(event->globalPos()); } @@ -183,6 +189,17 @@ 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(); +} + void ContactListWidget::Reload() { setContactsStorage(storage); diff --git a/pica-client/contactlistwidget.h b/pica-client/contactlistwidget.h index 4fe936a..2007d92 100644 --- a/pica-client/contactlistwidget.h +++ b/pica-client/contactlistwidget.h @@ -18,6 +18,7 @@ public: QAction *delcontactAct; QAction *startchatAct; QAction *viewcertAct; + QAction *showidAct; protected: void contextMenuEvent(QContextMenuEvent *event); @@ -39,6 +40,7 @@ private slots: void del_contact(); void start_chat(); void view_cert(); + void show_id(); //void debug_onmsginput(QString msg, ChatWindow *sender_window);//debug remove after debug }; diff --git a/pica-client/mainwindow.cpp b/pica-client/mainwindow.cpp index b030919..c440e20 100644 --- a/pica-client/mainwindow.cpp +++ b/pica-client/mainwindow.cpp @@ -106,6 +106,9 @@ void MainWindow::createMenus() contactsMenu->addSeparator(); contactsMenu->addAction(action_center->ExitAct()); + accountMenu=menuBar()->addMenu(tr("&Account")); + accountMenu->addAction(action_center->ShowMyIDAct()); + nodesMenu=menuBar()->addMenu(tr("&Nodes")); helpMenu=menuBar()->addMenu(tr("&Help")); diff --git a/pica-client/mainwindow.h b/pica-client/mainwindow.h index b324ec7..ba73c9a 100644 --- a/pica-client/mainwindow.h +++ b/pica-client/mainwindow.h @@ -38,6 +38,7 @@ private: QMenu *contactsMenu; QMenu *helpMenu; QMenu *nodesMenu; + QMenu *accountMenu; bool status_change_disable_flag; void SetStatus(bool connected); diff --git a/pica-client/picaactioncenter.cpp b/pica-client/picaactioncenter.cpp index 10f71f3..a447b44 100644 --- a/pica-client/picaactioncenter.cpp +++ b/pica-client/picaactioncenter.cpp @@ -4,6 +4,7 @@ #include "skynet.h" #include #include "../PICA_proto.h" +#include "accounts.h" #include @@ -17,6 +18,9 @@ PicaActionCenter::PicaActionCenter(QObject *parent) : aboutAct = new QAction(tr("A&bout"),this); aboutAct->setStatusTip(tr("About Pica Pica Messenger")); connect(aboutAct,SIGNAL(triggered()),this,SLOT(about())); + + showmyidAct = new QAction(tr("Show My Pica Pica ID"), this); + connect(showmyidAct, SIGNAL(triggered()), this, SLOT(showmyid())); } void PicaActionCenter::about() @@ -43,3 +47,13 @@ void PicaActionCenter::exit() skynet->Exit(); QApplication::instance()->quit(); } + +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(); +} diff --git a/pica-client/picaactioncenter.h b/pica-client/picaactioncenter.h index a406743..3fb0780 100644 --- a/pica-client/picaactioncenter.h +++ b/pica-client/picaactioncenter.h @@ -12,10 +12,12 @@ public: QAction *AboutAct() {return aboutAct;}; QAction *ExitAct() {return exitAct;}; + QAction *ShowMyIDAct() {return showmyidAct;}; private: QAction *aboutAct; QAction *exitAct; + QAction *showmyidAct; signals: @@ -23,6 +25,7 @@ public slots: private slots: void about(); void exit(); + void showmyid(); }; #endif // PICAACTIONCENTER_H -- cgit v1.2.1