22 #include "logscall.h" |
22 #include "logscall.h" |
23 #include "logscontact.h" |
23 #include "logscontact.h" |
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> |
|
28 #include <hbextendedlocale.h> |
|
29 #include <hbstringutil.h> |
|
30 #include "logsconfigurationparams.h" |
27 |
31 |
28 Q_DECLARE_METATYPE(LogsEvent *) |
32 Q_DECLARE_METATYPE(LogsEvent *) |
29 Q_DECLARE_METATYPE(LogsCall *) |
33 Q_DECLARE_METATYPE(LogsCall *) |
30 Q_DECLARE_METATYPE(LogsMessage *) |
34 Q_DECLARE_METATYPE(LogsMessage *) |
31 Q_DECLARE_METATYPE(LogsContact *) |
35 Q_DECLARE_METATYPE(LogsContact *) |
35 // ----------------------------------------------------------------------------- |
39 // ----------------------------------------------------------------------------- |
36 // |
40 // |
37 LogsAbstractModel::LogsAbstractModel() : QAbstractListModel(), mDbConnector(0) |
41 LogsAbstractModel::LogsAbstractModel() : QAbstractListModel(), mDbConnector(0) |
38 { |
42 { |
39 LOGS_QDEBUG( "logs [ENG] -> LogsAbstractModel::LogsAbstractModel()" ) |
43 LOGS_QDEBUG( "logs [ENG] -> LogsAbstractModel::LogsAbstractModel()" ) |
40 |
44 mExtendedLocale = new HbExtendedLocale(); |
41 LOGS_QDEBUG( "logs [ENG] <- LogsAbstractModel::LogsAbstractModel()" ) |
45 LOGS_QDEBUG( "logs [ENG] <- LogsAbstractModel::LogsAbstractModel()" ) |
42 } |
46 } |
43 |
47 |
44 // ----------------------------------------------------------------------------- |
48 // ----------------------------------------------------------------------------- |
45 // |
49 // |
48 LogsAbstractModel::~LogsAbstractModel() |
52 LogsAbstractModel::~LogsAbstractModel() |
49 { |
53 { |
50 LOGS_QDEBUG( "logs [ENG] -> LogsAbstractModel::~LogsAbstractModel()" ) |
54 LOGS_QDEBUG( "logs [ENG] -> LogsAbstractModel::~LogsAbstractModel()" ) |
51 |
55 |
52 qDeleteAll( mIcons ); |
56 qDeleteAll( mIcons ); |
|
57 delete mExtendedLocale; |
53 |
58 |
54 LOGS_QDEBUG( "logs [ENG] <- LogsAbstractModel::~LogsAbstractModel()" ) |
59 LOGS_QDEBUG( "logs [ENG] <- LogsAbstractModel::~LogsAbstractModel()" ) |
55 } |
60 } |
56 |
61 |
57 // ----------------------------------------------------------------------------- |
62 // ----------------------------------------------------------------------------- |
84 int LogsAbstractModel::setPredictiveSearch(bool enabled) |
89 int LogsAbstractModel::setPredictiveSearch(bool enabled) |
85 { |
90 { |
86 return doSetPredictiveSearch(enabled); |
91 return doSetPredictiveSearch(enabled); |
87 } |
92 } |
88 |
93 |
89 |
94 // ----------------------------------------------------------------------------- |
90 // ----------------------------------------------------------------------------- |
95 // |
91 // |
96 // ----------------------------------------------------------------------------- |
92 // ----------------------------------------------------------------------------- |
97 // |
93 // |
98 int LogsAbstractModel::updateConfiguration(LogsConfigurationParams& params) |
94 bool LogsAbstractModel::isCommunicationPossible(const LogsEvent& event) const |
99 { |
95 { |
100 LOGS_QDEBUG( "logs [ENG] -> LogsAbstractModel::updateConfiguration()" ) |
96 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; |
97 } |
107 } |
98 |
108 |
99 // ----------------------------------------------------------------------------- |
109 // ----------------------------------------------------------------------------- |
100 // |
110 // |
101 // ----------------------------------------------------------------------------- |
111 // ----------------------------------------------------------------------------- |
102 // |
112 // |
103 void LogsAbstractModel::contactSavingCompleted(bool modified) |
113 void LogsAbstractModel::contactSavingCompleted(bool modified) |
104 { |
114 { |
105 Q_UNUSED(modified); |
115 Q_UNUSED(modified); |
106 } |
116 } |
|
117 |
|
118 // ----------------------------------------------------------------------------- |
|
119 // |
|
120 // ----------------------------------------------------------------------------- |
|
121 // |
|
122 void LogsAbstractModel::updateModel() |
|
123 { |
|
124 LOGS_QDEBUG( "logs [ENG] -> LogsAbstractModel::updateModel()" ) |
|
125 //reset(); |
|
126 if (rowCount()) { |
|
127 emit dataChanged(createIndex(0,0), createIndex(rowCount(),0)); |
|
128 } |
|
129 LOGS_QDEBUG( "logs [ENG] <- LogsAbstractModel::updateModel()" ) |
|
130 } |
|
131 |
107 |
132 |
108 // ----------------------------------------------------------------------------- |
133 // ----------------------------------------------------------------------------- |
109 // |
134 // |
110 // ----------------------------------------------------------------------------- |
135 // ----------------------------------------------------------------------------- |
111 // |
136 // |
134 LogsEvent* event = item.event(); |
159 LogsEvent* event = item.event(); |
135 if ( !event ){ |
160 if ( !event ){ |
136 return QVariant(); |
161 return QVariant(); |
137 } |
162 } |
138 LogsCall* logscall = new LogsCall(*event); |
163 LogsCall* logscall = new LogsCall(*event); |
139 if (!logscall->isAllowedCallType() || !isCommunicationPossible(*event)) { |
|
140 delete logscall; |
|
141 logscall = 0; |
|
142 } |
|
143 QVariant var = qVariantFromValue(logscall); |
164 QVariant var = qVariantFromValue(logscall); |
144 return var; |
165 return var; |
145 } |
166 } |
146 |
167 |
147 // ----------------------------------------------------------------------------- |
168 // ----------------------------------------------------------------------------- |
175 if ( !event ){ |
196 if ( !event ){ |
176 return QVariant(); |
197 return QVariant(); |
177 } |
198 } |
178 Q_ASSERT(mDbConnector); |
199 Q_ASSERT(mDbConnector); |
179 LogsContact* logsContact = new LogsContact(*event, *mDbConnector); |
200 LogsContact* logsContact = new LogsContact(*event, *mDbConnector); |
180 if ( !logsContact->isContactRequestAllowed() || !isCommunicationPossible(*event) ) { |
201 if ( !logsContact->isContactRequestAllowed() || !event->isCommunicationPossible() ) { |
181 delete logsContact; |
202 delete logsContact; |
182 logsContact = 0; |
203 logsContact = 0; |
183 } |
204 } |
184 QVariant var = qVariantFromValue(logsContact); |
205 QVariant var = qVariantFromValue(logsContact); |
185 return var; |
206 return var; |
290 |
311 |
291 // ----------------------------------------------------------------------------- |
312 // ----------------------------------------------------------------------------- |
292 // |
313 // |
293 // ----------------------------------------------------------------------------- |
314 // ----------------------------------------------------------------------------- |
294 // |
315 // |
|
316 QString LogsAbstractModel::dateAndTimeString(const QDateTime& dateTime) const |
|
317 { |
|
318 QString dateTimeString = |
|
319 mExtendedLocale->format(dateTime.date(), r_qtn_date_usual_with_zero) |
|
320 % QChar(' ') |
|
321 % mExtendedLocale->format(dateTime.time(), r_qtn_time_usual_with_zero); |
|
322 return HbStringUtil::convertDigits(dateTimeString); |
|
323 } |
|
324 |
|
325 // ----------------------------------------------------------------------------- |
|
326 // |
|
327 // ----------------------------------------------------------------------------- |
|
328 // |
|
329 QString LogsAbstractModel::durationString(const QTime& time) const |
|
330 { |
|
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); |
|
342 } |
|
343 |
|
344 // ----------------------------------------------------------------------------- |
|
345 // |
|
346 // ----------------------------------------------------------------------------- |
|
347 // |
295 LogsModelItemContainer::LogsModelItemContainer(LogsEvent* event) : mEvent(event) |
348 LogsModelItemContainer::LogsModelItemContainer(LogsEvent* event) : mEvent(event) |
296 { |
349 { |
297 |
350 |
298 } |
351 } |
299 |
352 |