messagingapp/shareui/src/shareuiprivate.cpp
changeset 44 36f374c67aa8
parent 34 84197e66a4bd
child 47 5b14749788d7
child 52 12db4185673b
--- a/messagingapp/shareui/src/shareuiprivate.cpp	Wed Jun 23 18:09:17 2010 +0300
+++ b/messagingapp/shareui/src/shareuiprivate.cpp	Tue Jul 06 14:12:40 2010 +0300
@@ -69,7 +69,6 @@
  */
 ShareUiPrivate::~ShareUiPrivate()
     {
-    reset();
     }
 
 /**
@@ -80,6 +79,10 @@
     mFileList.clear();
 
     mIndexActionMap.clear();
+    foreach(XQAiwRequest* request,mAiwRequestList)
+    {
+        delete request;
+    }
     mAiwRequestList.clear();
 
     }
@@ -125,6 +128,7 @@
     if ( fileList.count() != filteredFileList.count() )
         {
         showNote(LOC_PROTECTED_CONTENT);      
+        return true;
         }
     
     // Only protected content
@@ -205,9 +209,10 @@
     mSharePopup->setAttribute( Qt::WA_DeleteOnClose, true );
     HbTextItem* heading = new HbTextItem(LOC_SEND_SELECTED_ITEM, mSharePopup);
     heading->setAlignment(Qt::AlignCenter);
-    mSharePopup->setDismissPolicy(HbDialog::NoDismiss);
+    mSharePopup->setDismissPolicy(HbDialog::TapAnywhere);
     mSharePopup->setHeadingWidget(heading);
     mSharePopup->setFrameType(HbDialog::Strong);
+    connect(mSharePopup, SIGNAL(aboutToClose()), this, SLOT(reset()));
         
     // Content widget
     mContentListView = new HbListView(mSharePopup);
@@ -268,6 +273,7 @@
  */
 void ShareUiPrivate::onTriggered(void)
     {
+    
     XQAiwRequest* request = 0;
     request = qobject_cast<XQAiwRequest*>(sender());
     if(request)
@@ -284,9 +290,19 @@
  * Slot for handling valid returns from the framework.
  */
 void ShareUiPrivate::handleOk(const QVariant& result)
-    {
+{
     Q_UNUSED(result)
+         
+    XQAiwRequest* request = 0;
+    request = qobject_cast<XQAiwRequest*>(sender());
+    if(request)
+    {
+       disconnect(request, 
+               SIGNAL(requestError(int,const QString&)), 
+               this, 
+               SLOT(handleError(int,const QString&)));
     }
+}
 
 /**
  * Slot for handling errors from the framework.
@@ -315,7 +331,8 @@
         {
         action->setEnabled(true);
         action->activate(HbAction::Trigger);
-        }    
+        } 
+    
     mSharePopup->close();
     }