logsui/logsapp/src/logsmainwindow.cpp
changeset 16 c5af8598d22c
parent 14 f27aebe284bb
child 19 e4c884866116
equal deleted inserted replaced
14:f27aebe284bb 16:c5af8598d22c
    16 */
    16 */
    17 
    17 
    18 #include "logsmainwindow.h"
    18 #include "logsmainwindow.h"
    19 #include "logslogger.h"
    19 #include "logslogger.h"
    20 #include <QKeyEvent>
    20 #include <QKeyEvent>
       
    21 #include <QApplication>
    21 #include <xqserviceutil.h>
    22 #include <xqserviceutil.h>
    22 
    23 
    23 // -----------------------------------------------------------------------------
    24 // -----------------------------------------------------------------------------
    24 // LogsMainWindow::LogsMainWindow
    25 // LogsMainWindow::LogsMainWindow
    25 // -----------------------------------------------------------------------------
    26 // -----------------------------------------------------------------------------
    26 //
    27 //
    27 LogsMainWindow::LogsMainWindow() : HbMainWindow(), mForeground(false)
    28 LogsMainWindow::LogsMainWindow() 
       
    29     : HbMainWindow(), mForeground(false), mLocaleChanged(false)
    28 {
    30 {
       
    31     qApp->installEventFilter(this);
    29 }
    32 }
    30 
    33 
    31 // -----------------------------------------------------------------------------
    34 // -----------------------------------------------------------------------------
    32 // LogsMainWindow::~LogsMainWindow
    35 // LogsMainWindow::~LogsMainWindow
    33 // -----------------------------------------------------------------------------
    36 // -----------------------------------------------------------------------------
    41 // -----------------------------------------------------------------------------
    44 // -----------------------------------------------------------------------------
    42 //
    45 //
    43 void LogsMainWindow::sendAppToBackground()
    46 void LogsMainWindow::sendAppToBackground()
    44 {
    47 {
    45     LOGS_QDEBUG( "logs [UI] -> LogsMainWindow::sendAppToBackground" );
    48     LOGS_QDEBUG( "logs [UI] -> LogsMainWindow::sendAppToBackground" );
    46     mForeground = false;
       
    47     XQServiceUtil::toBackground(true);
    49     XQServiceUtil::toBackground(true);
    48     LOGS_QDEBUG( "logs [UI] <- LogsMainWindow::sendAppToBackground" );
    50     LOGS_QDEBUG( "logs [UI] <- LogsMainWindow::sendAppToBackground" );
    49 }
    51 }
    50 
    52 
    51 // -----------------------------------------------------------------------------
    53 // -----------------------------------------------------------------------------
    53 // -----------------------------------------------------------------------------
    55 // -----------------------------------------------------------------------------
    54 //
    56 //
    55 void LogsMainWindow::bringAppToForeground()
    57 void LogsMainWindow::bringAppToForeground()
    56 {
    58 {
    57     LOGS_QDEBUG( "logs [UI] -> LogsMainWindow::bringAppToForeground" );
    59     LOGS_QDEBUG( "logs [UI] -> LogsMainWindow::bringAppToForeground" );
    58     mForeground = true;
       
    59     show();
    60     show();
    60     raise();
    61     raise();
    61     LOGS_QDEBUG( "logs [UI] <- LogsMainWindow::bringAppToForeground" );
    62     LOGS_QDEBUG( "logs [UI] <- LogsMainWindow::bringAppToForeground" );
    62 }
    63 }
    63 
    64 
    85         return;
    86         return;
    86     }
    87     }
    87     HbMainWindow::keyPressEvent(event);
    88     HbMainWindow::keyPressEvent(event);
    88 }
    89 }
    89 
    90 
       
    91 // -----------------------------------------------------------------------------
       
    92 // LogsMainWindow::eventFilter
       
    93 // -----------------------------------------------------------------------------
       
    94 //
       
    95 bool LogsMainWindow::eventFilter(QObject *obj, QEvent *event)
       
    96 {
       
    97     if (event->type() == QEvent::ApplicationActivate) {
       
    98         LOGS_QDEBUG( "logs [UI] -> eventFilter(), QEvent::ApplicationActivate" );
       
    99         mForeground = true;
       
   100         if (mLocaleChanged) {
       
   101             LOGS_QDEBUG( "logs [UI] -> locale changed when we were on BG" );
       
   102             emit localeChanged();
       
   103             mLocaleChanged = false;
       
   104         }
       
   105         emit appGainedForeground();
       
   106     } else if (event->type() == QEvent::ApplicationDeactivate) {
       
   107         LOGS_QDEBUG( "logs [UI] -> eventFilter(), QEvent::ApplicationDeactivate" );
       
   108         mForeground = false;
       
   109     } else if (event->type() == QEvent::LocaleChange) {
       
   110         if (mForeground) {
       
   111             emit localeChanged();
       
   112         } else {
       
   113             mLocaleChanged = true;
       
   114         }
       
   115     }
       
   116     
       
   117     return HbMainWindow::eventFilter(obj,event);
       
   118 }