phonebookui/pbkcommonui/src/cntimportsview.cpp
changeset 54 47627ab5d7a4
parent 50 77bc263e1626
child 61 d30183af6ca6
equal deleted inserted replaced
53:e6aff7b69165 54:47627ab5d7a4
    35 #include <hbabstractviewitem.h>
    35 #include <hbabstractviewitem.h>
    36 #include <hbextendedlocale.h>
    36 #include <hbextendedlocale.h>
    37 #include <hbparameterlengthlimiter.h>
    37 #include <hbparameterlengthlimiter.h>
    38 #include <hblistviewitem.h>
    38 #include <hblistviewitem.h>
    39 #include <hbstringutil.h>
    39 #include <hbstringutil.h>
       
    40 #include <QCoreApplication>
       
    41 #include <hbdevicenotificationdialog.h>
    40 
    42 
    41 const char *CNT_IMPORT_UI_XML = ":/xml/contacts_sim.docml";
    43 const char *CNT_IMPORT_UI_XML = ":/xml/contacts_sim.docml";
    42 const int KTimerValue = 1; // used as 1 msec timer for saving ADN contacts from SIM   
    44 const int KTimerValue = 1; // used as 1 msec timer for saving ADN contacts from SIM   
    43 
    45 
    44 CntImportsView::CntImportsView() : mContactSimManagerADN(0),
    46 CntImportsView::CntImportsView() : mContactSimManagerADN(0),
    57     mSdnStorePresent(0),
    59     mSdnStorePresent(0),
    58     mSimPresent(0),
    60     mSimPresent(0),
    59     mAdnStoreEntries(0),
    61     mAdnStoreEntries(0),
    60     mSdnStoreEntries(0),
    62     mSdnStoreEntries(0),
    61     mSimError(0),
    63     mSimError(0),
    62     mWaitingForAdnCache(0)
    64     mWaitingForAdnCache(0),
       
    65     mImportInProgress(false)
    63 {
    66 {
    64     bool ok = false;
    67     bool ok = false;
    65     mDocumentLoader.load(CNT_IMPORT_UI_XML, &ok);
    68     mDocumentLoader.load(CNT_IMPORT_UI_XML, &ok);
    66 
    69 
    67     if (ok)
    70     if (ok)
   109 void CntImportsView::activate(CntAbstractViewManager* aMgr, const CntViewParameters aArgs)
   112 void CntImportsView::activate(CntAbstractViewManager* aMgr, const CntViewParameters aArgs)
   110 {
   113 {
   111     Q_UNUSED(aArgs);
   114     Q_UNUSED(aArgs);
   112     //back button
   115     //back button
   113     HbMainWindow* window = mView->mainWindow();
   116     HbMainWindow* window = mView->mainWindow();
       
   117           
   114     if (mView->navigationAction() != mSoftkey)
   118     if (mView->navigationAction() != mSoftkey)
   115     {
   119     {
   116         mView->setNavigationAction(mSoftkey);
   120         mView->setNavigationAction(mSoftkey);
   117     }
   121     }
   118             
   122             
   288        
   292        
   289     mModel->insertRow(1,importDeviceItem);
   293     mModel->insertRow(1,importDeviceItem);
   290     
   294     
   291     mListView->setModel(mModel);
   295     mListView->setModel(mModel);
   292     mListView->setSelectionMode(HbAbstractItemView::NoSelection);
   296     mListView->setSelectionMode(HbAbstractItemView::NoSelection);
       
   297     connect(qApp, SIGNAL(aboutToQuit()), this, SLOT(endKeyPressed()));
   293 }
   298 }
   294 
   299 
   295 void CntImportsView::simInfoErrorMessage(int infoError)
   300 void CntImportsView::simInfoErrorMessage(int infoError)
   296 {
   301 {
   297     Q_UNUSED(infoError);
   302     Q_UNUSED(infoError);
   322 
   327 
   323 bool CntImportsView::startSimImport()
   328 bool CntImportsView::startSimImport()
   324 {
   329 {
   325 
   330 
   326     bool started = false;
   331     bool started = false;
       
   332     mImportInProgress = true;
   327 
   333 
   328     delete mFetchRequestADN;
   334     delete mFetchRequestADN;
   329     mContactSimManagerADN = mViewManager->contactManager(SIM_BACKEND_ADN);
   335     mContactSimManagerADN = mViewManager->contactManager(SIM_BACKEND_ADN);
   330     mFetchRequestADN = new QContactFetchRequest;
   336     mFetchRequestADN = new QContactFetchRequest;
   331     mFetchRequestADN->setManager(mContactSimManagerADN);   
   337     mFetchRequestADN->setManager(mContactSimManagerADN);   
   369 }  
   375 }  
   370 
   376 
   371 void CntImportsView::stopSimImport()
   377 void CntImportsView::stopSimImport()
   372 {
   378 {
   373     mImportSimPopup->close();
   379     mImportSimPopup->close();
       
   380     mImportInProgress = false;
   374     if (mFetchIsDone)
   381     if (mFetchIsDone)
   375     {
   382     {
   376         // indicates that timer has been started
   383         // indicates that timer has been started
   377         killTimer(mTimerId);
   384         killTimer(mTimerId);
   378     }
   385     }
   421             }
   428             }
   422             mModel->insertRow(0, importSimItem);
   429             mModel->insertRow(0, importSimItem);
   423             mListView->reset();
   430             mListView->reset();
   424         }
   431         }
   425     }
   432     }
       
   433    
   426 }
   434 }
   427 
   435 
   428 void CntImportsView::importFetchResultReceivedADN()
   436 void CntImportsView::importFetchResultReceivedADN()
   429 {
   437 {
   430     //save import time
   438     //save import time
   583     else
   591     else
   584     {
   592     {
   585         // no SDN contacts to fetch
   593         // no SDN contacts to fetch
   586         showSimImportResults();
   594         showSimImportResults();
   587         mImportSimPopup->close();
   595         mImportSimPopup->close();
       
   596         mImportInProgress = false;
   588         // Importing finished, go back to NamesView
   597         // Importing finished, go back to NamesView
   589         showPreviousView();
   598         showPreviousView();
   590     }
   599     }
   591 }
   600 }
   592 
   601 
   601     {
   610     {
   602         //No sdn contacts present
   611         //No sdn contacts present
   603         showSimImportResults();
   612         showSimImportResults();
   604         mSaveSimContactsListSDN.clear(); 
   613         mSaveSimContactsListSDN.clear(); 
   605         mImportSimPopup->close();
   614         mImportSimPopup->close();
       
   615         mImportInProgress = false;
   606         // Importing finished, go back to NamesView
   616         // Importing finished, go back to NamesView
   607         showPreviousView();
   617         showPreviousView();
   608     }
   618     }
   609     else
   619     else
   610     {
   620     {
   667         
   677         
   668         // no more SDN contacts to fetch
   678         // no more SDN contacts to fetch
   669         showSimImportResults();
   679         showSimImportResults();
   670         mSaveSimContactsListSDN.clear(); 
   680         mSaveSimContactsListSDN.clear(); 
   671         mImportSimPopup->close();
   681         mImportSimPopup->close();
       
   682         mImportInProgress = false;
   672         // Importing finished, go back to NamesView
   683         // Importing finished, go back to NamesView
   673         showPreviousView();
   684         showPreviousView();
   674     }   
   685     }   
   675 }
   686 }
   676 
   687 
   706     {
   717     {
   707         if (!startSimImport())
   718         if (!startSimImport())
   708         {
   719         {
   709             //dismiss wait note
   720             //dismiss wait note
   710             mImportSimPopup->close();
   721             mImportSimPopup->close();
       
   722             mImportInProgress = false;
   711             //and show error note
   723             //and show error note
   712             simInfoErrorMessage(KErrAccessDenied);
   724             simInfoErrorMessage(KErrAccessDenied);
   713         }
   725         }
   714     }
   726     }
   715 }
   727 }
   733     {      
   745     {      
   734         aContact->setPreferredDetail( "email", emailList.first() );
   746         aContact->setPreferredDetail( "email", emailList.first() );
   735     }
   747     }
   736 }
   748 }
   737 
   749 
       
   750 void CntImportsView::endKeyPressed()
       
   751 {   
       
   752     if(mImportInProgress && !mSimError)
       
   753     {
       
   754         QString results = hbTrId("txt_phob_dpophead_ln_contacts_imported").arg(mSaveCount).arg(mAdnStoreEntries + mSdnStoreEntries);
       
   755         HbDeviceNotificationDialog::notification(QString(),results);
       
   756     }    
       
   757 }
       
   758 
       
   759 
   738 // EOF
   760 // EOF