creator/src/enginewrapper.cpp
changeset 28 4cc0d1a608c1
parent 27 271e901a9423
child 31 e7a04a6385be
--- a/creator/src/enginewrapper.cpp	Fri May 14 16:10:39 2010 +0300
+++ b/creator/src/enginewrapper.cpp	Tue Jun 01 14:40:54 2010 +0300
@@ -116,6 +116,10 @@
 void EngineWrapper::ShowProgressBar(const TDesC& aPrompt, int aMax)
 {
 	QString text((QChar*)aPrompt.Ptr(), aPrompt.Length());
+	if(iProgressDialog){
+        delete iProgressDialog;
+        iProgressDialog = NULL;
+	}
     iProgressDialog = Notifications::showProgressBar(text, aMax);
 	connect(iProgressDialog, SIGNAL(cancelled()), this, SLOT(ProgressDialogCancelled()));
 }
@@ -124,7 +128,8 @@
 
 void EngineWrapper::IncrementProgressbarValue()
 {
-    iProgressDialog->setProgressValue(iProgressDialog->progressValue() + 1);
+    if(iProgressDialog)
+        iProgressDialog->setProgressValue(iProgressDialog->progressValue() + 1);
 }
 
 // ---------------------------------------------------------------------------
@@ -132,8 +137,9 @@
 void EngineWrapper::CloseProgressbar()
 {
     if(iProgressDialog){
+        disconnect(iProgressDialog, SIGNAL(cancelled()), this, SLOT(ProgressDialogCancelled()));
         delete iProgressDialog;
-        iProgressDialog = 0;
+        iProgressDialog = NULL;
     }
 }
 
@@ -226,7 +232,6 @@
 				  aFileNameArray->MdcaPoint(i).Ptr(),
 				  aFileNameArray->MdcaPoint(i).Length()));
 	}
-	// TODO: HbSelectionDialog handle close & user choice
 	TBool success(EFalse);
     try{
         CreatorSelectionDialog::launch(text, itemList, aIndex, aObserver, aUserData);
@@ -241,16 +246,19 @@
 
 // ---------------------------------------------------------------------------	
 
-bool EngineWrapper::DirectoryQueryDialog(const TDesC& aPrompt, TFileName& aDirectory)
+TBool EngineWrapper::DirectoryQueryDialog(const TDesC& aPrompt, TDes& aDirectory, MUIObserver* aObserver, TInt aUserData)
 {
 	QString text((QChar*)aPrompt.Ptr(), aPrompt.Length());
-	QString directory = QString((QChar*)aDirectory.Ptr(), aDirectory.Length());
-	bool ret = Notifications::directoryQueryDialog(text, directory);
-	if (ret == true) {
-		aDirectory = TFileName(directory.utf16());
-	}
-	return ret;
-
+	TBool success(EFalse);
+    try{
+        CreatorInputDialog::launch(text, aDirectory, aObserver, aUserData);
+        success = ETrue;
+    }
+    catch (std::exception& e)
+        {
+        Notifications::error( QString("exception: ")+e.what() );
+        }
+    return success;
 }
 
 
@@ -314,7 +322,6 @@
 			return ret;
 		}
 	}
-    // TODO: HbSelectionDialog handle close & user choice
 	TBool success(EFalse);
     try{
         CreatorSelectionDialog::launch(text, itemList, aIndex, aObserver, aUserData);