phonebookui/phonebookservices/src/cntserviceeditview.cpp
changeset 59 a642906a277a
parent 47 7cbcb2896f0e
--- a/phonebookui/phonebookservices/src/cntserviceeditview.cpp	Tue Jul 06 14:05:47 2010 +0300
+++ b/phonebookui/phonebookservices/src/cntserviceeditview.cpp	Wed Aug 18 09:39:00 2010 +0300
@@ -16,11 +16,13 @@
 */
 
 #include "cntserviceeditview.h"
-#include "cntservicehandler.h"
+#include <cntservicescontact.h>
 #include <QCoreApplication>
+#include "cntdebug.h"
 
-CntServiceEditView::CntServiceEditView(CntServiceHandler *aServiceHandler ) : CntEditView(),
-mServiceHandler(aServiceHandler)
+CntServiceEditView::CntServiceEditView( CntAbstractServiceProvider& aServiceProvider )
+: CntEditView(),
+mProvider( aServiceProvider )
 {   
     connect( this, SIGNAL(contactUpdated(int)), this, SLOT(doContactUpdated(int)) );
     connect( this, SIGNAL(contactRemoved(bool)), this, SLOT(doContactRemoved(bool)) );
@@ -33,67 +35,37 @@
 
 void CntServiceEditView::doContactUpdated(int aSuccess)
 {
-    connect(mServiceHandler, SIGNAL(returnValueDelivered()), qApp, SLOT(quit()));
-    mServiceHandler->completeEdit(aSuccess);
+    CNT_ENTRY_ARGS(aSuccess)
+    
+    int retValue = aSuccess ? KCntServicesReturnValueContactSaved : KCntServicesReturnValueContactNotModified;
+    QVariant variant;
+    variant.setValue(retValue);
+    mProvider.CompleteServiceAndCloseApp(variant);
+    
+    CNT_EXIT
 }
 
 void CntServiceEditView::doContactRemoved(bool aSuccess)
 {
-    connect(mServiceHandler, SIGNAL(returnValueDelivered()), qApp, SLOT(quit()));
-    int retValue = aSuccess ? -1 : 0;
-    mServiceHandler->completeEdit(retValue);
+    CNT_ENTRY_ARGS(aSuccess)
+            
+    int retValue = aSuccess ? KCntServicesReturnValueContactDeleted : KCntServicesReturnValueContactNotModified;
+    QVariant variant;
+    variant.setValue(retValue);
+    mProvider.CompleteServiceAndCloseApp(variant);
+    
+    CNT_EXIT
 }
 
 void CntServiceEditView::doChangesDiscarded()
 {
-    connect(mServiceHandler, SIGNAL(returnValueDelivered()), qApp, SLOT(quit()));
-    mServiceHandler->completeEdit(0);
+    CNT_ENTRY
+    
+    QVariant variant;
+    variant.setValue(KCntServicesReturnValueContactNotModified);
+    mProvider.CompleteServiceAndCloseApp(variant);
+    
+    CNT_EXIT
 }
 
-//
-///*!
-//Saves the contact
-//*/
-//void CntServiceEditView::aboutToCloseView()
-//{
-//    int result = 0;
-//    // save contact if there is one
-//    if (contact() && !contact()->isEmpty())
-//    {
-//        bool isSaved = contactManager()->saveContact(contact());
-//        if (isSaved)
-//        {
-//            result = 1;
-//        }
-//    }
-//    
-//    connect(mServiceHandler, SIGNAL(returnValueDelivered()), qApp, SLOT(quit()));
-//    mServiceHandler->completeEdit(result);
-//}
-//
-///*!
-//Cancel all changes made and return to the application editor was opened from
-//*/
-//void CntServiceEditView::discardAllChanges()
-//{
-//    connect(mServiceHandler, SIGNAL(returnValueDelivered()), qApp, SLOT(quit()));
-//    mServiceHandler->completeEdit(0);
-//}
-//
-///*
-//Handle signals emitted from CntCommands, only used for delete command for now.
-//*/
-//int CntServiceEditView::handleExecutedCommand(QString aCommand, const QContact &aContact)
-//{
-//    Q_UNUSED(aContact);
-//    int result=-1;
-//    if (aCommand == "delete")
-//    {
-//        connect(mServiceHandler, SIGNAL(returnValueDelivered()), qApp, SLOT(quit()));
-//        mServiceHandler->completeEdit(result);
-//        result = 0;
-//    }
-//    return result;
-//}
-
 // EOF