--- a/logsui/logsengine/src/logsabstractmodel.cpp Wed Aug 18 09:49:12 2010 +0300
+++ b/logsui/logsengine/src/logsabstractmodel.cpp Thu Sep 02 20:27:05 2010 +0300
@@ -24,6 +24,10 @@
#include "logsengdefs.h"
#include "logsmessage.h"
#include <hbicon.h>
+#include <QStringBuilder>
+#include <hbextendedlocale.h>
+#include <hbstringutil.h>
+#include "logsconfigurationparams.h"
Q_DECLARE_METATYPE(LogsEvent *)
Q_DECLARE_METATYPE(LogsCall *)
@@ -37,7 +41,7 @@
LogsAbstractModel::LogsAbstractModel() : QAbstractListModel(), mDbConnector(0)
{
LOGS_QDEBUG( "logs [ENG] -> LogsAbstractModel::LogsAbstractModel()" )
-
+ mExtendedLocale = new HbExtendedLocale();
LOGS_QDEBUG( "logs [ENG] <- LogsAbstractModel::LogsAbstractModel()" )
}
@@ -50,6 +54,7 @@
LOGS_QDEBUG( "logs [ENG] -> LogsAbstractModel::~LogsAbstractModel()" )
qDeleteAll( mIcons );
+ delete mExtendedLocale;
LOGS_QDEBUG( "logs [ENG] <- LogsAbstractModel::~LogsAbstractModel()" )
}
@@ -86,14 +91,19 @@
return doSetPredictiveSearch(enabled);
}
-
// -----------------------------------------------------------------------------
-//
+//
// -----------------------------------------------------------------------------
//
-bool LogsAbstractModel::isCommunicationPossible(const LogsEvent& event) const
+int LogsAbstractModel::updateConfiguration(LogsConfigurationParams& params)
{
-return ( !event.isRemotePartyPrivate() && !event.isRemotePartyUnknown() );
+ LOGS_QDEBUG( "logs [ENG] -> LogsAbstractModel::updateConfiguration()" )
+ if (params.localeChanged()) {
+ LOGS_QDEBUG( "logs [ENG] -> Locale changed, have to update model" )
+ updateModel();
+ }
+ LOGS_QDEBUG( "logs [ENG] <- LogsAbstractModel::updateConfiguration()" )
+ return 0;
}
// -----------------------------------------------------------------------------
@@ -109,6 +119,21 @@
//
// -----------------------------------------------------------------------------
//
+void LogsAbstractModel::updateModel()
+{
+ LOGS_QDEBUG( "logs [ENG] -> LogsAbstractModel::updateModel()" )
+ //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 ) {
@@ -136,10 +161,6 @@
return QVariant();
}
LogsCall* logscall = new LogsCall(*event);
- if (!logscall->isAllowedCallType() || !isCommunicationPossible(*event)) {
- delete logscall;
- logscall = 0;
- }
QVariant var = qVariantFromValue(logscall);
return var;
}
@@ -156,7 +177,7 @@
return QVariant();
}
LogsMessage* logsMessage = new LogsMessage(*event);
- if (!logsMessage->isMessagingAllowed() || !isCommunicationPossible(*event)) {
+ if (!logsMessage->isMessagingAllowed() || !event->isCommunicationPossible()) {
delete logsMessage;
logsMessage = 0;
}
@@ -177,7 +198,7 @@
}
Q_ASSERT(mDbConnector);
LogsContact* logsContact = new LogsContact(*event, *mDbConnector);
- if ( !logsContact->isContactRequestAllowed() || !isCommunicationPossible(*event) ) {
+ if ( !logsContact->isContactRequestAllowed() || !event->isCommunicationPossible() ) {
delete logsContact;
logsContact = 0;
}
@@ -292,6 +313,38 @@
//
// -----------------------------------------------------------------------------
//
+QString LogsAbstractModel::dateAndTimeString(const QDateTime& dateTime) const
+{
+ QString dateTimeString =
+ mExtendedLocale->format(dateTime.date(), r_qtn_date_usual_with_zero)
+ % QChar(' ')
+ % mExtendedLocale->format(dateTime.time(), r_qtn_time_usual_with_zero);
+ return HbStringUtil::convertDigits(dateTimeString);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+QString LogsAbstractModel::durationString(const QTime& time) const
+{
+ return HbStringUtil::convertDigits(
+ mExtendedLocale->format(time, r_qtn_time_durat_long_with_zero));
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+QString LogsAbstractModel::phoneNumString(const QString& number) const
+{
+ return HbStringUtil::convertDigits(number);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
LogsModelItemContainer::LogsModelItemContainer(LogsEvent* event) : mEvent(event)
{