diff -r f27aebe284bb -r c5af8598d22c logsui/logsengine/src/logsabstractmodel.cpp --- 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 +#include +#include +#include +#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) {