aboutsummaryrefslogtreecommitdiff
path: root/examples/GuiClient/mainDialog.cpp
diff options
context:
space:
mode:
authorManjeet Dahiya <manjeetdahiya@gmail.com>2010-09-26 07:49:56 +0000
committerManjeet Dahiya <manjeetdahiya@gmail.com>2010-09-26 07:49:56 +0000
commit06976314a805d193882ea8ecfa8b0d08fe16cbf3 (patch)
tree073586bea0237729facf4f377cf646f13962c171 /examples/GuiClient/mainDialog.cpp
parentfc290ac23c3d09faff325b7669c9cf77a64ba910 (diff)
downloadqxmpp-06976314a805d193882ea8ecfa8b0d08fe16cbf3.tar.gz
add signout in the systemTray menu
Diffstat (limited to 'examples/GuiClient/mainDialog.cpp')
-rw-r--r--examples/GuiClient/mainDialog.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/examples/GuiClient/mainDialog.cpp b/examples/GuiClient/mainDialog.cpp
index 95835cd5..1c7ee434 100644
--- a/examples/GuiClient/mainDialog.cpp
+++ b/examples/GuiClient/mainDialog.cpp
@@ -47,7 +47,8 @@ mainDialog::mainDialog(QWidget *parent): QDialog(parent, Qt::Window),
ui(new Ui::mainDialogClass), m_rosterItemModel(this),
m_rosterItemSortFilterModel(this), m_vCardManager(&m_xmppClient),
m_capabilitiesCache(&m_xmppClient), m_accountsCache(this),
- m_trayIcon(this), m_trayIconMenu(this), m_quitAction("Quit", this)
+ m_trayIcon(this), m_trayIconMenu(this), m_quitAction("Quit", this),
+ m_signOutAction("Sign out", this)
{
ui->setupUi(this);
createTrayIconAndMenu();
@@ -583,6 +584,16 @@ void mainDialog::addAccountToCache()
m_accountsCache.addAccount(bareJid, passwd);
}
+void mainDialog::action_signOut()
+{
+ m_xmppClient.disconnectFromServer();
+ showSignInPageAfterUserDisconnection();
+
+ // update widget
+ m_statusWidget.setStatusText(
+ presenceToStatusText(m_xmppClient.clientPresence()));
+}
+
void mainDialog::action_quit()
{
m_xmppClient.disconnectFromServer();
@@ -596,11 +607,16 @@ void mainDialog::createTrayIconAndMenu()
bool check = connect(&m_quitAction, SIGNAL(triggered()), SLOT(action_quit()));
Q_ASSERT(check);
+ check = connect(&m_signOutAction, SIGNAL(triggered()), SLOT(action_signOut()));
+ Q_ASSERT(check);
+
check = connect(&m_trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
SLOT(action_trayIconActivated(QSystemTrayIcon::ActivationReason)));
Q_ASSERT(check);
+ m_trayIconMenu.addAction(&m_signOutAction);
m_trayIconMenu.addAction(&m_quitAction);
+
m_trayIcon.setContextMenu(&m_trayIconMenu);
m_trayIcon.show();
}