btobexprofiles/obexserviceman/utils/src/obexutilsglobaldialog.cpp
author hgs
Fri, 28 May 2010 17:03:06 +0300
changeset 32 19bd632b5100
permissions -rw-r--r--
201021
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
32
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2002 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:  Handles the global progress dialog for voice recognition
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
// INCLUDE FILES
hgs
parents:
diff changeset
    23
hgs
parents:
diff changeset
    24
#include "obexutilsglobalprogressdialog.h"
hgs
parents:
diff changeset
    25
#include "obexutilsuilayer.h"
hgs
parents:
diff changeset
    26
#include <AknIconUtils.h>
hgs
parents:
diff changeset
    27
#include <avkon.mbg>
hgs
parents:
diff changeset
    28
#include <avkon.rsg>
hgs
parents:
diff changeset
    29
#include <bautils.h>
hgs
parents:
diff changeset
    30
#include    "obexutilsdebug.h"
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
// ================= MEMBER FUNCTIONS =======================
hgs
parents:
diff changeset
    35
hgs
parents:
diff changeset
    36
// C++ default constructor can NOT contain any code, that
hgs
parents:
diff changeset
    37
// might leave.
hgs
parents:
diff changeset
    38
//
hgs
parents:
diff changeset
    39
CGlobalDialog::CGlobalDialog() : CActive(EPriorityNormal)
hgs
parents:
diff changeset
    40
   {
hgs
parents:
diff changeset
    41
   CActiveScheduler::Add( this );
hgs
parents:
diff changeset
    42
   }
hgs
parents:
diff changeset
    43
hgs
parents:
diff changeset
    44
// Symbian default constructor can leave.
hgs
parents:
diff changeset
    45
void CGlobalDialog::ConstructL(MGlobalNoteCallback* aObserver)
hgs
parents:
diff changeset
    46
   {    
hgs
parents:
diff changeset
    47
    iKeyCallback = aObserver;
hgs
parents:
diff changeset
    48
    iAknGlobalNote = CAknGlobalNote::NewL();
hgs
parents:
diff changeset
    49
   }
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
hgs
parents:
diff changeset
    52
// Two-phased constructor.
hgs
parents:
diff changeset
    53
EXPORT_C CGlobalDialog* CGlobalDialog::NewL(MGlobalNoteCallback* aObserver)
hgs
parents:
diff changeset
    54
   {
hgs
parents:
diff changeset
    55
   CGlobalDialog* self = NewLC(aObserver);
hgs
parents:
diff changeset
    56
   CleanupStack::Pop();
hgs
parents:
diff changeset
    57
   return self;
hgs
parents:
diff changeset
    58
   }
hgs
parents:
diff changeset
    59
hgs
parents:
diff changeset
    60
// Two-phased constructor.- stack version
hgs
parents:
diff changeset
    61
EXPORT_C CGlobalDialog* CGlobalDialog::NewLC(MGlobalNoteCallback* aObserver)
hgs
parents:
diff changeset
    62
   {
hgs
parents:
diff changeset
    63
   CGlobalDialog* self=new (ELeave) CGlobalDialog();
hgs
parents:
diff changeset
    64
   CleanupStack::PushL(self);
hgs
parents:
diff changeset
    65
   self->ConstructL(aObserver);
hgs
parents:
diff changeset
    66
   return self;
hgs
parents:
diff changeset
    67
   }
hgs
parents:
diff changeset
    68
hgs
parents:
diff changeset
    69
EXPORT_C void CGlobalDialog::ShowErrorDialogL(TInt aResourceId)
hgs
parents:
diff changeset
    70
{
hgs
parents:
diff changeset
    71
    TFileName fileName;
hgs
parents:
diff changeset
    72
    fileName += KObexUtilsFileDrive;
hgs
parents:
diff changeset
    73
    fileName += KDC_RESOURCE_FILES_DIR;
hgs
parents:
diff changeset
    74
    fileName += KObexUtilsResourceFileName;
hgs
parents:
diff changeset
    75
    
hgs
parents:
diff changeset
    76
    if(!iStringResourceReader)
hgs
parents:
diff changeset
    77
    {
hgs
parents:
diff changeset
    78
        iStringResourceReader= CStringResourceReader::NewL( fileName );
hgs
parents:
diff changeset
    79
    }
hgs
parents:
diff changeset
    80
    TPtrC buf;
hgs
parents:
diff changeset
    81
    buf.Set(iStringResourceReader-> ReadResourceString(aResourceId)); 
hgs
parents:
diff changeset
    82
    iAknGlobalNote->SetSoftkeys(R_AVKON_SOFTKEYS_CLOSE);
hgs
parents:
diff changeset
    83
    iAknGlobalNote->ShowNoteL(iStatus,EAknGlobalInformationNote, buf);    
hgs
parents:
diff changeset
    84
    FTRACE( FPrint(_L( "[ObexUtils] CGlobalDialog: ShowNoteDialogL buf: \t %S" ), &buf) );
hgs
parents:
diff changeset
    85
    SetActive();    
hgs
parents:
diff changeset
    86
    
hgs
parents:
diff changeset
    87
}
hgs
parents:
diff changeset
    88
