browserutilities/downloadmgr/DownloadMgrUiLib/Src/CDownloadMgrUiUserInteractions.cpp
changeset 65 5bfc169077b2
parent 37 cb62a4f66ebe
--- a/browserutilities/downloadmgr/DownloadMgrUiLib/Src/CDownloadMgrUiUserInteractions.cpp	Tue Feb 02 00:56:45 2010 +0200
+++ b/browserutilities/downloadmgr/DownloadMgrUiLib/Src/CDownloadMgrUiUserInteractions.cpp	Fri Mar 19 09:52:28 2010 +0200
@@ -15,11 +15,13 @@
 *
 */
 
+
+
 // INCLUDE FILES
-#include    <cdownloadmgruiuserinteractions.h>
+#include    "CDownloadMgrUiUserInteractions.h"
 #include    "CUserInteractionsUtils.h"
-#include    <cdownloadmgruidownloadslist.h>
-#include    <cdownloadmgruilibregistry.h>
+#include    "CDownloadMgrUiDownloadsList.h"
+#include    "CDownloadMgrUiLibRegistry.h"
 #include    "UserInteractionsEventHandler.h"
 #include    "AsyncEventHandlerArray.h"
 #include    "UiLibLogger.h"
@@ -455,14 +457,15 @@
         
         downloadCnt = iRegistryModel.DownloadCount();
 
-       
+        TBool isProgressive (EFalse);
         if ( resp == EAknSoftkeyYes || resp == EAknSoftkeyOk )
 		    {
             for ( TInt i = downloadCnt - 1; i >=0; --i )
 		        {
 	            RHttpDownload* dl = downloads.At(i); //current download
+                dl->GetBoolAttribute( EDlAttrProgressive, isProgressive );
                 dl->GetBoolAttribute( EDlAttrPausable , isPausable );
-                if (!( isPausable ) ) // delete only Non pausable Downloads
+                if (!( isProgressive || isPausable ) ) // delete only no-PDL downloads and Non pausable Downloads
     			    {
                     // Delete not attached downloads.
     	            dl->Delete(); // Return value ignored.
@@ -909,10 +912,6 @@
     for( TInt i = 0; i < downloadCnt; ++i )
         {
         RHttpDownload* dl = downloads.At(i); // current download
-        // we do not have to show the download in case of invalid descriptor
-        HBufC* name = HBufC::NewLC( KMaxUrlLength );
-        TPtr tempPtr = name->Des(); 
-        dl->GetStringAttribute( EDlAttrName, tempPtr );		
         err = dl->GetBoolAttribute( EDlAttrPausable, isPausable );
         if ( !err )
             {
@@ -939,11 +938,10 @@
         	err = dl->GetBoolAttribute( EDlAttrNoMedia, isNoMedia );
         	}
         CLOG_WRITE_FORMAT(" err: %d",err);
-        if ( !err && ( !isPausable || isHidden ||isNoMedia || state == EHttpDlMultipleMOCompleted || !tempPtr.Length()  ) )
+        if ( !err && ( !isPausable || isHidden ||isNoMedia || state == EHttpDlMultipleMOCompleted  ) )
             {
             ++ignoredDownloads;
             }
-        CleanupStack::PopAndDestroy( name ); // name 			
         }
     CLOG_WRITE_FORMAT(" downloadCnt: %d",downloadCnt);
     CLOG_WRITE_FORMAT(" ignoredDownloads: %d",ignoredDownloads);