Changing WarningDialog to QMessageBox
diff --git a/src/addcontactpanel.cpp b/src/addcontactpanel.cpp
index 78f6102..38bc6e9 100644
--- a/src/addcontactpanel.cpp
+++ b/src/addcontactpanel.cpp
@@ -10,6 +10,7 @@
 
 #include "addcontactpanel.h"
 #include "ui_addcontactpanel.h"
+#include <QMessageBox>
 
 #ifndef Q_MOC_RUN
 // #include <cryptopp/base64.h>
@@ -90,8 +91,7 @@
         m_contactManager->fetchKey(m_searchIdentity);
       else
         {
-          m_warningDialog->setMsg("Wrong key certificate name!");
-          m_warningDialog->show();
+          QMessageBox::information(this, tr("Chronos"), QString::fromStdString("Wrong key certificate name!"));
         }
     }
 }
@@ -128,8 +128,7 @@
   try{
     m_contactManager->getContactStorage()->addContact(contactItem);
   }catch(exception& e){
-    m_warningDialog->setMsg(e.what());
-    m_warningDialog->show();
+    QMessageBox::information(this, tr("Chronos"), QString::fromStdString(e.what()));
     _LOG_ERROR("Exception: " << e.what());
     return;
   }
@@ -143,8 +142,7 @@
   try{
     m_currentEndorseCertificate = Ptr<EndorseCertificate>(new EndorseCertificate(endorseCertificate));
   }catch(exception& e){
-    m_warningDialog->setMsg(e.what());
-    m_warningDialog->show();
+    QMessageBox::information(this, tr("Chronos"), QString::fromStdString(e.what()));
     _LOG_ERROR("Exception: " << e.what());
     return;
   }
@@ -157,8 +155,7 @@
 void
 AddContactPanel::selfEndorseCertificateFetchFailed(const Name& identity)
 {
-  m_warningDialog->setMsg("Cannot fetch contact profile");
-  m_warningDialog->show();
+  QMessageBox::information(this, tr("Chronos"), QString::fromStdString("Cannot fetch contact profile"));
 }
 
 void
@@ -167,8 +164,7 @@
   try{
     m_currentEndorseCertificate = Ptr<EndorseCertificate>(new EndorseCertificate(endorseCertificate));
   }catch(exception& e){
-    m_warningDialog->setMsg(e.what());
-    m_warningDialog->show();
+    QMessageBox::information(this, tr("Chronos"), QString::fromStdString(e.what()));
     _LOG_ERROR("Exception: " << e.what());
     return;
   }
@@ -181,8 +177,7 @@
 void
 AddContactPanel::onContactKeyFetchFailed(const Name& identity)
 {
-  m_warningDialog->setMsg("Cannot fetch contact ksk certificate");
-  m_warningDialog->show();
+  QMessageBox::information(this, tr("Chronos"), QString::fromStdString("Cannot fetch contact ksk certificate"));
 }
 
 void
diff --git a/src/browsecontactdialog.cpp b/src/browsecontactdialog.cpp
index 20a23a9..78a6ab4 100644
--- a/src/browsecontactdialog.cpp
+++ b/src/browsecontactdialog.cpp
@@ -11,6 +11,7 @@
 
 #include "browsecontactdialog.h"
 #include "ui_browsecontactdialog.h"
+#include <QMessageBox>
 
 #ifndef Q_MOC_RUN
 #include <boost/asio.hpp>
@@ -73,8 +74,7 @@
     request_stream.connect("ndncert.named-data.net","80");
     if(!request_stream)
       {
-	m_warningDialog->setMsg("Fail to fetch certificate directory! #1");
-	m_warningDialog->show();
+	QMessageBox::information(this, tr("Chronos"), QString::fromStdString("Fail to fetch certificate directory! #1"));
 	return;
       }
     request_stream << "GET /cert/list/ HTTP/1.0\r\n";
@@ -85,8 +85,7 @@
     std::getline(request_stream,line1);
     if (!request_stream)
       {
-	m_warningDialog->setMsg("Fail to fetch certificate directory! #2");
-	m_warningDialog->show();
+	QMessageBox::information(this, tr("Chronos"), QString::fromStdString("Fail to fetch certificate directory! #2"));
 	return;
       }
 
