videoplayback/hbvideoplaybackview/controlsrc/mpxvideoplaybackfiledetailswidget.cpp
branchGCC_SURGE
changeset 48 ebbeb6bcda56
parent 47 45e72b57a2fd
equal deleted inserted replaced
27:7bf7319dbddd 48:ebbeb6bcda56
    13 *
    13 *
    14 * Description:  Implementation of QMPXVideoPlaybackFileDetailsWidget
    14 * Description:  Implementation of QMPXVideoPlaybackFileDetailsWidget
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 // Version : %version:  23 %
    18 // Version : %version:  26 %
    19 
    19 
    20 
    20 
    21 #include <QDir>
    21 #include <QDir>
    22 #include <QDateTime>
    22 #include <QDateTime>
    23 #include <QFileInfo>
    23 #include <QFileInfo>
    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 #include <hbextendedlocale.h>
       
    31 #include <hbanchorlayout.h>
    31 
    32 
    32 #include "mpxvideo_debug.h"
    33 #include "mpxvideo_debug.h"
    33 #include "mpxvideoplaybackdocumentloader.h"
    34 #include "mpxvideoplaybackdocumentloader.h"
    34 #include "mpxvideoplaybackfiledetailswidget.h"
    35 #include "mpxvideoplaybackfiledetailswidget.h"
    35 #include "mpxvideoplaybackdocumentloader.h"
    36 #include "mpxvideoplaybackdocumentloader.h"
    39 
    40 
    40 // -------------------------------------------------------------------------------------------------
    41 // -------------------------------------------------------------------------------------------------
    41 // QMPXVideoPlaybackFileDetailsWidget::QMPXVideoPlaybackFileDetailsWidget
    42 // QMPXVideoPlaybackFileDetailsWidget::QMPXVideoPlaybackFileDetailsWidget
    42 // -------------------------------------------------------------------------------------------------
    43 // -------------------------------------------------------------------------------------------------
    43 //
    44 //
    44 QMPXVideoPlaybackFileDetailsWidget::QMPXVideoPlaybackFileDetailsWidget( 
    45 QMPXVideoPlaybackFileDetailsWidget::QMPXVideoPlaybackFileDetailsWidget(
    45         QMPXVideoPlaybackControlsController* controller )
    46         QMPXVideoPlaybackControlsController* controller )
    46     : mController( controller )
    47     : mController( controller )
    47     , mListWidget( 0 )
    48     , mListWidget( 0 )
    48     , mFileDetailsUpdated( false )
    49     , mFileDetailsUpdated( false )
    49 {
    50 {
    55 // -------------------------------------------------------------------------------------------------
    56 // -------------------------------------------------------------------------------------------------
    56 //
    57 //
    57 QMPXVideoPlaybackFileDetailsWidget::~QMPXVideoPlaybackFileDetailsWidget()
    58 QMPXVideoPlaybackFileDetailsWidget::~QMPXVideoPlaybackFileDetailsWidget()
    58 {
    59 {
    59     MPX_ENTER_EXIT(_L("QMPXVideoPlaybackFileDetailsWidget::~QMPXVideoPlaybackFileDetailsWidget()"));
    60     MPX_ENTER_EXIT(_L("QMPXVideoPlaybackFileDetailsWidget::~QMPXVideoPlaybackFileDetailsWidget()"));
    60 
       
    61     if ( mListWidget ) 
       
    62     {
       
    63         delete mListWidget;
       
    64     }
       
    65 }
       
    66 
       
    67 // -------------------------------------------------------------------------------------------------
       
    68 // QMPXVideoPlaybackFileDetailsWidget::initialize
       
    69 // -------------------------------------------------------------------------------------------------
       
    70 //
       
    71 void QMPXVideoPlaybackFileDetailsWidget::initialize()
       
    72 {
       
    73     MPX_ENTER_EXIT(_L("QMPXVideoPlaybackFileDetailsWidget::initialize"));
       
    74 
       
    75     updateWithFileDetails( mController->fileDetails() );
       
    76 }
    61 }
    77 
    62 
    78 // -------------------------------------------------------------------------------------------------
    63 // -------------------------------------------------------------------------------------------------
    79 // QMPXVideoPlaybackFileDetailsWidget::updateWithFileDetails
    64 // QMPXVideoPlaybackFileDetailsWidget::updateWithFileDetails
    80 // -------------------------------------------------------------------------------------------------
    65 // -------------------------------------------------------------------------------------------------
    88     {
    73     {
    89         //
    74         //
    90         // load fileDetails widget
    75         // load fileDetails widget
    91         //
    76         //
    92         QGraphicsWidget *widget = loader->findWidget( QString( "fileDetails" ) );
    77         QGraphicsWidget *widget = loader->findWidget( QString( "fileDetails" ) );
    93         
    78 
    94         //
    79         //
    95         // cast fileDetails widget to HbListWidget
    80         // cast fileDetails widget to HbListWidget
    96         //
    81         //
    97         mListWidget = qobject_cast<HbListWidget*>( widget );
    82         mListWidget = qobject_cast<HbListWidget*>( widget );
    98 
    83 
    99         //
    84         //
   100         // set the min/max number of lines in the second row
    85         // set the min/max number of lines in the second row
   101         //
    86         //
   102         HbListViewItem *prototype = mListWidget->listItemPrototype();
    87         HbListViewItem *prototype = mListWidget->listItemPrototype();
   103         prototype->setSecondaryTextRowCount( 1, 30 );
    88         prototype->setSecondaryTextRowCount( 1, 30 );
   104         
    89 
       
    90         //
       
    91         // Title
       
    92         //
       
    93         makeTitleItem( details );
       
    94 
   105         if ( ! mFileDetailsUpdated )
    95         if ( ! mFileDetailsUpdated )
   106         {
    96         {
   107             HbExtendedLocale locale = HbExtendedLocale::system();
    97             HbExtendedLocale locale = HbExtendedLocale::system();
   108 
    98 
   109             mFileDetailsUpdated = true;
    99             mFileDetailsUpdated = true;
   110             
   100 
   111             //
       
   112             // Title
       
   113             //            
       
   114             makeTitleItem( details );
       
   115             
       
   116             //
   101             //
   117             // Description
   102             // Description
   118             //
   103             //
   119             addItemToListWidget( 
   104             addItemToListWidget(
   120                     hbTrId( "txt_videos_list_description" ), details->mDescription ); 
   105                     hbTrId( "txt_videos_list_description" ), details->mDescription );
   121 
   106 
   122             
       
   123             //
   107             //
   124             // Duration
   108             // Duration
   125             //
   109             //
   126             if ( details->mPlaybackMode != EMPXVideoLiveStreaming && details->mDuration > 0 )
   110             if ( details->mPlaybackMode != EMPXVideoLiveStreaming && details->mDuration > 0 )
   127             {
   111             {
   130                 value = value % 3600;
   114                 value = value % 3600;
   131                 QString min = locale.toString( value / 60 );
   115                 QString min = locale.toString( value / 60 );
   132                 value = value % 60;
   116                 value = value % 60;
   133                 QString sec = locale.toString( value );
   117                 QString sec = locale.toString( value );
   134 
   118 
   135                 addItemToListWidget( 
   119                 addItemToListWidget(
   136                         hbTrId( "txt_videos_list_duration" ),
   120                         hbTrId( "txt_videos_list_duration" ),
   137                         hbTrId( "txt_videos_list_l1_l2_l3" ).arg( hour ).arg( min ).arg( sec ) );                                                                        
   121                         hbTrId( "txt_videos_list_l1l2l3" ).arg( hour ).arg( min ).arg( sec ) );
   138             }    
   122             }
   139             
   123 
   140             //
   124             //
   141             // Date/Time
   125             // Date/Time
   142             //
   126             //
   143             makeDateTimeItem( details );
   127             makeDateTimeItem( details );
   144 
   128 
   145             //
   129             //
   146             // Location
   130             // Location
   147             //
   131             //
   148             addItemToListWidget( hbTrId( "txt_videos_list_location" ), details->mLocation );                                                
   132             addItemToListWidget( hbTrId( "txt_videos_list_location" ), details->mLocation );
   149             
   133 
   150             //
   134             //
   151             // Author
   135             // Author
   152             //
   136             //
   153             addItemToListWidget( hbTrId( "txt_videos_list_author" ), details->mArtist );                                            
   137             addItemToListWidget( hbTrId( "txt_videos_list_author" ), details->mArtist );
   154             
   138 
   155             //
   139             //
   156             // Copyright
   140             // Copyright
   157             //
   141             //
   158             addItemToListWidget( hbTrId( "txt_videos_list_copyright" ), details->mCopyright );                                        
   142             addItemToListWidget( hbTrId( "txt_videos_list_copyright" ), details->mCopyright );
   159             
   143 
   160             //
   144             //
   161             // Language
   145             // Language
   162             //
   146             //
   163             addItemToListWidget( hbTrId( "txt_videos_list_language" ), details->mLanguage );                                    
   147             addItemToListWidget( hbTrId( "txt_videos_list_language" ), details->mLanguage );
   164             
   148 
   165             //
   149             //
   166             // Keywords
   150             // Keywords
   167             //
   151             //
   168             addItemToListWidget( hbTrId( "txt_videos_list_keywords" ), details->mKeywords );                                
   152             addItemToListWidget( hbTrId( "txt_videos_list_keywords" ), details->mKeywords );
   169             
   153 
   170             //
   154             //
   171             // Size
   155             // Size
   172             //
   156             //
   173             makeSizeItem( details );
   157             makeSizeItem( details );
   174 
   158 
   177             //
   161             //
   178             if ( details->mVideoEnabled )
   162             if ( details->mVideoEnabled )
   179             {
   163             {
   180                 QString resolution = hbTrId( "txt_videos_list_l1l2" )
   164                 QString resolution = hbTrId( "txt_videos_list_l1l2" )
   181                        .arg( locale.toString( details->mVideoWidth ) )
   165                        .arg( locale.toString( details->mVideoWidth ) )
   182                        .arg( locale.toString( details->mVideoHeight ) );            
   166                        .arg( locale.toString( details->mVideoHeight ) );
   183                 addItemToListWidget( hbTrId( "txt_videos_list_resolution" ), resolution );                    
   167                 addItemToListWidget( hbTrId( "txt_videos_list_resolution" ), resolution );
   184             }
   168             }
   185             
   169 
   186             //
   170             //
   187             // Format
   171             // Format
   188             //
   172             //
   189             addItemToListWidget( hbTrId( "txt_videos_list_format" ), details->mMimeType );                    
   173             addItemToListWidget( hbTrId( "txt_videos_list_format" ), details->mMimeType );
   190             
   174 
   191             //
   175             //
   192             // Bitrate
   176             // Bitrate
   193             //
   177             //
   194             makeBitRateItem( details );
   178             makeBitRateItem( details );
   195             
   179 
   196             //
   180             //
   197             // Folder
   181             // Folder
   198             //
   182             //
   199             if ( details->mPlaybackMode == EMPXVideoLocal ||
   183             if ( details->mPlaybackMode == EMPXVideoLocal ||
   200                  details->mPlaybackMode == EMPXVideoProgressiveDownload)
   184                  details->mPlaybackMode == EMPXVideoProgressiveDownload)
   201             {
   185             {
   202                 QFileInfo fileInfo( details->mClipName );     
   186                 QFileInfo fileInfo( details->mClipName );
   203                 QString folder = fileInfo.dir().dirName();
   187                 QString folder = fileInfo.dir().dirName();
   204                 addItemToListWidget( hbTrId( "txt_videos_list_collection_name" ), folder );
   188                 addItemToListWidget( hbTrId( "txt_videos_list_collection_name" ), folder );
   205             }
   189             }
   206             
       
   207         }
   190         }
   208 
   191 
   209         //
   192         //
   210         // Set the rect size dynamically based on the view mode
   193         // Set the rect size dynamically based on the view mode
   211         //
   194         //
   212         QString sectionName;
   195         QGraphicsWidget *content = loader->findWidget( QString( "content" ) );
   213 
   196         HbAnchorLayout *layout = static_cast<HbAnchorLayout*>( content->layout() );
   214         if ( mController->viewMode() == EDetailsView )
   197 
   215         {
   198         if ( layout )
   216             sectionName = "detailsView";
   199         {
   217         }
   200             QGraphicsWidget *titleLayout = loader->findWidget( QString( "titleLayout" ) );
   218         else if ( mController->viewMode() == EAudioOnlyView )
   201             QRectF titleRect = titleLayout->geometry();
   219         {
   202 
   220             sectionName = "audioOnlyView";
   203             switch ( mController->viewMode() )
   221         }
   204             {
   222 
   205                 case EDetailsView:
   223         bool ok = false;
   206                 {
   224         loader->load( KMPXPLAYBACKVIEW_XML, sectionName, &ok );
   207                     layout->setAnchor( titleLayout, Hb::BottomEdge, this, Hb::TopEdge, 0 );
   225 
   208                     layout->setAnchor( layout, Hb::BottomEdge, this, Hb::BottomEdge, 0 );
   226         if ( ! ok )
   209 
   227         {
   210                     break;
   228             MPX_DEBUG(_L("QMPXVideoPlaybackFileDetailsWidget failed to load section"));
   211                 }
       
   212                 case EAudioOnlyView:
       
   213                 {
       
   214                     QGraphicsWidget *controlLayout = loader->findWidget( QString( "controlBarLayout" ) );
       
   215                     QRectF controlRect = controlLayout->geometry();
       
   216 
       
   217                     layout->setAnchor(
       
   218                             this, Hb::TopEdge, titleLayout,
       
   219                             Hb::BottomEdge, titleRect.bottom() - titleRect.top() );
       
   220 
       
   221                     layout->setAnchor(
       
   222                             this, Hb::BottomEdge,
       
   223                             layout, Hb::BottomEdge, layout->geometry().height() - controlRect.top() );
       
   224 
       
   225                     break;
       
   226                 }
       
   227             }
   229         }
   228         }
   230     }
   229     }
   231 }
   230 }
   232 
   231 
   233 // -------------------------------------------------------------------------------------------------
   232 // -------------------------------------------------------------------------------------------------
   234 // QMPXVideoPlaybackFileDetailsWidget::makeTitleItem
   233 // QMPXVideoPlaybackFileDetailsWidget::makeTitleItem
   235 // -------------------------------------------------------------------------------------------------
   234 // -------------------------------------------------------------------------------------------------
   236 //
   235 //
   237 void QMPXVideoPlaybackFileDetailsWidget::makeTitleItem( QMPXVideoPlaybackViewFileDetails* details )
   236 void QMPXVideoPlaybackFileDetailsWidget::makeTitleItem( QMPXVideoPlaybackViewFileDetails* details )
   238 {    
   237 {
   239     MPX_DEBUG(_L("QMPXVideoPlaybackFileDetailsWidget::makeTitleItem()"));
   238     MPX_DEBUG(_L("QMPXVideoPlaybackFileDetailsWidget::makeTitleItem()"));
   240 
   239 
   241     //
   240     //
   242     // Title should be the first item in file details list
   241     // Title should be the first item in file details list
   243     //
   242     //
   244     if ( mController->viewMode() == EAudioOnlyView )
   243     if ( mController->viewMode() == EAudioOnlyView )
   245     {    
   244     {
   246         //
   245         //
   247         // show the title for audio-only view 
   246         // show the title for audio-only view
   248         //
   247         //
   249         if ( mListWidget->count() == 0 || ! mListWidget->item( 0 )->text().contains( "Title", Qt::CaseInsensitive ) )
   248         if ( mListWidget->count() == 0 || ! mListWidget->item( 0 )->text().contains( "Title", Qt::CaseInsensitive ) )
   250         {
   249         {
   251             QString title = details->mTitle;
   250             QString title = details->mTitle;
   252 
   251 
   253             if ( title.count() == 0 )
   252             if ( title.count() == 0 )
   254             {
   253             {
   255                 //
   254                 //
   256                 // If title is not available, show clip name
   255                 // If title is not available, show clip name
   257                 //            
   256                 //
   258                 QFileInfo fileInfo( details->mClipName );
   257                 QFileInfo fileInfo( details->mClipName );
   259                 title = fileInfo.baseName ();
   258                 title = fileInfo.completeBaseName();
   260             }
   259             }
   261 
   260 
   262             //
   261             //
   263             // populate Title and its associated text
   262             // populate Title and its associated text
   264             //
   263             //
   269         }
   268         }
   270     }
   269     }
   271     else if ( mListWidget->count() &&
   270     else if ( mListWidget->count() &&
   272               mListWidget->item( 0 )->text().contains( "Title", Qt::CaseInsensitive ) )
   271               mListWidget->item( 0 )->text().contains( "Title", Qt::CaseInsensitive ) )
   273     {
   272     {
   274         // 
   273         //
   275         // title is displayed under the status pane for video clips,
   274         // title is displayed under the status pane for video clips,
   276         // so hide the title for this details view
   275         // so hide the title for this details view
   277         //
   276         //
   278         delete mListWidget->takeItem ( 0 );
   277         delete mListWidget->takeItem ( 0 );
   279     }
   278     }
   282 // -------------------------------------------------------------------------------------------------
   281 // -------------------------------------------------------------------------------------------------
   283 // QMPXVideoPlaybackFileDetailsWidget::makeSizeItem
   282 // QMPXVideoPlaybackFileDetailsWidget::makeSizeItem
   284 // -------------------------------------------------------------------------------------------------
   283 // -------------------------------------------------------------------------------------------------
   285 //
   284 //
   286 void QMPXVideoPlaybackFileDetailsWidget::makeSizeItem( QMPXVideoPlaybackViewFileDetails* details )
   285 void QMPXVideoPlaybackFileDetailsWidget::makeSizeItem( QMPXVideoPlaybackViewFileDetails* details )
   287 {        
   286 {
   288     if ( details->mPlaybackMode == EMPXVideoLocal ||
   287     if ( details->mPlaybackMode == EMPXVideoLocal ||
   289          details->mPlaybackMode == EMPXVideoProgressiveDownload )
   288          details->mPlaybackMode == EMPXVideoProgressiveDownload )
   290     {
   289     {
   291         QFileInfo fileInfo( details->mClipName );     
   290         QFileInfo fileInfo( details->mClipName );
   292         
   291 
   293         //
   292         //
   294         // to prevent overflow, get an unsigned value of file size
   293         // to prevent overflow, get an unsigned value of file size
   295         //
   294         //
   296         ulong fileSize = fileInfo.size();
   295         ulong fileSize = fileInfo.size();
   297                 
   296 
   298         //
   297         //
   299         // convert file size to KB, MB, GB accordingly
   298         // convert file size to KB, MB, GB accordingly
   300         //
   299         //
   301         if ( fileSize > 0 )
   300         if ( fileSize > 0 )
   302         {
   301         {
   328             }
   327             }
   329 
   328 
   330             int temp = size * 10;
   329             int temp = size * 10;
   331             size = (float)temp / 10;
   330             size = (float)temp / 10;
   332 
   331 
   333             addItemToListWidget( 
   332             addItemToListWidget(
   334                     hbTrId( "txt_videos_list_file_size" ), scale.arg( locale.toString( size ) ) );
   333                     hbTrId( "txt_videos_list_file_size" ), scale.arg( locale.toString( size ) ) );
   335         }    
   334         }
   336     }
   335     }
   337 }
   336 }
   338 
   337 
   339 // -------------------------------------------------------------------------------------------------
   338 // -------------------------------------------------------------------------------------------------
   340 // QMPXVideoPlaybackFileDetailsWidget::makeBitRateItem
   339 // QMPXVideoPlaybackFileDetailsWidget::makeBitRateItem
   341 // -------------------------------------------------------------------------------------------------
   340 // -------------------------------------------------------------------------------------------------
   342 //
   341 //
   343 void QMPXVideoPlaybackFileDetailsWidget::makeBitRateItem( QMPXVideoPlaybackViewFileDetails* details  )
   342 void QMPXVideoPlaybackFileDetailsWidget::makeBitRateItem( QMPXVideoPlaybackViewFileDetails* details  )
   344 {        
   343 {
   345     if ( details->mBitRate > 0 )
   344     if ( details->mBitRate > 0 )
   346     {
   345     {
   347         HbExtendedLocale locale = HbExtendedLocale::system();
   346         HbExtendedLocale locale = HbExtendedLocale::system();
   348 
   347 
   349         float bitrate = details->mBitRate;
   348         float bitrate = details->mBitRate;
   352 
   351 
   353         if ( bitrate > KILOBYTE )
   352         if ( bitrate > KILOBYTE )
   354         {
   353         {
   355              bitrate /= KILOBYTE;
   354              bitrate /= KILOBYTE;
   356         }
   355         }
   357         
   356 
   358         if ( bitrate > KILOBYTE )
   357         if ( bitrate > KILOBYTE )
   359         {
   358         {
   360              bitrate /= KILOBYTE;
   359              bitrate /= KILOBYTE;
   361              scale = hbTrId( "txt_videos_list_l1_mbps" );
   360              scale = hbTrId( "txt_videos_list_l1_mbps" );
   362         }
   361         }
   363     
   362 
   364         int temp = bitrate * 10;
   363         int temp = bitrate * 10;
   365         bitrate = (float)temp / 10;
   364         bitrate = (float)temp / 10;
   366 
   365 
   367         addItemToListWidget( 
   366         addItemToListWidget(
   368                 hbTrId( "txt_videos_list_bitrate" ), scale.arg( locale.toString( bitrate ) ) );
   367                 hbTrId( "txt_videos_list_bitrate" ), scale.arg( locale.toString( bitrate ) ) );
   369     }
   368     }
   370 }
   369 }
   371 
   370 
   372 // -------------------------------------------------------------------------------------------------
   371 // -------------------------------------------------------------------------------------------------
   373 // QMPXVideoPlaybackFileDetailsWidget::addItemToListWidget
   372 // QMPXVideoPlaybackFileDetailsWidget::addItemToListWidget
   374 // -------------------------------------------------------------------------------------------------
   373 // -------------------------------------------------------------------------------------------------
   375 //
   374 //
   376 void QMPXVideoPlaybackFileDetailsWidget::addItemToListWidget( QString item, QString text  )
   375 void QMPXVideoPlaybackFileDetailsWidget::addItemToListWidget( QString item, QString text  )
   377 {    
   376 {
   378     MPX_ENTER_EXIT(_L("QMPXVideoPlaybackFileDetailsWidget::addItemToListWidget"));
   377     MPX_ENTER_EXIT(_L("QMPXVideoPlaybackFileDetailsWidget::addItemToListWidget"));
   379 	
   378 
   380     if ( text.count() > 0 )
   379     if ( text.count() > 0 )
   381     {
   380     {
   382         MPX_DEBUG(_L("QMPXVideoPlaybackFileDetailsWidget::addItemToListWidget( %s %s )"), 
   381         MPX_DEBUG(_L("QMPXVideoPlaybackFileDetailsWidget::addItemToListWidget( %s %s )"),
   383 		    item.data(), text.data() );
   382 		    item.data(), text.data() );
   384 		
   383 
   385         HbListWidgetItem* listWidgetItem = new HbListWidgetItem();
   384         HbListWidgetItem* listWidgetItem = new HbListWidgetItem();
   386         listWidgetItem->setText( item );
   385         listWidgetItem->setText( item );
   387         listWidgetItem->setSecondaryText( text );
   386         listWidgetItem->setSecondaryText( text );
   388         
   387 
   389         mListWidget->addItem( listWidgetItem );
   388         mListWidget->addItem( listWidgetItem );
   390     }
   389     }
   391 }
   390 }
   392 
   391 
   393 // -------------------------------------------------------------------------------------------------
   392 // -------------------------------------------------------------------------------------------------
   394 // QMPXVideoPlaybackFileDetailsWidget::makeDateTimeItem
   393 // QMPXVideoPlaybackFileDetailsWidget::makeDateTimeItem
   395 // -------------------------------------------------------------------------------------------------
   394 // -------------------------------------------------------------------------------------------------
   396 //
   395 //
   397 void QMPXVideoPlaybackFileDetailsWidget::makeDateTimeItem( QMPXVideoPlaybackViewFileDetails* details )
   396 void QMPXVideoPlaybackFileDetailsWidget::makeDateTimeItem( QMPXVideoPlaybackViewFileDetails* details )
   398 {    
   397 {
   399     MPX_ENTER_EXIT(_L("QMPXVideoPlaybackFileDetailsWidget::makeDateTimeItem"));
   398     MPX_ENTER_EXIT(_L("QMPXVideoPlaybackFileDetailsWidget::makeDateTimeItem"));
   400         
   399 
   401     //
   400     //
   402     // attempt to get 'created' and 'last modified' date/time from metadata first,
   401     // attempt to get 'created' and 'last modified' date/time from metadata first,
   403     // if it's not available, then get it from the file system
   402     // if it's not available, then get it from the file system
   404     //
   403     //
   405     
   404 
   406     if ( details->mPlaybackMode == EMPXVideoLocal ||
   405     if ( details->mPlaybackMode == EMPXVideoLocal ||
   407          details->mPlaybackMode == EMPXVideoProgressiveDownload )
   406          details->mPlaybackMode == EMPXVideoProgressiveDownload )
   408     {        
   407     {
   409         QDateTime dateTime;
   408         QDateTime dateTime;
   410         QFileInfo fileInfo( details->mClipName );     
   409         QFileInfo fileInfo( details->mClipName );
   411         HbExtendedLocale locale = HbExtendedLocale::system();
   410         HbExtendedLocale locale = HbExtendedLocale::system();
   412         
   411 
   413         //
   412         //
   414         // Date created
   413         // Date created
   415         //
   414         //
   416         if ( details->mCreationTime > 0 )
   415         if ( details->mCreationTime > 0 )
   417         {
   416         {
   419         }
   418         }
   420         else
   419         else
   421         {
   420         {
   422             dateTime = fileInfo.created();
   421             dateTime = fileInfo.created();
   423         }
   422         }
   424         
   423 
   425         //
   424         //
   426         // convert 'created' date/time to proper string format
   425         // convert 'created' date/time to proper string format
   427         // according to its current locale
   426         // according to its current locale
   428         //
   427         //
   429         QString date = locale.format( dateTime.date(), r_qtn_date_usual );
   428         QString date = locale.format( dateTime.date(), r_qtn_date_usual );
   430         QString time = locale.format( dateTime.time(), r_qtn_time_long_with_zero );
   429         QString time = locale.format( dateTime.time(), r_qtn_time_long_with_zero );
   431         addItemToListWidget( hbTrId( "txt_videos_list_date" ), date + "  " + time );      
   430         addItemToListWidget( hbTrId( "txt_videos_list_date" ), date + "  " + time );
   432         
   431 
   433         //
   432         //
   434         // Date modified
   433         // Date modified
   435         //
   434         //
   436         if ( details->mModificationTime > 0 )
   435         if ( details->mModificationTime > 0 )
   437         {
   436         {
   439         }
   438         }
   440         else
   439         else
   441         {
   440         {
   442             dateTime = fileInfo.lastModified();
   441             dateTime = fileInfo.lastModified();
   443         }
   442         }
   444         
   443 
   445         //
   444         //
   446         // convert 'last modified' date/time to proper string format
   445         // convert 'last modified' date/time to proper string format
   447         // according to its current locale
   446         // according to its current locale
   448         //
   447         //
   449         date = locale.format( dateTime.date(), r_qtn_date_usual );
   448         date = locale.format( dateTime.date(), r_qtn_date_usual );
   450         time = locale.format( dateTime.time(), r_qtn_time_long_with_zero );
   449         time = locale.format( dateTime.time(), r_qtn_time_long_with_zero );
   451         addItemToListWidget( hbTrId( "txt_videos_list_modified" ), date + "  " + time );           
   450         addItemToListWidget( hbTrId( "txt_videos_list_modified" ), date + "  " + time );
   452     }    
   451     }
   453 }
   452 }
   454 
   453 
   455 //End of file
   454 //End of file