emailuis/nmailui/src/nmeditorview.cpp
changeset 49 00c7ae862740
parent 48 10eaf342f539
child 51 d845db10c0d4
equal deleted inserted replaced
48:10eaf342f539 49:00c7ae862740
   116     
   116     
   117     mPrioritySubMenu = NULL;
   117     mPrioritySubMenu = NULL;
   118 
   118 
   119     // Use document loader to load the view
   119     // Use document loader to load the view
   120     bool ok(false);
   120     bool ok(false);
       
   121 
       
   122     setObjectName(QString(NMUI_EDITOR_VIEW));
       
   123     QObjectList objectList;
       
   124     objectList.append(this);
       
   125     // Pass the view to documentloader. Document loader uses this view
       
   126     // when docml is parsed, instead of creating new view.
       
   127     // documentloader is created in constructor
       
   128     mDocumentLoader->setObjectTree(objectList);
       
   129 
   121     mWidgetList = mDocumentLoader->load(NMUI_EDITOR_VIEW_XML, &ok);
   130     mWidgetList = mDocumentLoader->load(NMUI_EDITOR_VIEW_XML, &ok);
   122 
   131 
   123     if (ok == true && mWidgetList.count()) {
   132    if (ok) {
   124         // Set view
       
   125         QGraphicsWidget *view = mDocumentLoader->findWidget(NMUI_EDITOR_VIEW);
       
   126         if (view){
       
   127             setWidget(view);
       
   128         }
       
   129 
       
   130         mContent = new NmEditorContent(this, mDocumentLoader, 
   133         mContent = new NmEditorContent(this, mDocumentLoader, 
   131             mApplication.networkAccessManager(), mApplication);
   134             mApplication.networkAccessManager(), mApplication);
   132 
   135 
   133         mHeaderWidget = mContent->header();
   136         mHeaderWidget = mContent->header();
   134 
   137 
  1302     if (result == NmNoError && mMessage) {
  1305     if (result == NmNoError && mMessage) {
  1303         // Need to get the message again because new attachment part has been added.
  1306         // Need to get the message again because new attachment part has been added.
  1304         NmId mailboxId = mMessage->envelope().mailboxId();
  1307         NmId mailboxId = mMessage->envelope().mailboxId();
  1305         NmId folderId = mMessage->envelope().folderId();
  1308         NmId folderId = mMessage->envelope().folderId();
  1306         NmId msgId = mMessage->envelope().messageId();
  1309         NmId msgId = mMessage->envelope().messageId();
  1307 
  1310         NmMessagePriority messagePriority = mMessage->envelope().priority();        
       
  1311         
  1308         delete mMessage;
  1312         delete mMessage;
  1309         mMessage = NULL;
  1313         mMessage = NULL;
  1310         
  1314         
  1311         mMessage = mUiEngine.message(mailboxId, folderId, msgId);
  1315         mMessage = mUiEngine.message(mailboxId, folderId, msgId);
  1312 
  1316 
  1313         if (mMessage) {
  1317         if (mMessage) {
       
  1318             mMessage->envelope().setPriority(messagePriority);
       
  1319             mMessage->envelope().setHasAttachments(true);
  1314             // Get attachment list from the message
  1320             // Get attachment list from the message
  1315             QList<NmMessagePart*> attachmentList;
  1321             QList<NmMessagePart*> attachmentList;
  1316             mMessage->attachmentList(attachmentList);
  1322             mMessage->attachmentList(attachmentList);
  1317         
  1323         
  1318             // Search newly added attachment from the list
  1324             // Search newly added attachment from the list
  1466     if (mMessage) {
  1472     if (mMessage) {
  1467         // Reload message because one attachment has been removed
  1473         // Reload message because one attachment has been removed
  1468         NmId mailboxId = mMessage->envelope().mailboxId();
  1474         NmId mailboxId = mMessage->envelope().mailboxId();
  1469         NmId folderId = mMessage->envelope().folderId();
  1475         NmId folderId = mMessage->envelope().folderId();
  1470         NmId msgId = mMessage->envelope().messageId();
  1476         NmId msgId = mMessage->envelope().messageId();
       
  1477         NmMessagePriority messagePriority = mMessage->envelope().priority();    
  1471 
  1478 
  1472         delete mMessage;
  1479         delete mMessage;
  1473         mMessage = NULL;
  1480         mMessage = NULL;
  1474     
  1481     
  1475         mMessage = mUiEngine.message(mailboxId, folderId, msgId);
  1482         mMessage = mUiEngine.message(mailboxId, folderId, msgId);
       
  1483         
       
  1484         if(mMessage) {
       
  1485             // Set the correct priority
       
  1486             mMessage->envelope().setPriority(messagePriority);    
       
  1487             
       
  1488             // If there is no more attachments in the message, set the correct value
       
  1489             QList<NmMessagePart*> attachmentList;
       
  1490             mMessage->attachmentList(attachmentList);
       
  1491             if(attachmentList.count() == 0) {
       
  1492                 mMessage->envelope().setHasAttachments(false);
       
  1493             }
       
  1494         }
  1476     }
  1495     }
  1477 }
  1496 }
  1478 
  1497 
  1479 /*!
  1498 /*!
  1480     This slot is called when 'open' is selected from attachment list context menu.
  1499     This slot is called when 'open' is selected from attachment list context menu.