mpengine/src/mpprogressdialoghandler.cpp
author hgs
Fri, 14 May 2010 18:54:37 -0500
changeset 35 fdb31ab341af
permissions -rw-r--r--
201019
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
35
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: Music Player Progress Dialogs Hanlder.
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#include <hbprogressdialog.h>
hgs
parents:
diff changeset
    19
#include <hblabel.h>
hgs
parents:
diff changeset
    20
#include <hbfontspec.h>
hgs
parents:
diff changeset
    21
#include <hbnotificationdialog.h>
hgs
parents:
diff changeset
    22
#include <hbmessagebox.h>
hgs
parents:
diff changeset
    23
hgs
parents:
diff changeset
    24
#include "mpprogressdialoghandler.h"
hgs
parents:
diff changeset
    25
#include "mpmpxcollectionframeworkwrapper.h"
hgs
parents:
diff changeset
    26
#include "mpmpxharvesterframeworkwrapper.h"
hgs
parents:
diff changeset
    27
#include "mptrace.h"
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
/*!
hgs
parents:
diff changeset
    30
    \class MpProgressDialogHandler
hgs
parents:
diff changeset
    31
    \brief Music Player Progress Dialogs Handler.
hgs
parents:
diff changeset
    32
hgs
parents:
diff changeset
    33
    This class controls the asynchronous operation of all progress 
hgs
parents:
diff changeset
    34
    dialogs used by Music Player
hgs
parents:
diff changeset
    35
*/
hgs
parents:
diff changeset
    36
hgs
parents:
diff changeset
    37
/*!
hgs
parents:
diff changeset
    38
 Constructs the dialog handler.
hgs
parents:
diff changeset
    39
 */
hgs
parents:
diff changeset
    40
MpProgressDialogHandler::MpProgressDialogHandler( MpMpxCollectionFrameworkWrapper *cwrapper, MpMpxHarvesterFrameworkWrapper *hwrapper,  QObject *parent )
hgs
parents:
diff changeset
    41
    : QObject( parent ),
hgs
parents:
diff changeset
    42
      mMpxCollectionWrapper(cwrapper),
hgs
parents:
diff changeset
    43
      mMpxHarvesterWrapper(hwrapper),
hgs
parents:
diff changeset
    44
      mOutStandingProgressNote(0),
hgs
parents:
diff changeset
    45
      mDeleting(false),
hgs
parents:
diff changeset
    46
      mScanning(false)
hgs
parents:
diff changeset
    47
{
hgs
parents:
diff changeset
    48
    TX_ENTRY
hgs
parents:
diff changeset
    49
    connect( mMpxCollectionWrapper, SIGNAL(deleteStarted( TCollectionContext, TInt )), this, SLOT(handleDeleteStarted( TCollectionContext, TInt )) );
hgs
parents:
diff changeset
    50
    connect( mMpxCollectionWrapper, SIGNAL(songsDeleted( bool )), this, SLOT(handleDeleteEnded( bool )) );
hgs
parents:
diff changeset
    51
    connect( mMpxCollectionWrapper, SIGNAL( openAddSongsWaitDialog() ), this, SLOT(handleAddSongs() ));
hgs
parents:
diff changeset
    52
    connect( mMpxCollectionWrapper, SIGNAL( playlistSaved( bool ) ), this, SLOT(handleAddSongsFinished( bool ) ));
hgs
parents:
diff changeset
    53
    connect( mMpxHarvesterWrapper, SIGNAL(scanStarted()), this, SLOT(handleScanStarted()) );
hgs
parents:
diff changeset
    54
    connect( mMpxHarvesterWrapper, SIGNAL(scanEnded( int, int )), this, SLOT(handleScanEnded( int, int )) );
hgs
parents:
diff changeset
    55
    connect( mMpxHarvesterWrapper, SIGNAL(scanCountChanged(int)), this, SLOT(handleScanCountChanged(int)) );
hgs
parents:
diff changeset
    56
    TX_EXIT
hgs
parents:
diff changeset
    57
}
hgs
parents:
diff changeset
    58
hgs
parents:
diff changeset
    59
/*!
hgs
parents:
diff changeset
    60
 Destructs the dialog handler.
hgs
parents:
diff changeset
    61
 */
