diff -r 000000000000 -r dd21522fd290 browserutilities/browserdialogsprovider/Inc/BrowserUploadProgressNote.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browserutilities/browserdialogsprovider/Inc/BrowserUploadProgressNote.h Mon Mar 30 12:54:55 2009 +0300 @@ -0,0 +1,144 @@ +/* +* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* This class creates a progress dialog, which shows the progress of an upload +* +* +*/ + + +#ifndef BROWSERUPLOADPROGRESSNOTE_H +#define BROWSERUPLOADPROGRESSNOTE_H + +#include +#include + +class CEikDialog; +class CEikProgressInfo; +class MBrowserDialogsProviderObserver; + +class CBrowserUploadProgressNote : public CAknProgressDialog, + public MProgressDialogCallback + { + public: + /** + * Constructor + * @param aMaxValue The maximal value of the progress. + * @param aObserver Observers of the dialog + * @param aSelfPtr self pointer + */ + CBrowserUploadProgressNote( TInt aMaxValue, + MBrowserDialogsProviderObserver* aObserver, + CEikDialog** aSelfPtr ); + + /** + * Destructor. + */ + virtual ~CBrowserUploadProgressNote(); + + /** + * Two-phased constructor. Leaves on failure. + * @param aMaxValue The maximal value of the progress. + * @param aObserver Observers of the dialog + * @param aSelfPtr self pointer + * @return The constructed progress note. + */ + static CBrowserUploadProgressNote* NewL( TInt aMaxValue, + MBrowserDialogsProviderObserver* aObserver, + CEikDialog** aSelfPtr ); + + /** + * Two-phased constructor. Leaves on failure. + * Places the instance on the cleanup stack. + * @param aMaxValue The maximal value of the progress. + * @param aObserver Observers of the dialog + * @param aSelfPtr self pointer + * @return The constructed progress note. + */ + static CBrowserUploadProgressNote* NewLC( TInt aMaxValue, + MBrowserDialogsProviderObserver* aObserver, + CEikDialog** aSelfPtr ); + + /** + * Updates the progress bar by a given value. + * @param aChunkSize The size of chunk of data uploaded this time. + */ + void UpdateL( TInt aChunkSize ); + + public: // from MProgressDialogCallback + + /** + * Callback which is called when a dialog has beed dismissed + * Requires registration with SetCallback( MProgressDialogCallback* ) + * + */ + void DialogDismissedL( TInt aButtonId ); + + private: + /** + * Two-phased constructor. Leaves on failure. + */ + void ConstructL( ); + + /** + * Divides the given parameters, and returns the result + * as a formatted string. + * @param aNumerator The numerator of the division. + * @param aDenominator The denominator of the division. + * @return A pointer to the created descriptor on the heap. + * + * The calling program must destroy the heap descriptor when it is no + * longer needed. + */ + HBufC* DivisionL( TInt aNumerator, TInt aDenominator ); + + + private: + /** + * The sum of sizes for all uploaded fields (to be uploaded). + */ + TInt iMaxValue; + + /** + * The currently uploaded size of data. + */ + TInt iUploaded; + + /** + * Handle of the progress note. + */ + //CAknProgressDialog* iProgressDlg; + + /** + * Handle to the progress bar of the progress note. + */ + CEikProgressInfo* iProgressInfo; + + /** + * Handle to the "Uploaded:\n %U / %U " decriptor in resource. + */ + HBufC* iStrUploaded; + + /** + * Handle to the "kB" / "MB" decriptor in resource. + */ + HBufC* iStrUnit; + + /** + * Dialog Observer Pointer + */ + MBrowserDialogsProviderObserver* iObserver; + }; + +#endif \ No newline at end of file