EXPORT_C void CGlobalDialog::ShowNoteDialogL( TInt aResourceId, TBool anAnimation)
hgs
parents:
diff changeset
    89
{
hgs
parents:
diff changeset
    90
    TFileName fileName;
hgs
parents:
diff changeset
    91
    fileName += KObexUtilsFileDrive;
hgs
parents:
diff changeset
    92
    fileName += KDC_RESOURCE_FILES_DIR;
hgs
parents:
diff changeset
    93
    fileName += KObexUtilsResourceFileName;
hgs
parents:
diff changeset
    94
    
hgs
parents:
diff changeset
    95
    if(!iStringResourceReader)
hgs
parents:
diff changeset
    96
    {
hgs
parents:
diff changeset
    97
        iStringResourceReader= CStringResourceReader::NewL( fileName );
hgs
parents:
diff changeset
    98
    }
hgs
parents:
diff changeset
    99
    TPtrC buf;
hgs
parents:
diff changeset
   100
    buf.Set(iStringResourceReader-> ReadResourceString(aResourceId)); 
hgs
parents:
diff changeset
   101
    iAknGlobalNote->SetSoftkeys(R_AVKON_SOFTKEYS_CANCEL);
hgs
parents:
diff changeset
   102
    if(anAnimation)
hgs
parents:
diff changeset
   103
    {
hgs
parents:
diff changeset
   104
        iAknGlobalNote->SetAnimation(R_QGN_GRAF_WAIT_BAR_ANIM);
hgs
parents:
diff changeset
   105
    }
hgs
parents:
diff changeset
   106
    iAknGlobalNote->ShowNoteL(iStatus,EAknGlobalWaitNote, buf);    
hgs
parents:
diff changeset
   107
    FTRACE( FPrint(_L( "[ObexUtils] CGlobalDialog: ShowNoteDialogL buf: \t %S" ), &buf) );
hgs
parents:
diff changeset
   108
    SetActive();
hgs
parents:
diff changeset
   109
hgs
parents:
diff changeset
   110
}
hgs
parents:
diff changeset
   111
hgs
parents:
diff changeset
   112
// Destructor
hgs
parents:
diff changeset
   113
CGlobalDialog::~CGlobalDialog()
hgs
parents:
diff changeset
   114
   {
hgs
parents:
diff changeset
   115
   Cancel();
hgs
parents:
diff changeset
   116
   if(iAknGlobalNote)
hgs
parents:
diff changeset
   117
   {
hgs
parents:
diff changeset
   118
       delete iAknGlobalNote;   
hgs
parents:
diff changeset
   119
       iAknGlobalNote = NULL;
hgs
parents:
diff changeset
   120
   }
hgs
parents:
diff changeset
   121
   
hgs
parents:
diff changeset
   122
   delete iStringResourceReader;
hgs
parents:
diff changeset
   123
   
hgs
parents:
diff changeset
   124
   }
hgs
parents:
diff changeset
   125
hgs
parents:
diff changeset
   126
hgs
parents:
diff changeset
   127
hgs
parents:
diff changeset
   128
// ---------------------------------------------------------
hgs
parents:
diff changeset
   129
// CGlobalDialog::DoCancel
hgs
parents:
diff changeset
   130
// Active object cancel
hgs
parents:
diff changeset
   131
// ---------------------------------------------------------
hgs
parents:
diff changeset
   132
//
hgs
parents:
diff changeset
   133
void CGlobalDialog::DoCancel()
hgs
parents:
diff changeset
   134
   {
hgs
parents:
diff changeset
   135
      ProcessFinished();
hgs
parents:
diff changeset
   136
    if(iStringResourceReader)
hgs
parents:
diff changeset
   137
    {
hgs
parents:
diff changeset
   138
        delete iStringResourceReader;
hgs
parents:
diff changeset
   139
        iStringResourceReader = NULL;
hgs
parents:
diff changeset
   140
    }
hgs
parents:
diff changeset
   141
   }
hgs
parents:
diff changeset
   142
hgs
parents:
diff changeset
   143
// ---------------------------------------------------------
hgs
parents:
diff changeset
   144
// CGlobalDialog::RunL
hgs
parents:
diff changeset
   145
// Active object RunL
hgs
parents:
diff changeset
   146
// ---------------------------------------------------------
hgs
parents:
diff changeset
   147
//
hgs
parents:
diff changeset
   148
void CGlobalDialog::RunL()
hgs
parents:
diff changeset
   149
    {
hgs
parents:
diff changeset
   150
hgs
parents:
diff changeset
   151
    FTRACE( FPrint(_L( "[ObexUtils] CGlobalDialog: RunL iStatus.Int():\t %d" ), iStatus.Int() ) );
hgs
parents:
diff changeset
   152
    if ( iKeyCallback != NULL )
hgs
parents:
diff changeset
   153
        {
hgs
parents:
diff changeset
   154
        iKeyCallback->HandleGlobalNoteDialogL(iStatus.Int());
hgs
parents:
diff changeset
   155
        }
hgs
parents:
diff changeset
   156
    }
hgs
parents:
diff changeset
   157
hgs
parents:
diff changeset
   158
// ---------------------------------------------------------
hgs
parents:
diff changeset
   159
// CGlobalDialog::ProcessFinished
hgs
parents:
diff changeset
   160
// Stops the progress dialog
hgs
parents:
diff changeset
   161
// ---------------------------------------------------------
hgs
parents:
diff changeset
   162
//
hgs
parents:
diff changeset
   163
EXPORT_C void CGlobalDialog::ProcessFinished()
hgs
parents:
diff changeset
   164
   { 
hgs
parents:
diff changeset
   165
    FLOG( _L( "[ObexUtils] CGlobalDialog::ProcessFinished\t" ) );   
hgs
parents:
diff changeset
   166
    delete iAknGlobalNote;
hgs
parents:
diff changeset
   167
    iAknGlobalNote = NULL;   
hgs
parents:
diff changeset
   168
   }
hgs
parents:
diff changeset
   169