hgs
parents:
diff changeset
    62
MpProgressDialogHandler::~MpProgressDialogHandler()
hgs
parents:
diff changeset
    63
{
hgs
parents:
diff changeset
    64
    TX_LOG
hgs
parents:
diff changeset
    65
}
hgs
parents:
diff changeset
    66
hgs
parents:
diff changeset
    67
/*!
hgs
parents:
diff changeset
    68
 Initiates song scanning.
hgs
parents:
diff changeset
    69
 */
hgs
parents:
diff changeset
    70
void MpProgressDialogHandler::scan()
hgs
parents:
diff changeset
    71
{
hgs
parents:
diff changeset
    72
    if ( !mScanning ) {
hgs
parents:
diff changeset
    73
        mScanning = true;
hgs
parents:
diff changeset
    74
        mMpxHarvesterWrapper->scan();
hgs
parents:
diff changeset
    75
    }
hgs
parents:
diff changeset
    76
}
hgs
parents:
diff changeset
    77
hgs
parents:
diff changeset
    78
/*!
hgs
parents:
diff changeset
    79
 Returns true if scanning is ongoing.
hgs
parents:
diff changeset
    80
 */
hgs
parents:
diff changeset
    81
bool MpProgressDialogHandler::isScanning()
hgs
parents:
diff changeset
    82
{
hgs
parents:
diff changeset
    83
    return mScanning;
hgs
parents:
diff changeset
    84
}
hgs
parents:
diff changeset
    85
hgs
parents:
diff changeset
    86
/*!
hgs
parents:
diff changeset
    87
 Initiates song deleting.
hgs
parents:
diff changeset
    88
 */
hgs
parents:
diff changeset
    89
void MpProgressDialogHandler::deleteSongs( QList<int> &selection )
hgs
parents:
diff changeset
    90
{
hgs
parents:
diff changeset
    91
    TX_ENTRY
hgs
parents:
diff changeset
    92
    if ( !mDeleting ) {
hgs
parents:
diff changeset
    93
        mDeleting = true;
hgs
parents:
diff changeset
    94
        mMpxCollectionWrapper->deleteSongs( selection );
hgs
parents:
diff changeset
    95
    }
hgs
parents:
diff changeset
    96
    TX_EXIT
hgs
parents:
diff changeset
    97
}
hgs
parents:
diff changeset
    98
hgs
parents:
diff changeset
    99
/*!
hgs
parents:
diff changeset
   100
 Slot called upon cancels ongoing request, if any.
hgs
parents:
diff changeset
   101
 */
hgs
parents:
diff changeset
   102
void MpProgressDialogHandler::cancelRequest()
hgs
parents:
diff changeset
   103
{
hgs
parents:
diff changeset
   104
    TX_ENTRY
hgs
parents:
diff changeset
   105
        mMpxCollectionWrapper->cancelRequest();
hgs
parents:
diff changeset
   106
    TX_EXIT
hgs
parents:
diff changeset
   107
}
hgs
parents:
diff changeset
   108
hgs
parents:
diff changeset
   109
/*!
hgs
parents:
diff changeset
   110
 Slot called upon notification from MPX FW Wrapper indicating start of
hgs
parents:
diff changeset
   111
 deleting process.
hgs
parents:
diff changeset
   112
 */
hgs
parents:
diff changeset
   113
