emailuis/nmailui/src/nmviewerserviceinterface.cpp
changeset 43 99bcbff212ad
parent 40 2c62ef3caffd
child 44 c2d07d913565
equal deleted inserted replaced
42:139d4b7b2938 43:99bcbff212ad
    49 /*!
    49 /*!
    50     Class desctructor.
    50     Class desctructor.
    51 */
    51 */
    52 NmViewerServiceInterface::~NmViewerServiceInterface()
    52 NmViewerServiceInterface::~NmViewerServiceInterface()
    53 {
    53 {
       
    54     NM_FUNCTION;
    54 }
    55 }
    55 
    56 
    56 
    57 
    57 /*!
    58 /*!
    58     Opens view to the specific message
    59     Opens view to the specific message
    59  */
    60  */
    60 void NmViewerServiceInterface::viewMessage(QVariant mailboxId, QVariant folderId, QVariant messageId)
    61 void NmViewerServiceInterface::viewMessage(QVariant mailboxId, QVariant folderId, QVariant messageId)
    61 {
    62 {
    62     NMLOG("NmViewerServiceInterface::viewMessage()");
    63     NM_FUNCTION;
       
    64 
    63 #ifndef NM_WINS_ENV
    65 #ifndef NM_WINS_ENV
    64     mAsyncReqId = setCurrentRequestAsync();
    66     mAsyncReqId = setCurrentRequestAsync();
    65 
    67 
    66     NmId mailboxNmId(mailboxId.toULongLong());
    68     NmId mailboxNmId(mailboxId.toULongLong());
    67     NmId messageNmId(messageId.toULongLong());
    69     NmId messageNmId(messageId.toULongLong());
    68     NmId folderNmId(folderId.toULongLong());
    70     NmId folderNmId(folderId.toULongLong());
       
    71 
       
    72 	// Make sure the app stays background if user presses back in viewer view
       
    73 	bool visible = mApplication->updateVisibilityState();
    69 
    74 
    70     NmMessage *message = mUiEngine.message( mailboxNmId, folderNmId, messageNmId );
    75     NmMessage *message = mUiEngine.message( mailboxNmId, folderNmId, messageNmId );
    71     if (message) {
    76     if (message) {
    72         // bring application to foreground
    77         // bring application to foreground
    73         XQServiceUtil::toBackground(false);
    78         XQServiceUtil::toBackground(false);
    90     }
    95     }
    91     else {
    96     else {
    92         // Message was not found
    97         // Message was not found
    93 
    98 
    94         // if started as embedded, do not hide the app
    99         // if started as embedded, do not hide the app
    95 		if (!XQServiceUtil::isEmbedded()) {
   100 		if (!XQServiceUtil::isEmbedded() && !visible) {
    96 			XQServiceUtil::toBackground(true);
   101 			XQServiceUtil::toBackground(true);
    97 		}
   102 		}
    98 
   103 
    99         completeRequest(mAsyncReqId,1);
   104         completeRequest(mAsyncReqId,1);
   100 
   105