49 const TInt KMediaDetailsViewerItemMargin = 3; |
49 const TInt KMediaDetailsViewerItemMargin = 3; |
50 const TInt KMediaDetailsViewerVisibleCharacters = 30; |
50 const TInt KMediaDetailsViewerVisibleCharacters = 30; |
51 const TInt KMediaDetailsViewerFilenameMedium = 45; |
51 const TInt KMediaDetailsViewerFilenameMedium = 45; |
52 const TInt KMediaDetailsViewerOffsetDivisorMedium = 12; |
52 const TInt KMediaDetailsViewerOffsetDivisorMedium = 12; |
53 const TInt KMediaDetailsViewerOffsetDivisorMax = 20; |
53 const TInt KMediaDetailsViewerOffsetDivisorMax = 20; |
|
54 const TInt KMediaDetailsViewerMaxBufLen = 255; |
54 |
55 |
55 // UID of this interface |
56 // UID of this interface |
56 const TUid KFileDetailsCntlPluginUid = {0x2002A59D}; |
57 const TUid KFileDetailsCntlPluginUid = {0x2002A59D}; |
57 const TUid KFileDetailsInterfaceUid = {0x2002A5A0}; |
58 const TUid KFileDetailsInterfaceUid = {0x2002A5A0}; |
58 // --------------------------------------------------------------------------- |
59 // --------------------------------------------------------------------------- |
299 if ( iController->FileDetails()->iDrmProtected ) |
300 if ( iController->FileDetails()->iDrmProtected ) |
300 { |
301 { |
301 iLicenseLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , |
302 iLicenseLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , |
302 TSize(labelWidth,labelHeight) ); |
303 TSize(labelWidth,labelHeight) ); |
303 HBufC* heading = iEikonEnv->AllocReadResourceL( R_MPX_LICENSE_HEADING ); |
304 HBufC* heading = iEikonEnv->AllocReadResourceL( R_MPX_LICENSE_HEADING ); |
304 TBuf<255> licenseField; |
305 CleanupStack::PushL( heading ); |
|
306 |
|
307 TBuf<KMediaDetailsViewerMaxBufLen> licenseField; |
305 licenseField.Append(KLeftMargin); |
308 licenseField.Append(KLeftMargin); |
306 licenseField.Append( *heading ); |
309 licenseField.Append( *heading ); |
307 iLicenseLabel->OverrideColorL(EColorLabelText, KRgbDarkBlue); |
310 iLicenseLabel->OverrideColorL(EColorLabelText, KRgbDarkBlue); |
308 iLicenseLabel->SetTextL(licenseField); |
311 iLicenseLabel->SetTextL(licenseField); |
309 iLicenseLabel->SetAllMarginsTo(KMediaDetailsViewerItemMargin); |
312 iLicenseLabel->SetAllMarginsTo(KMediaDetailsViewerItemMargin); |
310 iLicenseLabel->SetLabelAlignment(ELayoutAlignCenter); |
313 iLicenseLabel->SetLabelAlignment(ELayoutAlignCenter); |
311 iLicenseLabel->SetUnderlining(ETrue); |
314 iLicenseLabel->SetUnderlining(ETrue); |
312 iLicenseLabel->MakeVisible( ETrue ); |
315 iLicenseLabel->MakeVisible( ETrue ); |
313 rowsAdded++; |
316 rowsAdded++; |
314 delete heading; |
317 |
|
318 CleanupStack::PopAndDestroy( heading ); |
315 } |
319 } |
316 |
320 |
317 // Filename |
321 // Filename |
318 if ( iController->FileDetails()->iClipName ) |
322 if ( iController->FileDetails()->iClipName ) |
319 { |
323 { |
330 if ( iController->FileDetails()->iMimeType ) |
334 if ( iController->FileDetails()->iMimeType ) |
331 { |
335 { |
332 iFormatLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , |
336 iFormatLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , |
333 TSize(labelWidth,labelHeight) ); |
337 TSize(labelWidth,labelHeight) ); |
334 HBufC* heading = iEikonEnv->AllocReadResourceL( R_MPX_FORMAT_HEADING ); |
338 HBufC* heading = iEikonEnv->AllocReadResourceL( R_MPX_FORMAT_HEADING ); |
335 TBuf<255> formatField; |
339 CleanupStack::PushL( heading ); |
|
340 |
|
341 TBuf<KMediaDetailsViewerMaxBufLen> formatField; |
336 formatField.Append(KLeftMargin); |
342 formatField.Append(KLeftMargin); |
337 formatField.Append( *heading ); |
343 formatField.Append( *heading ); |
338 formatField.Append( KHeadingValueSeperator ); |
344 formatField.Append( KHeadingValueSeperator ); |
339 formatField.Append( *(iController->FileDetails()->iMimeType) ); |
345 TInt allowLen = KMediaDetailsViewerMaxBufLen-formatField.Length(); |
|
346 formatField.Append( (iController->FileDetails()->iMimeType)->Left(allowLen) ); |
340 iFormatLabel->SetTextL(formatField); |
347 iFormatLabel->SetTextL(formatField); |
341 iFormatLabel->SetAllMarginsTo(KMediaDetailsViewerItemMargin); |
348 iFormatLabel->SetAllMarginsTo(KMediaDetailsViewerItemMargin); |
342 iFormatLabel->MakeVisible( ETrue ); |
349 iFormatLabel->MakeVisible( ETrue ); |
343 rowsAdded++; |
350 rowsAdded++; |
344 delete heading; |
351 |
|
352 CleanupStack::PopAndDestroy( heading ); |
345 } |
353 } |
346 |
354 |
347 // Resolution |
355 // Resolution |
348 if ( iController->FileDetails()->iVideoHeight && |
356 if ( iController->FileDetails()->iVideoHeight && |
349 iController->FileDetails()->iVideoWidth ) |
357 iController->FileDetails()->iVideoWidth ) |
350 { |
358 { |
351 iResolutionLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , |
359 iResolutionLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , |
352 TSize(labelWidth,labelHeight) ); |
360 TSize(labelWidth,labelHeight) ); |
353 HBufC* heading = iEikonEnv->AllocReadResourceL( R_MPX_RESOLUTION_HEADING ); |
361 HBufC* heading = iEikonEnv->AllocReadResourceL( R_MPX_RESOLUTION_HEADING ); |
354 TBuf<255> resolutionField; |
362 CleanupStack::PushL( heading ); |
|
363 |
|
364 TBuf<KMediaDetailsViewerMaxBufLen> resolutionField; |
355 resolutionField.Append(KLeftMargin); |
365 resolutionField.Append(KLeftMargin); |
356 resolutionField.Append( *heading ); |
366 resolutionField.Append( *heading ); |
357 resolutionField.Append( KHeadingValueSeperator ); |
367 resolutionField.Append( KHeadingValueSeperator ); |
358 resolutionField.AppendNum( iController->FileDetails()->iVideoWidth ); |
368 resolutionField.AppendNum( iController->FileDetails()->iVideoWidth ); |
359 resolutionField.Append( KWidthHeightSeparator ); |
369 resolutionField.Append( KWidthHeightSeparator ); |
361 |
371 |
362 iResolutionLabel->SetTextL(resolutionField); |
372 iResolutionLabel->SetTextL(resolutionField); |
363 iResolutionLabel->SetAllMarginsTo(KMediaDetailsViewerItemMargin); |
373 iResolutionLabel->SetAllMarginsTo(KMediaDetailsViewerItemMargin); |
364 iResolutionLabel->MakeVisible( ETrue ); |
374 iResolutionLabel->MakeVisible( ETrue ); |
365 rowsAdded++; |
375 rowsAdded++; |
366 delete heading; |
376 |
|
377 CleanupStack::PopAndDestroy( heading ); |
367 } |
378 } |
368 |
379 |
369 // Duration |
380 // Duration |
370 if ( iController->FileDetails()->iDuration > 0 ) |
381 if ( iController->FileDetails()->iDuration > 0 ) |
371 { |
382 { |
372 iDurationLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , |
383 iDurationLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , |
373 TSize(labelWidth,labelHeight) ); |
384 TSize(labelWidth,labelHeight) ); |
374 HBufC* heading = iEikonEnv->AllocReadResourceL( R_MPX_DURATION_HEADING ); |
385 HBufC* heading = iEikonEnv->AllocReadResourceL( R_MPX_DURATION_HEADING ); |
375 TBuf<255> durationField; |
386 CleanupStack::PushL( heading ); |
|
387 |
|
388 TBuf<KMediaDetailsViewerMaxBufLen> durationField; |
376 durationField.Append(KLeftMargin); |
389 durationField.Append(KLeftMargin); |
377 durationField.Append( *heading ); |
390 durationField.Append( *heading ); |
378 durationField.Append( KHeadingValueSeperator ); |
391 durationField.Append( KHeadingValueSeperator ); |
379 |
392 |
380 TInt64 durationInSeconds = iController->FileDetails()->iDuration / 1000; |
393 TInt64 durationInSeconds = iController->FileDetails()->iDuration / 1000; |
397 durationField.Append( dur ); |
410 durationField.Append( dur ); |
398 iDurationLabel->SetTextL(durationField); |
411 iDurationLabel->SetTextL(durationField); |
399 iDurationLabel->SetAllMarginsTo(KMediaDetailsViewerItemMargin); |
412 iDurationLabel->SetAllMarginsTo(KMediaDetailsViewerItemMargin); |
400 iDurationLabel->MakeVisible( ETrue ); |
413 iDurationLabel->MakeVisible( ETrue ); |
401 rowsAdded++; |
414 rowsAdded++; |
402 delete heading; |
415 |
403 CleanupStack::PopAndDestroy(); // unitFormatString |
416 CleanupStack::PopAndDestroy( unitFormatString ); // unitFormatString |
|
417 CleanupStack::PopAndDestroy( heading ); |
|
418 |
404 } |
419 } |
405 |
420 |
406 |
421 |
407 // Bitrate |
422 // Bitrate |
408 if ( iController->FileDetails()->iBitRate > 0 ) |
423 if ( iController->FileDetails()->iBitRate > 0 ) |
409 { |
424 { |
410 iBitrateLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , |
425 iBitrateLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , |
411 TSize(labelWidth,labelHeight) ); |
426 TSize(labelWidth,labelHeight) ); |
412 HBufC* heading = iEikonEnv->AllocReadResourceL( R_MPX_BITRATE_HEADING ); |
427 HBufC* heading = iEikonEnv->AllocReadResourceL( R_MPX_BITRATE_HEADING ); |
413 TBuf<255> bitrateField; |
428 CleanupStack::PushL( heading ); |
|
429 |
|
430 TBuf<KMediaDetailsViewerMaxBufLen> bitrateField; |
414 bitrateField.Append(KLeftMargin); |
431 bitrateField.Append(KLeftMargin); |
415 bitrateField.Append( *heading ); |
432 bitrateField.Append( *heading ); |
416 bitrateField.Append( KHeadingValueSeperator ); |
433 bitrateField.Append( KHeadingValueSeperator ); |
417 |
434 |
418 HBufC* formattedBitrate = |
435 HBufC* formattedBitrate = |
421 bitrateField.Append( *formattedBitrate ); |
438 bitrateField.Append( *formattedBitrate ); |
422 iBitrateLabel->SetTextL(bitrateField); |
439 iBitrateLabel->SetTextL(bitrateField); |
423 iBitrateLabel->SetAllMarginsTo(KMediaDetailsViewerItemMargin); |
440 iBitrateLabel->SetAllMarginsTo(KMediaDetailsViewerItemMargin); |
424 iBitrateLabel->MakeVisible( ETrue ); |
441 iBitrateLabel->MakeVisible( ETrue ); |
425 rowsAdded++; |
442 rowsAdded++; |
426 delete heading; |
443 |
427 CleanupStack::PopAndDestroy(); // formattedBitrate |
444 CleanupStack::PopAndDestroy( formattedBitrate ); // formattedBitrate |
|
445 CleanupStack::PopAndDestroy( heading ); |
428 } |
446 } |
429 |
447 |
430 // Title |
448 // Title |
431 if ( iController->FileDetails()->iTitle ) |
449 if ( iController->FileDetails()->iTitle ) |
432 { |
450 { |
433 iTitleLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , |
451 iTitleLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , |
434 TSize(labelWidth,labelHeight) ); |
452 TSize(labelWidth,labelHeight) ); |
435 HBufC* heading = iEikonEnv->AllocReadResourceL( R_MPX_TITLE_HEADING ); |
453 HBufC* heading = iEikonEnv->AllocReadResourceL( R_MPX_TITLE_HEADING ); |
436 TBuf<255> titleField; |
454 CleanupStack::PushL( heading ); |
|
455 |
|
456 TBuf<KMediaDetailsViewerMaxBufLen> titleField; |
437 titleField.Append(KLeftMargin); |
457 titleField.Append(KLeftMargin); |
438 titleField.Append( *heading ); |
458 titleField.Append( *heading ); |
439 titleField.Append( KHeadingValueSeperator ); |
459 titleField.Append( KHeadingValueSeperator ); |
440 titleField.Append( *(iController->FileDetails()->iTitle) ); |
460 TInt allowLen = KMediaDetailsViewerMaxBufLen-titleField.Length(); |
|
461 titleField.Append( (iController->FileDetails()->iTitle)->Left(allowLen) ); |
441 iTitleLabel->SetTextL(titleField); |
462 iTitleLabel->SetTextL(titleField); |
442 iTitleLabel->SetAllMarginsTo(KMediaDetailsViewerItemMargin); |
463 iTitleLabel->SetAllMarginsTo(KMediaDetailsViewerItemMargin); |
443 iTitleLabel->MakeVisible( ETrue ); |
464 iTitleLabel->MakeVisible( ETrue ); |
444 rowsAdded++; |
465 rowsAdded++; |
445 |
466 |
446 delete heading; |
467 CleanupStack::PopAndDestroy( heading ); |
447 } |
468 } |
448 |
469 |
449 // Artist |
470 // Artist |
450 if ( iController->FileDetails()->iArtist ) |
471 if ( iController->FileDetails()->iArtist ) |
451 { |
472 { |
452 iArtistLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , |
473 iArtistLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , |
453 TSize(labelWidth,labelHeight) ); |
474 TSize(labelWidth,labelHeight) ); |
454 HBufC* heading = iEikonEnv->AllocReadResourceL( R_MPX_ARTIST_HEADING ); |
475 HBufC* heading = iEikonEnv->AllocReadResourceL( R_MPX_ARTIST_HEADING ); |
455 TBuf<255> artistField; |
476 CleanupStack::PushL( heading ); |
|
477 |
|
478 TBuf<KMediaDetailsViewerMaxBufLen> artistField; |
456 artistField.Append(KLeftMargin); |
479 artistField.Append(KLeftMargin); |
457 artistField.Append( *heading ); |
480 artistField.Append( *heading ); |
458 artistField.Append( KHeadingValueSeperator ); |
481 artistField.Append( KHeadingValueSeperator ); |
459 artistField.Append( *(iController->FileDetails()->iArtist) ); |
482 TInt allowLen = KMediaDetailsViewerMaxBufLen-artistField.Length(); |
|
483 artistField.Append( (iController->FileDetails()->iArtist)->Left( allowLen ) ); |
460 iArtistLabel->SetTextL(artistField); |
484 iArtistLabel->SetTextL(artistField); |
461 iArtistLabel->SetAllMarginsTo(KMediaDetailsViewerItemMargin); |
485 iArtistLabel->SetAllMarginsTo(KMediaDetailsViewerItemMargin); |
462 iArtistLabel->MakeVisible( ETrue ); |
486 iArtistLabel->MakeVisible( ETrue ); |
463 rowsAdded++; |
487 rowsAdded++; |
464 |
488 |
465 delete heading; |
489 CleanupStack::PopAndDestroy( heading ); |
466 } |
490 } |
467 |
491 |
468 |
492 |
469 // Additional Label |
493 // Additional Label |
470 if ( iAdditionalString && iAdditionalString->Length() ) |
494 if ( iAdditionalString && iAdditionalString->Length() ) |
471 { |
495 { |
472 iAdditionalLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , |
496 iAdditionalLabel->SetExtent( TPoint(Rect().iTl.iX, Rect().iTl.iY + (labelHeight*rowsAdded) ) , |
473 TSize(labelWidth,labelHeight) ); |
497 TSize(labelWidth,labelHeight) ); |
474 |
498 |
475 TBuf<255> titleField; |
499 TBuf<KMediaDetailsViewerMaxBufLen> titleField; |
476 titleField.Append(KLeftMargin); |
500 titleField.Append(KLeftMargin); |
477 titleField.Append( *iAdditionalString ); |
501 TInt allowLen = KMediaDetailsViewerMaxBufLen-titleField.Length(); |
|
502 titleField.Append( iAdditionalString->Left(allowLen) ); |
478 iAdditionalLabel->SetTextL(titleField); |
503 iAdditionalLabel->SetTextL(titleField); |
479 iAdditionalLabel->SetAllMarginsTo(KMediaDetailsViewerItemMargin); |
504 iAdditionalLabel->SetAllMarginsTo(KMediaDetailsViewerItemMargin); |
480 iAdditionalLabel->MakeVisible( ETrue ); |
505 iAdditionalLabel->MakeVisible( ETrue ); |
481 rowsAdded++; |
506 rowsAdded++; |
482 } |
507 } |