diff -r 36d7ded3ca23 -r 01f0bb65bcf1 mmsharing/livecommsui/lcui/src/lcviewmanager_p.cpp --- a/mmsharing/livecommsui/lcui/src/lcviewmanager_p.cpp Wed Aug 18 09:46:00 2010 +0300 +++ b/mmsharing/livecommsui/lcui/src/lcviewmanager_p.cpp Thu Sep 02 20:23:40 2010 +0300 @@ -46,6 +46,7 @@ { // TODO: remove flag WindowFlagFixedHorizontal if portait layout // is going to be supported. + qApp->installEventFilter(this); } // ----------------------------------------------------------------------------- @@ -57,21 +58,23 @@ } // ----------------------------------------------------------------------------- -// LcMainWindow::event +// LcMainWindow::eventFilter // ----------------------------------------------------------------------------- // -bool LcMainWindow::event(QEvent *event) -{ - if ( event->type() == QEvent::FocusIn ){ - LC_QDEBUG( "livecomms [UI] -> LcMainWindow::event(), focus in" ) +bool LcMainWindow::eventFilter ( QObject * watched, QEvent * event ) +{ + if ( event->type() == QEvent::ApplicationActivate ){ + LC_QDEBUG( "livecomms [UI] -> LcMainWindow::eventFilter(), ApplicationActivate" ) emit appFocusGained(); - } else if ( event->type() == QEvent::FocusOut ){ - LC_QDEBUG( "livecomms [UI] -> LcMainWindow::event(), focus out" ) + } else if (( event->type() == QEvent::ApplicationDeactivate ) && + ( !this->windowSurface()) ){ + LC_QDEBUG( "livecomms [UI] -> LcMainWindow::eventFilter(), ApplicationDeactivate" ) emit appFocusLost(); } - return HbMainWindow::event(event); + return QObject::eventFilter(watched, event); } + // ----------------------------------------------------------------------------- // LcViewManagerPrivate::LcViewManagerPrivate // ----------------------------------------------------------------------------- @@ -102,12 +105,12 @@ { LC_QDEBUG( "livecomms [UI] -> LcViewManagerPrivate::~LcViewManagerPrivate()" ) + delete mEngine; QList views = mMainWindow.views(); foreach( HbView* view, views ){ mMainWindow.removeView(view); } - delete mRepository; - delete mEngine; + delete mRepository; LC_QDEBUG( "livecomms [UI] <- LcViewManagerPrivate::~LcViewManagerPrivate()" ) }