void MpProgressDialogHandler::handleDeleteStarted(TCollectionContext context, TInt count)
hgs
parents:
diff changeset
   114
{
hgs
parents:
diff changeset
   115
    TX_ENTRY
hgs
parents:
diff changeset
   116
    emit deleteStarted();
hgs
parents:
diff changeset
   117
    HbProgressDialog *deleteProgressNote = new HbProgressDialog( HbProgressDialog::WaitDialog );
hgs
parents:
diff changeset
   118
    connect( deleteProgressNote, SIGNAL( cancelled() ), this, SLOT( cancelRequest() ) );
hgs
parents:
diff changeset
   119
    connect( deleteProgressNote, SIGNAL( aboutToClose() ), this, SLOT( outstandingPopupClosing() ) );
hgs
parents:
diff changeset
   120
    deleteProgressNote->setModal( true );
hgs
parents:
diff changeset
   121
    deleteProgressNote->setDismissPolicy( HbPopup::NoDismiss );
hgs
parents:
diff changeset
   122
    if ( context == ECollectionContextPlaylistSongs ){
hgs
parents:
diff changeset
   123
        if (count >= 100) {  //show progress dialog if removing more than 100 songs 
hgs
parents:
diff changeset
   124
            deleteProgressNote->setText( hbTrId( "txt_mus_info_removing_songs" ) );
hgs
parents:
diff changeset
   125
            setOutstandingPopup(deleteProgressNote);
hgs
parents:
diff changeset
   126
            deleteProgressNote->show();
hgs
parents:
diff changeset
   127
        }
hgs
parents:
diff changeset
   128
    }
hgs
parents:
diff changeset
   129
    else if (context != ECollectionContextPlaylists ){  //no progress dialog for delete playlist
hgs
parents:
diff changeset
   130
        deleteProgressNote->setText( hbTrId( "txt_mus_info_deleting" ) );
hgs
parents:
diff changeset
   131
        setOutstandingPopup(deleteProgressNote);
hgs
parents:
diff changeset
   132
        deleteProgressNote->show();
hgs
parents:
diff changeset
   133
    }
hgs
parents:
diff changeset
   134
    TX_EXIT
hgs
parents:
diff changeset
   135
}
hgs
parents:
diff changeset
   136
hgs
parents:
diff changeset
   137
/*!
hgs
parents:
diff changeset
   138
 Slot called upon notification from MPX FW CollectionHelper indicating end of
hgs
parents:
diff changeset
   139
 deleting process.
hgs
parents:
diff changeset
   140
 */
hgs
parents:
diff changeset
   141
void MpProgressDialogHandler::handleDeleteEnded( bool success )
hgs
parents:
diff changeset
   142
{
hgs
parents:
diff changeset
   143
    TX_ENTRY
hgs
parents:
diff changeset
   144
    Q_UNUSED( success );
hgs
parents:
diff changeset
   145
    HbProgressDialog *deleteProgressNote = qobject_cast<HbProgressDialog *>( mOutStandingProgressNote );
hgs
parents:
diff changeset
   146
    emit songsDeleted( success );
hgs
parents:
diff changeset
   147
    if ( deleteProgressNote ) {     
hgs
parents:
diff changeset
   148
        deleteProgressNote->cancel();
hgs
parents:
diff changeset
   149
    }
hgs
parents:
diff changeset
   150
    mDeleting = false;
hgs
parents:
diff changeset
   151
    TX_EXIT
hgs
parents:
diff changeset
   152
}
hgs
parents:
diff changeset
   153
hgs
parents:
diff changeset
   154
/*!
hgs
parents:
diff changeset
   155
 Slot called upon notification from MPX FW Wrapper indicating start of
hgs
parents:
diff changeset
   156
 add songs process.
hgs
parents:
diff changeset
   157
 */
hgs
parents:
diff changeset
   158
void MpProgressDialogHandler::handleAddSongs()
hgs
parents:
diff changeset
   159
{
hgs
parents:
diff changeset
   160
    HbProgressDialog *addSongsWaitNote = new HbProgressDialog( HbProgressDialog::WaitDialog );
hgs
parents:
diff changeset
   161
    connect( addSongsWaitNote, SIGNAL( cancelled() ), this, SLOT( cancelRequest() ) );
hgs
parents:
diff changeset
   162
    connect( addSongsWaitNote, SIGNAL( aboutToClose() ), this, SLOT( outstandingPopupClosing() ) );
hgs
parents:
diff changeset
   163
    addSongsWaitNote->setModal( true );
hgs
parents:
diff changeset
   164
    addSongsWaitNote->setText( hbTrId( "txt_mus_info_adding_songs" ) );
hgs
parents:
diff changeset
   165
    setOutstandingPopup( addSongsWaitNote );
hgs
parents:
diff changeset
   166
    addSongsWaitNote->show();
hgs
parents:
diff changeset
   167
    
hgs
parents:
diff changeset
   168
    
hgs
parents:
diff changeset
   169
}
hgs
parents:
diff changeset
   170
hgs
parents:
diff changeset
   171
