537 // |
519 // |
538 // ----------------------------------------------------------------------------- |
520 // ----------------------------------------------------------------------------- |
539 // |
521 // |
540 void CFileManagerViewBase::SendUiQueryL() |
522 void CFileManagerViewBase::SendUiQueryL() |
541 { |
523 { |
542 //iSendUiPopupOpened = ETrue; |
524 // Do not allow marking mode exit during send. |
543 |
525 // No need to call iContainer->AllowMarkingModeExit( EFalse ). |
|
526 // Already done in CFileManagerViewBase::HandleCommandL(). |
|
527 |
544 CSendUi& sendUi( static_cast< CFileManagerAppUi* >( AppUi() )->SendUiL() ); |
528 CSendUi& sendUi( static_cast< CFileManagerAppUi* >( AppUi() )->SendUiL() ); |
545 CMessageData* msgData = CMessageData::NewL(); |
529 CMessageData* msgData = CMessageData::NewL(); |
546 CleanupStack::PushL( msgData ); |
530 CleanupStack::PushL( msgData ); |
547 TInt msgSize( KMessageSize ); |
531 TInt msgSize( KMessageSize ); |
548 CArrayFixFlat< TInt >* files = GetSendFilesLC( msgSize ); |
532 CArrayFixFlat< TInt >* files = GetSendFilesLC( msgSize ); |
591 // |
575 // |
592 // ----------------------------------------------------------------------------- |
576 // ----------------------------------------------------------------------------- |
593 // |
577 // |
594 void CFileManagerViewBase::MarkMenuFilteringL( CEikMenuPane& aMenuPane ) |
578 void CFileManagerViewBase::MarkMenuFilteringL( CEikMenuPane& aMenuPane ) |
595 { |
579 { |
596 TInt index( iContainer->ListBoxCurrentItemIndex() ); |
|
597 |
|
598 if ( iEngine.IsFolder( index ) ) |
|
599 { |
|
600 aMenuPane.SetItemDimmed( EFileManagerMarkOne, ETrue ); |
|
601 aMenuPane.SetItemDimmed( EFileManagerUnmarkOne, ETrue ); |
|
602 } |
|
603 else |
|
604 { |
|
605 if ( iContainer->ListBoxIsItemSelected( index ) ) |
|
606 { |
|
607 aMenuPane.SetItemDimmed( EFileManagerMarkOne, ETrue ); |
|
608 } |
|
609 else |
|
610 { |
|
611 aMenuPane.SetItemDimmed( EFileManagerUnmarkOne, ETrue ); |
|
612 } |
|
613 } |
|
614 TInt files( 0 ); |
580 TInt files( 0 ); |
615 if( iContainer->IsSearchFieldVisible() ) |
581 // Get file count in current view, first check whether there is a |
|
582 // filter rule working. |
|
583 if ( iContainer->IsSearchFieldVisible() ) |
616 { |
584 { |
617 files = FilesCountInSearchField(); |
585 files = FilesCountInSearchField(); |
618 } |
586 } |
619 else |
587 else |
620 { |
588 { |
621 files = iEngine.FilesInFolderL(); |
589 files = iEngine.FilesInFolderL(); |
622 } |
590 } |
623 TInt count( iContainer->ListBoxSelectionIndexesCount() ); |
591 TInt count( iContainer->ListBoxSelectionIndexesCount() ); |
|
592 // if all the files are marked or no file eixists, |
|
593 // dim MarkAll. |
624 if ( count == files ) |
594 if ( count == files ) |
625 { |
595 { |
626 aMenuPane.SetItemDimmed( EFileManagerMarkAll, ETrue ); |
596 aMenuPane.SetItemDimmed( EAknCmdMarkingModeMarkAll, ETrue ); |
627 } |
597 } |
628 |
598 // if no file marked, dim UnmarkAll. |
629 if ( !count ) |
599 if ( count == 0 ) |
630 { |
600 { |
631 aMenuPane.SetItemDimmed( EFileManagerUnmarkAll, ETrue ); |
601 aMenuPane.SetItemDimmed( EAknCmdMarkingModeUnmarkAll, ETrue ); |
|
602 } |
|
603 // Dim MarkAll and UnMarkAll if the list is empty. |
|
604 if ( iContainer->ListBoxNumberOfItems() == 0 ) |
|
605 { |
|
606 aMenuPane.SetItemDimmed( EAknCmdMarkingModeMarkAll, ETrue ); |
|
607 aMenuPane.SetItemDimmed( EAknCmdMarkingModeUnmarkAll, ETrue ); |
632 } |
608 } |
633 } |
609 } |
634 |
610 |
635 // ----------------------------------------------------------------------------- |
611 // ----------------------------------------------------------------------------- |
636 // CFileManagerViewBase::CmdOpenL |
612 // CFileManagerViewBase::CmdOpenL |
723 TBool ret( EFalse ); |
699 TBool ret( EFalse ); |
724 DenyDirectoryRefresh( ETrue ); |
700 DenyDirectoryRefresh( ETrue ); |
725 TRAPD( err, ret = FileManagerDlgUtils::ShowConfirmQueryWithYesNoL( *prompt ) ); |
701 TRAPD( err, ret = FileManagerDlgUtils::ShowConfirmQueryWithYesNoL( *prompt ) ); |
726 DenyDirectoryRefresh( EFalse ); |
702 DenyDirectoryRefresh( EFalse ); |
727 User::LeaveIfError( err ); |
703 User::LeaveIfError( err ); |
|
704 |
|
705 // Set flag to indicate marking mode could exit or not. |
|
706 // Do not allow Marking mode exit when leave occurs. |
|
707 iContainer->AllowMarkingModeExit( ret ); |
|
708 |
|
709 |
728 if ( ret ) |
710 if ( ret ) |
729 { |
711 { |
730 if( IsDriveAvailable( DriveInfo().iDrive ) ) |
712 if( IsDriveAvailable( DriveInfo().iDrive ) ) |
731 { |
713 { |
732 DeleteItemsL( index ); |
714 DeleteItemsL( index ); |
782 R_FILEMANAGER_MOVE_MEMORY_SELECTIONDIALOG, |
764 R_FILEMANAGER_MOVE_MEMORY_SELECTIONDIALOG, |
783 filter ) ); |
765 filter ) ); |
784 DenyDirectoryRefresh( EFalse ); |
766 DenyDirectoryRefresh( EFalse ); |
785 CleanupStack::PopAndDestroy( filter ); |
767 CleanupStack::PopAndDestroy( filter ); |
786 |
768 |
|
769 // Set flag to indicate marking mode could exit or not |
|
770 iContainer->AllowMarkingModeExit( ret ); |
|
771 |
787 if ( ret && ptrFileName.Length() ) |
772 if ( ret && ptrFileName.Length() ) |
788 { |
773 { |
789 if ( !DriveReadOnlyMmcL( ptrFileName ) ) |
774 if ( !DriveReadOnlyMmcL( ptrFileName ) ) |
790 { |
775 { |
791 RunOperationL( |
776 RunOperationL( |
830 R_FILEMANAGER_COPY_MEMORY_SELECTIONDIALOG, |
815 R_FILEMANAGER_COPY_MEMORY_SELECTIONDIALOG, |
831 filter ) ); |
816 filter ) ); |
832 DenyDirectoryRefresh( EFalse ); |
817 DenyDirectoryRefresh( EFalse ); |
833 CleanupStack::PopAndDestroy( filter ); |
818 CleanupStack::PopAndDestroy( filter ); |
834 |
819 |
|
820 // Set flag to indicate marking mode could exit or not |
|
821 iContainer->AllowMarkingModeExit( ret ); |
|
822 |
835 if ( ret && ptrFileName.Length() ) |
823 if ( ret && ptrFileName.Length() ) |
836 { |
824 { |
837 if ( !DriveReadOnlyMmcL( ptrFileName ) ) |
825 if ( !DriveReadOnlyMmcL( ptrFileName ) ) |
838 { |
826 { |
839 RunOperationL( |
827 RunOperationL( |
896 { |
884 { |
897 iContainer->DrawDeferred(); |
885 iContainer->DrawDeferred(); |
898 } |
886 } |
899 } |
887 } |
900 CleanupStack::PopAndDestroy( folderNameBuf ); |
888 CleanupStack::PopAndDestroy( folderNameBuf ); |
901 } |
|
902 |
|
903 // ----------------------------------------------------------------------------- |
|
904 // CFileManagerViewBase::CmdToggleMarkL |
|
905 // |
|
906 // ----------------------------------------------------------------------------- |
|
907 // |
|
908 void CFileManagerViewBase::CmdToggleMarkL() |
|
909 { |
|
910 const TInt index( iContainer->ListBoxCurrentItemIndex() ); |
|
911 if ( iEngine.IsFolder( index ) ) |
|
912 { |
|
913 iContainer->ListBoxDeselectItem( index ); |
|
914 } |
|
915 else |
|
916 { |
|
917 iContainer->ListBoxToggleItemL( index ); |
|
918 } |
|
919 } |
|
920 |
|
921 // ----------------------------------------------------------------------------- |
|
922 // CFileManagerViewBase::CmdMarkAllL |
|
923 // |
|
924 // ----------------------------------------------------------------------------- |
|
925 // |
|
926 void CFileManagerViewBase::CmdMarkAllL() |
|
927 { |
|
928 iContainer->ListBoxSelectAllL(); |
|
929 } |
|
930 |
|
931 // ----------------------------------------------------------------------------- |
|
932 // CFileManagerViewBase::CmdUnmarkAllL |
|
933 // |
|
934 // ----------------------------------------------------------------------------- |
|
935 // |
|
936 void CFileManagerViewBase::CmdUnmarkAllL() |
|
937 { |
|
938 iContainer->ListBoxClearSelection(); |
|
939 } |
889 } |
940 |
890 |
941 // ----------------------------------------------------------------------------- |
891 // ----------------------------------------------------------------------------- |
942 // CFileManagerViewBase::CmdRenameL |
892 // CFileManagerViewBase::CmdRenameL |
943 // |
893 // |
1456 LOG_IF_ERROR2( aError, "CFileManagerViewBase::DoProcessFinishedL-iActiveProcess=%d,aError=%d", |
1406 LOG_IF_ERROR2( aError, "CFileManagerViewBase::DoProcessFinishedL-iActiveProcess=%d,aError=%d", |
1457 iActiveProcess, aError ) |
1407 iActiveProcess, aError ) |
1458 |
1408 |
1459 if ( iPeriodic && iProgressInfo && iTotalTransferredBytes ) |
1409 if ( iPeriodic && iProgressInfo && iTotalTransferredBytes ) |
1460 { |
1410 { |
1461 iProgressInfo->SetAndDraw( iTotalTransferredBytes ); |
1411 if ( iActiveProcess == ECopyProcess || iActiveProcess == EMoveProcess ) |
|
1412 { |
|
1413 iProgressInfo->SetAndDraw( iTotalTransferredBytes / KMinificationFactor ); |
|
1414 } |
|
1415 else |
|
1416 { |
|
1417 iProgressInfo->SetAndDraw( iTotalTransferredBytes ); |
|
1418 } |
1462 } |
1419 } |
1463 if ( IsSystemProcess( iActiveProcess ) ) |
1420 if ( IsSystemProcess( iActiveProcess ) ) |
1464 { |
1421 { |
1465 // Remove system status to allow app close from task switcher |
1422 // Remove system status to allow app close from task switcher |
1466 iEikonEnv->SetSystem( EFalse ); |
1423 iEikonEnv->SetSystem( EFalse ); |
3213 TInt driveNumber = drvInfo.iDrive; |
3170 TInt driveNumber = drvInfo.iDrive; |
3214 iEngine.GetDriveInfoL(driveNumber,drvInfo); |
3171 iEngine.GetDriveInfoL(driveNumber,drvInfo); |
3215 |
3172 |
3216 // Common remote drive filtering |
3173 // Common remote drive filtering |
3217 RemoteDriveCommonFilteringL( aMenuPane ); |
3174 RemoteDriveCommonFilteringL( aMenuPane ); |
3218 if( iContainer->IsSearchFieldVisible() && |
3175 |
3219 !FilesCountInSearchField() ) |
3176 // Used while checking EAknCmdMarkingModeEnter's existance |
3220 { |
3177 TInt pos ( 0 ); |
3221 aMenuPane.SetItemDimmed( EFileManagerMark, ETrue ); |
3178 // No file exists after find pane filtering, |
|
3179 // disable enter marking mode |
|
3180 if ( iContainer->IsSearchFieldVisible() && |
|
3181 FilesCountInSearchField() == 0 ) |
|
3182 { |
|
3183 if ( aMenuPane.MenuItemExists( EAknCmdMarkingModeEnter, pos ) ) |
|
3184 { |
|
3185 aMenuPane.SetItemDimmed( EAknCmdMarkingModeEnter, ETrue ); |
|
3186 } |
3222 } |
3187 } |
3223 if ( iContainer->ListBoxNumberOfItems() ) |
3188 if ( iContainer->ListBoxNumberOfItems() ) |
3224 { |
3189 { |
3225 if ( !iContainer->ListBoxSelectionIndexesCount() ) |
3190 if ( !iContainer->ListBoxSelectionIndexesCount() ) |
3226 { |
3191 { |
3237 aMenuPane.SetItemDimmed( EFileManagerMoveToFolder, ETrue ); |
3202 aMenuPane.SetItemDimmed( EFileManagerMoveToFolder, ETrue ); |
3238 aMenuPane.SetItemDimmed( EFileManagerCopyToFolder, ETrue ); |
3203 aMenuPane.SetItemDimmed( EFileManagerCopyToFolder, ETrue ); |
3239 } |
3204 } |
3240 TInt index(iContainer->ListBoxCurrentItemIndex()); |
3205 TInt index(iContainer->ListBoxCurrentItemIndex()); |
3241 TUint32 fileType(iEngine.FileTypeL(index)); |
3206 TUint32 fileType(iEngine.FileTypeL(index)); |
3242 if (!(fileType & CFileManagerItemProperties::EFolder)) |
3207 // Do not dim move to folder command in option menu and stylus popup |
|
3208 // menu while marking mode is activated. |
|
3209 // At least one item is marked. |
|
3210 if ( !(fileType & CFileManagerItemProperties::EFolder ) |
|
3211 && iContainer->ListBoxSelectionIndexesCount() == 0 ) |
3243 { |
3212 { |
3244 aMenuPane.SetItemDimmed(EFileManagerMoveToFolder, ETrue); |
3213 aMenuPane.SetItemDimmed(EFileManagerMoveToFolder, ETrue); |
3245 } |
3214 } |
3246 CFileManagerFeatureManager& featureManager( FeatureManager() ); |
3215 CFileManagerFeatureManager& featureManager( FeatureManager() ); |
3247 |
3216 |
3276 { |
3245 { |
3277 // Search view item dimming |
3246 // Search view item dimming |
3278 aMenuPane.SetItemDimmed( EFileManagerRename, ETrue ); |
3247 aMenuPane.SetItemDimmed( EFileManagerRename, ETrue ); |
3279 aMenuPane.SetItemDimmed( EFileManagerReceiveViaIR, ETrue ); |
3248 aMenuPane.SetItemDimmed( EFileManagerReceiveViaIR, ETrue ); |
3280 aMenuPane.SetItemDimmed( EFileManagerOrganise, ETrue ); |
3249 aMenuPane.SetItemDimmed( EFileManagerOrganise, ETrue ); |
3281 // aMenuPane.SetItemDimmed( EFileManagerMemoryCard, ETrue ); |
|
3282 // aMenuPane.SetItemDimmed( EFileManagerMemoryCardPassword, ETrue ); |
|
3283 //aMenuPane.SetItemDimmed( EFileManagerUnlockMemoryCard, ETrue ); |
|
3284 aMenuPane.SetItemDimmed( EFileManagerRefreshRemoteDrive, ETrue ); |
3250 aMenuPane.SetItemDimmed( EFileManagerRefreshRemoteDrive, ETrue ); |
3285 #ifdef RD_MULTIPLE_DRIVE |
3251 #ifdef RD_MULTIPLE_DRIVE |
3286 aMenuPane.SetItemDimmed( EFileManagerFormatMassStorage, ETrue ); |
3252 aMenuPane.SetItemDimmed( EFileManagerFormatMassStorage, ETrue ); |
3287 #endif // RD_MULTIPLE_DRIVE |
3253 #endif // RD_MULTIPLE_DRIVE |
3288 aMenuPane.SetItemDimmed( EFileManagerSort, ETrue ); |
3254 aMenuPane.SetItemDimmed( EFileManagerSort, ETrue ); |
3297 { |
3263 { |
3298 // Write protected item dimming |
3264 // Write protected item dimming |
3299 aMenuPane.SetItemDimmed( EFileManagerRename, ETrue ); |
3265 aMenuPane.SetItemDimmed( EFileManagerRename, ETrue ); |
3300 aMenuPane.SetItemDimmed( EFileManagerDelete, ETrue ); |
3266 aMenuPane.SetItemDimmed( EFileManagerDelete, ETrue ); |
3301 aMenuPane.SetItemDimmed( EFileManagerReceiveViaIR, ETrue ); |
3267 aMenuPane.SetItemDimmed( EFileManagerReceiveViaIR, ETrue ); |
3302 // aMenuPane.SetItemDimmed( EFileManagerMemoryCard, ETrue ); |
|
3303 // aMenuPane.SetItemDimmed( EFileManagerMemoryCardPassword, ETrue ); |
|
3304 #ifdef RD_MULTIPLE_DRIVE |
3268 #ifdef RD_MULTIPLE_DRIVE |
3305 aMenuPane.SetItemDimmed( EFileManagerFormatMassStorage, ETrue ); |
3269 aMenuPane.SetItemDimmed( EFileManagerFormatMassStorage, ETrue ); |
3306 #endif // RD_MULTIPLE_DRIVE |
3270 #endif // RD_MULTIPLE_DRIVE |
3307 } |
3271 } |
3308 |
3272 |
3309 #ifdef RD_MULTIPLE_DRIVE |
3273 #ifdef RD_MULTIPLE_DRIVE |
3310 if ( drvInfo.iState & TFileManagerDriveInfo::EDriveMassStorage ) |
3274 if ( drvInfo.iState & TFileManagerDriveInfo::EDriveMassStorage ) |
3311 { |
3275 { |
3312 // Mass storage item dimming |
3276 // Mass storage item dimming |
3313 // aMenuPane.SetItemDimmed( EFileManagerMemoryCard, ETrue ); |
|
3314 // aMenuPane.SetItemDimmed( EFileManagerMemoryCardPassword, ETrue ); |
|
3315 aMenuPane.SetItemDimmed( EFileManagerUnlockMemoryCard, ETrue ); |
3277 aMenuPane.SetItemDimmed( EFileManagerUnlockMemoryCard, ETrue ); |
3316 |
3278 |
3317 if ( !( drvInfo.iState & TFileManagerDriveInfo::EDrivePresent ) ) |
3279 if ( !( drvInfo.iState & TFileManagerDriveInfo::EDrivePresent ) ) |
3318 { |
3280 { |
3319 aMenuPane.SetItemDimmed( EFileManagerFormatMassStorage, ETrue ); |
3281 aMenuPane.SetItemDimmed( EFileManagerFormatMassStorage, ETrue ); |
3326 // Memory card item dimming |
3288 // Memory card item dimming |
3327 if ( !( drvInfo.iState & TFileManagerDriveInfo::EDrivePresent ) || |
3289 if ( !( drvInfo.iState & TFileManagerDriveInfo::EDrivePresent ) || |
3328 ( drvInfo.iState & ( TFileManagerDriveInfo::EDriveCorrupted | |
3290 ( drvInfo.iState & ( TFileManagerDriveInfo::EDriveCorrupted | |
3329 TFileManagerDriveInfo::EDriveLocked ) ) ) |
3291 TFileManagerDriveInfo::EDriveLocked ) ) ) |
3330 { |
3292 { |
3331 // aMenuPane.SetItemDimmed( EFileManagerMemoryCardPassword, ETrue ); |
|
3332 aMenuPane.SetItemDimmed( EFileManagerDetails, ETrue ); |
3293 aMenuPane.SetItemDimmed( EFileManagerDetails, ETrue ); |
3333 } |
3294 } |
3334 if ( ( drvInfo.iState & TFileManagerDriveInfo::EDriveCorrupted ) || |
3295 if ( ( drvInfo.iState & TFileManagerDriveInfo::EDriveCorrupted ) || |
3335 !( drvInfo.iState & TFileManagerDriveInfo::EDriveLocked ) ) |
3296 !( drvInfo.iState & TFileManagerDriveInfo::EDriveLocked ) ) |
3336 { |
3297 { |
3337 aMenuPane.SetItemDimmed( EFileManagerUnlockMemoryCard, ETrue ); |
3298 aMenuPane.SetItemDimmed( EFileManagerUnlockMemoryCard, ETrue ); |
3338 } |
3299 } |
3339 // if ( !( drvInfo.iState & TFileManagerDriveInfo::EDriveLockable ) ) |
|
3340 // { |
|
3341 // aMenuPane.SetItemDimmed( EFileManagerMemoryCardPassword, ETrue ); |
|
3342 // } |
|
3343 if ( !featureManager.IsMmcPassWdSupported() ) |
3300 if ( !featureManager.IsMmcPassWdSupported() ) |
3344 { |
3301 { |
3345 //aMenuPane.SetItemDimmed( EFileManagerMemoryCardPassword, ETrue ); |
|
3346 aMenuPane.SetItemDimmed( EFileManagerUnlockMemoryCard, ETrue ); |
3302 aMenuPane.SetItemDimmed( EFileManagerUnlockMemoryCard, ETrue ); |
3347 } |
3303 } |
3348 #ifdef RD_MULTIPLE_DRIVE |
3304 #ifdef RD_MULTIPLE_DRIVE |
3349 aMenuPane.SetItemDimmed( EFileManagerFormatMassStorage, ETrue ); |
3305 aMenuPane.SetItemDimmed( EFileManagerFormatMassStorage, ETrue ); |
3350 #endif // RD_MULTIPLE_DRIVE |
3306 #endif // RD_MULTIPLE_DRIVE |
3351 } |
3307 } |
3352 else |
3308 else |
3353 { |
3309 { |
3354 // No mass storage or memory card item dimming |
3310 // No mass storage or memory card item dimming |
3355 // aMenuPane.SetItemDimmed( EFileManagerMemoryCard, ETrue ); |
|
3356 // aMenuPane.SetItemDimmed( EFileManagerMemoryCardPassword, ETrue ); |
|
3357 aMenuPane.SetItemDimmed( EFileManagerUnlockMemoryCard, ETrue ); |
3311 aMenuPane.SetItemDimmed( EFileManagerUnlockMemoryCard, ETrue ); |
3358 #ifdef RD_MULTIPLE_DRIVE |
3312 #ifdef RD_MULTIPLE_DRIVE |
3359 aMenuPane.SetItemDimmed( EFileManagerFormatMassStorage, ETrue ); |
3313 aMenuPane.SetItemDimmed( EFileManagerFormatMassStorage, ETrue ); |
3360 #endif // RD_MULTIPLE_DRIVE |
3314 #endif // RD_MULTIPLE_DRIVE |
3361 } |
3315 } |
3362 |
3316 |
3363 // CEikListBox& listBox = iContainer->ListBox(); |
|
3364 TBool dimSend( EFalse ); |
3317 TBool dimSend( EFalse ); |
3365 |
3318 |
3366 if ( iContainer->ListBoxSelectionIndexesCount() ) |
3319 if ( iContainer->ListBoxSelectionIndexesCount() ) |
3367 { |
3320 { |
3368 // Selections in list |
3321 // Selections in list |
3384 { |
3337 { |
3385 aMenuPane.SetItemDimmed( EFileManagerDetails, ETrue ); |
3338 aMenuPane.SetItemDimmed( EFileManagerDetails, ETrue ); |
3386 } |
3339 } |
3387 |
3340 |
3388 if ( !( drvInfo.iState & TFileManagerDriveInfo::EDrivePresent ) || |
3341 if ( !( drvInfo.iState & TFileManagerDriveInfo::EDrivePresent ) || |
3389 ( ( drvInfo.iState & TFileManagerDriveInfo::EDriveRemote ) && |
3342 ( drvInfo.iState & TFileManagerDriveInfo::EDriveInUse ) || |
|
3343 ( ( drvInfo.iState & TFileManagerDriveInfo::EDriveRemote ) && |
3390 !( drvInfo.iState & TFileManagerDriveInfo::EDriveConnected ) ) ) |
3344 !( drvInfo.iState & TFileManagerDriveInfo::EDriveConnected ) ) ) |
3391 { |
3345 { |
3392 // Handle unavailable drive OR disconnected remote drive |
3346 // Handle unavailable drive or disconnected remote drive |
3393 dimSend = ETrue; |
3347 dimSend = ETrue; |
3394 aMenuPane.SetItemDimmed( EFileManagerSort, ETrue ); |
3348 aMenuPane.SetItemDimmed( EFileManagerSort, ETrue ); |
3395 aMenuPane.SetItemDimmed( EFileManagerOrganise, ETrue ); |
3349 aMenuPane.SetItemDimmed( EFileManagerOrganise, ETrue ); |
3396 aMenuPane.SetItemDimmed( EFileManagerMark, ETrue ); |
3350 aMenuPane.SetItemDimmed( EFileManagerDelete, ETrue ); |
|
3351 if ( aMenuPane.MenuItemExists( EAknCmdMarkingModeEnter, pos ) ) |
|
3352 { |
|
3353 aMenuPane.SetItemDimmed( EAknCmdMarkingModeEnter, ETrue ); |
|
3354 } |
3397 } |
3355 } |
3398 } |
3356 } |
3399 else if ( iContainer->ListBoxNumberOfItems() ) |
3357 else if ( iContainer->ListBoxNumberOfItems() ) |
3400 { |
3358 { |
3401 // Check if there is files on the list |
3359 // Check whether there is file on the list |
3402 TInt files( iEngine.FilesInFolderL() ); |
3360 TInt files( iEngine.FilesInFolderL() ); |
3403 if ( !files ) |
3361 if ( files == 0 ) |
3404 { |
3362 { |
3405 dimSend = ETrue; |
3363 dimSend = ETrue; |
3406 aMenuPane.SetItemDimmed( EFileManagerMark, ETrue ); |
3364 if ( aMenuPane.MenuItemExists( EAknCmdMarkingModeEnter, pos ) ) |
|
3365 { |
|
3366 aMenuPane.SetItemDimmed( EAknCmdMarkingModeEnter, ETrue ); |
|
3367 } |
3407 } |
3368 } |
3408 |
3369 |
3409 // There is items in list, check selection type |
3370 // There is items in list, check selection type |
3410 TUint32 fileType( iEngine.FileTypeL( |
3371 TUint32 fileType( iEngine.FileTypeL( |
3411 iContainer->ListBoxCurrentItemIndex() ) ); |
3372 iContainer->ListBoxCurrentItemIndex() ) ); |
3441 else |
3402 else |
3442 { |
3403 { |
3443 // List is empty |
3404 // List is empty |
3444 aMenuPane.SetItemDimmed( EFileManagerOpen, ETrue ); |
3405 aMenuPane.SetItemDimmed( EFileManagerOpen, ETrue ); |
3445 aMenuPane.SetItemDimmed( EFileManagerDelete, ETrue ); |
3406 aMenuPane.SetItemDimmed( EFileManagerDelete, ETrue ); |
3446 aMenuPane.SetItemDimmed( EFileManagerMark, ETrue ); |
3407 if ( aMenuPane.MenuItemExists( EAknCmdMarkingModeEnter, pos ) ) |
|
3408 { |
|
3409 aMenuPane.SetItemDimmed( EAknCmdMarkingModeEnter, ETrue ); |
|
3410 } |
3447 aMenuPane.SetItemDimmed( EFileManagerRename, ETrue ); |
3411 aMenuPane.SetItemDimmed( EFileManagerRename, ETrue ); |
3448 aMenuPane.SetItemDimmed( EFileManagerSort, ETrue ); |
3412 aMenuPane.SetItemDimmed( EFileManagerSort, ETrue ); |
3449 aMenuPane.SetItemDimmed( EFileManagerSearchSort, ETrue ); |
3413 aMenuPane.SetItemDimmed( EFileManagerSearchSort, ETrue ); |
3450 aMenuPane.SetItemDimmed( EFileManagerDetails, ETrue ); |
3414 aMenuPane.SetItemDimmed( EFileManagerDetails, ETrue ); |
3451 dimSend = ETrue; |
3415 dimSend = ETrue; |
3465 !( drvInfo.iState & TFileManagerDriveInfo::EDriveConnected ) ) |
3429 !( drvInfo.iState & TFileManagerDriveInfo::EDriveConnected ) ) |
3466 { |
3430 { |
3467 // Handle disconnected remote drive |
3431 // Handle disconnected remote drive |
3468 aMenuPane.SetItemDimmed( EFileManagerReceiveViaIR, ETrue ); |
3432 aMenuPane.SetItemDimmed( EFileManagerReceiveViaIR, ETrue ); |
3469 aMenuPane.SetItemDimmed( EFileManagerOrganise, ETrue ); |
3433 aMenuPane.SetItemDimmed( EFileManagerOrganise, ETrue ); |
3470 // aMenuPane.SetItemDimmed( EFileManagerDetails, ETrue ); |
|
3471 } |
3434 } |
3472 else if ( !( drvInfo.iState & TFileManagerDriveInfo::EDrivePresent ) || |
3435 else if ( !( drvInfo.iState & TFileManagerDriveInfo::EDrivePresent ) || |
3473 ( drvInfo.iState & ( |
3436 ( drvInfo.iState & ( |
3474 TFileManagerDriveInfo::EDriveCorrupted | |
3437 TFileManagerDriveInfo::EDriveCorrupted | |
3475 TFileManagerDriveInfo::EDriveLocked ) ) ) |
3438 TFileManagerDriveInfo::EDriveLocked ) ) ) |
3476 { |
3439 { |
3477 // Handle unavailable drive |
3440 // Handle unavailable drive |
3478 // aMenuPane.SetItemDimmed( EFileManagerDetails, ETrue ); |
|
3479 aMenuPane.SetItemDimmed( EFileManagerReceiveViaIR, ETrue ); |
3441 aMenuPane.SetItemDimmed( EFileManagerReceiveViaIR, ETrue ); |
3480 aMenuPane.SetItemDimmed( EFileManagerOrganise, ETrue ); |
3442 aMenuPane.SetItemDimmed( EFileManagerOrganise, ETrue ); |
3481 // aMenuPane.SetItemDimmed( EFileManagerMemoryCardPassword, ETrue ); |
|
3482 |
3443 |
3483 if ( drvInfo.iState & TFileManagerDriveInfo::EDriveRemovable && |
3444 if ( drvInfo.iState & TFileManagerDriveInfo::EDriveRemovable && |
3484 !( drvInfo.iState & TFileManagerDriveInfo::EDriveLocked ) ) |
3445 !( drvInfo.iState & TFileManagerDriveInfo::EDriveLocked ) ) |
3485 { |
3446 { |
3486 aMenuPane.SetItemDimmed( EFileManagerUnlockMemoryCard, ETrue ); |
3447 aMenuPane.SetItemDimmed( EFileManagerUnlockMemoryCard, ETrue ); |
3493 // Handle empty search results and invalid path |
3454 // Handle empty search results and invalid path |
3494 if ( isSearchOn || !iEngine.CurrentDirectory().Length() ) |
3455 if ( isSearchOn || !iEngine.CurrentDirectory().Length() ) |
3495 { |
3456 { |
3496 aMenuPane.SetItemDimmed( EFileManagerReceiveViaIR, ETrue ); |
3457 aMenuPane.SetItemDimmed( EFileManagerReceiveViaIR, ETrue ); |
3497 aMenuPane.SetItemDimmed( EFileManagerOrganise, ETrue ); |
3458 aMenuPane.SetItemDimmed( EFileManagerOrganise, ETrue ); |
3498 // aMenuPane.SetItemDimmed( EFileManagerMemoryCardPassword, ETrue ); |
|
3499 // aMenuPane.SetItemDimmed( EFileManagerMemoryCard, ETrue ); |
|
3500 aMenuPane.SetItemDimmed( EFileManagerUnlockMemoryCard, ETrue ); |
3459 aMenuPane.SetItemDimmed( EFileManagerUnlockMemoryCard, ETrue ); |
3501 // aMenuPane.SetItemDimmed( EFileManagerDetails, ETrue ); |
|
3502 } |
3460 } |
3503 else |
3461 else |
3504 { |
3462 { |
3505 // BaflUtils::PathExists does not work for remote drive root dirs. |
3463 // BaflUtils::PathExists does not work for remote drive root dirs. |
3506 if( drvInfo.iState & TFileManagerDriveInfo::EDriveRemote ) |
3464 if( drvInfo.iState & TFileManagerDriveInfo::EDriveRemote ) |