aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorManjeet Dahiya <manjeetdahiya@gmail.com>2010-09-26 05:20:07 +0000
committerManjeet Dahiya <manjeetdahiya@gmail.com>2010-09-26 05:20:07 +0000
commitddccc1a81948a3dabc95609f0d356d67d26c4bc3 (patch)
tree764c5027fbdff79c80d3b77aefcecc84ddacc8dd /examples
parent2e87a2bbfa262efa7031bbabcbb19b4ee4754f1f (diff)
downloadqxmpp-ddccc1a81948a3dabc95609f0d356d67d26c4bc3.tar.gz
add system icon
Diffstat (limited to 'examples')
-rw-r--r--examples/GuiClient/mainDialog.cpp21
-rw-r--r--examples/GuiClient/mainDialog.h9
2 files changed, 29 insertions, 1 deletions
diff --git a/examples/GuiClient/mainDialog.cpp b/examples/GuiClient/mainDialog.cpp
index c4e2f920..0748422d 100644
--- a/examples/GuiClient/mainDialog.cpp
+++ b/examples/GuiClient/mainDialog.cpp
@@ -46,9 +46,12 @@
mainDialog::mainDialog(QWidget *parent): QDialog(parent, Qt::Window),
ui(new Ui::mainDialogClass), m_rosterItemModel(this),
m_rosterItemSortFilterModel(this), m_vCardManager(&m_xmppClient),
- m_capabilitiesCollection(&m_xmppClient), m_accountsCache(this)
+ m_capabilitiesCollection(&m_xmppClient), m_accountsCache(this),
+ m_trayIcon(this), m_trayIconMenu(this), m_quitAction("Quit", this)
{
ui->setupUi(this);
+ createTrayIconAndMenu();
+
ui->pushButton_cancel->setDisabled(true);
ui->label_throbber->setMovie(new QMovie(":/icons/resource/ajax-loader.gif"));
ui->label_throbber->movie()->start();
@@ -557,3 +560,19 @@ void mainDialog::addAccountToCache()
passwd = "";
m_accountsCache.addAccount(bareJid, passwd);
}
+
+void mainDialog::action_quit()
+{
+ m_xmppClient.disconnectFromServer();
+ close();
+}
+
+void mainDialog::createTrayIconAndMenu()
+{
+ bool check = connect(&m_quitAction, SIGNAL(triggered()), SLOT(action_quit()));
+ Q_ASSERT(check);
+
+ m_trayIconMenu.addAction(&m_quitAction);
+ m_trayIcon.setContextMenu(&m_trayIconMenu);
+ m_trayIcon.show();
+}
diff --git a/examples/GuiClient/mainDialog.h b/examples/GuiClient/mainDialog.h
index 2f603633..2e679f4f 100644
--- a/examples/GuiClient/mainDialog.h
+++ b/examples/GuiClient/mainDialog.h
@@ -36,6 +36,8 @@
#include "vCardManager.h"
#include "capabilitiesCollection.h"
#include "accountsCache.h"
+#include <QSystemTrayIcon>
+#include <QMenu>
namespace Ui
{
@@ -81,8 +83,11 @@ private slots:
void userNameCompleter_activated(const QString&);
void addAccountToCache();
+ void action_quit();
+
private:
void loadAccounts();
+ void createTrayIconAndMenu();
chatDialog* getChatDialog(const QString& bareJid);
@@ -97,6 +102,10 @@ private:
// map of bare jids and respective chatdlg
QMap<QString, chatDialog*> m_chatDlgsList;
+
+ QSystemTrayIcon m_trayIcon;
+ QMenu m_trayIconMenu;
+ QAction m_quitAction;
};
#endif // MAINDIALOG_H