videoplayback/videoplaybackcontrols/src/mpxvideoplaybackmediadetailsviewer.cpp
branchRCL_3
changeset 8 ce5ada96ab30
parent 6 7d91903f795f
child 9 5294c000a26d
equal deleted inserted replaced
6:7d91903f795f 8:ce5ada96ab30
    13 *
    13 *
    14 * Description: Media Details Viewer
    14 * Description: Media Details Viewer
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 // Version : %version:  e003sa33#12 %
    18 // Version : %version:  e003sa33#14 %
    19 
    19 
    20 
    20 
    21 // INCLUDE FILES
    21 // INCLUDE FILES
    22 #include <eikenv.h>
    22 #include <eikenv.h>
    23 #include <eiklabel.h>
    23 #include <eiklabel.h>
   297     TInt rowsAdded = 0;
   297     TInt rowsAdded = 0;
   298 
   298 
   299     // License
   299     // License
   300     if ( iController->FileDetails()->iDrmProtected )
   300     if ( iController->FileDetails()->iDrmProtected )
   301     {
   301     {
   302         iLicenseLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , 
   302         iLicenseLabel->SetExtent( 
   303                                   TSize(labelWidth,labelHeight) );  
   303         		             TPoint(Rect().iTl.iX, Rect().iTl.iY + ( labelHeight * rowsAdded) ) , 
       
   304                              TSize( labelWidth, labelHeight ) 
       
   305                              );  
   304         HBufC* heading  = iEikonEnv->AllocReadResourceL( R_MPX_LICENSE_HEADING );     
   306         HBufC* heading  = iEikonEnv->AllocReadResourceL( R_MPX_LICENSE_HEADING );     
   305         CleanupStack::PushL( heading );
   307         CleanupStack::PushL( heading );
   306         
   308         
   307         TBuf<KMediaDetailsViewerMaxBufLen> licenseField;
   309         TBuf<KMediaDetailsViewerMaxBufLen> licenseField;
   308         licenseField.Append(KLeftMargin);
   310         licenseField.Append(KLeftMargin);
   317         
   319         
   318         CleanupStack::PopAndDestroy( heading );
   320         CleanupStack::PopAndDestroy( heading );
   319     }    
   321     }    
   320 
   322 
   321     // Filename
   323     // Filename
   322     if ( iController->FileDetails()->iClipName )
   324     HBufC* fileName = iController->FileDetails()->GenerateFileNameL();
       
   325     if ( fileName && fileName->Length() )
   323     {   
   326     {   
   324         // file name gets populated by HandleScrollFilenameTimer method         
   327         // file name gets populated by HandleScrollFilenameTimer method         
   325         iClipnameLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , 
   328         iClipnameLabel->SetExtent( 
   326                                    TSize(labelWidth,labelHeight) );
   329         		             TPoint( Rect().iTl.iX, Rect().iTl.iY + ( labelHeight * rowsAdded ) ) , 
       
   330                              TSize( labelWidth, labelHeight )
       
   331                              );
   327         iClipnameLabel->SetAllMarginsTo(KMediaDetailsViewerItemMargin);        
   332         iClipnameLabel->SetAllMarginsTo(KMediaDetailsViewerItemMargin);        
   328         iClipnameLabel->MakeVisible( ETrue );
   333         iClipnameLabel->MakeVisible( ETrue );
   329         rowsAdded++;
   334         rowsAdded++;
   330         
   335         
       
   336         delete fileName;
   331     }    
   337     }    
   332 
   338 
   333     // Mime Type (Format)
   339     // Mime Type (Format)
   334     if ( iController->FileDetails()->iMimeType )
   340     if ( iController->FileDetails()->iMimeType 
   335     {
   341     		&& iController->FileDetails()->iMimeType->Length() )
   336         iFormatLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , 
   342     {
   337                                  TSize(labelWidth,labelHeight) );
   343         iFormatLabel->SetExtent( 
       
   344         		          TPoint( Rect().iTl.iX, Rect().iTl.iY + ( labelHeight * rowsAdded ) ) , 
       
   345                           TSize( labelWidth, labelHeight )
       
   346                           );
   338         HBufC* heading  = iEikonEnv->AllocReadResourceL( R_MPX_FORMAT_HEADING );     
   347         HBufC* heading  = iEikonEnv->AllocReadResourceL( R_MPX_FORMAT_HEADING );     
   339         CleanupStack::PushL( heading );
   348         CleanupStack::PushL( heading );
   340         
   349         
   341         TBuf<KMediaDetailsViewerMaxBufLen> formatField;
   350         TBuf<KMediaDetailsViewerMaxBufLen> formatField;
   342         formatField.Append(KLeftMargin);
   351         formatField.Append(KLeftMargin);
   354 
   363 
   355     // Resolution
   364     // Resolution
   356     if ( iController->FileDetails()->iVideoHeight &&  
   365     if ( iController->FileDetails()->iVideoHeight &&  
   357          iController->FileDetails()->iVideoWidth )
   366          iController->FileDetails()->iVideoWidth )
   358     {
   367     {
   359         iResolutionLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , 
   368         iResolutionLabel->SetExtent( 
   360                                      TSize(labelWidth,labelHeight) );
   369         		               TPoint( Rect().iTl.iX, Rect().iTl.iY + ( labelHeight * rowsAdded ) ) , 
       
   370                                TSize( labelWidth, labelHeight )
       
   371                                );
   361         HBufC* heading  = iEikonEnv->AllocReadResourceL( R_MPX_RESOLUTION_HEADING );     
   372         HBufC* heading  = iEikonEnv->AllocReadResourceL( R_MPX_RESOLUTION_HEADING );     
   362         CleanupStack::PushL( heading );
   373         CleanupStack::PushL( heading );
   363         
   374         
   364         TBuf<KMediaDetailsViewerMaxBufLen> resolutionField;
   375         TBuf<KMediaDetailsViewerMaxBufLen> resolutionField;
   365         resolutionField.Append(KLeftMargin);
   376         resolutionField.Append(KLeftMargin);
   379     } 
   390     } 
   380 
   391 
   381     // Duration
   392     // Duration
   382     if ( iController->FileDetails()->iDuration > 0 )
   393     if ( iController->FileDetails()->iDuration > 0 )
   383     {
   394     {
   384         iDurationLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , 
   395         iDurationLabel->SetExtent(
   385                                    TSize(labelWidth,labelHeight) );
   396         		             TPoint( Rect().iTl.iX, Rect().iTl.iY + ( labelHeight * rowsAdded) ) , 
       
   397                              TSize( labelWidth, labelHeight )
       
   398                              );
   386         HBufC* heading  = iEikonEnv->AllocReadResourceL( R_MPX_DURATION_HEADING );     
   399         HBufC* heading  = iEikonEnv->AllocReadResourceL( R_MPX_DURATION_HEADING );     
   387         CleanupStack::PushL( heading );
   400         CleanupStack::PushL( heading );
   388         
   401         
   389         TBuf<KMediaDetailsViewerMaxBufLen> durationField;
   402         TBuf<KMediaDetailsViewerMaxBufLen> durationField;
   390         durationField.Append(KLeftMargin);
   403         durationField.Append(KLeftMargin);
   421     
   434     
   422 
   435 
   423     // Bitrate
   436     // Bitrate
   424     if ( iController->FileDetails()->iBitRate > 0 )
   437     if ( iController->FileDetails()->iBitRate > 0 )
   425     {
   438     {
   426         iBitrateLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , 
   439         iBitrateLabel->SetExtent( 
   427                                   TSize(labelWidth,labelHeight) );
   440         		          TPoint( Rect().iTl.iX, Rect().iTl.iY + ( labelHeight * rowsAdded ) ) , 
       
   441                           TSize( labelWidth, labelHeight )
       
   442                           );
   428         HBufC* heading  = iEikonEnv->AllocReadResourceL( R_MPX_BITRATE_HEADING );     
   443         HBufC* heading  = iEikonEnv->AllocReadResourceL( R_MPX_BITRATE_HEADING );     
   429         CleanupStack::PushL( heading );
   444         CleanupStack::PushL( heading );
   430         
   445         
   431         TBuf<KMediaDetailsViewerMaxBufLen> bitrateField;
   446         TBuf<KMediaDetailsViewerMaxBufLen> bitrateField;
   432         bitrateField.Append(KLeftMargin);
   447         bitrateField.Append(KLeftMargin);
   445         CleanupStack::PopAndDestroy( formattedBitrate ); // formattedBitrate
   460         CleanupStack::PopAndDestroy( formattedBitrate ); // formattedBitrate
   446         CleanupStack::PopAndDestroy( heading );
   461         CleanupStack::PopAndDestroy( heading );
   447     }         
   462     }         
   448 
   463 
   449     // Title
   464     // Title
   450     if ( iController->FileDetails()->iTitle )
   465     if ( iController->FileDetails()->iTitle 
   451     {
   466     		&& iController->FileDetails()->iTitle->Length() )
   452         iTitleLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , 
   467     {
   453                                 TSize(labelWidth,labelHeight) );
   468         iTitleLabel->SetExtent( 
       
   469         		          TPoint( Rect().iTl.iX, Rect().iTl.iY + ( labelHeight * rowsAdded ) ) , 
       
   470                           TSize( labelWidth, labelHeight ) 
       
   471                           );
   454         HBufC* heading  = iEikonEnv->AllocReadResourceL( R_MPX_TITLE_HEADING );     
   472         HBufC* heading  = iEikonEnv->AllocReadResourceL( R_MPX_TITLE_HEADING );     
   455         CleanupStack::PushL( heading );
   473         CleanupStack::PushL( heading );
   456         
   474         
   457         TBuf<KMediaDetailsViewerMaxBufLen> titleField;
   475         TBuf<KMediaDetailsViewerMaxBufLen> titleField;
   458         titleField.Append(KLeftMargin);
   476         titleField.Append(KLeftMargin);
   467         
   485         
   468         CleanupStack::PopAndDestroy( heading );        
   486         CleanupStack::PopAndDestroy( heading );        
   469     }    
   487     }    
   470 
   488 
   471     // Artist
   489     // Artist
   472     if ( iController->FileDetails()->iArtist )
   490     if ( iController->FileDetails()->iArtist 
   473     {
   491     		&& iController->FileDetails()->iArtist->Length() )
   474         iArtistLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , 
   492     {
   475                                 TSize(labelWidth,labelHeight) );
   493         iArtistLabel->SetExtent( 
       
   494         		          TPoint( Rect().iTl.iX, Rect().iTl.iY + ( labelHeight * rowsAdded ) ) , 
       
   495                           TSize( labelWidth, labelHeight )
       
   496                           );
   476         HBufC* heading  = iEikonEnv->AllocReadResourceL( R_MPX_ARTIST_HEADING );     
   497         HBufC* heading  = iEikonEnv->AllocReadResourceL( R_MPX_ARTIST_HEADING );     
   477         CleanupStack::PushL( heading );
   498         CleanupStack::PushL( heading );
   478         
   499         
   479         TBuf<KMediaDetailsViewerMaxBufLen> artistField;
   500         TBuf<KMediaDetailsViewerMaxBufLen> artistField;
   480         artistField.Append(KLeftMargin);
   501         artistField.Append(KLeftMargin);
   492  
   513  
   493     
   514     
   494     // Additional Label
   515     // Additional Label
   495     if ( iAdditionalString && iAdditionalString->Length() ) 
   516     if ( iAdditionalString && iAdditionalString->Length() ) 
   496     {    
   517     {    
   497         iAdditionalLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , 
   518         iAdditionalLabel->SetExtent(
   498                                      TSize(labelWidth,labelHeight) );  
   519         		               TPoint( Rect().iTl.iX, Rect().iTl.iY + ( labelHeight * rowsAdded ) ) , 
       
   520                                TSize( labelWidth, labelHeight )
       
   521                                );  
   499         
   522         
   500         TBuf<KMediaDetailsViewerMaxBufLen> titleField;
   523         TBuf<KMediaDetailsViewerMaxBufLen> titleField;
   501         titleField.Append(KLeftMargin);
   524         titleField.Append(KLeftMargin);
   502         TInt allowLen = KMediaDetailsViewerMaxBufLen-titleField.Length();
   525         TInt allowLen = KMediaDetailsViewerMaxBufLen-titleField.Length();
   503         titleField.Append( iAdditionalString->Left(allowLen) );
   526         titleField.Append( iAdditionalString->Left(allowLen) );
   692 // CMPXVideoPlaybackMediaDetailsViewer::HandleScrollFilenameTimerL
   715 // CMPXVideoPlaybackMediaDetailsViewer::HandleScrollFilenameTimerL
   693 // -------------------------------------------------------------------------------------------------
   716 // -------------------------------------------------------------------------------------------------
   694 //
   717 //
   695 void CMPXVideoPlaybackMediaDetailsViewer::HandleScrollFilenameTimerL()
   718 void CMPXVideoPlaybackMediaDetailsViewer::HandleScrollFilenameTimerL()
   696 {   
   719 {   
   697     if (iController->FileDetails()->iClipName)
   720     HBufC* fileName = iController->FileDetails()->GenerateFileNameL();
   698     {
   721     
       
   722 	if ( fileName && fileName->Length() )
       
   723     {
       
   724         CleanupStack::PushL( fileName );
   699         if ( iShouldPauseScrolling )
   725         if ( iShouldPauseScrolling )
   700         {
   726         {
   701             iShouldPauseScrolling = EFalse;
   727             iShouldPauseScrolling = EFalse;
   702             User::After( 2000000 );  // add a 2 second delay after each complete scrolling
   728             User::After( 2000000 );  // add a 2 second delay after each complete scrolling
   703         }    
   729         }    
   704     
   730     
   705         TInt length = iController->FileDetails()->iClipName->Length();
   731         TInt length = fileName->Length();                
   706                         
   732                         
   707         HBufC* heading  = iEikonEnv->AllocReadResourceL( R_MPX_FILENAME_HEADING );     
   733         HBufC* heading  = iEikonEnv->AllocReadResourceL( R_MPX_FILENAME_HEADING );     
   708         CleanupStack::PushL( heading );
   734         CleanupStack::PushL( heading );
   709         
   735         
   710         TBuf<KMediaDetailsViewerMaxBufLen> filenameField;
   736         TBuf<KMediaDetailsViewerMaxBufLen> filenameField;
   712         filenameField.Append( *heading );
   738         filenameField.Append( *heading );
   713         filenameField.Append( KHeadingValueSeperator );           
   739         filenameField.Append( KHeadingValueSeperator );           
   714         
   740         
   715         if ( length >= KMediaDetailsViewerVisibleCharacters )
   741         if ( length >= KMediaDetailsViewerVisibleCharacters )
   716         {  
   742         {  
   717             filenameField.Append( 
   743             filenameField.Append( fileName->Mid( iScrollPosition,
   718                     iController->FileDetails()->iClipName->Mid(iScrollPosition, 
   744             		KMediaDetailsViewerVisibleCharacters ) );
   719                                                                KMediaDetailsViewerVisibleCharacters) );
       
   720             
   745             
   721             if ( iScrollPosition ==  (length - KMediaDetailsViewerVisibleCharacters) )
   746             if ( iScrollPosition ==  (length - KMediaDetailsViewerVisibleCharacters) )
   722             {
   747             {
   723                 iScrollPosition = 0;    
   748                 iScrollPosition = 0;    
   724                 iShouldPauseScrolling = ETrue;
   749                 iShouldPauseScrolling = ETrue;
   728                 iScrollPosition++;
   753                 iScrollPosition++;
   729             }
   754             }
   730         }
   755         }
   731         else
   756         else
   732         {
   757         {
   733             filenameField.Append( *(iController->FileDetails()->iClipName) );
   758             filenameField.Append( *fileName );
   734             iScrollingTextTimer->Cancel();   // no need to keep the timer active
   759             iScrollingTextTimer->Cancel();   // no need to keep the timer active
   735         }
   760         }
   736                     
   761                     
   737         iClipnameLabel->SetTextL(filenameField);    
   762         iClipnameLabel->SetTextL(filenameField);    
   738         DrawNow();
   763         DrawNow();
   739         
   764         
   740         CleanupStack::PopAndDestroy( heading );        
   765         CleanupStack::PopAndDestroy( heading );        
   741                          
   766         CleanupStack::PopAndDestroy( fileName );                  
   742     }           
   767     }           
   743 }
   768 }
   744 
   769 
   745 
   770 
   746 // -------------------------------------------------------------------------------------------------
   771 // -------------------------------------------------------------------------------------------------