equal
deleted
inserted
replaced
14 * Description: |
14 * Description: |
15 * |
15 * |
16 */ |
16 */ |
17 |
17 |
18 #include "cntimageeditorview.h" |
18 #include "cntimageeditorview.h" |
|
19 #include "cntthumbnailmanager.h" |
19 #include "cntimageutility.h" |
20 #include "cntimageutility.h" |
20 #include "cntsavemanager.h" |
21 #include "cntsavemanager.h" |
21 #include "cntimagelabel.h" |
22 #include "cntimagelabel.h" |
22 |
23 |
23 #include <hblabel.h> |
24 #include <hblabel.h> |
25 #include <xqaiwdecl.h> |
26 #include <xqaiwdecl.h> |
26 |
27 |
27 #include "cntdebug.h" |
28 #include "cntdebug.h" |
28 #include "cntglobal.h" |
29 #include "cntglobal.h" |
29 |
30 |
30 #include <thumbnailmanager_qt.h> |
|
31 #include <hbaction.h> |
31 #include <hbaction.h> |
32 #include <hbview.h> |
32 #include <hbview.h> |
33 #include <hbmainwindow.h> |
33 #include <hbmainwindow.h> |
34 #include <hblistview.h> |
34 #include <hblistview.h> |
35 #include <hblistviewitem.h> |
35 #include <hblistviewitem.h> |
73 |
73 |
74 // menu action |
74 // menu action |
75 mRemoveImage = static_cast<HbAction*>(mDocumentLoader.findObject("cnt:removeimage")); |
75 mRemoveImage = static_cast<HbAction*>(mDocumentLoader.findObject("cnt:removeimage")); |
76 connect(mRemoveImage, SIGNAL(triggered()), this, SLOT(removeImage())); |
76 connect(mRemoveImage, SIGNAL(triggered()), this, SLOT(removeImage())); |
77 |
77 |
78 // thumbnail manager |
|
79 mThumbnailManager = new ThumbnailManager(this); |
|
80 mThumbnailManager->setMode(ThumbnailManager::Default); |
|
81 mThumbnailManager->setQualityPreference(ThumbnailManager::OptimizeForQuality); |
|
82 mThumbnailManager->setThumbnailSize(ThumbnailManager::ThumbnailLarge); |
|
83 |
|
84 connect( mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void*, int, int)), |
|
85 this, SLOT(thumbnailReady(QPixmap, void*, int, int)) ); |
|
86 |
|
87 // closing the application from task swapper or end key will cause the contact to be saved |
78 // closing the application from task swapper or end key will cause the contact to be saved |
88 connect( qApp, SIGNAL(aboutToQuit()), this, SLOT(saveContact())); |
79 connect( qApp, SIGNAL(aboutToQuit()), this, SLOT(saveContact())); |
89 } |
80 } |
90 |
81 |
91 /*! |
82 /*! |
114 } |
105 } |
115 |
106 |
116 /*! |
107 /*! |
117 Called when activating the view |
108 Called when activating the view |
118 */ |
109 */ |
119 void CntImageEditorView::activate( CntAbstractViewManager* aMgr, const CntViewParameters aArgs ) |
110 void CntImageEditorView::activate( const CntViewParameters aArgs ) |
120 { |
111 { |
121 mViewManager = aMgr; |
|
122 mArgs = aArgs; |
112 mArgs = aArgs; |
123 |
113 |
|
114 mViewManager = &mEngine->viewManager(); |
|
115 mThumbnailManager = &mEngine->thumbnailManager(); |
|
116 connect( mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void*, int, int)), |
|
117 this, SLOT(thumbnailReady(QPixmap, void*, int, int)) ); |
|
118 |
124 if (mView->navigationAction() != mSoftkey) |
119 if (mView->navigationAction() != mSoftkey) |
125 mView->setNavigationAction(mSoftkey); |
120 mView->setNavigationAction(mSoftkey); |
126 |
121 |
127 HbMainWindow* window = mView->mainWindow(); |
122 HbMainWindow* window = mView->mainWindow(); |
128 if ( window ) |
123 if ( window ) |
141 mContact = new QContact(mArgs.value(ESelectedGroupContact).value<QContact>()); |
136 mContact = new QContact(mArgs.value(ESelectedGroupContact).value<QContact>()); |
142 } |
137 } |
143 |
138 |
144 QString myCard = mArgs.value( EMyCard ).toString(); |
139 QString myCard = mArgs.value( EMyCard ).toString(); |
145 QContactLocalId localId = mContact->localId(); |
140 QContactLocalId localId = mContact->localId(); |
146 QContactLocalId selfContactId = mViewManager->contactManager(SYMBIAN_BACKEND)->selfContactId(); |
141 QContactLocalId selfContactId = mEngine->contactManager(SYMBIAN_BACKEND).selfContactId(); |
147 bool isMyCard = ( localId == selfContactId && localId != 0 ) || !myCard.isEmpty(); |
142 bool isMyCard = ( localId == selfContactId && localId != 0 ) || !myCard.isEmpty(); |
148 |
143 |
149 if (isMyCard) |
144 if (isMyCard) |
150 { |
145 { |
151 mSaveManager = new CntSaveManager(CntSaveManager::EMyCard); |
146 mSaveManager = new CntSaveManager(CntSaveManager::EMyCard); |
168 for (int i = 0;i < details.count();i++) |
163 for (int i = 0;i < details.count();i++) |
169 { |
164 { |
170 if (details.at(i).imageUrl().isValid()) |
165 if (details.at(i).imageUrl().isValid()) |
171 { |
166 { |
172 mAvatar = new QContactAvatar(details.at(i)); |
167 mAvatar = new QContactAvatar(details.at(i)); |
173 mThumbnailManager->getThumbnail(mAvatar->imageUrl().toString()); |
168 mThumbnailManager->getThumbnail(ThumbnailManager::ThumbnailLarge, mAvatar->imageUrl().toString()); |
174 break; |
169 break; |
175 } |
170 } |
176 } |
171 } |
177 } |
172 } |
178 else |
173 else |
361 imageUtility.removeImage(filePath); |
356 imageUtility.removeImage(filePath); |
362 |
357 |
363 CNT_LOG_ARGS("image created, image = " << filePath) |
358 CNT_LOG_ARGS("image created, image = " << filePath) |
364 |
359 |
365 mAvatar->setImageUrl(QUrl(imagepath)); |
360 mAvatar->setImageUrl(QUrl(imagepath)); |
366 mThumbnailManager->getThumbnail(imagepath); |
361 mThumbnailManager->getThumbnail(ThumbnailManager::ThumbnailLarge, imagepath); |
367 mRemoveImage->setEnabled(true); |
362 mRemoveImage->setEnabled(true); |
368 } |
363 } |
369 } |
364 } |
370 else |
365 else |
371 { |
366 { |
372 // No mass memory, use the orginal image |
367 // No mass memory, use the orginal image |
373 mAvatar->setImageUrl(QUrl(value.toString())); |
368 mAvatar->setImageUrl(QUrl(value.toString())); |
374 mThumbnailManager->getThumbnail(value.toString()); |
369 mThumbnailManager->getThumbnail(ThumbnailManager::ThumbnailLarge, value.toString()); |
375 mRemoveImage->setEnabled(true); |
370 mRemoveImage->setEnabled(true); |
376 } |
371 } |
377 } |
372 } |
378 |
373 |
379 CNT_EXIT |
374 CNT_EXIT |
444 if ( mAvatar->imageUrl().isEmpty()) |
439 if ( mAvatar->imageUrl().isEmpty()) |
445 { |
440 { |
446 mContact->removeDetail(mAvatar); |
441 mContact->removeDetail(mAvatar); |
447 } |
442 } |
448 |
443 |
449 QString name = mViewManager->contactManager(SYMBIAN_BACKEND)->synthesizedContactDisplayLabel(*mContact); |
444 QString name = mEngine->contactManager(SYMBIAN_BACKEND).synthesizedContactDisplayLabel(*mContact); |
450 |
445 |
451 if (name.isEmpty()) |
446 if (name.isEmpty()) |
452 { |
447 { |
453 name = hbTrId("txt_phob_list_unnamed"); |
448 name = hbTrId("txt_phob_list_unnamed"); |
454 } |
449 } |
455 |
450 |
456 CntSaveManager::CntSaveResult result = mSaveManager->saveContact(mContact, mViewManager->contactManager(SYMBIAN_BACKEND)); |
451 CntSaveManager::CntSaveResult result = mSaveManager->saveContact(mContact, &mEngine->contactManager(SYMBIAN_BACKEND)); |
457 |
452 |
458 if (mContact->type() != QContactType::TypeGroup) |
453 if (mContact->type() != QContactType::TypeGroup) |
459 { |
454 { |
460 switch (result) |
455 switch (result) |
461 { |
456 { |