32 const QString IMAGE_MIMETYPE("image"); |
32 const QString IMAGE_MIMETYPE("image"); |
33 const QString AUDIO_MIMETYPE("audio"); |
33 const QString AUDIO_MIMETYPE("audio"); |
34 const QString VIDEO_MIMETYPE("video"); |
34 const QString VIDEO_MIMETYPE("video"); |
35 const QString TEXT_MIMETYPE("text"); |
35 const QString TEXT_MIMETYPE("text"); |
36 |
36 |
|
37 static const char VIDEO_ICON[] = "qtg_large_video_player"; |
|
38 |
37 //--------------------------------------------------------------- |
39 //--------------------------------------------------------------- |
38 //UniViewerBodyWidget::UniViewerBodyWidget |
40 //UniViewerBodyWidget::UniViewerBodyWidget |
39 // @see header file |
41 // @see header file |
40 //--------------------------------------------------------------- |
42 //--------------------------------------------------------------- |
41 UniViewerBodyWidget::UniViewerBodyWidget(QGraphicsItem *parent) : |
43 UniViewerBodyWidget::UniViewerBodyWidget(QGraphicsItem *parent) : |
49 //UniViewerBodyWidget::~UniViewerBodyWidget |
51 //UniViewerBodyWidget::~UniViewerBodyWidget |
50 // @see header file |
52 // @see header file |
51 //--------------------------------------------------------------- |
53 //--------------------------------------------------------------- |
52 UniViewerBodyWidget::~UniViewerBodyWidget() |
54 UniViewerBodyWidget::~UniViewerBodyWidget() |
53 { |
55 { |
54 } |
|
55 |
|
56 //--------------------------------------------------------------- |
|
57 //UniViewerBodyWidget::setImage |
|
58 // @see header file |
|
59 //--------------------------------------------------------------- |
|
60 void UniViewerBodyWidget::setPixmap(UniMessageInfo *info) |
|
61 { |
|
62 setHasPixmap(true); |
|
63 //create image item instance |
|
64 if (!mPixmapItem) { |
|
65 mPixmapItem = new UniViewerPixmapWidget(this); |
|
66 HbStyle::setItemName(mPixmapItem, "pixmap"); |
|
67 } |
|
68 mPixmapItem->hide(); |
|
69 mPixmapItem->populate(info); |
|
70 |
|
71 this->repolish(); |
|
72 } |
|
73 |
|
74 //--------------------------------------------------------------- |
|
75 //UniViewerBodyWidget::setAudio |
|
76 // @see header file |
|
77 //--------------------------------------------------------------- |
|
78 void UniViewerBodyWidget::setAudio(UniMessageInfo *info) |
|
79 { |
|
80 if (!mAudioItem) { |
|
81 mAudioItem = new UniViewerAudioWidget(this); |
|
82 HbStyle::setItemName(mAudioItem, "audioItem"); |
|
83 } |
|
84 mAudioItem->hide(); |
|
85 mAudioItem->populate(info); |
|
86 |
|
87 this->repolish(); |
|
88 } |
|
89 |
|
90 //--------------------------------------------------------------- |
|
91 //UniViewerBodyWidget::setVideo |
|
92 // @see header file |
|
93 //--------------------------------------------------------------- |
|
94 void UniViewerBodyWidget::setVideo(UniMessageInfo *info) |
|
95 { |
|
96 setHasPixmap(true); |
|
97 //create image item instance |
|
98 if (!mPixmapItem) { |
|
99 mPixmapItem = new UniViewerPixmapWidget(this); |
|
100 HbStyle::setItemName(mPixmapItem, "pixmap"); |
|
101 connect(mPixmapItem, SIGNAL(setOverlayIcon(QString)), this, SLOT(setOverlayIcon(QString))); |
|
102 } |
|
103 mPixmapItem->hide(); |
|
104 mPixmapItem->populate(info); |
|
105 |
|
106 this->repolish(); |
|
107 } |
|
108 |
|
109 //--------------------------------------------------------------- |
|
110 //UniViewerBodyWidget::setText |
|
111 // @see header file |
|
112 //--------------------------------------------------------------- |
|
113 void UniViewerBodyWidget::setText(QString text) |
|
114 { |
|
115 setHasText(true); |
|
116 |
|
117 if (!mTextItem) { |
|
118 mTextItem = new UniViewerTextItem(this); |
|
119 HbStyle::setItemName(mTextItem, "textItem"); |
|
120 connect(mTextItem, SIGNAL(sendMessage(const QString&)), this, |
|
121 SIGNAL(sendMessage(const QString&))); |
|
122 } |
|
123 mTextItem->hide(); |
|
124 text.replace(QChar::ParagraphSeparator, QChar::LineSeparator); |
|
125 text.replace('\r', QChar::LineSeparator); |
|
126 mTextItem->setText(text); |
|
127 |
|
128 this->repolish(); |
|
129 } |
|
130 |
|
131 //--------------------------------------------------------------- |
|
132 // UniViewerBodyWidget::setSlideCounter |
|
133 // @see header file |
|
134 //--------------------------------------------------------------- |
|
135 void UniViewerBodyWidget::setSlideCounter(QString &slideCounter) |
|
136 { |
|
137 if (!mSlideCounter) { |
|
138 mSlideCounter = new HbTextItem(this); |
|
139 HbStyle::setItemName(mSlideCounter, "slideCounter"); |
|
140 } |
|
141 |
|
142 mSlideCounter->hide(); |
|
143 mSlideCounter->setText(slideCounter); |
|
144 |
|
145 this->repolish(); |
|
146 } |
56 } |
147 |
57 |
148 //--------------------------------------------------------------- |
58 //--------------------------------------------------------------- |
149 // UniViewerBodyWidget::setHasText |
59 // UniViewerBodyWidget::setHasText |
150 // @see header file |
60 // @see header file |
261 setHasPixmap(false); |
171 setHasPixmap(false); |
262 repolish(); |
172 repolish(); |
263 } |
173 } |
264 |
174 |
265 //--------------------------------------------------------------- |
175 //--------------------------------------------------------------- |
266 // UniViewerBodyWidget::setOverlayIcon |
176 // UniViewerBodyWidget::setText |
267 // @see header file |
177 // @see header file |
268 //--------------------------------------------------------------- |
178 //--------------------------------------------------------------- |
269 void UniViewerBodyWidget::setOverlayIcon(const QString &iconName) |
179 void UniViewerBodyWidget::setText(QString text) |
270 { |
180 { |
271 if (!mOverlayItem) { |
181 setHasText(true); |
272 mOverlayItem = new HbIconItem(this); |
182 |
273 HbStyle::setItemName(mOverlayItem, "overlayItem"); |
183 if (!mTextItem) { |
274 } |
184 mTextItem = new UniViewerTextItem(this); |
275 |
185 mTextItem->setObjectName("textItem"); |
276 mOverlayItem->hide(); |
186 HbStyle::setItemName(mTextItem, "textItem"); |
277 mOverlayItem->setIconName(iconName); |
187 connect(mTextItem, SIGNAL(sendMessage(const QString&)), this, |
|
188 SIGNAL(sendMessage(const QString&))); |
|
189 } |
|
190 mTextItem->hide(); |
|
191 text.replace(QChar::ParagraphSeparator, QChar::LineSeparator); |
|
192 text.replace('\r', QChar::LineSeparator); |
|
193 mTextItem->setText(text); |
278 |
194 |
279 this->repolish(); |
195 this->repolish(); |
280 } |
196 } |
281 |
197 |
282 //--------------------------------------------------------------- |
198 //--------------------------------------------------------------- |
427 szHint.rheight() = qMax(maxHeight, szHint.height()); |
343 szHint.rheight() = qMax(maxHeight, szHint.height()); |
428 |
344 |
429 return szHint; |
345 return szHint; |
430 } |
346 } |
431 |
347 |
|
348 //--------------------------------------------------------------- |
|
349 //UniViewerBodyWidget::setPixmap |
|
350 // @see header file |
|
351 //--------------------------------------------------------------- |
|
352 void UniViewerBodyWidget::setPixmap(UniMessageInfo *info) |
|
353 { |
|
354 setHasPixmap(true); |
|
355 //create image item instance |
|
356 if (!mPixmapItem) { |
|
357 mPixmapItem = new UniViewerPixmapWidget(this); |
|
358 HbStyle::setItemName(mPixmapItem, "pixmap"); |
|
359 } |
|
360 mPixmapItem->hide(); |
|
361 mPixmapItem->populate(info); |
|
362 |
|
363 this->repolish(); |
|
364 } |
|
365 |
|
366 //--------------------------------------------------------------- |
|
367 //UniViewerBodyWidget::setAudio |
|
368 // @see header file |
|
369 //--------------------------------------------------------------- |
|
370 void UniViewerBodyWidget::setAudio(UniMessageInfo *info) |
|
371 { |
|
372 if (!mAudioItem) { |
|
373 mAudioItem = new UniViewerAudioWidget(this); |
|
374 HbStyle::setItemName(mAudioItem, "audioItem"); |
|
375 } |
|
376 mAudioItem->hide(); |
|
377 mAudioItem->populate(info); |
|
378 |
|
379 this->repolish(); |
|
380 } |
|
381 |
|
382 //--------------------------------------------------------------- |
|
383 //UniViewerBodyWidget::setVideo |
|
384 // @see header file |
|
385 //--------------------------------------------------------------- |
|
386 void UniViewerBodyWidget::setVideo(UniMessageInfo *info) |
|
387 { |
|
388 setHasPixmap(true); |
|
389 //create image item instance |
|
390 if (!mPixmapItem) { |
|
391 mPixmapItem = new UniViewerPixmapWidget(this); |
|
392 HbStyle::setItemName(mPixmapItem, "pixmap"); |
|
393 connect(mPixmapItem, SIGNAL(thumbnailFound(bool, UniMessageInfo*)), this, |
|
394 SLOT(onThumbnailFound(bool, UniMessageInfo*))); |
|
395 } |
|
396 mPixmapItem->hide(); |
|
397 mPixmapItem->populate(info); |
|
398 |
|
399 this->repolish(); |
|
400 } |
|
401 |
|
402 //--------------------------------------------------------------- |
|
403 // UniViewerBodyWidget::setSlideCounter |
|
404 // @see header file |
|
405 //--------------------------------------------------------------- |
|
406 void UniViewerBodyWidget::setSlideCounter(QString &slideCounter) |
|
407 { |
|
408 if (!mSlideCounter) { |
|
409 mSlideCounter = new HbTextItem(this); |
|
410 HbStyle::setItemName(mSlideCounter, "slideCounter"); |
|
411 } |
|
412 |
|
413 mSlideCounter->hide(); |
|
414 mSlideCounter->setText(slideCounter); |
|
415 |
|
416 this->repolish(); |
|
417 } |
|
418 |
|
419 //--------------------------------------------------------------- |
|
420 // UniViewerBodyWidget::setOverlayIcon |
|
421 // @see header file |
|
422 //--------------------------------------------------------------- |
|
423 void UniViewerBodyWidget::setOverlayIcon(const QString &iconName) |
|
424 { |
|
425 if (!mOverlayItem) { |
|
426 mOverlayItem = new HbIconItem(this); |
|
427 HbStyle::setItemName(mOverlayItem, "overlayItem"); |
|
428 } |
|
429 |
|
430 mOverlayItem->hide(); |
|
431 mOverlayItem->setIconName(iconName); |
|
432 |
|
433 this->repolish(); |
|
434 } |
|
435 |
|
436 //--------------------------------------------------------------- |
|
437 // UniViewerBodyWidget::onThumbnailFound |
|
438 // @see header file |
|
439 //--------------------------------------------------------------- |
|
440 void UniViewerBodyWidget::onThumbnailFound(bool result, UniMessageInfo *info) |
|
441 { |
|
442 if (result) { |
|
443 // Thumbnail generation success |
|
444 setOverlayIcon(VIDEO_ICON); |
|
445 } |
|
446 else { |
|
447 // Show video content in audio widget. |
|
448 setAudio(info); |
|
449 |
|
450 // Remove the pixmap widget. |
|
451 setHasPixmap(false); |
|
452 if (mPixmapItem) { |
|
453 HbStyle::setItemName(mPixmapItem, ""); |
|
454 mPixmapItem->hide(); |
|
455 } |
|
456 } |
|
457 } |
|
458 |
432 // EOF |
459 // EOF |