@@ -100,14 +99,12 @@
 
     if (!response_stream||http_version.substr(0,5)!="HTTP/")
       {
-    	m_warningDialog->setMsg("Fail to fetch certificate directory! #3");
-	m_warningDialog->show();
+    	QMessageBox::information(this, tr("Chronos"), QString::fromStdString("Fail to fetch certificate directory! #3"));
 	return;
       }
     if (status_code!=200)
       {
-    	m_warningDialog->setMsg("Fail to fetch certificate directory! #4");
-	m_warningDialog->show();
+    	QMessageBox::information(this, tr("Chronos"), QString::fromStdString("Fail to fetch certificate directory! #4"));
 	return;
       }
     vector<string> headers;
@@ -135,13 +132,11 @@
           it++;
         }
     }catch (exception &e){
-      m_warningDialog->setMsg("Fail to fetch certificate directory! #5");
-      m_warningDialog->show();
+      QMessageBox::information(this, tr("Chronos"), QString::fromStdString("Fail to fetch certificate directory! #5"));
     }
 
   }catch(std::exception &e){
-    m_warningDialog->setMsg("Fail to fetch certificate directory! #N");
-    m_warningDialog->show();
+    QMessageBox::information(this, tr("Chronos"), QString::fromStdString("Fail to fetch certificate directory! #N"));
   }
 }
 
@@ -189,7 +184,8 @@
       for(; it != certNameList.end(); it++)
 	{
           try{
-            m_certificateNameList.push_back(Name (*it));
+            Name name(*it);
+            m_certificateNameList.push_back(name);
           }
           catch(error::Name)
             {
@@ -259,6 +255,8 @@
   for(int i = ui->InfoTable->rowCount() - 1; i >= 0 ; i--)
     ui->InfoTable->removeRow(i);
 
+  ui->InfoTable->horizontalHeader()->show();
+
   map<Name, Profile>::iterator it = m_profileMap.find(certName);
   if(it != m_profileMap.end())
     {
@@ -317,6 +315,18 @@
 BrowseContactDialog::onCancelClicked()
 { this->close(); }
 
+void
+BrowseContactDialog::closeEvent(QCloseEvent *e)
+{
+  ui->InfoTable->clear();
+  for(int i = ui->InfoTable->rowCount() - 1; i >= 0 ; i--)
+      ui->InfoTable->removeRow(i);
+  ui->InfoTable->horizontalHeader()->hide();
+
+  hide();
+  e->ignore();
+}
+
 #if WAF
 #include "browsecontactdialog.moc"
 #include "browsecontactdialog.cpp.moc"
diff --git a/src/browsecontactdialog.h b/src/browsecontactdialog.h
index dfcb64c..8b8029f 100644
--- a/src/browsecontactdialog.h
+++ b/src/browsecontactdialog.h
@@ -14,6 +14,7 @@
 
 #include <QDialog>
 #include <QStringListModel>
+#include <QCloseEvent>
 #include "warningdialog.h"
 
 
@@ -56,6 +57,10 @@
   void
   fetchCertificate();
 
+protected:
+  void
+  closeEvent(QCloseEvent *e);
+
 private slots:
   void
   updateSelection(const QItemSelection &selected,
diff --git a/src/contact-manager.cpp b/src/contact-manager.cpp
index eac5c51..2203ffe 100644
--- a/src/contact-manager.cpp
+++ b/src/contact-manager.cpp
@@ -45,7 +45,7 @@
   try{
     m_wrapper = Ptr<Wrapper>(new Wrapper(m_keychain));
   }catch(ndn::Error::ndnOperation& e){
-    emit noNdnConnection(QString::fromStdString("Cannot conect to ndnd!\n Have you started your ndnd?"));
+    emit noNdnConnection(QString::fromStdString("Cannot conect to ndnd!\nHave you started your ndnd?"));
   }
 }
 
diff --git a/src/contactpanel.cpp b/src/contactpanel.cpp
index b0276b7..1fc62aa 100644
--- a/src/contactpanel.cpp
+++ b/src/contactpanel.cpp
@@ -113,7 +113,7 @@
           this, SLOT(openProfileEditor()));
 
   connect(m_profileEditor, SIGNAL(noKeyOrCert(const QString&)),
-          this, SLOT(showError(const QString&)));
+          this, SLOT(showWarning(const QString&)));
 
   // connect(ui->AddContactButton, SIGNAL(clicked()),
   //         this, SLOT(openAddContactPanel()));
@@ -252,6 +252,7 @@
   string prefix = QString::fromStdString (originPrefix).trimmed ().toUtf8().constData();
   string randomSuffix = getRandomString();
   m_localPrefix = Name(prefix);
+  
 }
 
 void