/*!
hgs
parents:
diff changeset
   172
 Slot called upon notification from MPX FW CollectionHelper indicating end of
hgs
parents:
diff changeset
   173
 add songs process.
hgs
parents:
diff changeset
   174
 */
hgs
parents:
diff changeset
   175
void MpProgressDialogHandler::handleAddSongsFinished( bool success )
hgs
parents:
diff changeset
   176
{
hgs
parents:
diff changeset
   177
    Q_UNUSED(success);
hgs
parents:
diff changeset
   178
    HbProgressDialog *addSongsWaitNote = qobject_cast<HbProgressDialog *>( mOutStandingProgressNote );
hgs
parents:
diff changeset
   179
    if (addSongsWaitNote){
hgs
parents:
diff changeset
   180
        addSongsWaitNote->cancel();
hgs
parents:
diff changeset
   181
    }
hgs
parents:
diff changeset
   182
}
hgs
parents:
diff changeset
   183
hgs
parents:
diff changeset
   184
/*!
hgs
parents:
diff changeset
   185
 Cancels ongoing song scanning, if any.
hgs
parents:
diff changeset
   186
hgs
parents:
diff changeset
   187
 \sa scan()
hgs
parents:
diff changeset
   188
 */
hgs
parents:
diff changeset
   189
void MpProgressDialogHandler::cancelScan()
hgs
parents:
diff changeset
   190
{
hgs
parents:
diff changeset
   191
    if ( mScanning ) {
hgs
parents:
diff changeset
   192
        mScanning = false;
hgs
parents:
diff changeset
   193
        mMpxHarvesterWrapper->cancelScan();
hgs
parents:
diff changeset
   194
    }
hgs
parents:
diff changeset
   195
}
hgs
parents:
diff changeset
   196
hgs
parents:
diff changeset
   197
/*!
hgs
parents:
diff changeset
   198
 Slot called upon notification from MPX Harvesting FW indicating start of
hgs
parents:
diff changeset
   199
 scanning process.
hgs
parents:
diff changeset
   200
 */
hgs
parents:
diff changeset
   201
void MpProgressDialogHandler::handleScanStarted()
hgs
parents:
diff changeset
   202
{
hgs
parents:
diff changeset
   203
    HbProgressDialog *scanProgressNote = new HbProgressDialog( HbProgressDialog::WaitDialog );
hgs
parents:
diff changeset
   204
    connect( scanProgressNote, SIGNAL( cancelled() ), this, SLOT( cancelScan() ) );
hgs
parents:
diff changeset
   205
    connect( scanProgressNote, SIGNAL( aboutToClose() ), this, SLOT( outstandingPopupClosing() ) );
hgs
parents:
diff changeset
   206
    
hgs
parents:
diff changeset
   207
    scanProgressNote->setModal( true );
hgs
parents:
diff changeset
   208
    HbLabel *title = new HbLabel( hbTrId( "txt_mus_title_refreshing" ) );
hgs
parents:
diff changeset
   209
    title->setFontSpec(HbFontSpec(HbFontSpec::Primary));
hgs
parents:
diff changeset
   210
hgs
parents:
diff changeset
   211
    scanProgressNote->setHeadingWidget( title );
hgs
parents:
diff changeset
   212
    scanProgressNote->setText( QString("") );
hgs
parents:
diff changeset
   213
    setOutstandingPopup( scanProgressNote );
hgs
parents:
diff changeset
   214
    scanProgressNote->show();
hgs
parents:
diff changeset
   215
}
hgs
parents:
diff changeset
   216
hgs
parents:
diff changeset
   217
/*!
hgs
parents:
diff changeset
   218
 Slot called upon notification from MPX Harvesting FW indicating end of
hgs
parents:
diff changeset
   219
 scanning process.
hgs
parents:
diff changeset
   220
 */
hgs
parents:
diff changeset
   221
