diff -r 9569ea080d5a -r 4d230e702aa3 application/src/PodcastSettingsView.cpp --- a/application/src/PodcastSettingsView.cpp Thu Mar 11 20:53:00 2010 +0100 +++ b/application/src/PodcastSettingsView.cpp Tue Apr 27 19:26:48 2010 +0100 @@ -25,9 +25,9 @@ #include #include "SettingsEngine.h" -#include -#include +#include #include +#include class CIapSetting: public CAknEnumeratedTextPopupSettingItem @@ -289,42 +289,33 @@ { DP("EditItemL BEGIN"); if (aIndex == 0) { - CAknMemorySelectionDialog* memDlg = - CAknMemorySelectionDialog::NewL(ECFDDialogTypeNormal, ETrue); - CleanupStack::PushL(memDlg); - CAknMemorySelectionDialog::TMemory memory = - CAknMemorySelectionDialog::EPhoneMemory; - - if (memDlg->ExecuteL(memory)) + TFileName selectedFolder; + selectedFolder.Copy(iShowDir); + TFileName startFolder; + startFolder.Zero(); + TInt types = AknCommonDialogsDynMem::EMemoryTypePhone | AknCommonDialogsDynMem::EMemoryTypeMMC |AknCommonDialogsDynMem::EMemoryTypeInternalMassStorage| AknCommonDialogsDynMem::EMemoryTypeRemote; + + HBufC *title = iCoeEnv->AllocReadResourceLC(R_PODCAST_SELECT_FOLDER); + if (AknCommonDialogsDynMem::RunFolderSelectDlgLD (types, selectedFolder, + startFolder, NULL, NULL, *title)) { - TFileName importName; - - if (memory==CAknMemorySelectionDialog::EMemoryCard) - { - importName = PathInfo:: MemoryCardRootPath(); - } - else - { - importName = PathInfo:: PhoneMemoryRootPath(); + _LIT(KPodcastsDir, "Podcasts"); + TInt pos = selectedFolder.Find(KPodcastsDir); + if (pos == KErrNotFound || pos != selectedFolder.Length()-9) + { + // append "Podcasts" if the folder isn't already called this + selectedFolder.Append(KPodcastsDir); + } + + if (selectedFolder[selectedFolder.Length()-1] != '\\') + { + selectedFolder.Append(_L("\\")); + } + + iShowDir.Copy(selectedFolder); + LoadSettingsL(); } - - CAknFileSelectionDialog* dlg = CAknFileSelectionDialog::NewL(ECFDDialogTypeSave, R_PODCAST_SHOWDIR_SELECTOR); - HBufC* select = iEikonEnv->AllocReadResourceLC(R_PODCAST_SOFTKEY_SELECT); - dlg->SetLeftSoftkeyFileL(*select); - CleanupStack::PopAndDestroy(select); - CleanupStack::PushL(dlg); - - dlg->SetDefaultFolderL(importName); - - if(dlg->ExecuteL(importName)) - { - importName.Append(_L("Podcasts")); - iShowDir.Copy(importName); - LoadSettingsL(); - } - CleanupStack::PopAndDestroy(dlg); - } - CleanupStack::PopAndDestroy(memDlg); + CleanupStack::PopAndDestroy(title); } else { CAknSettingItemList::EditItemL(aIndex,aCalledFromMenu); @@ -511,6 +502,7 @@ { iNaviPane->PushL(*iNaviDecorator); } + DP("CPodcastSettingsView::DoActivateL END"); } @@ -549,7 +541,21 @@ iListbox->StoreSettings(); AppUi()->ActivateViewL(iPreviousView); } - break; + break; + case EPodcastResetDb: + CAknQueryDialog* dlg= new(ELeave) CAknQueryDialog(); + + CleanupStack::PushL(dlg); + HBufC *text = iCoeEnv->AllocReadResourceLC(R_RESET_DB_QUERY); + dlg->SetPromptL(*text); + CleanupStack::PopAndDestroy(text); + CleanupStack::Pop(dlg); + if(dlg->ExecuteLD(R_QUERYDLG)) + { + iPodcastModel.DropDB(); + AppUi()->Exit(); + } + break; default: AppUi()->HandleCommandL(aCommand); break;