266 { |
266 { |
267 if(aState == MFeedEngineObserver::EFeedManualUpdate) |
267 if(aState == MFeedEngineObserver::EFeedManualUpdate) |
268 { |
268 { |
269 TBuf<KMaxMessageLength> message; |
269 TBuf<KMaxMessageLength> message; |
270 iEikonEnv->ReadResourceL(message, R_PODCAST_CONNECTION_ERROR); |
270 iEikonEnv->ReadResourceL(message, R_PODCAST_CONNECTION_ERROR); |
271 ShowErrorMessage(message); |
271 ShowErrorMessageL(message); |
272 } |
272 } |
273 } |
273 } |
274 break; |
274 break; |
275 default: // Do nothing |
275 default: // Do nothing |
276 break; |
276 break; |
549 |
549 |
550 if (queueCount > 0 && !iPodcastModel.SettingsEngine().DownloadSuspended()) |
550 if (queueCount > 0 && !iPodcastModel.SettingsEngine().DownloadSuspended()) |
551 { |
551 { |
552 TBuf<KMaxMessageLength> message; |
552 TBuf<KMaxMessageLength> message; |
553 iEikonEnv->ReadResourceL(message, R_EXIT_SHOWS_DOWNLOADING); |
553 iEikonEnv->ReadResourceL(message, R_EXIT_SHOWS_DOWNLOADING); |
554 if(ShowQueryMessage(message)) |
554 if(ShowQueryMessageL(message)) |
555 { |
555 { |
556 // pass it on to AppUi, which will exit for us |
556 // pass it on to AppUi, which will exit for us |
557 CPodcastListView::HandleCommandL(aCommand); |
557 CPodcastListView::HandleCommandL(aCommand); |
558 } |
558 } |
559 } |
559 } |
628 UpdateListboxItemsL(); |
628 UpdateListboxItemsL(); |
629 |
629 |
630 // ask if users wants to update it now |
630 // ask if users wants to update it now |
631 TBuf<KMaxMessageLength> message; |
631 TBuf<KMaxMessageLength> message; |
632 iEikonEnv->ReadResourceL(message, R_ADD_FEED_SUCCESS); |
632 iEikonEnv->ReadResourceL(message, R_ADD_FEED_SUCCESS); |
633 if(ShowQueryMessage(message)) |
633 if(ShowQueryMessageL(message)) |
634 { |
634 { |
635 CFeedInfo *info = iPodcastModel.FeedEngine().GetFeedInfoByUid(newFeedInfo->Uid()); |
635 CFeedInfo *info = iPodcastModel.FeedEngine().GetFeedInfoByUid(newFeedInfo->Uid()); |
636 |
636 |
637 iPodcastModel.ActiveShowList().Reset(); |
637 iPodcastModel.ActiveShowList().Reset(); |
638 iPodcastModel.SetActiveFeedInfo(info); |
638 iPodcastModel.SetActiveFeedInfo(info); |
673 { |
673 { |
674 TBuf<KMaxMessageLength> dlgMessage; |
674 TBuf<KMaxMessageLength> dlgMessage; |
675 iEikonEnv->ReadResourceL(dlgMessage, R_ADD_FEED_REPLACE); |
675 iEikonEnv->ReadResourceL(dlgMessage, R_ADD_FEED_REPLACE); |
676 |
676 |
677 // Ask the user if it is OK to remove all shows |
677 // Ask the user if it is OK to remove all shows |
678 if ( ShowQueryMessage(dlgMessage)) |
678 if ( ShowQueryMessageL(dlgMessage)) |
679 { |
679 { |
680 PodcastUtils::FixProtocolsL(url); |
680 PodcastUtils::FixProtocolsL(url); |
681 |
681 |
682 //----- HACK ---- // |
682 //----- HACK ---- // |
683 CFeedInfo* temp = CFeedInfo::NewLC(); |
683 CFeedInfo* temp = CFeedInfo::NewLC(); |
700 UpdateListboxItemsL(); |
700 UpdateListboxItemsL(); |
701 } else { |
701 } else { |
702 // the feed existed. Object deleted in AddFeed. |
702 // the feed existed. Object deleted in AddFeed. |
703 TBuf<KMaxMessageLength> dlgMessage; |
703 TBuf<KMaxMessageLength> dlgMessage; |
704 iEikonEnv->ReadResourceL(dlgMessage, R_ADD_FEED_EXISTS); |
704 iEikonEnv->ReadResourceL(dlgMessage, R_ADD_FEED_EXISTS); |
705 ShowErrorMessage(dlgMessage); |
705 ShowErrorMessageL(dlgMessage); |
706 } |
706 } |
707 CleanupStack::PopAndDestroy(temp); |
707 CleanupStack::PopAndDestroy(temp); |
708 } |
708 } |
709 } else { // no url change, maybe title? |
709 } else { // no url change, maybe title? |
710 // Update the title |
710 // Update the title |
711 if (info->Title().Compare(title) != 0) |
711 if (info->Title().Compare(title) != 0) |
712 { |
712 { |
713 info->SetTitleL(title); |
713 info->SetTitleL(title); |
714 info->SetCustomTitle(); |
714 info->SetCustomTitle(); |
715 iPodcastModel.FeedEngine().UpdateFeed(info); |
715 iPodcastModel.FeedEngine().UpdateFeedL(info); |
716 UpdateListboxItemsL(); |
716 UpdateListboxItemsL(); |
717 } |
717 } |
718 } |
718 } |
719 } |
719 } |
720 } |
720 } |
731 CFeedInfo *info = iPodcastModel.FeedEngine().GetFeedInfoByUid(iItemIdArray[index]); |
731 CFeedInfo *info = iPodcastModel.FeedEngine().GetFeedInfoByUid(iItemIdArray[index]); |
732 TBuf<KMaxMessageLength> templ; |
732 TBuf<KMaxMessageLength> templ; |
733 TBuf<KMaxMessageLength> message; |
733 TBuf<KMaxMessageLength> message; |
734 iEikonEnv->ReadResourceL(templ, R_PODCAST_REMOVE_FEED_PROMPT); |
734 iEikonEnv->ReadResourceL(templ, R_PODCAST_REMOVE_FEED_PROMPT); |
735 message.Format(templ, &info->Title()); |
735 message.Format(templ, &info->Title()); |
736 if(ShowQueryMessage(message)) |
736 if(ShowQueryMessageL(message)) |
737 { |
737 { |
738 iPodcastModel.FeedEngine().RemoveFeedL(iItemIdArray[index]); |
738 iPodcastModel.FeedEngine().RemoveFeedL(iItemIdArray[index]); |
739 iItemArray->Delete(index); |
739 iItemArray->Delete(index); |
740 iItemIdArray.Remove(index); |
740 iItemIdArray.Remove(index); |
741 iListContainer->Listbox()->HandleItemRemovalL(); |
741 iListContainer->Listbox()->HandleItemRemovalL(); |
795 TRAPD(err, iPodcastModel.FeedEngine().ImportFeedsL(importName)); |
795 TRAPD(err, iPodcastModel.FeedEngine().ImportFeedsL(importName)); |
796 |
796 |
797 if (err != KErrNone) { |
797 if (err != KErrNone) { |
798 TBuf<KMaxMessageLength> message; |
798 TBuf<KMaxMessageLength> message; |
799 iEikonEnv->ReadResourceL(message, R_IMPORT_FEED_FAILURE); |
799 iEikonEnv->ReadResourceL(message, R_IMPORT_FEED_FAILURE); |
800 ShowErrorMessage(message); |
800 ShowErrorMessageL(message); |
801 } |
801 } |
802 } |
802 } |
803 |
803 |
804 } |
804 } |
805 CleanupStack::PopAndDestroy(dlg); |
805 CleanupStack::PopAndDestroy(dlg); |
851 |
851 |
852 TBuf<KMaxMessageLength> message; |
852 TBuf<KMaxMessageLength> message; |
853 TBuf<KMaxMessageLength> templ; |
853 TBuf<KMaxMessageLength> templ; |
854 iEikonEnv->ReadResourceL(templ, R_EXPORT_FEED_SUCCESS); |
854 iEikonEnv->ReadResourceL(templ, R_EXPORT_FEED_SUCCESS); |
855 message.Format(templ, numFeeds); |
855 message.Format(templ, numFeeds); |
856 ShowOkMessage(message); |
856 ShowOkMessageL(message); |
857 } |
857 } |
858 else |
858 else |
859 { |
859 { |
860 TBuf<KMaxMessageLength> message; |
860 TBuf<KMaxMessageLength> message; |
861 iEikonEnv->ReadResourceL(message, R_EXPORT_FEED_FAILURE); |
861 iEikonEnv->ReadResourceL(message, R_EXPORT_FEED_FAILURE); |
862 ShowErrorMessage(message); |
862 ShowErrorMessageL(message); |
863 } |
863 } |
864 } |
864 } |
865 CleanupStack::PopAndDestroy(fileDlg); |
865 CleanupStack::PopAndDestroy(fileDlg); |
866 } |
866 } |
867 CleanupStack::PopAndDestroy(dlg); |
867 CleanupStack::PopAndDestroy(dlg); |
868 } |
868 } |
869 CleanupStack::PopAndDestroy(memDlg); |
869 CleanupStack::PopAndDestroy(memDlg); |
870 } |
870 } |
871 |
871 |
872 void CPodcastFeedView::CheckResumeDownload() |
872 void CPodcastFeedView::CheckResumeDownloadL() |
873 { |
873 { |
874 // if there are shows queued for downloading, ask if we should resume now |
874 // if there are shows queued for downloading, ask if we should resume now |
875 RShowInfoArray showsDownloading; |
875 RShowInfoArray showsDownloading; |
876 iPodcastModel.ShowEngine().GetShowsDownloadingL(showsDownloading); |
876 iPodcastModel.ShowEngine().GetShowsDownloadingL(showsDownloading); |
877 |
877 |
878 if (showsDownloading.Count() > 0) |
878 if (showsDownloading.Count() > 0) |
879 { |
879 { |
880 TBuf<KMaxMessageLength> msg; |
880 TBuf<KMaxMessageLength> msg; |
881 iEikonEnv->ReadResourceL(msg, R_PODCAST_ENABLE_DOWNLOADS_PROMPT); |
881 iEikonEnv->ReadResourceL(msg, R_PODCAST_ENABLE_DOWNLOADS_PROMPT); |
882 |
882 |
883 if (ShowQueryMessage(msg)) |
883 if (ShowQueryMessageL(msg)) |
884 { |
884 { |
885 // need to suspend downloads before ResumeDownloadL will work :) |
885 // need to suspend downloads before ResumeDownloadL will work :) |
886 iPodcastModel.SettingsEngine().SetDownloadSuspended(ETrue); |
886 iPodcastModel.SettingsEngine().SetDownloadSuspended(ETrue); |
887 // resume downloading if user says yes |
887 // resume downloading if user says yes |
888 iPodcastModel.ShowEngine().ResumeDownloadsL(); |
888 iPodcastModel.ShowEngine().ResumeDownloadsL(); |
906 { |
906 { |
907 case KErrCouldNotConnect: |
907 case KErrCouldNotConnect: |
908 { |
908 { |
909 TBuf<KMaxMessageLength> message; |
909 TBuf<KMaxMessageLength> message; |
910 iEikonEnv->ReadResourceL(message, R_PODCAST_CONNECTION_ERROR); |
910 iEikonEnv->ReadResourceL(message, R_PODCAST_CONNECTION_ERROR); |
911 ShowErrorMessage(message); |
911 ShowErrorMessageL(message); |
912 } |
912 } |
913 break; |
913 break; |
914 case KErrNone: |
914 case KErrNone: |
915 default: // we don't do more error handling here, just show 0 imported feeds |
915 default: // we don't do more error handling here, just show 0 imported feeds |
916 switch (iOpmlState) |
916 switch (iOpmlState) |
926 TBuf<KMaxMessageLength> message; |
926 TBuf<KMaxMessageLength> message; |
927 TBuf<KMaxMessageLength> templ; |
927 TBuf<KMaxMessageLength> templ; |
928 iEikonEnv->ReadResourceL(templ, R_IMPORT_FEED_SUCCESS); |
928 iEikonEnv->ReadResourceL(templ, R_IMPORT_FEED_SUCCESS); |
929 message.Format(templ, aNumFeedsImported); |
929 message.Format(templ, aNumFeedsImported); |
930 |
930 |
931 if(ShowQueryMessage(message)) |
931 if(ShowQueryMessageL(message)) |
932 { |
932 { |
933 HandleCommandL(EPodcastUpdateAllFeeds); |
933 HandleCommandL(EPodcastUpdateAllFeeds); |
934 } |
934 } |
935 } |
935 } |
936 break; |
936 break; |
937 case EOpmlSearching: |
937 case EOpmlSearching: |
938 delete iWaitDialog; |
938 delete iWaitDialog; |
|
939 iWaitDialog = NULL; |
939 if (iPodcastModel.FeedEngine().GetSearchResults().Count() == 0) |
940 if (iPodcastModel.FeedEngine().GetSearchResults().Count() == 0) |
940 { |
941 { |
941 TBuf<KMaxMessageLength> message; |
942 TBuf<KMaxMessageLength> message; |
942 iEikonEnv->ReadResourceL(message, R_SEARCH_NORESULTS); |
943 iEikonEnv->ReadResourceL(message, R_SEARCH_NORESULTS); |
943 ShowErrorMessage(message); |
944 ShowErrorMessageL(message); |
944 } |
945 } |
945 else |
946 else |
946 { |
947 { |
947 AppUi()->ActivateLocalViewL(KUidPodcastSearchViewID, TUid::Uid(0), KNullDesC8()); |
948 AppUi()->ActivateLocalViewL(KUidPodcastSearchViewID, TUid::Uid(0), KNullDesC8()); |
948 } |
949 } |
972 |
973 |
973 if (iUpdatingAllRunning) { |
974 if (iUpdatingAllRunning) { |
974 return; // we don't allow feed manipulation while update is running |
975 return; // we don't allow feed manipulation while update is running |
975 } |
976 } |
976 |
977 |
977 iListContainer->SetLongTapDetected(ETrue); |
978 iListContainer->SetLongTapDetectedL(ETrue); |
978 |
979 |
979 const TInt KListboxDefaultHeight = 19; // for some reason it returns 19 for an empty listbox in S^1 |
980 const TInt KListboxDefaultHeight = 19; // for some reason it returns 19 for an empty listbox in S^1 |
980 TInt lbHeight = iListContainer->Listbox()->CalcHeightBasedOnNumOfItems( |
981 TInt lbHeight = iListContainer->Listbox()->CalcHeightBasedOnNumOfItems( |
981 iListContainer->Listbox()->Model()->NumberOfItems()) - KListboxDefaultHeight; |
982 iListContainer->Listbox()->Model()->NumberOfItems()) - KListboxDefaultHeight; |
982 |
983 |