From 6d83f2c4e31c985122f6de9dab69d9f1d727b48a Mon Sep 17 00:00:00 2001
From: tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>
Date: Sat, 14 Aug 2010 23:32:05 +0000
Subject: Fixed quit from kmail system tray

git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1163733 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
---
 kmail/kmsystemtray.cpp | 12 +++++++++---
 kmail/kmsystemtray.h   |  1 +
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/kmail/kmsystemtray.cpp b/kmail/kmsystemtray.cpp
index 4e6463c1..e4d3a987 100644
--- a/kmail/kmsystemtray.cpp
+++ b/kmail/kmsystemtray.cpp
@@ -102,6 +102,8 @@ KMSystemTray::KMSystemTray(TQWidget *parent, const char *name)
 
   connect( kmkernel->acctMgr(), TQT_SIGNAL( checkedMail( bool, bool, const TQMap<TQString, int> & ) ),
            TQT_SLOT( updateNewMessages() ) );
+
+  connect( this, TQT_SIGNAL( quitSelected() ), TQT_SLOT( tray_quit() ) );
 }
 
 void KMSystemTray::buildPopupMenu()
@@ -133,9 +135,13 @@ void KMSystemTray::buildPopupMenu()
   mPopupMenu->insertSeparator();
 
   KMainWindow *mainWin = ::qt_cast<KMainWindow*>(kmkernel->getKMMainWidget()->topLevelWidget());
-  if(mainWin)
-    if ( ( action=mainWin->actionCollection()->action("file_quit") ) )
-      action->plug( mPopupMenu );
+  mPopupMenu->insertItem( SmallIcon("exit"), i18n("&Quit"), this, TQT_SLOT(maybeQuit()) );
+}
+
+void KMSystemTray::tray_quit()
+{
+  // Quit all of KMail
+  kapp->quit();
 }
 
 KMSystemTray::~KMSystemTray()
diff --git a/kmail/kmsystemtray.h b/kmail/kmsystemtray.h
index 21f63181..ab80f362 100644
--- a/kmail/kmsystemtray.h
+++ b/kmail/kmsystemtray.h
@@ -57,6 +57,7 @@ private slots:
   void foldersChanged();
   void selectedAccount(int);
   void updateNewMessages();
+  void tray_quit();
 
 protected:
   void mousePressEvent(TQMouseEvent *);
-- 
cgit v1.2.3