void MpProgressDialogHandler::handleScanEnded( int numItemsAdded, int error )
hgs
parents:
diff changeset
   222
{
hgs
parents:
diff changeset
   223
    HbProgressDialog *scanProgressNote = qobject_cast<HbProgressDialog *>( mOutStandingProgressNote );
hgs
parents:
diff changeset
   224
    if (error == KErrDiskFull) {
hgs
parents:
diff changeset
   225
        if ( scanProgressNote ) {     
hgs
parents:
diff changeset
   226
            scanProgressNote->cancel();
hgs
parents:
diff changeset
   227
        }
hgs
parents:
diff changeset
   228
        QString diskfull;
hgs
parents:
diff changeset
   229
        diskfull = hbTrId( "txt_mus_title_refresh_cancelled" );
hgs
parents:
diff changeset
   230
        diskfull.append(" ");
hgs
parents:
diff changeset
   231
        diskfull.append( hbTrId( "txt_mus_info_out_of_disk_space" ) );
hgs
parents:
diff changeset
   232
        HbMessageBox *diskFullDialog = new HbMessageBox();
hgs
parents:
diff changeset
   233
        setOutstandingPopup( diskFullDialog );
hgs
parents:
diff changeset
   234
        diskFullDialog->setIcon( HbIcon( QString("qtg_small_fail") ) );
hgs
parents:
diff changeset
   235
        diskFullDialog->setText( diskfull );
hgs
parents:
diff changeset
   236
        diskFullDialog->setTimeout( HbPopup::NoTimeout);
hgs
parents:
diff changeset
   237
        diskFullDialog->show();
hgs
parents:
diff changeset
   238
        mScanning = false;
hgs
parents:
diff changeset
   239
               
hgs
parents:
diff changeset
   240
    }
hgs
parents:
diff changeset
   241
    else{
hgs
parents:
diff changeset
   242
        QString added;
hgs
parents:
diff changeset
   243
        HbNotificationDialog *finishedDialog = new HbNotificationDialog();
hgs
parents:
diff changeset
   244
        finishedDialog->setModal(true);
hgs
parents:
diff changeset
   245
            
hgs
parents:
diff changeset
   246
        added = hbTrId( "txt_mus_dpopinfo_ln_songs_added", numItemsAdded );
hgs
parents:
diff changeset
   247
        finishedDialog->setText( added );
hgs
parents:
diff changeset
   248
              
hgs
parents:
diff changeset
   249
        if( error < 0) {
hgs
parents:
diff changeset
   250
            if ( scanProgressNote ) {     
hgs
parents:
diff changeset
   251
                scanProgressNote->cancel();
hgs
parents:
diff changeset
   252
            }
hgs
parents:
diff changeset
   253
            finishedDialog->setIcon( HbIcon( QString("qtg_small_fail") ) );
hgs
parents:
diff changeset
   254
            finishedDialog->setTitle( hbTrId( "txt_mus_dpophead_refresh_cancelled" ) );
hgs
parents:
diff changeset
   255
        }
hgs
parents:
diff changeset
   256
        else if ( mScanning ) {
hgs
parents:
diff changeset
   257
            if ( scanProgressNote ) {     
hgs
parents:
diff changeset
   258
                scanProgressNote->cancel();
hgs
parents:
diff changeset
   259
            }
hgs
parents:
diff changeset
   260
            finishedDialog->setIcon( HbIcon( QString("qtg_large_ok") ) );
hgs
parents:
diff changeset
   261
            finishedDialog->setTitle( hbTrId( "txt_mus_dpophead_refresh_complete" ) );
hgs
parents:
diff changeset
   262
        }
hgs
parents:
diff changeset
   263
        else {
hgs
parents:
diff changeset
   264
            finishedDialog->setIcon( HbIcon( QString("qtg_small_fail") ) );
hgs
parents:
diff changeset
   265
            finishedDialog->setTitle( hbTrId( "txt_mus_dpophead_refresh_cancelled" ) );
hgs
parents:
diff changeset
   266
        }
hgs
parents:
diff changeset
   267
        mScanning = false;
hgs
parents:
diff changeset
   268
        setOutstandingPopup( finishedDialog );
hgs
parents:
diff changeset
   269
        finishedDialog->show();
hgs
parents:
diff changeset
   270
    }
hgs
parents:
diff changeset
   271
}
hgs
parents:
diff changeset
   272
hgs
parents:
diff changeset
   273
/*!
hgs
parents:
diff changeset
   274
 Slot called upon notification from MPX Harvesting FW indicating the number of
hgs
parents:
diff changeset
   275
 songs scanned so far.
hgs
parents:
diff changeset
   276
 */