@@ -439,6 +440,11 @@
 }
 
 void
+ContactPanel::showWarning(const QString& msg){
+  QMessageBox::information(this, tr("Chronos"), msg);
+}
+
+void
 ContactPanel::updateSelection(const QItemSelection &selected,
 			      const QItemSelection &deselected)
 {
@@ -531,13 +537,20 @@
 ContactPanel::updateDefaultIdentity(const QString& identity, const QString& nickName)
 { 
   // _LOG_DEBUG(identity.toStdString());
-  m_defaultIdentity = Name(identity.toStdString());
-  Name defaultKeyName = m_keychain->getIdentityManager()->getPublicStorage()->getDefaultKeyNameForIdentity(m_defaultIdentity);
+  Name defaultIdentity = Name(identity.toStdString());
+  Name defaultKeyName = m_keychain->getIdentityManager()->getPublicStorage()->getDefaultKeyNameForIdentity(defaultIdentity);
   if(defaultKeyName.size() == 0)
-    showError(QString::fromStdString("Corresponding key is missing!\nHave you created the key?"));
+    {
+      showWarning(QString::fromStdString("Corresponding key is missing!\nHave you created the key?"));
+      return;
+    }
   Name defaultCertName = m_keychain->getIdentityManager()->getPublicStorage()->getDefaultCertificateNameForKey(defaultKeyName);
   if(defaultCertName.size() == 0)
-    showError(QString::fromStdString("Corresponding certificate is missing!\nHave you installed the certificate?"));
+    {
+      showWarning(QString::fromStdString("Corresponding certificate is missing!\nHave you installed the certificate?"));
+      return;
+    }
+  m_defaultIdentity = defaultIdentity;
   m_profileEditor->setCurrentIdentity(m_defaultIdentity);
   m_nickName = nickName.toStdString();
   m_handler->clearInterestFilter(m_inviteListenPrefix);
diff --git a/src/contactpanel.h b/src/contactpanel.h
index 92bccf3..439f52a 100644
--- a/src/contactpanel.h
+++ b/src/contactpanel.h
@@ -122,6 +122,9 @@
   showError(const QString& msg);
 
   void
+  showWarning(const QString& msg);
+
+  void
   updateSelection(const QItemSelection &selected,
                   const QItemSelection &deselected);
 
diff --git a/src/profileeditor.cpp b/src/profileeditor.cpp
index f0f92d2..4804431 100644
--- a/src/profileeditor.cpp
+++ b/src/profileeditor.cpp
@@ -85,11 +85,17 @@
 {
   Name defaultKeyName = m_identityManager->getPublicStorage()->getDefaultKeyNameForIdentity(m_currentIdentity);
   if(defaultKeyName.size() == 0)
-    emit noKeyOrCert(QString::fromStdString("Corresponding key is missing!\nHave you created the key?"));
+    {
+      emit noKeyOrCert(QString::fromStdString("Corresponding key is missing!\nHave you created the key?"));
+      return;
+    }
+
   Name defaultCertName = m_identityManager->getPublicStorage()->getDefaultCertificateNameForKey(defaultKeyName);
   if(defaultCertName.size() == 0)
-    emit noKeyOrCert(QString::fromStdString("Corresponding certificate is missing!\nHave you installed the certificate?"));
-
+    {
+      emit noKeyOrCert(QString::fromStdString("Corresponding certificate is missing!\nHave you installed the certificate?"));
+      return;
+    }
 
   m_tableModel->submitAll();
   m_contactManager->updateProfileData(m_currentIdentity);