creator/engine/src/creator_scriptentry.cpp
changeset 23 c9bf25a20c9f
parent 19 4b22a598b890
child 52 36d60d12b4af
--- a/creator/engine/src/creator_scriptentry.cpp	Thu May 27 12:52:19 2010 +0300
+++ b/creator/engine/src/creator_scriptentry.cpp	Fri Jun 11 13:39:09 2010 +0300
@@ -84,14 +84,23 @@
     {
     User::LeaveIfNull(iSearchArray);
     
-    if( aUserData == EGetingScript && aPositiveAction && iSearchArray->Count() )
+    if( aUserData == EGetingScript )
         {
-        iObserver->FileChosenL( ETrue, iSearchArray->MdcaPoint(iSelectedItem) );
+        if(aPositiveAction)
+            {
+            iObserver->ScriptChosenL( ETrue, iSearchArray->MdcaPoint(iSelectedItem) );
+            }
+        else
+            {
+            iObserver->ScriptChosenL( EFalse );
+            }
         }
     else if( aUserData == EGetingRandomDataFile && aPositiveAction && iSearchArray->Count() )
         {
-        TFileName fileName;
-        if (iSelectedItem == (iSearchArray->Count() - 1))
+        if(aPositiveAction)
+            {
+            TFileName fileName;
+            if (iSelectedItem == (iSearchArray->Count() - 1))
                 {
                 // "default" (resource file) selected
                 fileName.Copy(KNullDesC);
@@ -101,15 +110,13 @@
                 // xml file selected
                 fileName.Copy(iSearchArray->MdcaPoint(iSelectedItem));
                 }
-        iObserver->FileChosenL( ETrue, fileName );
+            iObserver->RandomDataFileChosenL( ETrue, fileName );
+            }
+        else
+            {
+            iObserver->RandomDataFileChosenL( EFalse );
+            }
         }
-    else
-        {
-        iObserver->FileChosenL( EFalse );
-        }
-    delete iSearchArray;
-    iSearchArray = NULL;
-    iObserver = NULL;
     }
 
 // ---------------------------------------------------------------------------
@@ -127,6 +134,7 @@
 
     // init the search array
     delete iSearchArray;
+    iSearchArray = NULL;
     iSearchArray = new(ELeave) CDesCArrayFlat(20);
 
     // wait dialog
@@ -381,11 +389,15 @@
 #endif
 */
 
-TBool CCommandParser::GetRandomDataFilenameL(TDes& aFilename)
+TBool CCommandParser::GetRandomDataFilenameL(MCommandParserObserver *aObserver)
     {    
     LOGSTRING("Creator: CCommandParser::GetRandomDataFilenameL");
     TBool ret = EFalse;
 
+    User::LeaveIfNull( aObserver );
+    iObserver = aObserver;
+    iSelectedItem = 0;
+
     // init the search array
     if (iSearchArray)
     	{
@@ -466,7 +478,7 @@
         // add "default" (resource file) to list
         fileNameArray->AppendL(_L("Default"));
 
-		ret = iEngine->GetEngineWrapper()->PopupListDialog(_L("Select random data file"), fileNameArray, &iSelectedItem, this);
+		ret = iEngine->GetEngineWrapper()->PopupListDialog(_L("Select random data file"), fileNameArray, &iSelectedItem, this, EGetingRandomDataFile);
         CleanupStack::PopAndDestroy(fileNameArray);
         }
     else  // no random data files found from the search paths