filemanager/App/src/CFileManagerBackupView.cpp
branchRCL_3
changeset 38 491b3ed49290
parent 36 95243422089a
child 39 65326cf895ed
--- a/filemanager/App/src/CFileManagerBackupView.cpp	Thu Aug 19 09:42:45 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,568 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  View for backup settings
-*
-*/
-
-
-// INCLUDE FILES
-#include <StringLoader.h>
-#include <aknlists.h>
-#include <akntitle.h>
-#include <csxhelp/fmgr.hlp.hrh>
-#include <CFileManagerEngine.h>
-#include <filemanager.rsg>
-#include <CFileManagerBackupSettings.h>
-#include <FileManagerPrivateCRKeys.h>
-#include <FileManagerDlgUtils.h>
-#include <CAknMemorySelectionDialog.h>
-#include <CAknMemorySelectionSettingPage.h>
-#ifdef RD_MULTIPLE_DRIVE
-#include <AknCommonDialogsDynMem.h>
-#include <CAknMemorySelectionDialogMultiDrive.h>
-#endif // RD_MULTIPLE_DRIVE
-#include <FileManagerDebug.h>
-#include "CFileManagerBackupView.h"
-#include "CFileManagerTaskScheduler.h"
-#include "CFileManagerSettingListContainer.h"
-#include "CFileManagerAppUi.h"
-#include "FileManager.hrh"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ----------------------------------------------------------------------------
-// CFileManagerBackupView::CFileManagerBackupView
-// ----------------------------------------------------------------------------
-//
-CFileManagerBackupView::CFileManagerBackupView()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerBackupView::NewLC
-// ----------------------------------------------------------------------------
-//
-CFileManagerBackupView* CFileManagerBackupView::NewLC()
-    {
-    CFileManagerBackupView* self = new( ELeave ) CFileManagerBackupView();
-    CleanupStack::PushL( self );
-    self->ConstructL( R_FILEMANAGER_BACKUP_VIEW );
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerBackupView::~CFileManagerBackupView
-// ----------------------------------------------------------------------------
-// 
-CFileManagerBackupView::~CFileManagerBackupView()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerBackupView::DoActivateL
-// ----------------------------------------------------------------------------
-// 
-void CFileManagerBackupView::DoActivateL(
-        const TVwsViewId& aPrevViewId,
-        TUid aCustomMessageId,
-        const TDesC8& aCustomMessage )
-    {
-    FUNC_LOG
-
-    CFileManagerViewBase::DoActivateL(
-        aPrevViewId, aCustomMessageId, aCustomMessage );
-
-    static_cast< CFileManagerAppUi* >( AppUi() )->SetTitleL(
-        R_QTN_FMGR_BACKUP_TITLE );
-
-    CFileManagerBackupSettings& settings( iEngine.BackupSettingsL() );
-    settings.RefreshL();
-
-    iContainer->RefreshListL( iIndex );
-    }
-
-// -----------------------------------------------------------------------------
-// CFileManagerBackupView::DoDeactivate
-// ----------------------------------------------------------------------------
-// 
-void CFileManagerBackupView::DoDeactivate()
-    {
-    FUNC_LOG
-
-    CFileManagerViewBase::DoDeactivate();
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerBackupView::DirectoryChangedL
-// ----------------------------------------------------------------------------
-// 
-void CFileManagerBackupView::DirectoryChangedL()
-    {
-    FUNC_LOG
-
-    TRAP_IGNORE( RefreshSettingsL() );
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerBackupView::Id
-// ----------------------------------------------------------------------------
-// 
-TUid CFileManagerBackupView::Id() const
-    {
-    return CFileManagerAppUi::KFileManagerBackupViewId;
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerBackupView::CreateContainerL
-// ----------------------------------------------------------------------------
-// 
-CFileManagerContainerBase* CFileManagerBackupView::CreateContainerL()
-    {
-    CFileManagerBackupSettings& settings( iEngine.BackupSettingsL() );
-
-    return CFileManagerSettingListContainer::NewL(
-        ClientRect(),
-        iIndex,
-        CFileManagerSettingListContainer::EListBackup,
-        &settings,
-        KFMGR_HLP_BACKUP_VIEW );
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerBackupView::HandleCommandL
-// ----------------------------------------------------------------------------
-// 
-void CFileManagerBackupView::HandleCommandL( TInt aCommand )
-    {
-    switch( aCommand )
-        {
-        case EFileManagerSelectionKey: // FALLTHROUGH
-        case EFileManagerOpen:
-            {
-            CmdChangeL();
-            break;
-            }
-        case EFileManagerBackup:
-            {
-            CmdBackupL();
-            break;
-            }
-        case EFileManagerRestore:
-            {
-            CmdRestoreL();
-            break;
-            }
-        case EFileManagerDeleteBackup:
-            {
-            CmdDeleteBackupL();
-            break;
-            }
-        case EAknSoftkeyBack:
-            {
-            CmdBackL();
-            break;
-            }
-        default:
-            {
-            CFileManagerViewBase::HandleCommandL( aCommand );
-            break;
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerBackupView::CmdChangeL
-// ----------------------------------------------------------------------------
-// 
-void CFileManagerBackupView::CmdChangeL()
-    {
-    if ( !iContainer )
-        {
-        return;
-        }
-    TInt index( iContainer->ListBoxCurrentItemIndex() );
-    CFileManagerBackupSettings& settings( iEngine.BackupSettingsL() );
-    
-    StoreIndex();
-
-    switch ( settings.SettingAt( index ) )
-        {
-        case CFileManagerBackupSettings::EContents:
-            {
-            ChangeContentsL();
-            break;
-            }
-        case CFileManagerBackupSettings::EScheduling:
-            {
-            ChangeSchedulingL();
-            break;
-            }
-        case CFileManagerBackupSettings::EWeekday:
-            {
-            ChangeWeekdayL();
-            break;
-            }
-        case CFileManagerBackupSettings::ETime:
-            {
-            ChangeTimeL();
-            break;
-            }
-        case CFileManagerBackupSettings::ETarget:
-            {
-            ChangeTargetDriveL();
-            break;
-            }
-        default:
-            {
-            break;
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerBackupView::CmdBackupL
-// ----------------------------------------------------------------------------
-// 
-void CFileManagerBackupView::CmdBackupL()
-    {
-    if ( !iContainer )
-        {
-        return;
-        }
-
-    TBool isSystemStateNormal = static_cast< CFileManagerAppUi* >( AppUi() )->IsSystemStateNormal();
-    if ( !isSystemStateNormal )
-       {
-        FileManagerDlgUtils::ShowErrorNoteL( R_QTN_FMGR_SYSTEM_NOT_READY );
-        return;
-       }
-
-    StoreIndex();
-    CFileManagerBackupSettings& settings( iEngine.BackupSettingsL() );
-    TInt drive( settings.TargetDrive() );
-    TFileManagerDriveInfo drvInfo;    
-    if( !IsDriveAvailable( drive ) )
-        {
-            for( TInt i ( EDriveA ) ; i <= EDriveZ ; i++ )
-                {
-                iEngine.GetDriveInfoL( i , drvInfo );
-                if( ( IsDriveAvailable( i ) ) && ( drvInfo.iState & TFileManagerDriveInfo::EDriveEjectable ) )
-                    {
-                    drive = i;
-                    settings.SetTargetDrive( drive );
-                    settings.SaveL();
-                    break;
-                    }
-                }
-        }
-    RArray< CFileManagerRestoreSettings::TInfo > info;
-    CleanupClosePushL( info );
-    iEngine.GetRestoreInfoArrayL( info, drive );
-    TInt count( info.Count() );
-    CleanupStack::PopAndDestroy( &info );
-    TPtrC driveName( iEngine.DriveName( drive ) );
-    TBool isContinue( true );
-    
-	
-    const TInt64 KBackupLimitSize = 10000000;
-	
-    //define a protected limit size to avoid not enough space during backup
-	
-    if( count )
-        {
-        TInt textId( R_QTN_FMGR_BACKUP_QUERY_EXISTS );
-       
-        if( !FileManagerDlgUtils::ShowConfirmQueryWithYesNoL(
-               textId, driveName ) )
-            {
-            isContinue = false;
-            }
-        }
-    if( isContinue ) 
-    	{
-		if ( !DriveReadOnlyMmcL( drive ) )
-            {
-            if ( !IsDriveAvailable( drive ) )
-                {
-                FileManagerDlgUtils::ShowErrorNoteL(
-                    R_QTN_FMGR_ERROR_BACKUP_MEMORYCARD_NOT_AVAILABLE );
-                }
-            else if ( !CheckPhoneState() )
-                {
-                FileManagerDlgUtils::ShowErrorNoteL( R_QTN_CRITICAL_ERROR );
-                }
-            else if ( !iEngine.EnoughSpaceL(
-                    TDriveUnit( drive ).Name(), KBackupLimitSize, EBackupProcess ) ) 
-                {
-                FileManagerDlgUtils::ShowConfirmQueryWithOkL(
-                    FileManagerDlgUtils::EErrorIcons,
-                    R_QTN_FMGR_BACKUP_DESTINATION_FULL,
-                    driveName );
-                }
-            else
-                {
-                StartProcessL( EBackupProcess );
-                }
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerBackupView::CmdRestoreL
-// ----------------------------------------------------------------------------
-// 
-void CFileManagerBackupView::CmdRestoreL()
-    {
-    StoreIndex();
-    static_cast< CFileManagerAppUi* >( AppUi() )->ActivateRestoreViewL();
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerBackupView::ChangeContentsL
-// ----------------------------------------------------------------------------
-// 
-void CFileManagerBackupView::ChangeContentsL()
-    {
-    CFileManagerBackupSettings& settings( iEngine.BackupSettingsL() );
-    TUint32 selection( settings.Content() );
-
-    if ( FileManagerDlgUtils::ShowNOfMSettingQueryL(
-           R_QTN_FMGR_BACKUP_CONTENTS,
-           R_FILEMANAGER_BACKUP_CONTENTS_TEXTS,
-           selection,
-           0 ) )
-        {
-        settings.SetContent( selection );
-        settings.SaveL();
-        iContainer->RefreshListL( iIndex );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerBackupView::ChangeSchedulingL
-// ----------------------------------------------------------------------------
-// 
-void CFileManagerBackupView::ChangeSchedulingL()
-    {
-    CFileManagerBackupSettings& settings( iEngine.BackupSettingsL() );
-    TInt index( settings.Scheduling() );
-
-    if ( FileManagerDlgUtils::ShowOOfMSettingQueryL(
-           R_QTN_FMGR_BACKUP_SCHEDULING,
-           R_FILEMANAGER_BACKUP_SCHEDULING_TEXTS,
-           index ) )
-        {
-        settings.SetScheduling( index );
-        settings.SaveL();
-        iContainer->RefreshListL( iIndex );
-        UpdateScheduleL();
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerBackupView::ChangeWeekdayL
-// ----------------------------------------------------------------------------
-// 
-void CFileManagerBackupView::ChangeWeekdayL()
-    {
-    CFileManagerBackupSettings& settings( iEngine.BackupSettingsL() );
-    TDay day( static_cast< TDay >( settings.Day() ) );
-    
-    if ( FileManagerDlgUtils::ShowWeekdayQueryL(
-            R_QTN_FMGR_BACKUP_WEEKDAY,
-            day ) )
-        {
-        settings.SetDay( day );
-        settings.SaveL();
-        iContainer->RefreshListL( iIndex );
-        UpdateScheduleL();
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerBackupView::ChangeTargetDriveL
-// ----------------------------------------------------------------------------
-// 
-void CFileManagerBackupView::ChangeTargetDriveL()
-    {
-#ifdef RD_MULTIPLE_DRIVE
-    CFileManagerBackupSettings& settings( iEngine.BackupSettingsL() );
-
-    HBufC* title = StringLoader::LoadLC(
-        R_QTN_FMGR_SELECT_BACKUP_DESTINATION );
-
-    TUint32 drvMask( settings.AllowedDriveAttMatchMask() );
-    TInt memType( AknCommonDialogsDynMem::EMemoryTypeMMCExternal );
-    if ( drvMask & KDriveAttRemote )
-        {
-        memType |= AknCommonDialogsDynMem::EMemoryTypeRemote;
-        }
-
-    CAknMemorySelectionDialogMultiDrive* dlg =
-        CAknMemorySelectionDialogMultiDrive::NewL(
-            ECFDDialogTypeNormal,
-            R_FILEMANAGER_FIND_MEMORY_SELECTIONDIALOG,
-            ETrue,
-            memType );
-    CleanupStack::PushL( dlg );
-    dlg->SetTitleL( *title );
-    TDriveNumber driveNumber( static_cast< TDriveNumber >(
-        settings.TargetDrive() ) );
-    TBool ret( dlg->ExecuteL( driveNumber ) );
-    CleanupStack::PopAndDestroy( dlg );
-    CleanupStack::PopAndDestroy( title );
-    if ( ret )
-        {
-        TInt drive( static_cast< TInt >( driveNumber ) );
-        if ( drive != settings.TargetDrive() )
-            {
-            settings.SetTargetDrive( drive );
-            settings.SaveL();
-            iContainer->RefreshListL( iIndex );
-            }
-        }
-#endif // RD_MULTIPLE_DRIVE
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerBackupView::ChangeTimeL
-// ----------------------------------------------------------------------------
-// 
-void CFileManagerBackupView::ChangeTimeL()
-    {
-    CFileManagerBackupSettings& settings( iEngine.BackupSettingsL() );
-    TTime time( settings.Time() );
-
-    if ( FileManagerDlgUtils::ShowTimeSettingQueryL(
-           R_QTN_FMGR_BACKUP_TIME,
-           time ) )
-        {
-        settings.SetTime( time );
-        settings.SaveL();
-        iContainer->RefreshListL( iIndex );
-        UpdateScheduleL();
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerBackupView::CmdBackL
-// ----------------------------------------------------------------------------
-//
-void CFileManagerBackupView::CmdBackL()
-    {
-    iIndex = 0;
-    static_cast< CFileManagerAppUi* >( AppUi() )->CloseBackupViewL();
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerBackupView::UpdateScheduleL
-// ----------------------------------------------------------------------------
-//
-void CFileManagerBackupView::UpdateScheduleL()
-    {
-    CFileManagerBackupSettings& settings( iEngine.BackupSettingsL() );
-    CFileManagerAppUi* appUi =
-        static_cast< CFileManagerAppUi* >( AppUi() );
-    CFileManagerTaskScheduler& scheduler( appUi->TaskSchedulerL() );
-
-    if ( settings.Scheduling() == EFileManagerBackupScheduleNone )
-        {
-        scheduler.EnableBackupScheduleL( EFalse );
-        }
-    else
-        {
-        scheduler.EnableBackupScheduleL( ETrue );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerBackupView::NotifyForegroundStatusChange
-// ----------------------------------------------------------------------------
-//
-void CFileManagerBackupView::NotifyForegroundStatusChange(
-        TBool aForeground )
-    {
-    FUNC_LOG
-
-    if ( aForeground )
-        {
-        TRAP_IGNORE( RefreshSettingsL() );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerBackupView::RefreshSettingsL
-// ----------------------------------------------------------------------------
-//
-void CFileManagerBackupView::RefreshSettingsL()
-    {
-    FUNC_LOG
-
-    CFileManagerBackupSettings& settings( iEngine.BackupSettingsL() );
-    settings.RefreshL();
-    if ( iContainer )
-        {
-        iContainer->RefreshListL( iIndex );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerBackupView::CmdDeleteBackupL
-// ----------------------------------------------------------------------------
-//
-void CFileManagerBackupView::CmdDeleteBackupL()
-    {
-    StoreIndex();
-    static_cast< CFileManagerAppUi* >( AppUi() )->ActivateRestoreViewL( ETrue );
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerBackupView::DynInitMenuPaneL
-// ----------------------------------------------------------------------------
-// 
-void CFileManagerBackupView::DynInitMenuPaneL(
-        TInt aResourceId, CEikMenuPane* aMenuPane)
-    {
-    switch( aResourceId )
-        {
-        case R_FILEMANAGER_BACKUP_VIEW_MENU:
-            {
-            BackupMenuFilteringL( *aMenuPane );
-            break;
-            }
-        default:
-            {
-            CFileManagerViewBase::DynInitMenuPaneL( aResourceId, aMenuPane );
-            break;
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CFileManagerBackupView::BackupMenuFilteringL
-// ----------------------------------------------------------------------------
-//
-void CFileManagerBackupView::BackupMenuFilteringL( CEikMenuPane& aMenuPane )
-    {
-    CFileManagerRestoreSettings& settings( iEngine.RestoreSettingsL() );
-    TRAP_IGNORE( settings.RefreshL() );
-    if ( !settings.MdcaCount() )
-        {
-        aMenuPane.SetItemDimmed( EFileManagerDeleteBackup, ETrue );
-        }
-        aMenuPane.SetItemDimmed( EFileManagerOpen, ETrue );
-    }
-
-//  End of File