hgs
parents:
diff changeset
   277
void MpProgressDialogHandler::handleScanCountChanged(int count)
hgs
parents:
diff changeset
   278
{
hgs
parents:
diff changeset
   279
    HbProgressDialog *scanProgressNote = qobject_cast<HbProgressDialog *>( mOutStandingProgressNote );
hgs
parents:
diff changeset
   280
    QString added;
hgs
parents:
diff changeset
   281
    added = hbTrId( "txt_mus_info_ln_songs_added" , count );
hgs
parents:
diff changeset
   282
    if ( scanProgressNote ) {
hgs
parents:
diff changeset
   283
        scanProgressNote->setText( added );
hgs
parents:
diff changeset
   284
    }
hgs
parents:
diff changeset
   285
}
hgs
parents:
diff changeset
   286
hgs
parents:
diff changeset
   287
/*!
hgs
parents:
diff changeset
   288
 Slot to be called when disk event is received from MPX framework.
hgs
parents:
diff changeset
   289
 */
hgs
parents:
diff changeset
   290
void MpProgressDialogHandler::handleDiskEvent( MpxDiskEvents event )
hgs
parents:
diff changeset
   291
{
hgs
parents:
diff changeset
   292
    Q_UNUSED( event );
hgs
parents:
diff changeset
   293
    HbProgressDialog *progressNote = qobject_cast<HbProgressDialog *>( mOutStandingProgressNote );
hgs
parents:
diff changeset
   294
    if ( progressNote ) {
hgs
parents:
diff changeset
   295
        progressNote->cancel();
hgs
parents:
diff changeset
   296
    }
hgs
parents:
diff changeset
   297
    mScanning = false;
hgs
parents:
diff changeset
   298
    mDeleting = false;
hgs
parents:
diff changeset
   299
    TX_EXIT
hgs
parents:
diff changeset
   300
}
hgs
parents:
diff changeset
   301
hgs
parents:
diff changeset
   302
/*!
hgs
parents:
diff changeset
   303
 Slot to be called when mOutStandingProgressNote is about to close.
hgs
parents:
diff changeset
   304
 */
hgs
parents:
diff changeset
   305
void MpProgressDialogHandler::handleOutstandingPopupClosing()
hgs
parents:
diff changeset
   306
{
hgs
parents:
diff changeset
   307
    TX_ENTRY
hgs
parents:
diff changeset
   308
    mOutStandingProgressNote = 0;
hgs
parents:
diff changeset
   309
    TX_EXIT
hgs
parents:
diff changeset
   310
}
hgs
parents:
diff changeset
   311
hgs
parents:
diff changeset
   312
/*!
hgs
parents:
diff changeset
   313
 \internal
hgs
parents:
diff changeset
   314
 sets \a popup as the current outstanding popup and cancels any other active popup.
hgs
parents:
diff changeset
   315
 */
hgs
parents:
diff changeset
   316
void MpProgressDialogHandler::setOutstandingPopup( HbPopup *popup )
hgs
parents:
diff changeset
   317
{
hgs
parents:
diff changeset
   318
    TX_ENTRY
hgs
parents:
diff changeset
   319
    //Close previous popup
hgs
parents:
diff changeset
   320
    if ( mOutStandingProgressNote ) {
hgs
parents:
diff changeset
   321
        disconnect( mOutStandingProgressNote, SIGNAL( aboutToClose() ), this, SLOT( handleOutstandingPopupClosing() ) );
hgs
parents:
diff changeset
   322
        mOutStandingProgressNote->close();
hgs
parents:
diff changeset
   323
    }
hgs
parents:
diff changeset
   324
hgs
parents:
diff changeset
   325
    //Set new outstanding popup
hgs
parents:
diff changeset
   326
    popup->setAttribute( Qt::WA_DeleteOnClose );
hgs
parents:
diff changeset
   327
    connect( popup, SIGNAL( aboutToClose() ), this, SLOT( handleOutstandingPopupClosing() ) );
hgs
parents:
diff changeset
   328
    mOutStandingProgressNote = popup;
hgs
parents:
diff changeset
   329
    TX_EXIT
hgs
parents:
diff changeset
   330
}
hgs
parents:
diff changeset
   331