diff -r 2a272ef608c4 -r 3507212d340e messagingapp/msgui/msguiutils/src/msgmediautil.cpp --- a/messagingapp/msgui/msguiutils/src/msgmediautil.cpp Tue Aug 03 21:34:40 2010 +0530 +++ b/messagingapp/msgui/msguiutils/src/msgmediautil.cpp Fri Aug 06 23:19:50 2010 +0530 @@ -16,9 +16,14 @@ */ #include #include +#include +#include #include "msgmediautil.h" +// @see hbi18ndef.h +static const char TIME_FORMAT[] = r_qtn_time_durat_min_sec_with_zero; + //--------------------------------------------------------------- // MsgMediaUtil::MsgMediaUtil // Constructor @@ -43,32 +48,21 @@ //--------------------------------------------------------------- QString MsgMediaUtil::mediaDuration(const QString& mediaFile) { - QString formattedDuration(" "); + QString formattedDuration; HBufC *name = XQConversions::qStringToS60Desc(mediaFile); TInt duration = 0; TRAPD(error, duration = mediaDurationL(*name)); delete name; - if ( error ) + if ( error || duration <= 0) return formattedDuration; - - int sec_duration = duration / 1000; - int hour_component = sec_duration / (60*60); - int min_component = (sec_duration - (hour_component*60*60))/60; - int sec_component = (sec_duration - (hour_component*60*60) - (min_component*60)); - - if( hour_component > 0) - { - formattedDuration = QString("%1:%2:%3").arg(hour_component, 2, 10, QChar('0')). - arg(min_component, 2, 10, QChar('0')).arg(sec_component, 2, 10, QChar('0')); - } - else - { - formattedDuration = QString("%1:%2").arg(min_component, 2, 10, QChar('0')). - arg(sec_component, 2, 10, QChar('0')); - } + // Media duration in milliseconds. + QTime mediaDuration(0, 0); + mediaDuration = mediaDuration.addMSecs(duration); + HbExtendedLocale locale = HbExtendedLocale::system(); + formattedDuration = locale.format(mediaDuration, TIME_FORMAT); return formattedDuration; }