From 6d83f2c4e31c985122f6de9dab69d9f1d727b48a Mon Sep 17 00:00:00 2001 From: tpearson 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 4e6463c15..e4d3a9879 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 & ) ), 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(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 21f631814..ab80f362a 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.1