aboutsummaryrefslogtreecommitdiff
path: root/examples/GuiClient/mainDialog.cpp
diff options
context:
space:
mode:
authorManjeet Dahiya <manjeetdahiya@gmail.com>2010-09-09 11:21:43 +0000
committerManjeet Dahiya <manjeetdahiya@gmail.com>2010-09-09 11:21:43 +0000
commit02087213c15a17e290e1d364b9c4823004c402c6 (patch)
treef4d92f4f6190cd18b81d809561d9e58c27096853 /examples/GuiClient/mainDialog.cpp
parent53376da9b3fced19ffc4dc8f6ade00d700fd342a (diff)
downloadqxmpp-02087213c15a17e290e1d364b9c4823004c402c6.tar.gz
link the profile dialog
Diffstat (limited to 'examples/GuiClient/mainDialog.cpp')
-rw-r--r--examples/GuiClient/mainDialog.cpp38
1 files changed, 37 insertions, 1 deletions
diff --git a/examples/GuiClient/mainDialog.cpp b/examples/GuiClient/mainDialog.cpp
index e8c53f73..35705e89 100644
--- a/examples/GuiClient/mainDialog.cpp
+++ b/examples/GuiClient/mainDialog.cpp
@@ -34,6 +34,8 @@
#include "QXmppLogger.h"
#include "QXmppVCardIq.h"
+#include "profileDialog.h"
+
#include <QMovie>
mainDialog::mainDialog(QWidget *parent): QDialog(parent, Qt::Window),
@@ -74,6 +76,10 @@ mainDialog::mainDialog(QWidget *parent): QDialog(parent, Qt::Window),
this, SLOT(showChatDialog(const QString&)));
Q_ASSERT(check);
+ check = connect(ui->listView, SIGNAL(showProfile(const QString&)),
+ this, SLOT(showProfile(const QString&)));
+ Q_ASSERT(check);
+
check = connect(&m_xmppClient, SIGNAL(messageReceived(const QXmppMessage&)),
SLOT(messageReceived(const QXmppMessage&)));
Q_ASSERT(check);
@@ -255,7 +261,8 @@ chatDialog* mainDialog::getChatDialog(const QString& bareJid)
void mainDialog::showChatDialog(const QString& bareJid)
{
- getChatDialog(bareJid)->show();
+ if(!bareJid.isEmpty())
+ getChatDialog(bareJid)->show();
}
void mainDialog::messageReceived(const QXmppMessage& msg)
@@ -439,3 +446,32 @@ void mainDialog::updateVCard(const QString& bareJid)
m_statusWidget.setAvatar(m_vCardManager.getVCard(bareJid).image);
}
}
+
+void mainDialog::showProfile(const QString& bareJid)
+{
+ if(bareJid.isEmpty())
+ return;
+
+ profileDialog dlg(this);
+ dlg.setBareJid(bareJid);
+ dlg.setAvatar(m_vCardManager.getVCard(bareJid).imageOriginal);
+ QStringList resources = m_xmppClient.rosterManager().getResources(bareJid);
+
+ dlg.setFullName(m_vCardManager.getVCard(bareJid).fullName);
+
+ QString statusText;
+ for(int i = 0; i < resources.count(); ++i)
+ {
+ QString resource = resources.at(i);
+ statusText += "<B>"+ resource+ "</B>";
+ statusText += "</B><BR>";
+ QXmppPresence presence = m_xmppClient.rosterManager().getPresence(bareJid, resource);
+ statusText += presenceToStatusText(presence);
+
+ if(i < resources.count() - 1) // skip for the last item
+ statusText += "<BR><BR>";
+ }
+ dlg.setStatusText(statusText);
+
+ dlg.exec();
+}