24 #include "logsengdefs.h" |
24 #include "logsengdefs.h" |
25 #include "logsmessage.h" |
25 #include "logsmessage.h" |
26 #include <hbicon.h> |
26 #include <hbicon.h> |
27 #include <QStringBuilder> |
27 #include <QStringBuilder> |
28 #include <hbextendedlocale.h> |
28 #include <hbextendedlocale.h> |
29 #include "logssystemtimeobserver.h" |
29 #include <hbstringutil.h> |
30 |
30 #include "logsconfigurationparams.h" |
31 |
31 |
32 Q_DECLARE_METATYPE(LogsEvent *) |
32 Q_DECLARE_METATYPE(LogsEvent *) |
33 Q_DECLARE_METATYPE(LogsCall *) |
33 Q_DECLARE_METATYPE(LogsCall *) |
34 Q_DECLARE_METATYPE(LogsMessage *) |
34 Q_DECLARE_METATYPE(LogsMessage *) |
35 Q_DECLARE_METATYPE(LogsContact *) |
35 Q_DECLARE_METATYPE(LogsContact *) |
39 // ----------------------------------------------------------------------------- |
39 // ----------------------------------------------------------------------------- |
40 // |
40 // |
41 LogsAbstractModel::LogsAbstractModel() : QAbstractListModel(), mDbConnector(0) |
41 LogsAbstractModel::LogsAbstractModel() : QAbstractListModel(), mDbConnector(0) |
42 { |
42 { |
43 LOGS_QDEBUG( "logs [ENG] -> LogsAbstractModel::LogsAbstractModel()" ) |
43 LOGS_QDEBUG( "logs [ENG] -> LogsAbstractModel::LogsAbstractModel()" ) |
44 mSystemTimeObserver = new LogsSystemTimeObserver(this); |
44 mExtendedLocale = new HbExtendedLocale(); |
45 connect(mSystemTimeObserver, SIGNAL(timeFormatChanged()), |
|
46 this, SLOT(updateModel())); |
|
47 LOGS_QDEBUG( "logs [ENG] <- LogsAbstractModel::LogsAbstractModel()" ) |
45 LOGS_QDEBUG( "logs [ENG] <- LogsAbstractModel::LogsAbstractModel()" ) |
48 } |
46 } |
49 |
47 |
50 // ----------------------------------------------------------------------------- |
48 // ----------------------------------------------------------------------------- |
51 // |
49 // |
54 LogsAbstractModel::~LogsAbstractModel() |
52 LogsAbstractModel::~LogsAbstractModel() |
55 { |
53 { |
56 LOGS_QDEBUG( "logs [ENG] -> LogsAbstractModel::~LogsAbstractModel()" ) |
54 LOGS_QDEBUG( "logs [ENG] -> LogsAbstractModel::~LogsAbstractModel()" ) |
57 |
55 |
58 qDeleteAll( mIcons ); |
56 qDeleteAll( mIcons ); |
|
57 delete mExtendedLocale; |
59 |
58 |
60 LOGS_QDEBUG( "logs [ENG] <- LogsAbstractModel::~LogsAbstractModel()" ) |
59 LOGS_QDEBUG( "logs [ENG] <- LogsAbstractModel::~LogsAbstractModel()" ) |
61 } |
60 } |
62 |
61 |
63 // ----------------------------------------------------------------------------- |
62 // ----------------------------------------------------------------------------- |
90 int LogsAbstractModel::setPredictiveSearch(bool enabled) |
89 int LogsAbstractModel::setPredictiveSearch(bool enabled) |
91 { |
90 { |
92 return doSetPredictiveSearch(enabled); |
91 return doSetPredictiveSearch(enabled); |
93 } |
92 } |
94 |
93 |
95 |
94 // ----------------------------------------------------------------------------- |
96 // ----------------------------------------------------------------------------- |
95 // |
97 // |
96 // ----------------------------------------------------------------------------- |
98 // ----------------------------------------------------------------------------- |
97 // |
99 // |
98 int LogsAbstractModel::updateConfiguration(LogsConfigurationParams& params) |
100 bool LogsAbstractModel::isCommunicationPossible(const LogsEvent& event) const |
99 { |
101 { |
100 LOGS_QDEBUG( "logs [ENG] -> LogsAbstractModel::updateConfiguration()" ) |
102 return ( !event.isRemotePartyPrivate() && !event.isRemotePartyUnknown() ); |
101 if (params.localeChanged()) { |
|
102 LOGS_QDEBUG( "logs [ENG] -> Locale changed, have to update model" ) |
|
103 updateModel(); |
|
104 } |
|
105 LOGS_QDEBUG( "logs [ENG] <- LogsAbstractModel::updateConfiguration()" ) |
|
106 return 0; |
103 } |
107 } |
104 |
108 |
105 // ----------------------------------------------------------------------------- |
109 // ----------------------------------------------------------------------------- |
106 // |
110 // |
107 // ----------------------------------------------------------------------------- |
111 // ----------------------------------------------------------------------------- |
115 // |
119 // |
116 // ----------------------------------------------------------------------------- |
120 // ----------------------------------------------------------------------------- |
117 // |
121 // |
118 void LogsAbstractModel::updateModel() |
122 void LogsAbstractModel::updateModel() |
119 { |
123 { |
120 LOGS_QDEBUG( "logs [ENG] -> LogsAbstractModel::updateModel(), SYSTEM TIME CHANGED!" ) |
124 LOGS_QDEBUG( "logs [ENG] -> LogsAbstractModel::updateModel()" ) |
121 //reset(); |
125 //reset(); |
122 if (rowCount()) { |
126 if (rowCount()) { |
123 emit dataChanged(createIndex(0,0), createIndex(rowCount(),0)); |
127 emit dataChanged(createIndex(0,0), createIndex(rowCount(),0)); |
124 } |
128 } |
125 LOGS_QDEBUG( "logs [ENG] <- LogsAbstractModel::updateModel()" ) |
129 LOGS_QDEBUG( "logs [ENG] <- LogsAbstractModel::updateModel()" ) |
155 LogsEvent* event = item.event(); |
159 LogsEvent* event = item.event(); |
156 if ( !event ){ |
160 if ( !event ){ |
157 return QVariant(); |
161 return QVariant(); |
158 } |
162 } |
159 LogsCall* logscall = new LogsCall(*event); |
163 LogsCall* logscall = new LogsCall(*event); |
160 if (!logscall->isAllowedCallType() || !isCommunicationPossible(*event)) { |
|
161 delete logscall; |
|
162 logscall = 0; |
|
163 } |
|
164 QVariant var = qVariantFromValue(logscall); |
164 QVariant var = qVariantFromValue(logscall); |
165 return var; |
165 return var; |
166 } |
166 } |
167 |
167 |
168 // ----------------------------------------------------------------------------- |
168 // ----------------------------------------------------------------------------- |
196 if ( !event ){ |
196 if ( !event ){ |
197 return QVariant(); |
197 return QVariant(); |
198 } |
198 } |
199 Q_ASSERT(mDbConnector); |
199 Q_ASSERT(mDbConnector); |
200 LogsContact* logsContact = new LogsContact(*event, *mDbConnector); |
200 LogsContact* logsContact = new LogsContact(*event, *mDbConnector); |
201 if ( !logsContact->isContactRequestAllowed() || !isCommunicationPossible(*event) ) { |
201 if ( !logsContact->isContactRequestAllowed() || !event->isCommunicationPossible() ) { |
202 delete logsContact; |
202 delete logsContact; |
203 logsContact = 0; |
203 logsContact = 0; |
204 } |
204 } |
205 QVariant var = qVariantFromValue(logsContact); |
205 QVariant var = qVariantFromValue(logsContact); |
206 return var; |
206 return var; |
313 // |
313 // |
314 // ----------------------------------------------------------------------------- |
314 // ----------------------------------------------------------------------------- |
315 // |
315 // |
316 QString LogsAbstractModel::dateAndTimeString(const QDateTime& dateTime) const |
316 QString LogsAbstractModel::dateAndTimeString(const QDateTime& dateTime) const |
317 { |
317 { |
318 HbExtendedLocale locale = HbExtendedLocale::system(); |
|
319 QString dateTimeString = |
318 QString dateTimeString = |
320 locale.format(dateTime.date(), r_qtn_date_usual_with_zero) |
319 mExtendedLocale->format(dateTime.date(), r_qtn_date_usual_with_zero) |
321 % QChar(' ') |
320 % QChar(' ') |
322 % locale.format(dateTime.time(), r_qtn_time_usual_with_zero); |
321 % mExtendedLocale->format(dateTime.time(), r_qtn_time_usual_with_zero); |
323 return dateTimeString; |
322 return HbStringUtil::convertDigits(dateTimeString); |
324 } |
323 } |
325 |
324 |
326 // ----------------------------------------------------------------------------- |
325 // ----------------------------------------------------------------------------- |
327 // |
326 // |
328 // ----------------------------------------------------------------------------- |
327 // ----------------------------------------------------------------------------- |
329 // |
328 // |
330 QString LogsAbstractModel::durationString(const QTime& time) const |
329 QString LogsAbstractModel::durationString(const QTime& time) const |
331 { |
330 { |
332 return HbExtendedLocale::system().format(time, r_qtn_time_durat_long_with_zero); |
331 return HbStringUtil::convertDigits( |
|
332 mExtendedLocale->format(time, r_qtn_time_durat_long_with_zero)); |
|
333 } |
|
334 |
|
335 // ----------------------------------------------------------------------------- |
|
336 // |
|
337 // ----------------------------------------------------------------------------- |
|
338 // |
|
339 QString LogsAbstractModel::phoneNumString(const QString& number) const |
|
340 { |
|
341 return HbStringUtil::convertDigits(number); |
333 } |
342 } |
334 |
343 |
335 // ----------------------------------------------------------------------------- |
344 // ----------------------------------------------------------------------------- |
336 // |
345 // |
337 // ----------------------------------------------------------------------------- |
346 // ----------------------------------------------------------------------------- |