messagingapp/msgservices/msgserviceapp/src/msgservicewindow.cpp
author hgs
Tue, 05 Oct 2010 13:58:47 +0530
changeset 73 ecf6a73a9186
parent 62 fdbe8253b596
permissions -rw-r--r--
201039_03
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
37
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
 * All rights reserved.
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
 *
hgs
parents:
diff changeset
     9
 * Initial Contributors:
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
 *
hgs
parents:
diff changeset
    12
 * Contributors:
hgs
parents:
diff changeset
    13
 *
hgs
parents:
diff changeset
    14
 * Description: Message services manages all messaging Qt highway services. 
hgs
parents:
diff changeset
    15
 *
hgs
parents:
diff changeset
    16
 */
73
ecf6a73a9186 201039_03
hgs
parents: 62
diff changeset
    17
#include <hbapplication.h>
37
hgs
parents:
diff changeset
    18
#include "msgservicewindow.h"
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
#include "msgviewinterface.h"
hgs
parents:
diff changeset
    21
#include "msgsendinterface.h"
hgs
parents:
diff changeset
    22
#include "msgshareuiinterface.h"
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
    23
#include "msgurihandlerinterface.h"
37
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
#include "msgstorehandler.h"
hgs
parents:
diff changeset
    26
#include "msgserviceviewmanager.h"
hgs
parents:
diff changeset
    27
62
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
    28
#include <QKeyEvent>
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
    29
37
hgs
parents:
diff changeset
    30
// LOCALIZATION
hgs
parents:
diff changeset
    31
#define LOC_BUTTON_DELETE hbTrId("txt_common_button_delete")
hgs
parents:
diff changeset
    32
#define LOC_BUTTON_CANCEL hbTrId("txt_common_button_cancel")
hgs
parents:
diff changeset
    33
#define LOC_DELETE_MESSAGE hbTrId("txt_messaging_dialog_delete_message")
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
hgs
parents:
diff changeset
    36
// ----------------------------------------------------------------------------
hgs
parents:
diff changeset
    37
// MsgServiceWindow::MsgServiceWindow
hgs
parents:
diff changeset
    38
// @see header
hgs
parents:
diff changeset
    39
// ----------------------------------------------------------------------------
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
    40
MsgServiceWindow::MsgServiceWindow():HbMainWindow(
3507212d340e 201031_02
hgs
parents: 48
diff changeset
    41
        NULL,Hb::WindowFlagTransparent),
3507212d340e 201031_02
hgs
parents: 48
diff changeset
    42
mSendInterface(NULL),
37
hgs
parents:
diff changeset
    43
mViewInterface(NULL),
hgs
parents:
diff changeset
    44
mShareUiInterface(NULL),
hgs
parents:
diff changeset
    45
mStoreHandler(NULL),
hgs
parents:
diff changeset
    46
mViewManager(NULL)
hgs
parents:
diff changeset
    47
    {
hgs
parents:
diff changeset
    48
    // create stote handler
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
    49
    mStoreHandler = q_check_ptr(new MsgStoreHandler());
37
hgs
parents:
diff changeset
    50
    
hgs
parents:
diff changeset
    51
    // create view manager
hgs
parents:
diff changeset
    52
    mViewManager = new MsgServiceViewManager(mStoreHandler,this);
hgs
parents:
diff changeset
    53
    
hgs
parents:
diff changeset
    54
    // create interfaces 
hgs
parents:
diff changeset
    55
    mSendInterface = new MsgSendInterface(mViewManager);
hgs
parents:
diff changeset
    56
    mViewInterface = new MsgViewInterface(mViewManager);
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
    57
    mUriInterface = new MsgUriHandlerInterface(mViewManager);
37
hgs
parents:
diff changeset
    58
    mShareUiInterface = new MsgShareUiInterface(mViewManager);
73
ecf6a73a9186 201039_03
hgs
parents: 62
diff changeset
    59
    
ecf6a73a9186 201039_03
hgs
parents: 62
diff changeset
    60
    // connect to aboutToQuit signal to save drafts content
ecf6a73a9186 201039_03
hgs
parents: 62
diff changeset
    61
    QObject::connect(qApp, SIGNAL(aboutToQuit()), 
ecf6a73a9186 201039_03
hgs
parents: 62
diff changeset
    62
                this, SLOT(saveDraftContents()));
37
hgs
parents:
diff changeset
    63
    }
