Added check and query when downloading is active while trying to exit RCL_3
authorSebastian Brannstrom <sebastianb@symbian.org>
Mon, 25 Oct 2010 14:04:32 +0100
branchRCL_3
changeset 292 655dbce90b70
parent 291 2f62fe179bbb
child 293 b5bd609d3792
Added check and query when downloading is active while trying to exit
application/inc/PodcastFeedView.h
application/src/PodcastAppui.cpp
application/src/PodcastFeedView.cpp
--- a/application/inc/PodcastFeedView.h	Mon Oct 25 14:03:07 2010 +0100
+++ b/application/inc/PodcastFeedView.h	Mon Oct 25 14:04:32 2010 +0100
@@ -42,7 +42,9 @@
 		void CheckResumeDownloadL();
 		void UpdateToolbar(TBool aVisible=ETrue);
 		TBool ViewingShows();
-		
+
+ 	   void CheckConfirmExit();
+
 	protected:
 	    void ConstructL();
 		CPodcastFeedView(CPodcastModel& aPodcastModel);
@@ -110,7 +112,7 @@
 		void HandleUpdateFeedL();
 		void GetFeedErrorText(TDes &aErrorMessage, TInt aErrorCode);
 		void OpmlParsingCompleteL(TInt aError, TUint aNumFeedsImported);
-
+		
 	private:
 		CPodcastModel& iPodcastModel;		
 		TBool iUpdatingRunning;
--- a/application/src/PodcastAppui.cpp	Mon Oct 25 14:03:07 2010 +0100
+++ b/application/src/PodcastAppui.cpp	Mon Oct 25 14:04:32 2010 +0100
@@ -124,7 +124,7 @@
         {
         case EAknSoftkeyExit:
             {
-            Exit();
+            iFeedView->CheckConfirmExit();
             break;
             }
         case EEikCmdExit:
--- a/application/src/PodcastFeedView.cpp	Mon Oct 25 14:03:07 2010 +0100
+++ b/application/src/PodcastFeedView.cpp	Mon Oct 25 14:04:32 2010 +0100
@@ -873,6 +873,25 @@
 	showsDownloading.ResetAndDestroy();
 	}
 
+void CPodcastFeedView::CheckConfirmExit()
+	{
+	RShowInfoArray showsDownloading;
+	iPodcastModel.ShowEngine().GetShowsDownloadingL(showsDownloading);
+
+	if (showsDownloading.Count() > 0 && !iPodcastModel.SettingsEngine().DownloadSuspended())
+		{
+		TBuf<256> msg;
+		iEikonEnv->ReadResourceL(msg, R_EXIT_SHOWS_DOWNLOADING);
+		
+		if (!ShowQueryMessageL(msg))
+			{
+			return;
+			}
+		}
+	
+	AppUi()->Exit();
+	}
+
 void CPodcastFeedView::OpmlParsingComplete(TInt aError, TUint aNumFeedsImported)
 	{
 	TRAP_IGNORE(OpmlParsingCompleteL(aError, aNumFeedsImported));