25 #include <hbglobal.h> |
25 #include <hbglobal.h> |
26 #include <hblistwidgetitem.h> |
26 #include <hblistwidgetitem.h> |
27 #include <hbratingslider.h> |
27 #include <hbratingslider.h> |
28 #include <hblistwidget.h> |
28 #include <hblistwidget.h> |
29 #include <hblistviewitem.h> |
29 #include <hblistviewitem.h> |
|
30 #include <hbextendedlocale.h> |
30 |
31 |
31 #include "mpxvideo_debug.h" |
32 #include "mpxvideo_debug.h" |
32 #include "mpxvideoplaybackdocumentloader.h" |
33 #include "mpxvideoplaybackdocumentloader.h" |
33 #include "mpxvideoplaybackfiledetailswidget.h" |
34 #include "mpxvideoplaybackfiledetailswidget.h" |
34 #include "mpxvideoplaybackdocumentloader.h" |
35 #include "mpxvideoplaybackdocumentloader.h" |
35 #include "mpxvideoplaybackcontrolscontroller.h" |
36 #include "mpxvideoplaybackcontrolscontroller.h" |
36 |
37 |
37 const float KILOBYTE = 1024 ; |
38 const float KILOBYTE = 1024 ; |
38 const QString KDATETIMEFORMAT = "d/M/yyyy hh:mm:ss ap"; |
|
39 |
39 |
40 // ------------------------------------------------------------------------------------------------- |
40 // ------------------------------------------------------------------------------------------------- |
41 // QMPXVideoPlaybackFileDetailsWidget::QMPXVideoPlaybackFileDetailsWidget |
41 // QMPXVideoPlaybackFileDetailsWidget::QMPXVideoPlaybackFileDetailsWidget |
42 // ------------------------------------------------------------------------------------------------- |
42 // ------------------------------------------------------------------------------------------------- |
43 // |
43 // |
123 // |
123 // |
124 // Duration |
124 // Duration |
125 // |
125 // |
126 if ( details->mPlaybackMode != EMPXVideoLiveStreaming && details->mDuration > 0 ) |
126 if ( details->mPlaybackMode != EMPXVideoLiveStreaming && details->mDuration > 0 ) |
127 { |
127 { |
128 QString duration = QString("%1").arg( |
128 int value = (qreal)details->mDuration / (qreal)KPbMilliMultiplier; |
129 valueToReadableFormat( (qreal)details->mDuration / (qreal)KPbMilliMultiplier ) ); |
129 QString hour = locale.toString( value / 3600 ); |
130 addItemToListWidget( hbTrId( "txt_videos_list_duration" ), duration ); |
130 value = value % 3600; |
|
131 QString min = locale.toString( value / 60 ); |
|
132 value = value % 60; |
|
133 QString sec = locale.toString( value ); |
|
134 |
|
135 addItemToListWidget( |
|
136 hbTrId( "txt_videos_list_duration" ), |
|
137 hbTrId( "txt_videos_list_l1_l2_l3" ).arg( hour ).arg( min ).arg( sec ) ); |
131 } |
138 } |
132 |
139 |
133 // |
140 // |
134 // Date |
141 // Date/Time |
135 // |
142 // |
136 if ( details->mPlaybackMode == EMPXVideoLocal || |
143 makeDateTimeItem( details ); |
137 details->mPlaybackMode == EMPXVideoProgressiveDownload ) |
|
138 { |
|
139 // |
|
140 // Date created |
|
141 // |
|
142 QString date = QString("%1").arg( fileInfo.created().toString( KDATETIMEFORMAT ) ); |
|
143 addItemToListWidget( hbTrId( "txt_videos_list_date" ), date ); |
|
144 |
|
145 // |
|
146 // Date modified |
|
147 // |
|
148 QString modified = QString("%1").arg( fileInfo.lastModified().toString( KDATETIMEFORMAT ) ); |
|
149 addItemToListWidget( hbTrId( "txt_videos_list_modified" ), modified ); |
|
150 } |
|
151 |
144 |
152 // |
145 // |
153 // Location |
146 // Location |
154 // |
147 // |
155 addItemToListWidget( hbTrId( "txt_videos_list_location" ), details->mLocation ); |
148 addItemToListWidget( hbTrId( "txt_videos_list_location" ), details->mLocation ); |
238 if ( ! ok ) |
233 if ( ! ok ) |
239 { |
234 { |
240 MPX_DEBUG(_L("QMPXVideoPlaybackFileDetailsWidget failed to load section")); |
235 MPX_DEBUG(_L("QMPXVideoPlaybackFileDetailsWidget failed to load section")); |
241 } |
236 } |
242 } |
237 } |
243 } |
|
244 |
|
245 // ------------------------------------------------------------------------------------------------- |
|
246 // QMPXVideoPlaybackFileDetailsWidget::valueToReadableFormat |
|
247 // ------------------------------------------------------------------------------------------------- |
|
248 // |
|
249 QString QMPXVideoPlaybackFileDetailsWidget::valueToReadableFormat( int value ) |
|
250 { |
|
251 MPX_DEBUG(_L("QMPXVideoPlaybackFileDetailsWidget::valueToReadableFormat value = %d"), value); |
|
252 |
|
253 int hour = value / 3600; |
|
254 value = value % 3600; |
|
255 int minutes = value / 60; |
|
256 value = value % 60; |
|
257 int second = value; |
|
258 |
|
259 QTime time( hour ,minutes ,second ); |
|
260 QString str; |
|
261 |
|
262 if ( hour > 0 ) |
|
263 { |
|
264 str = time.toString( QString::number( hour ) ).append(" hr "); |
|
265 } |
|
266 |
|
267 if ( minutes > 0 ) |
|
268 { |
|
269 str.append( time.toString( QString::number( minutes ) ).append(" min ")); |
|
270 } |
|
271 |
|
272 if ( second > 0 ) |
|
273 { |
|
274 str.append( time.toString( QString::number( second ) ).append(" sec ")); |
|
275 } |
|
276 |
|
277 return str; |
|
278 } |
238 } |
279 |
239 |
280 // ------------------------------------------------------------------------------------------------- |
240 // ------------------------------------------------------------------------------------------------- |
281 // QMPXVideoPlaybackFileDetailsWidget::makeTitleItem |
241 // QMPXVideoPlaybackFileDetailsWidget::makeTitleItem |
282 // ------------------------------------------------------------------------------------------------- |
242 // ------------------------------------------------------------------------------------------------- |
345 |
304 |
346 // |
305 // |
347 // convert file size to KB, MB, GB accordingly |
306 // convert file size to KB, MB, GB accordingly |
348 // |
307 // |
349 if ( fileSize > 0 ) |
308 if ( fileSize > 0 ) |
350 { |
309 { |
351 QString scale(" KB"); |
310 HbExtendedLocale locale = HbExtendedLocale::system(); |
352 |
311 |
|
312 QString scale; |
|
313 |
353 // |
314 // |
354 // cast for later conversion with floating point |
315 // cast for later conversion with floating point |
355 // |
316 // |
356 float size = (float) fileSize; |
317 float size = (float) fileSize; |
357 |
318 |
358 if ( size > KILOBYTE ) |
319 if ( size > KILOBYTE ) |
359 { |
320 { |
360 size /= KILOBYTE; |
321 size /= KILOBYTE; |
361 } |
322 scale = hbTrId( "txt_videos_list_l1_kb" ); |
362 |
323 } |
|
324 |
363 if ( size > KILOBYTE ) |
325 if ( size > KILOBYTE ) |
364 { |
326 { |
365 size /= KILOBYTE; |
327 size /= KILOBYTE; |
366 scale = QString(" MB"); |
328 scale = hbTrId( "txt_videos_list_l1_mb" ); |
367 } |
329 } |
368 |
330 |
369 if ( size > KILOBYTE ) |
331 if ( size > KILOBYTE ) |
370 { |
332 { |
371 size /= KILOBYTE; |
333 size /= KILOBYTE; |
372 scale = QString(" GB"); |
334 scale = hbTrId( "txt_videos_list_l1_gb" ); |
373 } |
335 } |
374 |
336 |
375 int temp = size * 10; |
337 int temp = size * 10; |
376 size = (float)temp / 10; |
338 size = (float)temp / 10; |
377 |
339 |
378 QString text = QString("%1").arg( size ); |
340 addItemToListWidget( |
379 text.append( scale ); |
341 hbTrId( "txt_videos_list_file_size" ), scale.arg( locale.toString( size ) ) ); |
380 |
|
381 addItemToListWidget( hbTrId( "txt_videos_list_file_size" ), text ); |
|
382 } |
342 } |
383 } |
343 } |
384 } |
344 } |
385 |
345 |
386 // ------------------------------------------------------------------------------------------------- |
346 // ------------------------------------------------------------------------------------------------- |
389 // |
349 // |
390 void QMPXVideoPlaybackFileDetailsWidget::makeBitRateItem( QMPXVideoPlaybackViewFileDetails* details ) |
350 void QMPXVideoPlaybackFileDetailsWidget::makeBitRateItem( QMPXVideoPlaybackViewFileDetails* details ) |
391 { |
351 { |
392 if ( details->mBitRate > 0 ) |
352 if ( details->mBitRate > 0 ) |
393 { |
353 { |
|
354 HbExtendedLocale locale = HbExtendedLocale::system(); |
|
355 |
394 float bitrate = details->mBitRate; |
356 float bitrate = details->mBitRate; |
395 |
357 |
396 QString scale(" Kbps"); |
358 QString scale = hbTrId( "txt_videos_list_l1_kbps" ); |
397 |
359 |
398 if ( bitrate > KILOBYTE ) |
360 if ( bitrate > KILOBYTE ) |
399 { |
361 { |
400 bitrate /= KILOBYTE; |
362 bitrate /= KILOBYTE; |
401 } |
363 } |
402 |
364 |
403 if ( bitrate > KILOBYTE ) |
365 if ( bitrate > KILOBYTE ) |
404 { |
366 { |
405 bitrate /= KILOBYTE; |
367 bitrate /= KILOBYTE; |
406 scale = QString(" Mbps"); |
368 scale = hbTrId( "txt_videos_list_l1_mbps" ); |
407 } |
369 } |
408 |
370 |
409 int temp = bitrate * 10; |
371 int temp = bitrate * 10; |
410 bitrate = (float)temp / 10; |
372 bitrate = (float)temp / 10; |
411 |
373 |
412 QString text = QString("%1").arg( bitrate ); |
374 addItemToListWidget( |
413 text.append( scale ); |
375 hbTrId( "txt_videos_list_bitrate" ), scale.arg( locale.toString( bitrate ) ) ); |
414 |
|
415 addItemToListWidget( hbTrId( "txt_videos_list_bitrate" ), text ); |
|
416 } |
376 } |
417 } |
377 } |
418 |
378 |
419 // ------------------------------------------------------------------------------------------------- |
379 // ------------------------------------------------------------------------------------------------- |
420 // QMPXVideoPlaybackFileDetailsWidget::addItemToListWidget |
380 // QMPXVideoPlaybackFileDetailsWidget::addItemToListWidget |
421 // ------------------------------------------------------------------------------------------------- |
381 // ------------------------------------------------------------------------------------------------- |
422 // |
382 // |
423 void QMPXVideoPlaybackFileDetailsWidget::addItemToListWidget( QString item, QString text ) |
383 void QMPXVideoPlaybackFileDetailsWidget::addItemToListWidget( QString item, QString text ) |
424 { |
384 { |
|
385 MPX_ENTER_EXIT(_L("QMPXVideoPlaybackFileDetailsWidget::addItemToListWidget")); |
|
386 |
425 if ( text.count() > 0 ) |
387 if ( text.count() > 0 ) |
426 { |
388 { |
427 MPX_DEBUG(_L("QMPXVideoPlaybackFileDetailsWidget::addItemToListWidget( %s , %s )"), item.data(), text.data() ); |
389 MPX_DEBUG(_L("QMPXVideoPlaybackFileDetailsWidget::addItemToListWidget( %s %s )"), |
|
390 item.data(), text.data() ); |
428 |
391 |
429 HbListWidgetItem* listWidgetItem = new HbListWidgetItem(); |
392 HbListWidgetItem* listWidgetItem = new HbListWidgetItem(); |
430 listWidgetItem->setText( item ); |
393 listWidgetItem->setText( item ); |
431 listWidgetItem->setSecondaryText( text ); |
394 listWidgetItem->setSecondaryText( text ); |
432 |
395 |
433 mListWidget->addItem( listWidgetItem ); |
396 mListWidget->addItem( listWidgetItem ); |
434 } |
397 } |
435 } |
398 } |
436 |
399 |
|
400 // ------------------------------------------------------------------------------------------------- |
|
401 // QMPXVideoPlaybackFileDetailsWidget::makeDateTimeItem |
|
402 // ------------------------------------------------------------------------------------------------- |
|
403 // |
|
404 void QMPXVideoPlaybackFileDetailsWidget::makeDateTimeItem( QMPXVideoPlaybackViewFileDetails* details ) |
|
405 { |
|
406 MPX_ENTER_EXIT(_L("QMPXVideoPlaybackFileDetailsWidget::makeDateTimeItem")); |
|
407 |
|
408 // |
|
409 // attempt to get 'created' and 'last modified' date/time from metadata first, |
|
410 // if it's not available, then get it from the file system |
|
411 // |
|
412 |
|
413 if ( details->mPlaybackMode == EMPXVideoLocal || |
|
414 details->mPlaybackMode == EMPXVideoProgressiveDownload ) |
|
415 { |
|
416 QDateTime dateTime; |
|
417 QFileInfo fileInfo( details->mClipName ); |
|
418 HbExtendedLocale locale = HbExtendedLocale::system(); |
|
419 |
|
420 // |
|
421 // Date created |
|
422 // |
|
423 if ( details->mCreationTime > 0 ) |
|
424 { |
|
425 dateTime.setTime_t( details->mCreationTime ); |
|
426 } |
|
427 else |
|
428 { |
|
429 dateTime = fileInfo.created(); |
|
430 } |
|
431 |
|
432 // |
|
433 // convert 'created' date/time to proper string format |
|
434 // according to its current locale |
|
435 // |
|
436 QString date = locale.format( dateTime.date(), r_qtn_date_usual ); |
|
437 QString time = locale.format( dateTime.time(), r_qtn_time_long_with_zero ); |
|
438 addItemToListWidget( hbTrId( "txt_videos_list_date" ), date + " " + time ); |
|
439 |
|
440 // |
|
441 // Date modified |
|
442 // |
|
443 if ( details->mModificationTime > 0 ) |
|
444 { |
|
445 dateTime.setTime_t( details->mModificationTime ); |
|
446 } |
|
447 else |
|
448 { |
|
449 dateTime = fileInfo.lastModified(); |
|
450 } |
|
451 |
|
452 // |
|
453 // convert 'last modified' date/time to proper string format |
|
454 // according to its current locale |
|
455 // |
|
456 date = locale.format( dateTime.date(), r_qtn_date_usual ); |
|
457 time = locale.format( dateTime.time(), r_qtn_time_long_with_zero ); |
|
458 addItemToListWidget( hbTrId( "txt_videos_list_modified" ), date + " " + time ); |
|
459 } |
|
460 } |
|
461 |
437 //End of file |
462 //End of file |