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