logsui/logsengine/src/logsabstractmodel.cpp
changeset 13 52d644758b05
parent 2 7119b73b84d6
child 15 76d2cf7a585e
--- a/logsui/logsengine/src/logsabstractmodel.cpp	Thu Jul 08 11:31:03 2010 +0300
+++ b/logsui/logsengine/src/logsabstractmodel.cpp	Fri Aug 06 14:57:47 2010 +0300
@@ -24,6 +24,10 @@
 #include "logsengdefs.h"
 #include "logsmessage.h"
 #include <hbicon.h>
+#include <QStringBuilder>
+#include <hbextendedlocale.h>
+#include "logssystemtimeobserver.h"
+
 
 Q_DECLARE_METATYPE(LogsEvent *)
 Q_DECLARE_METATYPE(LogsCall *)
@@ -37,7 +41,9 @@
 LogsAbstractModel::LogsAbstractModel() : QAbstractListModel(), mDbConnector(0)
 {
     LOGS_QDEBUG( "logs [ENG] -> LogsAbstractModel::LogsAbstractModel()" )
-   
+    mSystemTimeObserver = new LogsSystemTimeObserver(this);
+    connect(mSystemTimeObserver, SIGNAL(timeFormatChanged()),
+            this, SLOT(updateModel()));
     LOGS_QDEBUG( "logs [ENG] <- LogsAbstractModel::LogsAbstractModel()" )
 }
 
@@ -93,7 +99,7 @@
 //
 bool LogsAbstractModel::isCommunicationPossible(const LogsEvent& event) const
 {
-return ( !event.isRemotePartyPrivate() && !event.isRemotePartyUnknown() );
+    return ( !event.isRemotePartyPrivate() && !event.isRemotePartyUnknown() );
 }
 
 // -----------------------------------------------------------------------------
@@ -109,6 +115,21 @@
 //
 // -----------------------------------------------------------------------------
 //
+void LogsAbstractModel::updateModel()
+{
+    LOGS_QDEBUG( "logs [ENG] -> LogsAbstractModel::updateModel(), SYSTEM TIME CHANGED!" )
+    //reset();
+    if (rowCount()) {
+        emit dataChanged(createIndex(0,0), createIndex(rowCount(),0));
+    }
+    LOGS_QDEBUG( "logs [ENG] <- LogsAbstractModel::updateModel()" )
+}
+
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
 QVariant LogsAbstractModel::doGetData(int role, const LogsModelItemContainer& item) const
 {
     if ( role == RoleFullEvent ) {
@@ -292,6 +313,29 @@
 //
 // -----------------------------------------------------------------------------
 //
+QString LogsAbstractModel::dateAndTimeString(const QDateTime& dateTime) const
+{
+    HbExtendedLocale locale = HbExtendedLocale::system();
+    QString dateTimeString =
+                locale.format(dateTime.date(), r_qtn_date_usual_with_zero)
+                % QChar(' ')
+                % locale.format(dateTime.time(), r_qtn_time_usual_with_zero);
+    return dateTimeString;
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+QString LogsAbstractModel::durationString(const QTime& time) const
+{
+    return HbExtendedLocale::system().format(time, r_qtn_time_durat_long_with_zero);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
 LogsModelItemContainer::LogsModelItemContainer(LogsEvent* event) : mEvent(event)
 {