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 // ------------------------------------------------------------------------------------------------- |