hgs
parents:
diff changeset
    64
hgs
parents:
diff changeset
    65
// ----------------------------------------------------------------------------
hgs
parents:
diff changeset
    66
// MsgServiceWindow::~MsgServiceWindow
hgs
parents:
diff changeset
    67
// @see header
hgs
parents:
diff changeset
    68
// ----------------------------------------------------------------------------
hgs
parents:
diff changeset
    69
MsgServiceWindow::~MsgServiceWindow()
hgs
parents:
diff changeset
    70
    {
hgs
parents:
diff changeset
    71
    if(mShareUiInterface)
hgs
parents:
diff changeset
    72
        {
hgs
parents:
diff changeset
    73
        delete mShareUiInterface;
hgs
parents:
diff changeset
    74
        }
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
    75
	
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
    76
	if(mUriInterface)
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
    77
        {
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
    78
        delete mUriInterface;
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
    79
        }
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
    80
		
37
hgs
parents:
diff changeset
    81
    if(mViewInterface)
hgs
parents:
diff changeset
    82
        {
hgs
parents:
diff changeset
    83
        delete mViewInterface;
hgs
parents:
diff changeset
    84
        }
hgs
parents:
diff changeset
    85
    if(mSendInterface)
hgs
parents:
diff changeset
    86
        {
hgs
parents:
diff changeset
    87
        delete mSendInterface;
hgs
parents:
diff changeset
    88
        }
hgs
parents:
diff changeset
    89
    if(mViewManager)
hgs
parents:
diff changeset
    90
        {
hgs
parents:
diff changeset
    91
        delete mViewManager;
hgs
parents:
diff changeset
    92
        }
hgs
parents:
diff changeset
    93
hgs
parents:
diff changeset
    94
    if(mStoreHandler)
hgs
parents:
diff changeset
    95
        {
hgs
parents:
diff changeset
    96
        delete mStoreHandler;
hgs
parents:
diff changeset
    97
        }
hgs
parents:
diff changeset
    98
    }
hgs
parents:
diff changeset
    99
62
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   100
//---------------------------------------------------------------
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   101
// MsgServiceWindow::keyPressEvent
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   102
// @see header
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   103
//---------------------------------------------------------------
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   104
void MsgServiceWindow::keyPressEvent(QKeyEvent *event)
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   105
{
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   106
    bool eventHandled = false;
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   107
    if (Qt::Key_Yes == event->key()) {
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   108
        eventHandled = mViewManager->handleKeyEvent(event->key());
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   109
    }
37
hgs
parents:
diff changeset
   110
62
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   111
    if (eventHandled) {
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   112
        event->accept();
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   113
    }
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   114
    else {
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   115
        HbMainWindow::keyPressEvent(event);
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   116
    }
37
hgs
parents:
diff changeset
   117
62
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   118
}
73
ecf6a73a9186 201039_03
hgs
parents: 62
diff changeset
   119
ecf6a73a9186 201039_03
hgs
parents: 62
diff changeset
   120
//---------------------------------------------------------------
ecf6a73a9186 201039_03
hgs
parents: 62
diff changeset
   121
// MsgServiceWindow::saveActivity
ecf6a73a9186 201039_03
hgs
parents: 62
diff changeset
   122
// @see header
ecf6a73a9186 201039_03
hgs
parents: 62
diff changeset
   123
//---------------------------------------------------------------
ecf6a73a9186 201039_03
hgs
parents: 62
diff changeset
   124
void MsgServiceWindow::saveDraftContents()
ecf6a73a9186 201039_03
hgs
parents: 62
diff changeset
   125
{
ecf6a73a9186 201039_03
hgs
parents: 62
diff changeset
   126
    mViewManager->saveContentToDraft();
ecf6a73a9186 201039_03
hgs
parents: 62
diff changeset
   127
}
62
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   128
// EOF