src/hbwidgets/devicedialogs/hbdeviceprogressdialogsymbian.cpp
changeset 28 b7da29130b0e
parent 23 e6ad4ef83b23
child 30 80e4d18b72f5
equal deleted inserted replaced
23:e6ad4ef83b23 28:b7da29130b0e
   330     aDialog->iShowLevel = aLevel;
   330     aDialog->iShowLevel = aLevel;
   331 }
   331 }
   332 
   332 
   333 /*!
   333 /*!
   334     \class MHbDeviceProgressDialogObserver
   334     \class MHbDeviceProgressDialogObserver
   335     \brief MHbDeviceProgressDialogObserver is an observer interface for observing CHbDeviceProgressDialogSymbian.
   335     \brief MHbDeviceProgressDialogObserver is an observer interface for CHbDeviceProgressDialogSymbian.
       
   336 
       
   337     \sa CHbDeviceProgressDialogSymbian
   336 */
   338 */
   337 
   339 
   338 /*!
   340 /*!
   339     \fn void MHbDeviceProgressDialogObserver::ProgressDialogCancelled(const CHbDeviceProgressDialogSymbian* aDialog) = 0
   341     \fn void MHbDeviceProgressDialogObserver::ProgressDialogCancelled(const CHbDeviceProgressDialogSymbian* aDialog) = 0
   340 
   342 
   341     This callback is called when the device progress dialog is closed by user pressing the "cancel" button.
   343     This callback is called when the device progress dialog is closed by user pressing the "cancel" button.
   342 
   344 
   343     \a aDialog - Pointer to dialog that was cancelled.
   345     \param aDialog Pointer to dialog that was cancelled.
   344 */
   346 */
   345 
   347 
   346 /*!
   348 /*!
   347    \fn void MHbDeviceProgressDialogObserver::ProgressDialogClosed(const CHbDeviceProgressDialogSymbian* aDialog) = 0
   349    \fn void MHbDeviceProgressDialogObserver::ProgressDialogClosed(const CHbDeviceProgressDialogSymbian* aDialog) = 0
   348 
   350 
   349     This callback is called when a device progress dialog is has closed. The closing may
   351     This callback is called when a device progress dialog is has closed. The closing may
   350     be a result of Close() being called, a dialog with autoClose property has reached
   352     be a result of Close() being called, a auto-closing dialog has reached
   351     its maximum value or user pressing cancel button. It is not called if Close() is
   353     its maximum value or user pressing cancel button. It is not called if Close() is
   352     called before ShowL().
   354     called before ShowL().
   353 
   355 
   354     \a aDialog - Pointer to dialog instance that has closed.
   356     \param aDialog Pointer to dialog instance that has closed.
   355 */
   357 */
   356 
   358 
   357 /*!
   359 /*!
       
   360     \stable
       
   361     \hbwidgets
       
   362 
   358     \class CHbDeviceProgressDialogSymbian
   363     \class CHbDeviceProgressDialogSymbian
   359     \brief CHbDeviceProgressDialogSymbian is a Symbian implementation of HbDeviceProgressDialog.
   364     \brief CHbDeviceProgressDialogSymbian is a Symbian implementation of HbDeviceProgressDialog.
   360 
   365 
   361     It is a client interface for s60 native application to notify user with a text message, icon
   366     <b>This class is Symbian only. Not available on other platforms.</b>
   362     and progress bar, when HbDeviceProgressDialog can not be used.
   367 
   363 
   368     CHbDeviceProgressDialogSymbian is intended for use by servers that don't run Qt event loop
   364     CHbDeviceProgressDialogSymbian provides similar interface and functionality as HbDeviceProgressDialog.
   369     and cannot use HbDeviceProgressDialog.
   365     Main difference is that signals are replaced by observer interface. Also the parameters of methods using Qt enumerations are changed to TInt.
   370 
   366 
   371     Device progress dialog is a modal dialog. It is shown on top of applications by device dialog
   367     Two progress dialog types are supported: wait and progress dialog.
   372     server. CHbDeviceProgressDialogSymbian is a client of the server.
   368 
   373 
   369     Wait dialog can be used when the progress of operation cannot be determined.
   374     To learn more about usage of device progress dialogs see HbDeviceProgressDialog
   370     As the delay is unknown, the waiting progress bar will be shown until either a user
   375     documentation.
   371     cancels the dialog by pressing the "cancel" button or the application showing the device
   376 
   372     wait dialog closes the dialog after the operation has finished or in case of timeout.
   377     CHbDeviceProgressDialogSymbian provides similar interface and functionality as
   373 
   378     HbDeviceProgressDialog. Main difference is that signals are replaced by observer
   374     Progress dialog can be used when the progress of operation is known. For example
   379     interface MHbDeviceProgressDialogObserver. Also parameters of methods using
   375     when deleting a number of files, the progress of the operation could be shown as a
   380     Qt enumerations are changed to TInt.
   376     percentage of the files deleted. Application sets the progress value during the
   381 
   377     operation and the dialog will be shown until either a user cancels the dialog by pressing
   382     Showing of a progress dialog is always asynchronous as an application needs to update the dialog
   378     the "cancel" button or the application showing the device progress dialog closes the
   383     according to current progress.
   379     dialog after the operation is finished or in case of error.
   384 
   380 
   385     ShowL() displays a progress dialog asynchronously. The function returns immediately.
   381     Progress dialogs are always asynchronous by nature as the client is responsible of updating the dialog
   386     A new dialog is lauched every time ShowL() is called. The launched
   382     according to current progress status.
   387     dialog can be updated by setters and then calling UpdateL(). Closing and cancellation
   383 
   388     can be observed by a callbacks. Because each UpdateL() after the ShowL() requires
   384     The device dialog is only shown when ShowL() is called. Because each dialog update requires
   389     interprocess communication, it's advisable to fully construct the dialog before displaying it.
   385     IPC calls to be made, it's advisable to fully construct the device dialog before calling
   390 
   386     ShowL() or UpdateL().
   391     Below is an example of using a device wait dialog:
   387 
       
   388     Here is an example of using the infinite wait note:
       
   389 
   392 
   390     \code
   393     \code
   391     _LIT(KConnectText, "Connecting...");
   394     _LIT(KConnectText, "Connecting...");
   392     CHbDeviceProgressDialogSymbian *iDialog = CHbDeviceProgressDialogSymbian::NewL(CHbDeviceProgressDialogSymbian::EWaitDialog);
   395     CHbDeviceProgressDialogSymbian *iDialog = CHbDeviceProgressDialogSymbian::NewL(CHbDeviceProgressDialogSymbian::EWaitDialog);
   393     iDialog->SetTextL(KConnectText);
   396     iDialog->SetTextL(KConnectText);
   394     iDialog->ShowL();
   397     iDialog->ShowL();
   395     \endcode
   398     \endcode
   396 
   399 
   397     Below is an example of using the device progress dialog:
   400     Below is an example of using a device progress dialog:
   398 
   401 
   399     \code
   402     \code
   400     CHbDeviceProgressDialogSymbian* iDialog = CHbDeviceProgressDialogSymbian::NewL();
   403     CHbDeviceProgressDialogSymbian* iDialog = CHbDeviceProgressDialogSymbian::NewL();
   401     _LIT(KUpdatingText, "Updating...");
   404     _LIT(KUpdatingText, "Updating...");
   402     iDialog->SetTextL(KUpdatingText);
   405     iDialog->SetTextL(KUpdatingText);
   406     iDialog->SetMaximum(76);
   409     iDialog->SetMaximum(76);
   407     iDialog->SetProgressValue(25);
   410     iDialog->SetProgressValue(25);
   408     iDialog->UpdateL();
   411     iDialog->UpdateL();
   409     \endcode
   412     \endcode
   410 
   413 
   411     CHbDeviceProgressDialogSymbian supports animations.
   414     An example of showing an icon animation:
   412     Supported formats are the following:
       
   413 
       
   414     - GIF (.gif)
       
   415     - MNG (.mng)
       
   416     - Frame animations
       
   417 
       
   418     There is a built-in support for GIF and MNG animations.
       
   419 
       
   420     Frame animations can be created by following way:
       
   421 
   415 
   422     \code
   416     \code
   423     Create an animation definition file.
   417     Create an animation definition file.
   424 
   418 
   425     <animations>
   419     <animations>
   438 
   432 
   439     iDialog->SetAnimationDefinitionL(KAnimationDefinitionXML);
   433     iDialog->SetAnimationDefinitionL(KAnimationDefinitionXML);
   440     iDialog->SetIconNameL(KIconName);
   434     iDialog->SetIconNameL(KIconName);
   441     iDialog->ShowL();
   435     iDialog->ShowL();
   442     \endcode
   436     \endcode
   443     \sa HbIconAnimationManager::addDefinitionFile
   437 
   444     \note Animation definition files must be stored to a place where they
   438     \sa MHbDeviceProgressDialogObserver, HbDeviceProgressDialog, HbDeviceDialog
   445     can be accessed.
       
   446 
       
   447     \sa HbDeviceProgressDialog, HbDeviceDialog
       
   448     \stable
       
   449     \hbwidgets
       
   450 */
   439 */
   451 /*!
   440 /*!
   452     \enum CHbDeviceProgressDialogSymbian::TType
   441     \enum CHbDeviceProgressDialogSymbian::TType
   453     Progress dialog types.
   442     Progress dialog types.
       
   443 
       
   444     \sa HbProgressDialog::ProgressDialogType
   454 */
   445 */
   455 /*!
   446 /*!
   456     \var CHbDeviceProgressDialogSymbian::TType CHbDeviceProgressDialogSymbian::EProgressDialog
   447     \var CHbDeviceProgressDialogSymbian::TType CHbDeviceProgressDialogSymbian::EProgressDialog
   457     Progress dialog.
   448     Progress dialog.
   458 */
   449 */
   461     Wait dialog.
   452     Wait dialog.
   462 */
   453 */
   463 
   454 
   464 /*!
   455 /*!
   465     Symbian two phase constructor. Returns a pointer to CHbDeviceNotificationDialogSymbian instance.
   456     Symbian two phase constructor. Returns a pointer to CHbDeviceNotificationDialogSymbian instance.
       
   457 
   466     \param aType Must be one of the defined CHbDeviceProgressDialogSymbian::TType enumerations.
   458     \param aType Must be one of the defined CHbDeviceProgressDialogSymbian::TType enumerations.
       
   459     Default value is CHbDeviceProgressDialogSymbian::EProgressDialog.
   467     \param aObserver Pointer to observer.
   460     \param aObserver Pointer to observer.
   468 
       
   469     Default value is CHbDeviceProgressDialogSymbian::EProgressDialog.
       
   470 */
   461 */
   471 EXPORT_C CHbDeviceProgressDialogSymbian* CHbDeviceProgressDialogSymbian::NewL(
   462 EXPORT_C CHbDeviceProgressDialogSymbian* CHbDeviceProgressDialogSymbian::NewL(
   472     TType aType,
   463     TType aType,
   473     MHbDeviceProgressDialogObserver* aObserver)
   464     MHbDeviceProgressDialogObserver* aObserver)
   474     {
   465     {
   479     CleanupStack::Pop(self);
   470     CleanupStack::Pop(self);
   480     return self;
   471     return self;
   481     }
   472     }
   482 
   473 
   483 /*!
   474 /*!
   484     Destructs the class.
   475     Destructor.
   485 */
   476 */
   486 EXPORT_C CHbDeviceProgressDialogSymbian::~CHbDeviceProgressDialogSymbian()
   477 EXPORT_C CHbDeviceProgressDialogSymbian::~CHbDeviceProgressDialogSymbian()
   487     {
   478     {
   488     delete d;
   479     delete d;
   489     }
   480     }
   490 
   481 
   491 /*!
   482 /*!
   492     Executes the dialog asynchronously.
   483     Shows a device progress dialog asyncronously. Function launches the dialog and returns
       
   484     immediately. Closing of the dialog can be observer with MHbDeviceProgressDialogObserver.
       
   485     CHbDeviceProgressDialogSymbian object can be used to launch several dialogs. A new one
       
   486     is launched every time ShowL() is called. Observer receives events for the latest dialog
       
   487     launched.
       
   488 
       
   489     \sa SetObserver(), UpdateL()
   493 */
   490 */
   494 EXPORT_C void CHbDeviceProgressDialogSymbian::ShowL()
   491 EXPORT_C void CHbDeviceProgressDialogSymbian::ShowL()
   495     {
   492     {
   496     d->ShowL();
   493     d->ShowL();
   497     }
   494     }
   498 
   495 
   499 /*!
   496 /*!
   500     Updates the dialog asynchronously.
   497     Updates a device progress dialog asyncronously. Dialog that was launched with a lates ShowL()
       
   498     is updated. Properties that were modified since the last ShowL() or UpdateL() are sent to
       
   499     device dialog server.
       
   500 
       
   501     \sa ShowL()
   501 */
   502 */
   502 EXPORT_C void CHbDeviceProgressDialogSymbian::UpdateL()
   503 EXPORT_C void CHbDeviceProgressDialogSymbian::UpdateL()
   503     {
   504     {
   504     d->UpdateL();
   505     d->UpdateL();
   505     }
   506     }
   506 
   507 
   507 /*!
   508 /*!
   508     Closes the dialog.
   509     Closes a device progress dialog.
   509 */
   510 */
   510 EXPORT_C void CHbDeviceProgressDialogSymbian::Close()
   511 EXPORT_C void CHbDeviceProgressDialogSymbian::Close()
   511     {
   512     {
   512     d->Close();
   513     d->Close();
   513     }
   514     }
   514 
   515 
   515 /*!
   516 /*!
   516     Sets the minimum and maximum value of the progress bar within the dialog.
   517     Sets progress bar minimum and maximum values.
   517     \param aMin minimum value of the progress bar.
   518 
   518     \param aMax maximum value of the progress bar.
   519     \param aMin Progress bar minimum value.
   519 
   520     \param aMax Progress bar maximum value.
   520     \sa Minimum(), Maximum()
   521 
       
   522     \sa Minimum(), Maximum(), ShowL(), UpdateL()
   521 */
   523 */
   522 EXPORT_C void CHbDeviceProgressDialogSymbian::SetRange(TInt aMin, TInt aMax)
   524 EXPORT_C void CHbDeviceProgressDialogSymbian::SetRange(TInt aMin, TInt aMax)
   523     {
   525     {
   524     SetMinimum(aMin);
   526     SetMinimum(aMin);
   525     SetMaximum(aMax);
   527     SetMaximum(aMax);
   526     }
   528     }
   527 
   529 
   528 /*!
   530 /*!
   529     Sets the maximum value of the progress bar within the dialog.
   531     Sets progress bar maximum value.
   530     \param aMax maximum value of the progress bar.
   532 
   531     \sa Maximum()
   533     \param aMax Progress bar maximum value.
       
   534 
       
   535     \sa Maximum(), ShowL(), UpdateL()
   532 */
   536 */
   533 EXPORT_C void CHbDeviceProgressDialogSymbian::SetMaximum(TInt aMax)
   537 EXPORT_C void CHbDeviceProgressDialogSymbian::SetMaximum(TInt aMax)
   534     {
   538     {
   535     // Don't allow wait dialog to set max/min other than zero as wait
   539     // Don't allow wait dialog to set max/min other than zero as wait
   536     // animation bar doesn't work in that case.
   540     // animation bar doesn't work in that case.
   537     d->iMaximum = d->iType == EWaitDialog ? 0 : aMax;
   541     d->iMaximum = d->iType == EWaitDialog ? 0 : aMax;
   538     }
   542     }
   539 
   543 
   540 /*!
   544 /*!
   541     Returns the maximum value of the progress bar within the dialog.
   545     Returns progress bar maximum value. Default value is 100.
   542 
   546 
   543     The default value is 100.
       
   544     \sa SetMaximum()
   547     \sa SetMaximum()
   545 */
   548 */
   546 EXPORT_C TInt CHbDeviceProgressDialogSymbian::Maximum() const
   549 EXPORT_C TInt CHbDeviceProgressDialogSymbian::Maximum() const
   547     {
   550     {
   548     return d->iMaximum;
   551     return d->iMaximum;
   549     }
   552     }
   550 
   553 
   551 /*!
   554 /*!
   552     Sets the minimum value of the progress bar within the dialog.
   555     Sets progress bar minimum value.
   553     \param aMin minimum value of the progress bar.
   556 
   554     \sa Minimum()
   557     \param aMin Progress bar minimum value.
       
   558 
       
   559     \sa Minimum(), ShowL(), UpdateL()
   555 */
   560 */
   556 EXPORT_C void CHbDeviceProgressDialogSymbian::SetMinimum(TInt aMin)
   561 EXPORT_C void CHbDeviceProgressDialogSymbian::SetMinimum(TInt aMin)
   557     {
   562     {
   558     // Don't allow wait dialog to set max/min other than zero as wait
   563     // Don't allow wait dialog to set max/min other than zero as wait
   559     // animation bar doesn't work in that case.
   564     // animation bar doesn't work in that case.
   560     d->iMinimum = d->iType == EWaitDialog ? 0 : aMin;
   565     d->iMinimum = d->iType == EWaitDialog ? 0 : aMin;
   561     }
   566     }
   562 
   567 
   563 /*!
   568 /*!
   564     Returns the minimum value of the progress bar within the dialog.
   569     Returns progress bar minimum value. Default value is 0.
   565 
   570 
   566     The default value is 0.
       
   567     \sa SetMinimumL()
   571     \sa SetMinimumL()
   568 */
   572 */
   569 EXPORT_C TInt CHbDeviceProgressDialogSymbian::Minimum() const
   573 EXPORT_C TInt CHbDeviceProgressDialogSymbian::Minimum() const
   570     {
   574     {
   571     return d->iMinimum;
   575     return d->iMinimum;
   572     }
   576     }
   573 
   577 
   574 /*!
   578 /*!
   575     Sets the autoClose property value of the dialog.
   579     Sets dialog auto-closing.
       
   580 
   576     \param aAutoClose When set, the dialog is closed when value of the progress bar reaches
   581     \param aAutoClose When set, the dialog is closed when value of the progress bar reaches
   577     the maximum value of the progress bar.
   582     the maximum value of the progress bar.
   578     \sa AutoClose()
   583 
       
   584     \sa AutoClose(), ShowL(), UpdateL()
   579 */
   585 */
   580 EXPORT_C void CHbDeviceProgressDialogSymbian::SetAutoClose(TBool aAutoClose)
   586 EXPORT_C void CHbDeviceProgressDialogSymbian::SetAutoClose(TBool aAutoClose)
   581     {
   587     {
   582     d->iAutoClose = aAutoClose;
   588     d->iAutoClose = aAutoClose;
   583     }
   589     }
   584 
   590 
   585 /*!
   591 /*!
   586     Returns the value of the autoClose property of the dialog.
   592     Returns dialog auto-closing property. Default value is true for progress dialog and false
   587 
   593     for wait dialog.
   588     The default value is true for CHbDeviceProgressDialogSymbian::ProgressDialod and false
   594 
   589     for CHbDeviceProgressDialogSymbian::WaitDialog.
       
   590     \sa SetAutoCloseL()
   595     \sa SetAutoCloseL()
   591 */
   596 */
   592 EXPORT_C TBool CHbDeviceProgressDialogSymbian::AutoClose() const
   597 EXPORT_C TBool CHbDeviceProgressDialogSymbian::AutoClose() const
   593     {
   598     {
   594     return d->iAutoClose;
   599     return d->iAutoClose;
   595     }
   600     }
   596 
   601 
   597 /*!
   602 /*!
   598     Sets dialog type.
   603     Sets dialog type. Dialog properties are set to default values. After setting type,
   599     \param aType defines the type of the dialog.
   604     ShowL() must be called to launch a new dialog.
   600     \sa ProgressType()
   605 
       
   606     \param aType Dialog type, wait or progress,
       
   607 
       
   608     \sa ProgressType(), ShowL()
   601 */
   609 */
   602 EXPORT_C void CHbDeviceProgressDialogSymbian::SetProgressType(
   610 EXPORT_C void CHbDeviceProgressDialogSymbian::SetProgressType(
   603     CHbDeviceProgressDialogSymbian::TType aType)
   611     CHbDeviceProgressDialogSymbian::TType aType)
   604     {
   612     {
   605     d->iType = aType;
   613     d->iType = aType;
   616         }
   624         }
   617     }
   625     }
   618 
   626 
   619 /*!
   627 /*!
   620     Returns dialog's type.
   628     Returns dialog's type.
       
   629 
   621     \sa SetProgressType()
   630     \sa SetProgressType()
   622 */
   631 */
   623 EXPORT_C CHbDeviceProgressDialogSymbian::TType CHbDeviceProgressDialogSymbian::ProgressType() const
   632 EXPORT_C CHbDeviceProgressDialogSymbian::TType CHbDeviceProgressDialogSymbian::ProgressType() const
   624     {
   633     {
   625     return static_cast<TType>(d->iType);
   634     return static_cast<TType>(d->iType);
   626     }
   635     }
   627 
   636 
   628 /*!
   637 /*!
   629     Sets the value of the progress bar within the dialog.
   638     Sets progress bar value.
   630     \param aProgressValue value of the progress bar.
   639 
   631     \sa ProgressValue()
   640     \param aProgressValue Progress bar value.
       
   641 
       
   642     \sa ProgressValue(), ShowL(), UpdateL()
   632 */
   643 */
   633 EXPORT_C void CHbDeviceProgressDialogSymbian::SetProgressValue(TInt aProgressValue)
   644 EXPORT_C void CHbDeviceProgressDialogSymbian::SetProgressValue(TInt aProgressValue)
   634     {
   645     {
   635     d->iProgressValue = aProgressValue;
   646     d->iProgressValue = aProgressValue;
   636     }
   647     }
   637 
   648 
   638 /*!
   649 /*!
   639     Returns the value of the progress bar within the dialog.
   650     Returns progress bar value.
       
   651 
   640     \sa SetProgressValue()
   652     \sa SetProgressValue()
   641 */
   653 */
   642 EXPORT_C TInt CHbDeviceProgressDialogSymbian::ProgressValue() const
   654 EXPORT_C TInt CHbDeviceProgressDialogSymbian::ProgressValue() const
   643     {
   655     {
   644     return d->iProgressValue;
   656     return d->iProgressValue;
   645     }
   657     }
   646 
   658 
   647 /*!
   659 /*!
   648     Sets text of the dialog.
   660     Sets dialog text.
   649     \param aText dialog text.
   661 
   650     \sa Text()
   662     \param aText Dialog text.
       
   663 
       
   664     \sa Text(), ShowL(), UpdateL()
   651 */
   665 */
   652 EXPORT_C void CHbDeviceProgressDialogSymbian::SetTextL(const TDesC& aText)
   666 EXPORT_C void CHbDeviceProgressDialogSymbian::SetTextL(const TDesC& aText)
   653     {
   667     {
   654     TInt length = aText.Length();
   668     TInt length = aText.Length();
   655     if (length > d->iText.MaxLength())
   669     if (length > d->iText.MaxLength())
   658         }
   672         }
   659     d->iText.Copy(aText);
   673     d->iText.Copy(aText);
   660     }
   674     }
   661 
   675 
   662 /*!
   676 /*!
   663     Returns text of the note.
   677     Returns dialog text.
       
   678 
   664     \sa SetTextL()
   679     \sa SetTextL()
   665 */
   680 */
   666 EXPORT_C const TPtrC CHbDeviceProgressDialogSymbian::Text() const
   681 EXPORT_C const TPtrC CHbDeviceProgressDialogSymbian::Text() const
   667     {
   682     {
   668     return d->iText;
   683     return d->iText;
   669     }
   684     }
   670 
   685 
   671 /*!
   686 /*!
   672     Sets message box icon name or animation logical name. The message box gets updated next time ShowL() or UpdateL()
   687     Sets dialog icon name or animation logical name.
   673     is called.
   688 
   674 
   689     \param aIconName Icon or animation name. Icon can be from Hb resources or themes. Or it can be a file in
   675     \param aIconName Icon name. Icon can be from Hb resources or themes. Or it can be a file in
       
   676     a file system.
   690     a file system.
   677 
   691 
   678     \sa IconName()
   692     \sa IconName(), ShowL(), UpdateL()
   679 */
   693 */
   680 EXPORT_C void CHbDeviceProgressDialogSymbian::SetIconNameL(const TDesC& aIconName)
   694 EXPORT_C void CHbDeviceProgressDialogSymbian::SetIconNameL(const TDesC& aIconName)
   681     {
   695     {
   682     TInt length = aIconName.Length();
   696     TInt length = aIconName.Length();
   683     if (length > d->iIconName.MaxLength())
   697     if (length > d->iIconName.MaxLength())
   686         }
   700         }
   687     d->iIconName.Copy(aIconName);
   701     d->iIconName.Copy(aIconName);
   688     }
   702     }
   689 
   703 
   690 /*!
   704 /*!
   691     Returns name and path of the icon shown on dialog or animation's logical name.
   705     Returns name and path of icon or animation.
   692 
   706 
   693     \sa SetIconNameL()
   707     \sa SetIconNameL()
   694 */
   708 */
   695 EXPORT_C const TPtrC CHbDeviceProgressDialogSymbian::IconName() const
   709 EXPORT_C const TPtrC CHbDeviceProgressDialogSymbian::IconName() const
   696     {
   710     {
   697     return d->iIconName;
   711     return d->iIconName;
   698     }
   712     }
   699 
   713 
   700 /*!
   714 /*!
   701     Sets notification dialog's animation definition name.  The dialogs get updated next when time ShowL() or UpdateL()
   715     Sets dialog animation definition name.
   702     is called.
   716 
       
   717     Supported icon animation formats are following:
       
   718     - GIF (.gif)
       
   719     - MNG (.mng)
       
   720     - Frame animations
   703 
   721 
   704     \param aAnimationDefinition Animation definition file name. Definition can be from Hb resources or themes.
   722     \param aAnimationDefinition Animation definition file name. Definition can be from Hb resources or themes.
   705     Or can be a file in a file system.
   723     Or can be a file in a file system. The definition must be stored to a place where it can be accessed by
   706 
   724     device dialog service.
   707     \sa AnimationDefinition()
   725 
       
   726     \sa AnimationDefinition() SetIconNameL() HbIconAnimationManager::addDefinitionFile(), ShowL(), UpdateL()
   708 */
   727 */
   709 EXPORT_C void CHbDeviceProgressDialogSymbian::SetAnimationDefinitionL(const TDesC& aAnimationDefinition)
   728 EXPORT_C void CHbDeviceProgressDialogSymbian::SetAnimationDefinitionL(const TDesC& aAnimationDefinition)
   710     {
   729     {
   711     TInt length = aAnimationDefinition.Length();
   730     TInt length = aAnimationDefinition.Length();
   712     if (length > d->iAnimationDefinition.MaxLength())
   731     if (length > d->iAnimationDefinition.MaxLength())
   715         }
   734         }
   716     d->iAnimationDefinition.Copy(aAnimationDefinition);
   735     d->iAnimationDefinition.Copy(aAnimationDefinition);
   717     }
   736     }
   718 
   737 
   719 /*!
   738 /*!
   720     Returns an animation definition set for a dialog. If not set, return string.
   739     Returns dialog icon animation definition name.
   721 
   740 
   722     \sa SetAnimationDefinitionL()
   741     \sa SetAnimationDefinitionL()
   723 */
   742 */
   724 EXPORT_C TPtrC CHbDeviceProgressDialogSymbian::AnimationDefinition() const
   743 EXPORT_C TPtrC CHbDeviceProgressDialogSymbian::AnimationDefinition() const
   725     {
   744     {
   726     return d->iAnimationDefinition;
   745     return d->iAnimationDefinition;
   727     }
   746     }
   728 
   747 
   729 /*!
   748 /*!
   730     Sets progress dialog box button text. The dialog gets updated next time ShowL() or UpdateL()
   749     Sets dialog button text.
   731     is called.
       
   732 
   750 
   733     \param aText Button text.
   751     \param aText Button text.
   734 
   752 
   735     \sa ButtonText()
   753     \sa ButtonText(), ShowL(), UpdateL()
   736 */
   754 */
   737 EXPORT_C void CHbDeviceProgressDialogSymbian::SetButtonTextL(const TDesC& aText)
   755 EXPORT_C void CHbDeviceProgressDialogSymbian::SetButtonTextL(const TDesC& aText)
   738 {
   756 {
   739     TInt length = aText.Length();
   757     TInt length = aText.Length();
   740     if (length > d->iButton.iText.MaxLength()) {
   758     if (length > d->iButton.iText.MaxLength()) {
   744     d->iButton.iFlags.iTextValid = true;
   762     d->iButton.iFlags.iTextValid = true;
   745     d->iButton.iFlags.iTextModified = true;
   763     d->iButton.iFlags.iTextModified = true;
   746 }
   764 }
   747 
   765 
   748 /*!
   766 /*!
   749     Returns progress dialog button text.
   767     Returns dialog button text.
   750 
   768 
   751     \sa SetButtonTextL()
   769     \sa SetButtonTextL()
   752 */
   770 */
   753 EXPORT_C const TPtrC CHbDeviceProgressDialogSymbian::ButtonText() const
   771 EXPORT_C const TPtrC CHbDeviceProgressDialogSymbian::ButtonText() const
   754 {
   772 {
   755     return d->iButton.iText;
   773     return d->iButton.iText;
   756 }
   774 }
   757 
   775 
   758 /*!
   776 /*!
   759     Sets progress dialog button presence. The dialog updated next time ShowL() or UpdateL()
   777     Sets progress dialog button presence.
   760     is called.
       
   761 
   778 
   762     \param aEnable True enables (makes visible) the dialog button.
   779     \param aEnable True enables (makes visible) the dialog button.
   763 
   780 
   764     \sa HasButton()
   781     \sa HasButton(), ShowL(), UpdateL()
   765 */
   782 */
   766 EXPORT_C void CHbDeviceProgressDialogSymbian::SetButton(TBool aEnable)
   783 EXPORT_C void CHbDeviceProgressDialogSymbian::SetButton(TBool aEnable)
   767 {
   784 {
   768     d->iButton.iFlags.iIsNull = !aEnable;
   785     d->iButton.iFlags.iIsNull = !aEnable;
   769     d->iButton.iFlags.iIsNullValid = true;
   786     d->iButton.iFlags.iIsNullValid = true;
   770     d->iButton.iFlags.iIsNullModified = true;
   787     d->iButton.iFlags.iIsNullModified = true;
   771 }
   788 }
   772 
   789 
   773 /*!
   790 /*!
   774     Returns progress dialog button presence.
   791     Returns dialog button presence.
   775 
       
   776     \param aButton Selects the button.
       
   777 
   792 
   778     \sa SetButton()
   793     \sa SetButton()
   779 */
   794 */
   780 EXPORT_C TBool CHbDeviceProgressDialogSymbian::HasButton() const
   795 EXPORT_C TBool CHbDeviceProgressDialogSymbian::HasButton() const
   781 {
   796 {
   782     return !d->iButton.iFlags.iIsNull;
   797     return !d->iButton.iFlags.iIsNull;
   783 }
   798 }
   784 
   799 
   785 /*!
   800 /*!
   786     Sets progress dialog observer. The observer is called when progress dialog is closed.
   801     Sets dialog observer. The observer is called when the dialog is closed or cancelled.
       
   802 
   787     \param aObserver Pointer to observer.
   803     \param aObserver Pointer to observer.
   788 
   804 
   789     \sa MHbDeviceProgressDialogObserver
   805     \sa MHbDeviceProgressDialogObserver
   790 */
   806 */
   791 EXPORT_C void CHbDeviceProgressDialogSymbian::SetObserver(MHbDeviceProgressDialogObserver* aObserver)
   807 EXPORT_C void CHbDeviceProgressDialogSymbian::SetObserver(MHbDeviceProgressDialogObserver* aObserver)