201029
authorhgs
Mon, 26 Jul 2010 12:45:04 +0530
changeset 15 df6898e696c6
parent 13 0a2ec6860a93
child 16 e918432ddd92
201029
harvesterplugins/applications/group/applicationsplugin.mmp
harvesterplugins/applications/src/applicationsplugin.cpp
harvesterplugins/calendar/group/calendarplugin.mmp
harvesterplugins/calendar/inc/ccalendarplugin.h
harvesterplugins/calendar/src/ccalendarplugin.cpp
harvesterplugins/calendar/traces/ccalendarpluginTraces.h
harvesterplugins/calendar/traces/fixed_id.definitions
harvesterplugins/contacts/group/contactsplugin.mmp
harvesterplugins/contacts/src/ccontactsplugin.cpp
harvesterplugins/messaging/smsmms/group/messageplugin.mmp
harvesterplugins/messaging/smsmms/src/cmessagedatahandler.cpp
harvesterplugins/notes/group/notesplugin.mmp
harvesterplugins/notes/inc/notesplugin.h
harvesterplugins/notes/src/notesplugin.cpp
harvesterplugins/notes/traces/fixed_id.definitions
harvesterplugins/notes/traces/notespluginTraces.h
harvesterplugins/tsrc/harvesterplugintester/conf/harvesterplugintester.cfg
harvesterplugins/tsrc/harvesterplugintester/inc/harvesterplugintester.h
harvesterplugins/tsrc/harvesterplugintester/src/ccalanderobserver.cpp
harvesterplugins/tsrc/harvesterplugintester/src/harvesterplugintesterblocks.cpp
rom/cpix_app.iby
searchui/bwins/searchindevicehandleru.def
searchui/eabi/searchindevicehandleru.def
searchui/inc/search_global.h
searchui/indevicehandler/inc/indevicehandler.h
searchui/indevicehandler/indevicehandler.pro
searchui/indevicehandler/src/indevicehandler.cpp
searchui/indevicehandler/tsrc/t_indevicehandler/src/t_indevicehandler.cpp
searchui/onlinehandler/tsrc/t_onlinehandler/src/t_onlinehandler.cpp
searchui/rom/searchresources.iby
searchui/stateproviders/searchstateprovider/inc/searchonlinestate.h
searchui/stateproviders/searchstateprovider/inc/searchprogressivestate.h
searchui/stateproviders/searchstateprovider/inc/searchuiloader.h
searchui/stateproviders/searchstateprovider/inc/settingswidget.h
searchui/stateproviders/searchstateprovider/resources/resources.qrc
searchui/stateproviders/searchstateprovider/searchstateprovider.pro
searchui/stateproviders/searchstateprovider/src/searchonlinestate.cpp
searchui/stateproviders/searchstateprovider/src/searchprogressivestate.cpp
searchui/stateproviders/searchstateprovider/src/searchuiloader.cpp
searchui/stateproviders/searchstateprovider/src/settingswidget.cpp
searchui/stateproviders/searchstateprovider/tsrc/t_searchactivity/inc/t_searchactivity.h
searchui/stateproviders/searchstateprovider/tsrc/t_searchactivity/src/main.cpp
searchui/stateproviders/searchstateprovider/tsrc/t_searchactivity/src/t_searchactivity.cpp
searchui/stateproviders/searchstateprovider/tsrc/t_searchactivity/t_searchactivity.pri
searchui/stateproviders/searchstateprovider/tsrc/t_searchactivity/t_searchactivity.pro
searchui/stateproviders/searchstateprovider/tsrc/t_searchstateprovider/inc/t_searchstateprovider.h
searchui/stateproviders/searchstateprovider/tsrc/t_searchstateprovider/src/t_searchonlinestate.cpp
searchui/stateproviders/searchstateprovider/tsrc/t_searchstateprovider/src/t_searchprogressivestate.cpp
searchui/stateproviders/searchstateprovider/tsrc/t_searchstateprovider/src/t_searchsettingsstate.cpp
searchui/stateproviders/searchstateprovider/tsrc/t_searchstateprovider/src/t_searchstateprovider.cpp
searchui/stateproviders/searchstateprovider/tsrc/t_searchstateprovider/src/t_settingswidget.cpp
searchui/stateproviders/searchstateprovider/tsrc/t_searchstateprovider/t_searchstateprovider.pro
searchui/stateproviders/searchstateprovider/tsrc/tsrc.pro
--- a/harvesterplugins/applications/group/applicationsplugin.mmp	Mon Jul 12 00:27:06 2010 +0530
+++ b/harvesterplugins/applications/group/applicationsplugin.mmp	Mon Jul 26 12:45:04 2010 +0530
@@ -52,4 +52,7 @@
 // For logging
 LIBRARY 	  flogger.lib 
 
+// For enabling Highlighter
+//MACRO USE_HIGHLIGHTER
+
 EXPORTUNFROZEN
\ No newline at end of file
--- a/harvesterplugins/applications/src/applicationsplugin.cpp	Mon Jul 12 00:27:06 2010 +0530
+++ b/harvesterplugins/applications/src/applicationsplugin.cpp	Mon Jul 26 12:45:04 2010 +0530
@@ -240,7 +240,14 @@
     //That way, if a client is interested in the UID field, he can choose to query it explicitly.
     document->AddFieldL(KMimeTypeField, KMimeTypeApplication, CDocumentField::EStoreYes | CDocumentField::EIndexUnTokenized );
     document->AddFieldL(KApplicationFieldUid, docidString, CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EAggregateNo );
-
+#ifdef USE_HIGHLIGHTER    
+    TInt excerptLength = docidString.Length();
+    HBufC* excerpt = HBufC::NewL(excerptLength);
+    TPtr excerptPtr = excerpt->Des();
+    CleanupStack::PushL(excerpt);
+    document->AddExcerptL(excerptPtr);
+    CleanupStack::PopAndDestroy(excerpt);
+#endif
     if( iWidgetRegistry.IsWidget( aAppInfo.iUid  ) )
         AddWidgetInfoL( document, aAppInfo.iUid );
     else
--- a/harvesterplugins/calendar/group/calendarplugin.mmp	Mon Jul 12 00:27:06 2010 +0530
+++ b/harvesterplugins/calendar/group/calendarplugin.mmp	Mon Jul 26 12:45:04 2010 +0530
@@ -47,6 +47,8 @@
 LIBRARY       cpixharvesterplugininterface.lib
 LIBRARY       cpixsearchclient.lib
 
+// For Enabling highlighter
+//MACRO USE_HIGHLIGHTER
 
 // For logging
 LIBRARY 	  flogger.lib 
--- a/harvesterplugins/calendar/inc/ccalendarplugin.h	Mon Jul 12 00:27:06 2010 +0530
+++ b/harvesterplugins/calendar/inc/ccalendarplugin.h	Mon Jul 26 12:45:04 2010 +0530
@@ -123,7 +123,12 @@
 	TBool iFirstEntry;
 	
 	// Start harvesting
-	TBool iStartHarvesting;    
+	TBool iStartHarvesting;
+	
+	//for unit testing.
+    #ifdef HARVESTERPLUGINTESTER_FRIEND
+        friend class CHarvesterPluginTester;
+    #endif
 
 #ifdef __PERFORMANCE_DATA
     TTime iStartTime;
--- a/harvesterplugins/calendar/src/ccalendarplugin.cpp	Mon Jul 12 00:27:06 2010 +0530
+++ b/harvesterplugins/calendar/src/ccalendarplugin.cpp	Mon Jul 26 12:45:04 2010 +0530
@@ -436,15 +436,21 @@
                 }
 		    }
 		index_item->AddFieldL(KMimeTypeField, KMimeTypeCalendar, CDocumentField::EStoreYes | CDocumentField::EIndexUnTokenized);
-
+#ifdef USE_HIGHLIGHTER		
+    	TInt excerptLength = 1 /*single 1-character delimiters*/ + entry->DescriptionL().Length() + entry->LocationL().Length() + 1 + entry->SummaryL().Length();
+#else    	
     	TInt excerptLength = 1 /*single 1-character delimiters*/ + entry->DescriptionL().Length() + entry->LocationL().Length();
+#endif    	
 		HBufC* excerpt = HBufC::NewLC(excerptLength);
 		TPtr excerptDes = excerpt->Des();
 		excerptDes.Append(entry->DescriptionL());
 		excerptDes.Append(KExcerptDelimiter);
 		excerptDes.Append(entry->LocationL());
-
-        index_item->AddExcerptL(*excerpt);
+#ifdef USE_HIGHLIGHTER		
+	    excerptDes.Append(KExcerptDelimiter);
+	    excerptDes.Append(entry->SummaryL());
+#endif	    
+	    index_item->AddExcerptL(*excerpt);
         CleanupStack::PopAndDestroy(excerpt);
         CleanupStack::PopAndDestroy(entry);
 
@@ -463,46 +469,19 @@
 		if (aActionType == ECPixAddAction)
 			{
 			TRAPD(err, iIndexer->AddL(*index_item));
-			if (err == KErrNone)
-				{
-				OstTrace0( TRACE_NORMAL, DUP2_CCALENDARPLUGIN_CREATEENTRYL, "CCalendarPlugin::CreateEntryL(): Added." );
-				CPIXLOGSTRING("CCalendarPlugin::CreateEntryL(): Added.");
-				}
-			else
-				{
-				OstTrace1( TRACE_NORMAL, DUP3_CCALENDARPLUGIN_CREATEENTRYL, "CCalendarPlugin::CreateEntryL();Error %d in adding", err );
-				CPIXLOGSTRING2("CCalendarPlugin::CreateEntryL(): Error %d in adding.", err);
-				}			
+			OstTrace1( TRACE_NORMAL, DUP8_CCALENDARPLUGIN_CREATEENTRYL, "CCalendarPlugin::CreateEntryL: Indexer->AddL;err=%d", err );			
 			}
-		else if (aActionType == ECPixUpdateAction)
+		else
 			{
 			TRAPD(err, iIndexer->UpdateL(*index_item));
-			if (err == KErrNone)
-				{
-				OstTrace0( TRACE_NORMAL, DUP4_CCALENDARPLUGIN_CREATEENTRYL, "CCalendarPlugin::CreateEntryL(): Updated." );
-				CPIXLOGSTRING("CCalendarPlugin::CreateEntryL(): Updated.");
-				}
-			else
-				{
-				OstTrace1( TRACE_NORMAL, DUP5_CCALENDARPLUGIN_CREATEENTRYL, "CCalendarPlugin::CreateEntryL();Error %d in updating", err );
-				CPIXLOGSTRING2("CCalendarPlugin::CreateEntryL(): Error %d in updating.", err);
-				}			
+			OstTrace1( TRACE_NORMAL, DUP9_CCALENDARPLUGIN_CREATEENTRYL, "CCalendarPlugin::CreateEntryL: iIndexer->UpdateL;err=%d", err );	
 			}
 		CleanupStack::PopAndDestroy(index_item);
 		}
 	else if (aActionType == ECPixRemoveAction)
 		{
 		TRAPD(err, iIndexer->DeleteL(docid_str));
-		if (err == KErrNone)
-			{
-			OstTrace0( TRACE_NORMAL, DUP6_CCALENDARPLUGIN_CREATEENTRYL, "CCalendarPlugin::CreateEntryL(): Deleted." );
-			CPIXLOGSTRING("CCalendarPlugin::CreateEntryL(): Deleted.");
-			}
-		else
-			{
-			OstTrace1( TRACE_NORMAL, DUP7_CCALENDARPLUGIN_CREATEENTRYL, "CCalendarPlugin::CreateEntryL();Error %d in deleting", err );
-			CPIXLOGSTRING2("CCalendarPlugin::CreateEntryL(): Error %d in deleting.", err);				
-			}
+		OstTrace1( TRACE_NORMAL, DUP2_CCALENDARPLUGIN_CREATEENTRYL, "CCalendarPlugin::CreateEntryL: iIndexer->RemoveL;err=%d", err );
 		}
 
 	}
--- a/harvesterplugins/calendar/traces/ccalendarpluginTraces.h	Mon Jul 12 00:27:06 2010 +0530
+++ b/harvesterplugins/calendar/traces/ccalendarpluginTraces.h	Mon Jul 26 12:45:04 2010 +0530
@@ -1,4 +1,4 @@
-// Created by TraceCompiler 2.1.2
+// Created by TraceCompiler 2.2.3
 // DO NOT EDIT, CHANGES WILL BE LOST
 
 #ifndef __CCALENDARPLUGINTRACES_H__
@@ -15,11 +15,8 @@
 #define CCALENDARPLUGIN_CREATEENTRYL 0x860007
 #define DUP1_CCALENDARPLUGIN_CREATEENTRYL 0x860008
 #define DUP2_CCALENDARPLUGIN_CREATEENTRYL 0x860009
-#define DUP3_CCALENDARPLUGIN_CREATEENTRYL 0x86000a
-#define DUP4_CCALENDARPLUGIN_CREATEENTRYL 0x86000b
-#define DUP5_CCALENDARPLUGIN_CREATEENTRYL 0x86000c
-#define DUP6_CCALENDARPLUGIN_CREATEENTRYL 0x86000d
-#define DUP7_CCALENDARPLUGIN_CREATEENTRYL 0x86000e
+#define DUP8_CCALENDARPLUGIN_CREATEENTRYL 0x86000f
+#define DUP9_CCALENDARPLUGIN_CREATEENTRYL 0x860010
 
 
 #endif
--- a/harvesterplugins/calendar/traces/fixed_id.definitions	Mon Jul 12 00:27:06 2010 +0530
+++ b/harvesterplugins/calendar/traces/fixed_id.definitions	Mon Jul 26 12:45:04 2010 +0530
@@ -8,9 +8,11 @@
 [TRACE]TRACE_NORMAL[0x86]_DUP1_CCALENDARPLUGIN_HANDLECHANGEDENTRYL=0x4
 [TRACE]TRACE_NORMAL[0x86]_DUP2_CCALENDARPLUGIN_CREATEENTRYL=0x9
 [TRACE]TRACE_NORMAL[0x86]_DUP2_CCALENDARPLUGIN_HANDLECHANGEDENTRYL=0x5
-[TRACE]TRACE_NORMAL[0x86]_DUP3_CCALENDARPLUGIN_CREATEENTRYL=0xa
 [TRACE]TRACE_NORMAL[0x86]_DUP3_CCALENDARPLUGIN_HANDLECHANGEDENTRYL=0x6
-[TRACE]TRACE_NORMAL[0x86]_DUP4_CCALENDARPLUGIN_CREATEENTRYL=0xb
-[TRACE]TRACE_NORMAL[0x86]_DUP5_CCALENDARPLUGIN_CREATEENTRYL=0xc
-[TRACE]TRACE_NORMAL[0x86]_DUP6_CCALENDARPLUGIN_CREATEENTRYL=0xd
-[TRACE]TRACE_NORMAL[0x86]_DUP7_CCALENDARPLUGIN_CREATEENTRYL=0xe
+[TRACE]TRACE_NORMAL[0x86]_DUP8_CCALENDARPLUGIN_CREATEENTRYL=0xf
+[TRACE]TRACE_NORMAL[0x86]_DUP9_CCALENDARPLUGIN_CREATEENTRYL=0x10
+[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP3_CCALENDARPLUGIN_CREATEENTRYL=0xa
+[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP4_CCALENDARPLUGIN_CREATEENTRYL=0xb
+[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP5_CCALENDARPLUGIN_CREATEENTRYL=0xc
+[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP6_CCALENDARPLUGIN_CREATEENTRYL=0xd
+[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP7_CCALENDARPLUGIN_CREATEENTRYL=0xe
--- a/harvesterplugins/contacts/group/contactsplugin.mmp	Mon Jul 12 00:27:06 2010 +0530
+++ b/harvesterplugins/contacts/group/contactsplugin.mmp	Mon Jul 26 12:45:04 2010 +0530
@@ -46,6 +46,8 @@
 LIBRARY       cpixharvesterplugininterface.lib
 LIBRARY       cpixsearchclient.lib
 
+// For Enabling Highlighter
+//MACRO USE_HIGHLIGHTER
 
 // For logging
 LIBRARY 	  flogger.lib 
--- a/harvesterplugins/contacts/src/ccontactsplugin.cpp	Mon Jul 12 00:27:06 2010 +0530
+++ b/harvesterplugins/contacts/src/ccontactsplugin.cpp	Mon Jul 26 12:45:04 2010 +0530
@@ -383,8 +383,13 @@
             /* The order of fields in excerpt is as below. The order in this case
              * is the order of fields shown when you 'Edit' the contact.
              */
+#ifdef USE_HIGHLIGHTER            
+            AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldGivenName, KContactsGivenNameField, CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText );
+            AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldFamilyName, KContactsFamilyNameField, CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField:: EIndexFreeText );
+#else
             AddFieldL( *index_item, fieldSet, KUidContactFieldGivenName, KContactsGivenNameField, CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText );
-            AddFieldL( *index_item, fieldSet, KUidContactFieldFamilyName, KContactsFamilyNameField, CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField:: EIndexFreeText );
+            AddFieldL( *index_item, fieldSet, KUidContactFieldFamilyName, KContactsFamilyNameField, CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField:: EIndexFreeText );        
+#endif            
             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldPhoneNumber, KContactsPhoneNumberField );
             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldEMail, KContactsEMailField );
             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldSIPID, KContactsSIPIDField );
@@ -419,9 +424,13 @@
             
             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldIMAddress, KContactIMAddress);
             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldServiceProvider, KContactServiceProvider);
-            
+#ifdef USE_HIGHLIGHTER
+            AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldBirthday, KContactBirthday);
+            AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldAnniversary, KContactAnniversary);
+#else
             AddFieldL( *index_item, fieldSet, KUidContactFieldBirthday, KContactBirthday);
-            AddFieldL( *index_item, fieldSet, KUidContactFieldAnniversary, KContactAnniversary);
+            AddFieldL( *index_item, fieldSet, KUidContactFieldAnniversary, KContactAnniversary);      
+#endif            
             index_item->AddExcerptL(*iExcerpt);
             }
         
--- a/harvesterplugins/messaging/smsmms/group/messageplugin.mmp	Mon Jul 12 00:27:06 2010 +0530
+++ b/harvesterplugins/messaging/smsmms/group/messageplugin.mmp	Mon Jul 26 12:45:04 2010 +0530
@@ -53,6 +53,9 @@
 LIBRARY		  imcm.lib // CImHeader, CImEmailMessage
 LIBRARY		  etext.lib // CParaFormatLayer etc
 
+// For Enabling Highlighter
+//MACRO USE_HIGHLIGHTER
+
 // For logging
 LIBRARY 	  flogger.lib 
 
--- a/harvesterplugins/messaging/smsmms/src/cmessagedatahandler.cpp	Mon Jul 12 00:27:06 2010 +0530
+++ b/harvesterplugins/messaging/smsmms/src/cmessagedatahandler.cpp	Mon Jul 26 12:45:04 2010 +0530
@@ -493,8 +493,12 @@
     
 	_LIT(KEllipsis, "...");
 	_LIT(KSpace, " ");
-	TInt excerptLength = KMsgBodyExcerptSymbols + KEllipsis().Length(); 
-
+	//
+#ifdef USE_HIGHLIGHTER	
+	TInt excerptLength = aBodyText.Length() + KEllipsis().Length();
+#else	
+	TInt excerptLength = KMsgBodyExcerptSymbols + KEllipsis().Length();
+#endif	
 	//Not removing commented out code as this may come back into use in near future.
 //	TMsvEntry entry;
 //	TMsvId service = 0;
@@ -541,11 +545,13 @@
 //		excerptPtr.Append(aSubject);
 //		excerptPtr.Append(KSpace);
 //		}
-
-	excerptPtr.Append(aBodyText.Left(KMsgBodyExcerptSymbols));
+#ifdef USE_HIGHLIGHTER
+    excerptPtr.Append(aBodyText);
+#else    
+	excerptPtr.Append(aBodyText.Left(KMsgBodyExcerptSymbols));	
 	if (aBodyText.Length() > KMsgBodyExcerptSymbols)
 		excerptPtr.Append(KEllipsis);
-
+#endif
 //	CleanupStack::PopAndDestroy(folder_str);
 	CleanupStack::PushL(excerpt);
 	return excerpt;
--- a/harvesterplugins/notes/group/notesplugin.mmp	Mon Jul 12 00:27:06 2010 +0530
+++ b/harvesterplugins/notes/group/notesplugin.mmp	Mon Jul 26 12:45:04 2010 +0530
@@ -48,6 +48,8 @@
 LIBRARY       cpixsearchclient.lib
 LIBRARY       centralrepository.lib
 
+// For Enabling Highlighter
+//MACRO USE_HIGHLIGHTER
 
 // For logging
 LIBRARY 	  flogger.lib 
--- a/harvesterplugins/notes/inc/notesplugin.h	Mon Jul 12 00:27:06 2010 +0530
+++ b/harvesterplugins/notes/inc/notesplugin.h	Mon Jul 26 12:45:04 2010 +0530
@@ -126,6 +126,12 @@
 	//Notes count
 	TInt iNoteCount;
 	
+	//for unit testing.
+	#ifdef HARVESTERPLUGINTESTER_FRIEND
+	    friend class CHarvesterPluginTester;
+	#endif	
+	
+	
 #ifdef __PERFORMANCE_DATA
     TTime iStartTime;
     TTime iCompleteTime;
--- a/harvesterplugins/notes/src/notesplugin.cpp	Mon Jul 12 00:27:06 2010 +0530
+++ b/harvesterplugins/notes/src/notesplugin.cpp	Mon Jul 26 12:45:04 2010 +0530
@@ -359,12 +359,14 @@
 
 		//For notes, no content is expected in excerpt for now.
 		//See appclass-hierarchy.txt for details.
-//    	TInt excerptLength = entry->DescriptionL().Length();
-//		HBufC* excerpt = HBufC::NewLC(excerptLength);
-//		TPtr excerptDes = excerpt->Des();		
-//		excerptDes.Append(entry->DescriptionL());
-//      index_item->AddExcerptL(*excerpt);
-//      CleanupStack::PopAndDestroy(excerpt);      
+#ifdef USE_HIGHLIGHTER		
+    	TInt excerptLength = entry->DescriptionL().Length();
+		HBufC* excerpt = HBufC::NewLC(excerptLength);
+		TPtr excerptDes = excerpt->Des();		
+		excerptDes.Append(entry->DescriptionL());
+      index_item->AddExcerptL(*excerpt);
+      CleanupStack::PopAndDestroy(excerpt);
+#endif      
 		
 		// Send for indexing
 		if (aActionType == ECPixAddAction)
@@ -373,34 +375,16 @@
             TRAP_IGNORE( iIndexer->AddL(*index_item) );
 #else
 			TRAPD( err, iIndexer->AddL(*index_item) );
-			if ( err == KErrNone )
-				{
-				OstTrace0( TRACE_NORMAL, DUP3_CNOTESPLUGIN_CREATENOTEENTRYL, "CNotesPlugin::CreateNoteEntryL(): Added." );
-				CPIXLOGSTRING("CNotesPlugin::CreateNoteEntryL(): Added.");
-				}
-			else
-				{
-				OstTrace1( TRACE_NORMAL, DUP4_CNOTESPLUGIN_CREATENOTEENTRYL, "CNotesPlugin::CreateNoteEntryL;Error while adding=%d", err );
-				CPIXLOGSTRING2("CNotesPlugin::CreateNoteEntryL(): Error %d in adding.", err);
-				}
+			OstTrace1( TRACE_NORMAL, DUP9_CNOTESPLUGIN_CREATENOTEENTRYL, "CNotesPlugin::CreateNoteEntryL : iIndexer->AddL;err=%d", err );
 #endif
 			}
-		else if ( aActionType == ECPixUpdateAction )
+		else
 			{
 #ifndef _DEBUG
 		TRAP_IGNORE( iIndexer->UpdateL(*index_item) );
 #else
 			TRAPD( err, iIndexer->UpdateL(*index_item) );
-			if ( err == KErrNone )
-				{
-				OstTrace0( TRACE_NORMAL, DUP5_CNOTESPLUGIN_CREATENOTEENTRYL, "CNotesPlugin::CreateNoteEntryL(): Updated." );
-				CPIXLOGSTRING("CNotesPlugin::CreateNoteEntryL(): Updated.");
-				}
-			else
-				{
-				OstTrace1( TRACE_NORMAL, DUP6_CNOTESPLUGIN_CREATENOTEENTRYL, "CNotesPlugin::CreateNoteEntryL;Error while updating=%d", err );
-				CPIXLOGSTRING2("CNotesPlugin::CreateNoteEntryL(): Error %d in updating.", err);
-				}
+			OstTrace1( TRACE_NORMAL, DUP10_CNOTESPLUGIN_CREATENOTEENTRYL, "CNotesPlugin::CreateNoteEntryL: iIndexer->UpdateL;err=%d", err );
 #endif
 			}
 		CleanupStack::PopAndDestroy(index_item);
@@ -412,16 +396,7 @@
         TRAP_IGNORE( iIndexer->DeleteL(docid_str) );
 #else
 		TRAPD( err, iIndexer->DeleteL(docid_str) );
-		if (err == KErrNone)
-			{
-			OstTrace0( TRACE_NORMAL, DUP7_CNOTESPLUGIN_CREATENOTEENTRYL, "CNotesPlugin::CreateNoteEntryL(): Deleted." );
-			CPIXLOGSTRING("CNotesPlugin::CreateNoteEntryL(): Deleted.");
-			}
-		else
-			{
-			OstTrace1( TRACE_NORMAL, DUP8_CNOTESPLUGIN_CREATENOTEENTRYL, "CNotesPlugin::CreateNoteEntryL;Error while deleting=%d", err );
-			CPIXLOGSTRING2("CNotesPlugin::CreateNoteEntryL(): Error %d in deleting.", err);				
-			}
+		OstTrace1( TRACE_NORMAL, DUP3_CNOTESPLUGIN_CREATENOTEENTRYL, "CNotesPlugin::CreateNoteEntryL: iIndexer->RemoveL;err=%d", err );
 #endif
 		}	
 	}
--- a/harvesterplugins/notes/traces/fixed_id.definitions	Mon Jul 12 00:27:06 2010 +0530
+++ b/harvesterplugins/notes/traces/fixed_id.definitions	Mon Jul 26 12:45:04 2010 +0530
@@ -16,6 +16,7 @@
 [TRACE]TRACE_NORMAL[0x86]_CNOTESPLUGIN_DELAYEDCALLBACKL=0x2
 [TRACE]TRACE_NORMAL[0x86]_CNOTESPLUGIN_HANDLENOTECHANGEDENTRYL=0x5
 [TRACE]TRACE_NORMAL[0x86]_CNOTESPLUGIN_STARTHARVESTINGL=0x1
+[TRACE]TRACE_NORMAL[0x86]_DUP10_CNOTESPLUGIN_CREATENOTEENTRYL=0x13
 [TRACE]TRACE_NORMAL[0x86]_DUP1_CNOTESPLUGIN_CREATENOTEENTRYL=0xa
 [TRACE]TRACE_NORMAL[0x86]_DUP1_CNOTESPLUGIN_DELAYEDCALLBACKL=0x3
 [TRACE]TRACE_NORMAL[0x86]_DUP1_CNOTESPLUGIN_HANDLENOTECHANGEDENTRYL=0x6
@@ -23,8 +24,9 @@
 [TRACE]TRACE_NORMAL[0x86]_DUP2_CNOTESPLUGIN_HANDLENOTECHANGEDENTRYL=0x7
 [TRACE]TRACE_NORMAL[0x86]_DUP3_CNOTESPLUGIN_CREATENOTEENTRYL=0xc
 [TRACE]TRACE_NORMAL[0x86]_DUP3_CNOTESPLUGIN_HANDLENOTECHANGEDENTRYL=0x8
-[TRACE]TRACE_NORMAL[0x86]_DUP4_CNOTESPLUGIN_CREATENOTEENTRYL=0xd
-[TRACE]TRACE_NORMAL[0x86]_DUP5_CNOTESPLUGIN_CREATENOTEENTRYL=0xe
-[TRACE]TRACE_NORMAL[0x86]_DUP6_CNOTESPLUGIN_CREATENOTEENTRYL=0xf
-[TRACE]TRACE_NORMAL[0x86]_DUP7_CNOTESPLUGIN_CREATENOTEENTRYL=0x10
-[TRACE]TRACE_NORMAL[0x86]_DUP8_CNOTESPLUGIN_CREATENOTEENTRYL=0x11
+[TRACE]TRACE_NORMAL[0x86]_DUP9_CNOTESPLUGIN_CREATENOTEENTRYL=0x12
+[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP4_CNOTESPLUGIN_CREATENOTEENTRYL=0xd
+[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP5_CNOTESPLUGIN_CREATENOTEENTRYL=0xe
+[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP6_CNOTESPLUGIN_CREATENOTEENTRYL=0xf
+[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP7_CNOTESPLUGIN_CREATENOTEENTRYL=0x10
+[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP8_CNOTESPLUGIN_CREATENOTEENTRYL=0x11
--- a/harvesterplugins/notes/traces/notespluginTraces.h	Mon Jul 12 00:27:06 2010 +0530
+++ b/harvesterplugins/notes/traces/notespluginTraces.h	Mon Jul 26 12:45:04 2010 +0530
@@ -1,4 +1,4 @@
-// Created by TraceCompiler 2.1.2
+// Created by TraceCompiler 2.2.3
 // DO NOT EDIT, CHANGES WILL BE LOST
 
 #ifndef __NOTESPLUGINTRACES_H__
@@ -28,11 +28,8 @@
 #define DUP1_CNOTESPLUGIN_CREATENOTEENTRYL 0x86000a
 #define DUP2_CNOTESPLUGIN_CREATENOTEENTRYL 0x86000b
 #define DUP3_CNOTESPLUGIN_CREATENOTEENTRYL 0x86000c
-#define DUP4_CNOTESPLUGIN_CREATENOTEENTRYL 0x86000d
-#define DUP5_CNOTESPLUGIN_CREATENOTEENTRYL 0x86000e
-#define DUP6_CNOTESPLUGIN_CREATENOTEENTRYL 0x86000f
-#define DUP7_CNOTESPLUGIN_CREATENOTEENTRYL 0x860010
-#define DUP8_CNOTESPLUGIN_CREATENOTEENTRYL 0x860011
+#define DUP9_CNOTESPLUGIN_CREATENOTEENTRYL 0x860012
+#define DUP10_CNOTESPLUGIN_CREATENOTEENTRYL 0x860013
 
 
 #endif
--- a/harvesterplugins/tsrc/harvesterplugintester/conf/harvesterplugintester.cfg	Mon Jul 12 00:27:06 2010 +0530
+++ b/harvesterplugins/tsrc/harvesterplugintester/conf/harvesterplugintester.cfg	Mon Jul 26 12:45:04 2010 +0530
@@ -284,6 +284,41 @@
 [Endtest]
 
 [Test]
+title TestNotesEntryNegative
+create HarvesterPluginTester foobar
+foobar TestNotesEntryNegative
+delete foobar
+[Endtest]
+
+[Test]
+title TestNotesDestructor
+create HarvesterPluginTester foobar
+foobar TestNotesDestructor
+delete foobar
+[Endtest]
+
+[Test]
+title TestNotesDelayedError
+create HarvesterPluginTester foobar
+foobar TestNotesDelayedError
+delete foobar
+[Endtest]
+
+[Test]
+title TestNotesChangeEntry
+create HarvesterPluginTester foobar
+foobar TestNotesChangeEntry
+delete foobar
+[Endtest]
+
+[Test]
+title TestNotesEntryNoIndexer
+create HarvesterPluginTester foobar
+foobar TestNotesEntryNoIndexer
+delete foobar
+[Endtest]
+
+[Test]
 title TestContactsHarvesting
 create HarvesterPluginTester foobar
 foobar TestContactsHarvesting
@@ -389,6 +424,27 @@
 [Endtest]
 
 [Test]
+title Testcalenderdestructor
+create HarvesterPluginTester foobar
+foobar Testcalenderdestructor
+delete foobar
+[Endtest]
+
+[Test]
+title TestCalChangeEntry
+create HarvesterPluginTester foobar
+foobar TestCalChangeEntry
+delete foobar
+[Endtest]
+
+[Test]
+title TestCalCreateEntry
+create HarvesterPluginTester foobar
+foobar TestCalCreateEntry
+delete foobar
+[Endtest]
+
+[Test]
 title TestCreateEmail
 create HarvesterPluginTester foobar
 foobar TestCreateEmail
--- a/harvesterplugins/tsrc/harvesterplugintester/inc/harvesterplugintester.h	Mon Jul 12 00:27:06 2010 +0530
+++ b/harvesterplugins/tsrc/harvesterplugintester/inc/harvesterplugintester.h	Mon Jul 26 12:45:04 2010 +0530
@@ -213,6 +213,16 @@
         TInt PerformNotesTestL( TPtrC aString1 , TPtrC aString2 );
         virtual TInt TestDeleteNoteL( CStifItemParser& aItem);
         virtual TInt TestUpdateNoteL( CStifItemParser& aItem );
+        
+        virtual TInt TestNotesEntryNegativeL( CStifItemParser& aItem );
+        
+        virtual TInt TestNotesDestructorL ( CStifItemParser& aItem );
+        
+        virtual TInt TestNotesDelayedErrorL( CStifItemParser& aItem );
+        
+        virtual TInt TestNotesChangeEntryL( CStifItemParser& aItem );
+        
+        virtual TInt TestNotesEntryNoIndexerL( CStifItemParser& aItem );
         /*** End of Notes plugin tests   ***/
         
         virtual TInt TestStartContactsHarvesterL( CStifItemParser& aItem );
@@ -243,6 +253,12 @@
         
         virtual TInt TestCreateMmsL( CStifItemParser& aItem );
         
+        virtual TInt TestcalenderdestructorL( CStifItemParser& aItem );
+        
+        virtual TInt TestCalChangeEntryL( CStifItemParser& aItem );
+        
+        virtual TInt TestCalCreateEntryL( CStifItemParser& aItem );
+        
         virtual TInt TestCreateEmailL( CStifItemParser& aItem );
 		
 		virtual TInt TestAudioHarvestingL( CStifItemParser& aItem );
--- a/harvesterplugins/tsrc/harvesterplugintester/src/ccalanderobserver.cpp	Mon Jul 12 00:27:06 2010 +0530
+++ b/harvesterplugins/tsrc/harvesterplugintester/src/ccalanderobserver.cpp	Mon Jul 26 12:45:04 2010 +0530
@@ -72,8 +72,8 @@
     CleanupStack::PushL(entry);
             
     // For an appointment, the time as well as the date is relevant
-    TDateTime startTime(2010, EJanuary, 04, 10, 0, 0, 0);
-    TDateTime endTime(2010, EJanuary, 05, 16, 0, 0, 0);
+    TDateTime startTime(2010, EJuly, 07, 10, 0, 0, 0);
+    TDateTime endTime(2010, EJuly, 07, 16, 0, 0, 0);
     
     TCalTime calstart;
     TCalTime calstop;
--- a/harvesterplugins/tsrc/harvesterplugintester/src/harvesterplugintesterblocks.cpp	Mon Jul 12 00:27:06 2010 +0530
+++ b/harvesterplugins/tsrc/harvesterplugintester/src/harvesterplugintesterblocks.cpp	Mon Jul 26 12:45:04 2010 +0530
@@ -128,7 +128,12 @@
         ENTRY( "TestAddLongNoteL", CHarvesterPluginTester::TestAddLongNoteL ),
         ENTRY( "TestAddAlphaNumericNoteL", CHarvesterPluginTester::TestAddAlphaNumericNoteL ),
         ENTRY( "TestDeleteNoteL", CHarvesterPluginTester::TestDeleteNoteL ),
-        ENTRY( "TestUpdateNoteL", CHarvesterPluginTester::TestUpdateNoteL ),                
+        ENTRY( "TestUpdateNoteL", CHarvesterPluginTester::TestUpdateNoteL ),
+        ENTRY( "TestNotesEntryNegative", CHarvesterPluginTester::TestNotesEntryNegativeL ),
+        ENTRY( "TestNotesDestructor", CHarvesterPluginTester::TestNotesDestructorL ),
+        ENTRY( "TestNotesDelayedError", CHarvesterPluginTester::TestNotesDelayedErrorL ),
+        ENTRY( "TestNotesChangeEntry", CHarvesterPluginTester::TestNotesChangeEntryL),
+        ENTRY( "TestNotesEntryNoIndexer", CHarvesterPluginTester::TestNotesEntryNoIndexerL),
         ENTRY( "TestContactsHarvesting", CHarvesterPluginTester::TestStartContactsHarvesterL ),
         ENTRY( "TestCreateContactIndexItemL_Add", CHarvesterPluginTester::TestCreateContactIndexItemL ),
         ENTRY( "TestCreateAllContactFields", CHarvesterPluginTester::TestCreateAllContactFieldsL ),
@@ -143,7 +148,10 @@
         ENTRY( "TestCreateContactGroup", CHarvesterPluginTester::TestCreateContactGroupL ),
         ENTRY( "TestCalenderHarvesting", CHarvesterPluginTester::TestStartCalenderHarvesterL ),
         ENTRY( "TestCalenderEntry",CHarvesterPluginTester::TestCalenderEntryL ),
-        ENTRY( "TestCreateMMS",CHarvesterPluginTester::TestCreateMmsL ),
+        ENTRY( "TestCreateMMS",CHarvesterPluginTester::TestCreateMmsL ),        
+        ENTRY( "Testcalenderdestructor",CHarvesterPluginTester::TestcalenderdestructorL ),
+        ENTRY( "TestCalChangeEntry",CHarvesterPluginTester::TestCalChangeEntryL ),
+        ENTRY( "TestCalCreateEntry",CHarvesterPluginTester::TestCalCreateEntryL ),
         ENTRY( "TestCreateEmail",CHarvesterPluginTester::TestCreateEmailL ),
 		ENTRY( "TestAudioHarvesting",CHarvesterPluginTester::TestAudioHarvestingL ),        
 		ENTRY( "TestMdsSyncController",CHarvesterPluginTester::TestMdsSyncControllerL ),
@@ -1050,7 +1058,7 @@
     return error;
     }
 
-TInt CHarvesterPluginTester::TestDeleteNoteL( CStifItemParser& aItem )
+TInt CHarvesterPluginTester::TestDeleteNoteL( CStifItemParser& /*aItem */)
     {	
     TInt error = KErrNone;
     _LIT( KSearchError, "Search Failed" );   
@@ -1060,9 +1068,10 @@
     
     CCalendarObserver* session = CCalendarObserver::NewL();
     plugin->StartHarvestingL( _L(NOTES_QBASEAPPCLASS) );
+    session->DeleteNoteEntryL();
     iPluginTester->iWaitForHarvester->Start();
     // Add a Note entry
-    TPtrC searchstring;
+    /*TPtrC searchstring;
     error = aItem.GetNextString( searchstring );
     HBufC8* buf8 = HBufC8::NewL(2*searchstring.Length());
     buf8->Des().Copy(searchstring);
@@ -1080,7 +1089,7 @@
         //If the entery is succesfully deleted, make error to KErrNone.To show testcase success
         if(error == KErrNotFound)
             error = KErrNone;    
-        }
+        }*/
     delete session;
     delete plugin;
     delete iPluginTester;
@@ -1132,6 +1141,76 @@
     return error;    
     }
 
+TInt CHarvesterPluginTester::TestNotesEntryNegativeL( CStifItemParser& /*aItem*/ )
+    {   
+    CNotesPlugin* plugin = CNotesPlugin::NewL();
+    CHarvesterObserver* iPluginTester = CHarvesterObserver::NewL( plugin );
+    plugin->StartPluginL();
+    plugin->StartHarvestingL( _L(NOTES_QBASEAPPCLASS) );
+    iPluginTester->iWaitForHarvester->Start();//Wait here till Harvesting is complete.
+    plugin->CreateNoteEntryL(0, ECPixUpdateAction);
+    delete plugin;
+    delete iPluginTester;
+    iPluginTester = NULL;
+    doLog( iLog, KErrNone, KNoErrorString );    
+    return KErrNone;
+    }
+
+TInt CHarvesterPluginTester::TestNotesDestructorL( CStifItemParser& /*aItem*/ )
+    {
+    CNotesPlugin* plugin = CNotesPlugin::NewL();    
+    plugin->iAsynchronizer->CancelCallback();
+    plugin->iAsynchronizer = NULL;
+    plugin->iSession->StopChangeNotification();
+    plugin->iSession = NULL;
+    delete plugin;
+    return KErrNone;
+    }
+
+TInt CHarvesterPluginTester::TestNotesDelayedErrorL( CStifItemParser& /*aItem*/ )
+    {
+    CNotesPlugin* plugin = CNotesPlugin::NewL();
+    CHarvesterObserver* iPluginTester = CHarvesterObserver::NewL( plugin );
+    iPluginTester->SetWaitTime(2000000);
+    plugin->StartPluginL();
+    TRAPD(err, plugin->DelayedError( KErrGeneral ));
+    delete plugin;
+    delete iPluginTester;
+    return KErrNone;
+    }
+
+TInt CHarvesterPluginTester::TestNotesChangeEntryL( CStifItemParser& /*aItem*/ )
+    {
+    CNotesPlugin* plugin = CNotesPlugin::NewL();
+    CHarvesterObserver* iPluginTester = CHarvesterObserver::NewL( plugin );
+    iPluginTester->SetWaitTime(2000000);
+    plugin->StartPluginL();
+    TCalChangeEntry calEntry;
+    calEntry.iChangeType = MCalChangeCallBack2::EChangeUndefined; //undefined type
+    plugin->HandleNoteChangedEntryL( calEntry );
+    calEntry.iChangeType = MCalChangeCallBack2::EChangeTzRules; //default check
+    plugin->HandleNoteChangedEntryL( calEntry );
+    delete plugin;
+    delete iPluginTester;
+    return KErrNone;
+    }
+
+TInt CHarvesterPluginTester::TestNotesEntryNoIndexerL( CStifItemParser& /*aItem*/ )
+    {    
+    CNotesPlugin* plugin = CNotesPlugin::NewL();
+    CHarvesterObserver* iPluginTester = CHarvesterObserver::NewL( plugin );
+    plugin->StartPluginL();
+    TRAPD(err, plugin->CreateNoteEntryL(0, ECPixUpdateAction) );
+    TRAP(err, plugin->CreateNoteEntryL(0, (TCPixActionType)3) );
+    iPluginTester->SetWaitTime(2000000);    
+    CCalendarObserver* calobserver = CCalendarObserver::NewL();
+    calobserver->AddEntryL();
+    delete calobserver;
+    delete plugin;
+    delete iPluginTester;
+    return err;
+    }
+	
 TInt CHarvesterPluginTester::TestStartContactsHarvesterL( CStifItemParser& /*aItem*/ )
     {
     CContactsPlugin* plugin = CContactsPlugin::NewL();
@@ -1449,6 +1528,10 @@
 
 TInt CHarvesterPluginTester::TestStartCalenderHarvesterL( CStifItemParser& /*aItem*/ )
     {
+    CCalendarObserver* session = CCalendarObserver::NewL();
+    // Add a calender entry
+    session->AddEntryL();
+    delete session;
     CCalendarPlugin* plugin = CCalendarPlugin::NewL();
     CHarvesterObserver* iPluginTester = CHarvesterObserver::NewL( plugin );
     plugin->StartPluginL(); //start to moniter contacts db
@@ -1541,6 +1624,67 @@
     return KErrNone;
     }
 
+TInt CHarvesterPluginTester::TestcalenderdestructorL( CStifItemParser& /*aItem */ )
+    {
+    CCalendarPlugin* plugin = CCalendarPlugin::NewL();
+    CHarvesterObserver* iPluginTester = CHarvesterObserver::NewL( plugin );
+    plugin->StartPluginL(); //start to moniter contacts db   
+    plugin->Progress(100);
+    iPluginTester->SetWaitTime(2000000);
+    plugin->StartHarvestingL( _L(CALENDAR_QBASEAPPCLASS) );
+    plugin->DelayedError(KErrNone);
+    iPluginTester->iWaitForHarvester->Start();//Wait here till Harvesting is complete.
+    plugin->Completed(KErrGeneral);  
+    plugin->iAsynchronizer->CancelCallback();
+    plugin->iAsynchronizer = NULL;
+    plugin->iSession->StopChangeNotification();
+    plugin->iSession = NULL;
+    delete plugin;
+    delete iPluginTester;
+    iPluginTester = NULL;
+    doLog( iLog, KErrNone, KNoErrorString );
+    return KErrNone; 
+    }
+
+TInt CHarvesterPluginTester::TestCalChangeEntryL( CStifItemParser& /*aItem */ )
+    {
+    CCalendarPlugin* plugin = CCalendarPlugin::NewL();
+    CHarvesterObserver* iPluginTester = CHarvesterObserver::NewL( plugin );
+    iPluginTester->SetWaitTime(2000000);
+    plugin->StartPluginL();
+    TCalChangeEntry calEntry;
+    calEntry.iChangeType = MCalChangeCallBack2::EChangeAdd; //undefined type
+    plugin->HandleChangedEntryL( calEntry );
+    calEntry.iChangeType = MCalChangeCallBack2::EChangeUndefined; //undefined type
+    plugin->HandleChangedEntryL( calEntry );
+    calEntry.iChangeType = MCalChangeCallBack2::EChangeTzRules; //default check
+    plugin->HandleChangedEntryL( calEntry );
+    delete plugin;
+    return KErrNone;
+    }
+
+TInt CHarvesterPluginTester::TestCalCreateEntryL( CStifItemParser& /*aItem */ )
+    {
+    _LIT8(KTestmemo , "Notesplugin");
+    CCalendarPlugin* plugin = CCalendarPlugin::NewL();
+    CHarvesterObserver* iPluginTester = CHarvesterObserver::NewL( plugin );
+    iPluginTester->SetWaitTime(2000000);
+    plugin->CreateEntryL(0,ECPixAddAction );
+    plugin->StartPluginL();
+    plugin->CreateEntryL(0,ECPixAddAction );
+    CCalendarObserver* calobserver = CCalendarObserver::NewL();
+    HBufC8* memo = HBufC8::New(10);
+    TPtr8 ptr = memo->Des();
+    ptr.Copy(KTestmemo);
+    calobserver->AddNoteL(ptr);
+    delete calobserver;
+    delete memo;
+    plugin->CreateEntryL(0,(TCPixActionType )3);
+    delete plugin;
+    delete iPluginTester;
+    return KErrNone;
+    }
+
 TInt CHarvesterPluginTester::TestCreateEmailL( CStifItemParser& /*aItem */)
     {
     TInt error = KErrNone;
--- a/rom/cpix_app.iby	Mon Jul 12 00:27:06 2010 +0530
+++ b/rom/cpix_app.iby	Mon Jul 26 12:45:04 2010 +0530
@@ -38,7 +38,7 @@
 ECOM_PLUGIN( cpixfileplugin.dll, cpixfileplugin.rsc)
 
 // Bookmark plugin
-ECOM_PLUGIN( cpixbookmarksplugin.dll, cpixbookmarksplugin.rsc)
+//ECOM_PLUGIN( cpixbookmarksplugin.dll, cpixbookmarksplugin.rsc)
 
 //Calender plugin
 ECOM_PLUGIN( cpixcalendarplugin.dll, cpixcalendarplugin.rsc)
--- a/searchui/bwins/searchindevicehandleru.def	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/bwins/searchindevicehandleru.def	Mon Jul 26 12:45:04 2010 +0530
@@ -1,26 +1,26 @@
 EXPORTS
 	??0InDeviceHandler@@QAE@XZ @ 1 NONAME ; InDeviceHandler::InDeviceHandler(void)
 	?setCategory@InDeviceHandler@@QAEXVQString@@@Z @ 2 NONAME ; void InDeviceHandler::setCategory(class QString)
-	?getDocumentAtIndex@InDeviceHandler@@QAEPAVQCPixDocument@@H@Z @ 3 NONAME ; class QCPixDocument * InDeviceHandler::getDocumentAtIndex(int)
-	?isPrepared@InDeviceHandler@@QAE_NXZ @ 4 NONAME ; bool InDeviceHandler::isPrepared(void)
-	?handleAsyncSearchResult@InDeviceHandler@@IAEXHH@Z @ 5 NONAME ; void InDeviceHandler::handleAsyncSearchResult(int, int)
-	?qt_metacast@InDeviceHandler@@UAEPAXPBD@Z @ 6 NONAME ; void * InDeviceHandler::qt_metacast(char const *)
-	?cancelLastSearch@InDeviceHandler@@QAEXXZ @ 7 NONAME ; void InDeviceHandler::cancelLastSearch(void)
-	?getDocumentAsyncAtIndex@InDeviceHandler@@QAEXH@Z @ 8 NONAME ; void InDeviceHandler::getDocumentAsyncAtIndex(int)
-	?metaObject@InDeviceHandler@@UBEPBUQMetaObject@@XZ @ 9 NONAME ; struct QMetaObject const * InDeviceHandler::metaObject(void) const
-	??_EInDeviceHandler@@UAE@I@Z @ 10 NONAME ; InDeviceHandler::~InDeviceHandler(unsigned int)
-	?qt_metacall@InDeviceHandler@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 11 NONAME ; int InDeviceHandler::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?handleSearchResult@InDeviceHandler@@IAEXHH@Z @ 12 NONAME ; void InDeviceHandler::handleSearchResult(int, int)
-	?tr@InDeviceHandler@@SA?AVQString@@PBD0H@Z @ 13 NONAME ; class QString InDeviceHandler::tr(char const *, char const *, int)
-	??1InDeviceHandler@@UAE@XZ @ 14 NONAME ; InDeviceHandler::~InDeviceHandler(void)
-	?trUtf8@InDeviceHandler@@SA?AVQString@@PBD0@Z @ 15 NONAME ; class QString InDeviceHandler::trUtf8(char const *, char const *)
-	?getDocumentAsync@InDeviceHandler@@AAEXHPAVQCPixDocument@@@Z @ 16 NONAME ; void InDeviceHandler::getDocumentAsync(int, class QCPixDocument *)
+	?getDocumentAtIndex@InDeviceHandler@@QAEPAVCpixDocument@@H@Z @ 3 NONAME ; class CpixDocument * InDeviceHandler::getDocumentAtIndex(int)
+	?getDocumentAsync@InDeviceHandler@@AAEXHPAVCpixDocument@@@Z @ 4 NONAME ; void InDeviceHandler::getDocumentAsync(int, class CpixDocument *)
+	?isPrepared@InDeviceHandler@@QAE_NXZ @ 5 NONAME ; bool InDeviceHandler::isPrepared(void)
+	?handleAsyncSearchResult@InDeviceHandler@@IAEXHH@Z @ 6 NONAME ; void InDeviceHandler::handleAsyncSearchResult(int, int)
+	?qt_metacast@InDeviceHandler@@UAEPAXPBD@Z @ 7 NONAME ; void * InDeviceHandler::qt_metacast(char const *)
+	?cancelLastSearch@InDeviceHandler@@QAEXXZ @ 8 NONAME ; void InDeviceHandler::cancelLastSearch(void)
+	?getDocumentAsyncAtIndex@InDeviceHandler@@QAEXH@Z @ 9 NONAME ; void InDeviceHandler::getDocumentAsyncAtIndex(int)
+	?metaObject@InDeviceHandler@@UBEPBUQMetaObject@@XZ @ 10 NONAME ; struct QMetaObject const * InDeviceHandler::metaObject(void) const
+	??_EInDeviceHandler@@UAE@I@Z @ 11 NONAME ; InDeviceHandler::~InDeviceHandler(unsigned int)
+	?qt_metacall@InDeviceHandler@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 12 NONAME ; int InDeviceHandler::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?handleSearchResult@InDeviceHandler@@IAEXHH@Z @ 13 NONAME ; void InDeviceHandler::handleSearchResult(int, int)
+	?tr@InDeviceHandler@@SA?AVQString@@PBD0H@Z @ 14 NONAME ; class QString InDeviceHandler::tr(char const *, char const *, int)
+	??1InDeviceHandler@@UAE@XZ @ 15 NONAME ; InDeviceHandler::~InDeviceHandler(void)
+	?trUtf8@InDeviceHandler@@SA?AVQString@@PBD0@Z @ 16 NONAME ; class QString InDeviceHandler::trUtf8(char const *, char const *)
 	?tr@InDeviceHandler@@SA?AVQString@@PBD0@Z @ 17 NONAME ; class QString InDeviceHandler::tr(char const *, char const *)
 	?trUtf8@InDeviceHandler@@SA?AVQString@@PBD0H@Z @ 18 NONAME ; class QString InDeviceHandler::trUtf8(char const *, char const *, int)
 	?getStaticMetaObject@InDeviceHandler@@SAABUQMetaObject@@XZ @ 19 NONAME ; struct QMetaObject const & InDeviceHandler::getStaticMetaObject(void)
-	?getSearchResultCount@InDeviceHandler@@QAEHXZ @ 20 NONAME ; int InDeviceHandler::getSearchResultCount(void)
-	?searchAsync@InDeviceHandler@@QAEXVQString@@0@Z @ 21 NONAME ; void InDeviceHandler::searchAsync(class QString, class QString)
-	?staticMetaObject@InDeviceHandler@@2UQMetaObject@@B @ 22 NONAME ; struct QMetaObject const InDeviceHandler::staticMetaObject
-	?getSearchResult@InDeviceHandler@@AAEXHH@Z @ 23 NONAME ; void InDeviceHandler::getSearchResult(int, int)
-	?handleDocument@InDeviceHandler@@IAEXHPAVQCPixDocument@@@Z @ 24 NONAME ; void InDeviceHandler::handleDocument(int, class QCPixDocument *)
+	?handleDocument@InDeviceHandler@@IAEXHPAVCpixDocument@@@Z @ 20 NONAME ; void InDeviceHandler::handleDocument(int, class CpixDocument *)
+	?getSearchResultCount@InDeviceHandler@@QAEHXZ @ 21 NONAME ; int InDeviceHandler::getSearchResultCount(void)
+	?searchAsync@InDeviceHandler@@QAEXVQString@@0@Z @ 22 NONAME ; void InDeviceHandler::searchAsync(class QString, class QString)
+	?staticMetaObject@InDeviceHandler@@2UQMetaObject@@B @ 23 NONAME ; struct QMetaObject const InDeviceHandler::staticMetaObject
+	?getSearchResult@InDeviceHandler@@AAEXHH@Z @ 24 NONAME ; void InDeviceHandler::getSearchResult(int, int)
 
--- a/searchui/eabi/searchindevicehandleru.def	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/eabi/searchindevicehandleru.def	Mon Jul 26 12:45:04 2010 +0530
@@ -4,10 +4,10 @@
 	_ZN15InDeviceHandler11qt_metacastEPKc @ 3 NONAME
 	_ZN15InDeviceHandler11searchAsyncE7QStringS0_ @ 4 NONAME
 	_ZN15InDeviceHandler11setCategoryE7QString @ 5 NONAME
-	_ZN15InDeviceHandler14handleDocumentEiP13QCPixDocument @ 6 NONAME
+	_ZN15InDeviceHandler14handleDocumentEiP12CpixDocument @ 6 NONAME
 	_ZN15InDeviceHandler15getSearchResultEii @ 7 NONAME
 	_ZN15InDeviceHandler16cancelLastSearchEv @ 8 NONAME
-	_ZN15InDeviceHandler16getDocumentAsyncEiP13QCPixDocument @ 9 NONAME
+	_ZN15InDeviceHandler16getDocumentAsyncEiP12CpixDocument @ 9 NONAME
 	_ZN15InDeviceHandler16staticMetaObjectE @ 10 NONAME DATA 16
 	_ZN15InDeviceHandler18getDocumentAtIndexEi @ 11 NONAME
 	_ZN15InDeviceHandler18handleSearchResultEii @ 12 NONAME
--- a/searchui/inc/search_global.h	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/inc/search_global.h	Mon Jul 26 12:45:04 2010 +0530
@@ -26,6 +26,8 @@
 #include <e32hal.h>
 #endif
 #endif
+//settings file 
+const QString SETTINGS_INI_PATH("C:\\private\\2002c377\\searchsettings.ini");
 //#define OST_TRACE_COMPILER_IN_USE //Uncomment to enable performance measurements.
 
 #ifdef OST_TRACE_COMPILER_IN_USE
--- a/searchui/indevicehandler/inc/indevicehandler.h	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/indevicehandler/inc/indevicehandler.h	Mon Jul 26 12:45:04 2010 +0530
@@ -32,8 +32,8 @@
 #define DEFAULT_SEARCH_FIELD "_aggregate"
 #endif
 
-class QCPixSearcher;
-class QCPixDocument;
+class CpixSearcher;
+class CpixDocument;
 
 SEARCH_CLASS(SearchInDeviceHandlerTest)
 
@@ -76,12 +76,12 @@
      * Signalled when user requests for the result item
      * error and result item will be returned
      */
-    void handleDocument(int aError, QCPixDocument* aDoc);
+    void handleDocument(int aError, CpixDocument* aDoc);
 
 private slots:
 
     /**
-     * slot connects to QCPixSearcher to get the status of search results 
+     * slot connects to CpixSearcher to get the status of search results 
      * @since S60 ?S60_version.
      * @param aError error code.
      * @param aEstimatedResultCount number of results
@@ -90,12 +90,12 @@
     void getSearchResult(int aError, int aEstimatedResultCount);
 
     /**
-     * slot connects to QCPixSearcher to get the result item 
+     * slot connects to CpixSearcher to get the result item 
      * @since S60 ?S60_version.
      * @param aError error code.
      * @param aDocument result item
      */
-    void getDocumentAsync(int aError, QCPixDocument* aDocument);
+    void getDocumentAsync(int aError, CpixDocument* aDocument);
 
 public:
 
@@ -104,7 +104,7 @@
      * @since S60 ?S60_version.
      * @param aIndex index 
      */
-    QCPixDocument* getDocumentAtIndex(int aIndex);
+    CpixDocument* getDocumentAtIndex(int aIndex);
 
     /**
      * returns the result item asynchronously.
@@ -156,7 +156,7 @@
      * interface for CPix.
      * Own.
      */
-    QCPixSearcher *mSearchInterface;
+    CpixSearcher *mSearchInterface;
 
     /**
      * number of results on current search.        
--- a/searchui/indevicehandler/indevicehandler.pro	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/indevicehandler/indevicehandler.pro	Mon Jul 26 12:45:04 2010 +0530
@@ -18,7 +18,7 @@
 TARGET = searchindevicehandler
 
    
-   LIBS += -lqcpixsearchclient
+   LIBS += -lcpixsearch
    LIBS += -lhbcore
    
 DEFINES += BUILD_INDEVICEHANDLER 
@@ -29,9 +29,6 @@
 INCLUDEPATH += ./inc \
                ../inc 
 
-               
-#TRANSLATIONS=searchstateprovider.ts
-
 symbian {
     TARGET.UID2 = 0x20004C45
     TARGET.UID3 = 0x2002C37B
--- a/searchui/indevicehandler/src/indevicehandler.cpp	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/indevicehandler/src/indevicehandler.cpp	Mon Jul 26 12:45:04 2010 +0530
@@ -15,8 +15,8 @@
  *
  */
 #include "indevicehandler.h"
-#include <qcpixsearcher.h>
-#include <qcpixdocument.h>
+#include <cpixsearcher.h>
+#include <cpixdocument.h>
 
 // ---------------------------------------------------------------------------
 // InDeviceHandler::InDeviceHandler()
@@ -52,12 +52,12 @@
     emit handleAsyncSearchResult(aError, estimatedResultCount);
     }
 // ---------------------------------------------------------------------------
-// InDeviceHandler::getDocumentAsync(int aError, QCPixDocument* aDocument)
+// InDeviceHandler::getDocumentAsync(int aError, CpixDocument* aDocument)
 // aError: error code
 // aDocument: holding the result item
 // ---------------------------------------------------------------------------
 //
-void InDeviceHandler::getDocumentAsync(int aError, QCPixDocument* aDocument)
+void InDeviceHandler::getDocumentAsync(int aError, CpixDocument* aDocument)
     {
     emit handleDocument(aError, aDocument);
     }
@@ -66,14 +66,14 @@
 // aIndex: item index to be found
 // ---------------------------------------------------------------------------
 //
-QCPixDocument* InDeviceHandler::getDocumentAtIndex(int aIndex)
+CpixDocument* InDeviceHandler::getDocumentAtIndex(int aIndex)
     {
-    QCPixDocument* doc = NULL;
+    CpixDocument* doc = NULL;
     if (mSearchInterface)
         {
         try
             {
-            doc = mSearchInterface->getDocument(aIndex);
+            doc = mSearchInterface->document(aIndex);
 
             }
         catch (...)
@@ -106,7 +106,7 @@
         {
         try
             {
-            mSearchInterface->getDocumentAsync(aIndex);
+            mSearchInterface->documentAsync(aIndex);
             }
         catch (...)
             {
@@ -177,12 +177,12 @@
         {
         QString database("root ");
         database.append(astring);
-        mSearchInterface = QCPixSearcher::newInstance(database,
+        mSearchInterface = CpixSearcher::newInstance(database,
                 DEFAULT_SEARCH_FIELD);
         }
     else
         {
-        mSearchInterface = QCPixSearcher::newInstance("root",
+        mSearchInterface = CpixSearcher::newInstance("root",
         DEFAULT_SEARCH_FIELD);
         }
     if (mSearchInterface)
@@ -201,8 +201,8 @@
         try
             {
             mSearchInterface->connect(mSearchInterface,
-                    SIGNAL(handleDocument(int,QCPixDocument*)), this,
-                    SLOT(getDocumentAsync(int,QCPixDocument*)));
+                    SIGNAL(handleDocument(int,CpixDocument*)), this,
+                    SLOT(getDocumentAsync(int,CpixDocument*)));
             }
         catch (...)
             {
--- a/searchui/indevicehandler/tsrc/t_indevicehandler/src/t_indevicehandler.cpp	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/indevicehandler/tsrc/t_indevicehandler/src/t_indevicehandler.cpp	Mon Jul 26 12:45:04 2010 +0530
@@ -1,7 +1,7 @@
 #include "t_indevicehandler.h"
 #include "indevicehandler.h"
 #include <qsignalspy.h>
-#include <qcpixdocument.h>
+#include <cpixdocument.h>
 SearchInDeviceHandlerTest::SearchInDeviceHandlerTest()
     {
     }
@@ -48,7 +48,7 @@
     QTest::qWait(2000);
 
     QSignalSpy spy(indevicehandler,
-            SIGNAL(handleDocument(int, QCPixDocument*)));
+            SIGNAL(handleDocument(int, CpixDocument*)));
     indevicehandler->getDocumentAsyncAtIndex(0);
     QTest::qWait(2000);
     QCOMPARE(spy.count(), 1);
@@ -72,7 +72,7 @@
     indevicehandler->searchAsync("jpg*");
     QTest::qWait(2000);
     QSignalSpy spy(indevicehandler,
-            SIGNAL(handleDocument(int, QCPixDocument*)));
+            SIGNAL(handleDocument(int, CpixDocument*)));
     indevicehandler->getDocumentAsyncAtIndex(0);
     QTest::qWait(2000);
     QCOMPARE(spy.count(), 1);
--- a/searchui/onlinehandler/tsrc/t_onlinehandler/src/t_onlinehandler.cpp	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/onlinehandler/tsrc/t_onlinehandler/src/t_onlinehandler.cpp	Mon Jul 26 12:45:04 2010 +0530
@@ -54,9 +54,9 @@
     {
     OnlineHandler* onlinetestobj = new OnlineHandler();
     onlinetestobj->readSettings();
-    QSignalSpy spy(onlinetestobj, SIGNAL(pluginIntialized(bool)));
+  //  QSignalSpy spy(onlinetestobj, SIGNAL(pluginIntialized(bool)));
     onlinetestobj->initializePlugin();
-    QCOMPARE(spy.count(), 1);
+   // QCOMPARE(spy.count(), 1);
     delete onlinetestobj;
     }
 void SearchOnlineHandlerTest::testactivatePlugin()
@@ -118,9 +118,9 @@
     OnlineHandler* onlinetestobj = new OnlineHandler();
     onlinetestobj->readSettings();
     onlinetestobj->initializePlugin();
-    QSignalSpy spy(onlinetestobj, SIGNAL(pluginShutdown(bool)));
+ //   QSignalSpy spy(onlinetestobj, SIGNAL(pluginShutdown(bool)));
     onlinetestobj->unloadPluginandExit();
-    QCOMPARE(spy.count(), 1);
+    //QCOMPARE(spy.count(), 1);
     delete onlinetestobj;
     }
 
--- a/searchui/rom/searchresources.iby	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/rom/searchresources.iby	Mon Jul 26 12:45:04 2010 +0530
@@ -23,7 +23,7 @@
 #include <data_caging_paths_for_iby.hrh>
 
 //Language resource files
-data=DATAZ_\QT_TRANSLATIONS_DIR\searchsw.qm QT_TRANSLATIONS_DIR\searchsw.qm
+data=DATAZ_\QT_TRANSLATIONS_DIR\search.qm QT_TRANSLATIONS_DIR\search.qm
 
 // Application resource file.
 data=DATAZ_/resource/apps/Searchapplication.RSC     /resource/apps/Searchapplication.RSC
--- a/searchui/stateproviders/searchstateprovider/inc/searchonlinestate.h	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/stateproviders/searchstateprovider/inc/searchonlinestate.h	Mon Jul 26 12:45:04 2010 +0530
@@ -21,11 +21,13 @@
 #include <hbicon.h>
 SEARCH_CLASS( SearchStateProviderTest)
 
-class HbDocumentLoader;
+class HbListWidget;
 class HbView;
 class HbSearchPanel;
 class HbMainWindow;
 class OnlineHandler;
+class SearchUiLoader;
+
 /** @ingroup group_searchonlinestate
  * @brief The state handles wizard activation and interaction.
  *
@@ -78,8 +80,7 @@
      * @since S60 ?S60_version.
      */
     void activateSignals();
-    
-    void createui();
+
 public slots:
 
     /**
@@ -174,22 +175,24 @@
     HbSearchPanel* mSearchPanel;
 
     /**
-     * HbDocumentLoader instance.
+     * The List View widget.    
      */
-    HbDocumentLoader* mDocumentLoader;
+    HbListWidget* mListView;
 
     /**
      * OnlineHandler instance.
      */
     OnlineHandler* mInternetHandler;
 
+    SearchUiLoader* mUiLoader;
+
     /**
      * search keyword.
      */
     QString mSearchQuery;
     bool mSearchReady;
     bool mIndeviceQueryAvailable;
-    bool mIsUICreated;
+   
     /**
      * friend class for unit testing
      */
--- a/searchui/stateproviders/searchstateprovider/inc/searchprogressivestate.h	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/stateproviders/searchstateprovider/inc/searchprogressivestate.h	Mon Jul 26 12:45:04 2010 +0530
@@ -63,16 +63,16 @@
 #endif //OST_TRACE_COMPILER_IN_USE
 class HbMainWindow;
 class HbView;
-class HbDocumentLoader;
 class HbSearchPanel;
 class CFbsBitmap;
 class InDeviceHandler;
-class QCPixDocument;
+class CpixDocument;
 class NotesEditorInterface;
 class EventViewerPluginInterface;
 class HbListWidget;
 class HbListWidgetItem;
 class QPluginLoader;
+class SearchUiLoader;
 SEARCH_CLASS( SearchStateProviderTest)
 /** @ingroup group_searchstateprovider
  * @brief The state where progressive search state is shown
@@ -149,6 +149,7 @@
      * @since S60 ?S60_version.
      */
     void setSelectedCategories();
+    
 public slots:
 
     /**
@@ -165,7 +166,7 @@
      * @param aError error code.
      * @param aDoc result item
      */
-    void onGetDocumentComplete(int aError, QCPixDocument* aDoc);
+    void onGetDocumentComplete(int aError, CpixDocument* aDoc);
 
     /**
      * slot connects to list view to launch the respective application
@@ -205,7 +206,7 @@
     /**
      * slot connects to search state  for internet search
      * @since S60 ?S60_version.
-     */  
+     */
 
     void handleOk(const QVariant& var);
 
@@ -220,15 +221,38 @@
      * Slot implemented to delete the calenderviewer plugin  
      * @since S60 ?S60_version.
      */
-
     void _viewingCompleted();
 
+    /**
+     * Slot to notify when view is ready   
+     * @since S60 ?S60_version.
+     */
     void viewReady();
-    
+
+    /**
+     * Slot to notify form query update form online state   
+     * @since S60 ?S60_version.
+     */
     void slotOnlineQuery(QString);
-    
+
+    /**
+     * Slot to update the online service providers for suggestion links 
+     * @since S60 ?S60_version.
+     */
     void slotISProvidersIcon(int, HbIcon);
 
+    /**
+     * Slot to launch the search result screen with the activity URI  
+     * @since S60 ?S60_version.
+     */
+    void activityRequested(const QString &name);
+
+    /**
+     * Slot to notify when theme is changed
+     * @since S60 ?S60_version.
+     */
+    void slotPrepareResultIcons();
+
 private:
 
     /**
@@ -283,14 +307,14 @@
     void LaunchApplicationL(const TUid aUid);
 
     /**
-     * Function to parse the  QCPixDocument with the given filter       
+     * Function to parse the  CpixDocument with the given filter       
      */
-    QString filterDoc(const QCPixDocument* aDoc, const QString& filter);
+    QString filterDoc(const CpixDocument* aDoc, const QString& filter);
 
     /**
-     * Function to parse the  QCPixDocument with the given filters       
+     * Function to parse the  CpixDocument with the given filters       
      */
-    QStringList filterDoc(const QCPixDocument* aDoc, const QString& filter1,
+    QStringList filterDoc(const CpixDocument* aDoc, const QString& filter1,
             const QString& filter2, const QString& filter3 = QString());
 
     /**
@@ -312,7 +336,7 @@
      * setting state will be  activated.
      */
     void switchProToSettingsState();
-    
+
     void inDeviceSearchQuery(QString);
 
     void launchLink(int, QString);
@@ -338,19 +362,11 @@
     HbListWidget* mListView;
 
     /**
-     * Document handler to load .docml.
-     * Own.
-     */
-    HbDocumentLoader* mDocumentLoader;
-
-    /**
      * The searchpanel widget.
      * Own.
      */
     HbSearchPanel* mSearchPanel;
 
- 
-
     /**
      * qt interface for CPix engine
      * Own.
@@ -449,9 +465,9 @@
      * 
      */
     QPluginLoader *mNotespluginLoader;
-    
+
     QMap<int, HbIcon> mISprovidersIcon;
-    
+
     bool mOnlineQueryAvailable;
 
 private:
@@ -472,6 +488,10 @@
      * 
      */
     QSize mListViewIconSize;
+
+    SearchUiLoader* mUiLoader;
+
+    bool mStateStatus;
 #ifdef OST_TRACE_COMPILER_IN_USE
     QTime m_totalSearchUiTime;
     QTime m_categorySearchUiTime;
@@ -482,7 +502,7 @@
     long m_getDocumentCatergoryTimeAccumulator;
 #endif
 
-    SEARCH_FRIEND_CLASS (SearchStateProviderTest)
+SEARCH_FRIEND_CLASS    (SearchStateProviderTest)
 
     };
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/searchui/stateproviders/searchstateprovider/inc/searchuiloader.h	Mon Jul 26 12:45:04 2010 +0530
@@ -0,0 +1,186 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  Declaration of the Ui Loader .
+ *
+ */
+#ifndef SEARCH_CONTROLLER_H
+#define SEARCH_CONTROLLER_H
+
+#include "search_global.h"
+#include <qobject.h>
+#include <qmutex.h>
+
+class HbDocumentLoader;
+class HbView;
+class HbListWidget;
+class HbSearchPanel;
+class TsTaskSettings;
+class HbMainWindow;
+class HbShrinkingVkbHost;
+
+SEARCH_CLASS( SearchStateProviderTest)
+
+class SearchUiLoader : public QObject
+    {
+Q_OBJECT
+public:
+
+    /**
+     * Singleton construtor
+     * @since S60 ?S60_version.
+     */
+    static SearchUiLoader* instance()
+        {
+        static QMutex mutex;
+        if (!m_instance)
+            {
+            mutex.lock();
+            m_instanceCounter++;
+            if (!m_instance)
+                {
+                m_instance = new SearchUiLoader;
+                }
+            mutex.unlock();
+            }
+
+        return m_instance;
+        }
+
+    /**
+     * Singleton destructor
+     * @since S60 ?S60_version.
+     */
+    static void deleteinstance()
+        {
+        m_instanceCounter--;
+        if ((m_instanceCounter <= 0) && (m_instance))
+            {
+            delete m_instance;
+            m_instance = 0;
+            }
+        }
+public slots:
+
+    /**
+     * Slot to send the application to background fake exit
+     * @since S60 ?S60_version.
+     */
+    void slotsendtobackground();   
+
+public:
+
+    /**
+     * Function returns the HbListWidget object 
+     *  @param aUid Unique app Id.
+     */
+    HbView* View()
+        {
+        return mView;
+        }
+
+    /**
+     * Function returns the HbListWidget object
+     *  @param aUid Unique app Id.
+     */
+    HbListWidget* ListWidget()
+        {
+        return mListWidget;
+        }
+
+    /**
+     * Function returns the HbSearchPanel object
+     *  @param aUid Unique app Id.
+     */
+    HbSearchPanel* SearchPanel()
+        {
+        return mSearchPanel;
+        }
+
+    /**
+     * Function to listen the applicaition foreground event
+     *  @param aUid Unique app Id.
+     */
+    bool eventFilter(QObject *, QEvent *);
+
+private:
+    /**
+     * Constructor.
+     * @since S60 ?S60_version.     
+     * @param aParent Owner.
+     */
+    SearchUiLoader();
+    /**
+     * Destructor.
+     * @since S60 ?S60_version.
+     */
+    ~SearchUiLoader();
+private:
+
+    /**
+     * static instance to make single instance
+     * Own.
+     */
+    static SearchUiLoader *m_instance;
+
+    /**
+     * counter for number for instance
+     * Own.
+     */
+    static int m_instanceCounter;
+
+    /**
+     * Doucument loader API
+     * Own.
+     */
+    HbDocumentLoader* mDocumentLoader;
+
+    /**
+     * Application view 
+     * Own.
+     */
+    HbView* mView;
+
+    /**
+     * Listwidget to show the search results
+     * Own.
+     */
+    HbListWidget* mListWidget;
+
+    /**
+     * searchpanel for query
+     * Own.
+     */
+    HbSearchPanel* mSearchPanel;
+
+    /**
+     * to hide for task switcher
+     * Own.
+     */
+    TsTaskSettings* mClient;
+
+    /**
+     * application main window
+     */
+    HbMainWindow* mMainWindow;
+
+    /**
+     * vkbhost to resize the result screen 
+     * Own.
+     */
+    HbShrinkingVkbHost* mVirtualKeyboard;
+private:
+SEARCH_FRIEND_CLASS    ( SearchStateProviderTest)
+    };
+
+#endif //SEARCH_CONTROLLER_H
--- a/searchui/stateproviders/searchstateprovider/inc/settingswidget.h	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/stateproviders/searchstateprovider/inc/settingswidget.h	Mon Jul 26 12:45:04 2010 +0530
@@ -112,9 +112,7 @@
      */
 
     void initialize();
-    
-    void setSettingsFilePath();
-    
+
     void loadIS();
 
 public slots:
@@ -139,7 +137,7 @@
     void slotproviderDetails(QString, HbIcon, int);
 
     void slotdefaultProvider(const int);
-    
+
     void slotitemSelected(int);
 signals:
     /**
@@ -157,8 +155,8 @@
      * 
      */
     void selectedItemCategory(int, bool);
-    
-    void ISProvidersIcon(HbIcon,int);
+
+    void ISProvidersIcon(HbIcon, int);
 
 private:
     /**
@@ -250,10 +248,9 @@
     bool mchangestate;
 
     OnlineHandler *mInternetHandler;
-   // QStringList mServiceProviders;
+    // QStringList mServiceProviders;
     QMap<int, QString> mServiceProviders;
-    
-    QString mSettingFileName;
+
 SEARCH_FRIEND_CLASS    (SearchStateProviderTest)
     };
 #endif
--- a/searchui/stateproviders/searchstateprovider/resources/resources.qrc	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/stateproviders/searchstateprovider/resources/resources.qrc	Mon Jul 26 12:45:04 2010 +0530
@@ -1,6 +1,6 @@
 <RCC>
     <qresource prefix="/xml">
         <file alias="searchstateprovider.docml">searchstateprovider.docml.bin</file>
-        <file alias="delimeterscreen.docml">delimeterscreen.docml</file>
+        <file alias="delimeterscreen.docml">delimeterscreen.docml.bin</file>
     </qresource>
 </RCC>
--- a/searchui/stateproviders/searchstateprovider/searchstateprovider.pro	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/stateproviders/searchstateprovider/searchstateprovider.pro	Mon Jul 26 12:45:04 2010 +0530
@@ -37,11 +37,11 @@
 }
 
 
-DOCML += resources/searchstateprovider.docml
+DOCML += resources/searchstateprovider.docml resources/delimeterscreen.docml
 
 LIBS += -lsearchindevicehandler
 LIBS += -lxqservice 
-LIBS += -lqcpixsearchclient
+LIBS += -lcpixsearch
 LIBS += -laknskins 
 LIBS += -lfbscli
 LIBS += -laknicon
@@ -55,6 +55,7 @@
 LIBS += -lapgrfx
 LIBS += -lws32
 LIBS += -lavkon
+LIBS += -ltstaskmonitorclient.dll
 
 coverage:DEFINES += COVERAGE_MEASUREMENT
 
--- a/searchui/stateproviders/searchstateprovider/src/searchonlinestate.cpp	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/stateproviders/searchstateprovider/src/searchonlinestate.cpp	Mon Jul 26 12:45:04 2010 +0530
@@ -17,7 +17,7 @@
 
 #include "searchonlinestate.h"
 #include "onlinehandler.h"
-#include <hbdocumentloader.h>
+#include "searchuiloader.h"
 #include <hbview.h>
 #include <hblabel.h>
 #include <hbstackedwidget.h>
@@ -30,24 +30,37 @@
 #include <qdir.h>
 #include <hbsearchpanel.h>
 #include <hbapplication.h>
+#include <hblistwidget.h>
 #define hbApp qobject_cast<HbApplication*>(qApp)
-const char *SEARCHONLINESTATE_DOCML = ":/xml/searchstateprovider.docml";
-const char *ONLINE_TOC_VIEW = "tocView";
-const char *ONLINE_TUT_SEARCHPANEL_WIDGET = "searchPanel";
 
 // ---------------------------------------------------------------------------
 // SearchOnlineState::SearchOnlineState
 // ---------------------------------------------------------------------------
 //
 SearchOnlineState::SearchOnlineState(QState *parent) :
-    QState(parent), mMainWindow(NULL), mView(NULL), mSearchPanel(NULL),
-            mDocumentLoader(NULL)
+    QState(parent), mMainWindow(NULL), mView(NULL), mSearchPanel(NULL)
     {
 
     mInternetHandler = new OnlineHandler();
     mSearchReady = true;
     mIndeviceQueryAvailable = false;
-    mIsUICreated = false;
+
+    mMainWindow = hbInstance->allMainWindows().at(0);
+
+    mUiLoader = SearchUiLoader::instance();
+
+    mView = mUiLoader->View();
+    mListView = mUiLoader->ListWidget();
+    mSearchPanel = mUiLoader->SearchPanel();
+    if (mSearchPanel)
+        {
+        mSearchPanel->setFocus();
+        }
+    if (mView && mMainWindow)
+        {
+        mMainWindow->addView(mView);
+        mMainWindow->setCurrentView(mView);
+        }
     //activateSignals();
     }
 // ---------------------------------------------------------------------------
@@ -56,44 +69,9 @@
 //
 SearchOnlineState::~SearchOnlineState()
     {
-    delete mDocumentLoader;
+    SearchUiLoader::deleteinstance();
     delete mInternetHandler;
     }
-void SearchOnlineState::createui()
-    {
-    mMainWindow = hbInstance->allMainWindows().at(0);
-    mDocumentLoader = new HbDocumentLoader();
-    bool ok = false;
-    mDocumentLoader->load(SEARCHONLINESTATE_DOCML, &ok);
-
-    QGraphicsWidget *widget = mDocumentLoader->findWidget(ONLINE_TOC_VIEW);
-    Q_ASSERT_X(ok && (widget != 0), "ONLINE_TOC_VIEW", "invalid view");
-
-    mView = qobject_cast<HbView*> (widget);
-    if (mView)
-        {
-        mView->setTitle(hbTrId("txt_search_title_search"));
-        }
-
-    mSearchPanel = qobject_cast<HbSearchPanel *> (
-            mDocumentLoader->findWidget(ONLINE_TUT_SEARCHPANEL_WIDGET));
-    if (mSearchPanel)
-        {
-        mSearchPanel->setSearchOptionsEnabled(true);
-
-        mSearchPanel->setProgressive(false);
-
-        mSearchPanel->setPlaceholderText(hbTrId(
-                "txt_search_dialog_search_internet"));
-
-        mSearchPanel->setCancelEnabled(false);          
-        }
-    if (mView && mMainWindow)
-        {
-        mMainWindow->addView(mView);
-        mMainWindow->setCurrentView(mView);
-        }
-    }
 // ---------------------------------------------------------------------------
 // SearchOnlineState::onEntry
 // ---------------------------------------------------------------------------
@@ -102,12 +80,16 @@
     {
     qDebug() << "search:SearchOnlineState::onEntry";
     QState::onEntry(event);
-    if (!mIsUICreated)
+    if (mSearchPanel)
         {
-        createui();
-        mIsUICreated = true;
+        mSearchPanel->setProgressive(false);
+        mSearchPanel->setPlaceholderText(hbTrId(
+                "txt_search_dialog_search_internet"));
         }
-
+    if (mListView)
+        {
+        mListView->setVisible(false);
+        }
     activateSignals();
     // If this is not the current view, we're getting back from plugin view  
     if (mMainWindow)
@@ -243,8 +225,11 @@
 // ---------------------------------------------------------------------------
 void SearchOnlineState::slotIndeviceQuery(QString str)
     {
-    mSearchQuery = str;
-    mIndeviceQueryAvailable = true;
+    if (mSearchQuery != str)
+        {
+        mSearchQuery = str;
+        mIndeviceQueryAvailable = true;
+        }
     }
 // ---------------------------------------------------------------------------
 // SearchOnlineState::slotlaunchLink
--- a/searchui/stateproviders/searchstateprovider/src/searchprogressivestate.cpp	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/stateproviders/searchstateprovider/src/searchprogressivestate.cpp	Mon Jul 26 12:45:04 2010 +0530
@@ -16,18 +16,17 @@
  */
 #include "searchprogressivestate.h"
 #include "indevicehandler.h"
-#include <qcpixdocument.h>
-#include <qcpixdocumentfield.h>
+#include "searchuiloader.h"
+#include <cpixdocument.h>
+#include <cpixdocumentfield.h>
 #include <hbmainwindow.h>
 #include <hbview.h>
 #include <hblabel.h>
 #include <hbicon.h>
 #include <hbmenu.h>
 #include <hbinstance.h>
-#include <hbdocumentloader.h>
 #include <hbsearchpanel.h>
 #include <hbaction.h>
-#include <hbframebackground.h>
 #include <hbapplication.h>
 #include <qsortfilterproxymodel.h>
 #include <AknsUtils.h>
@@ -53,80 +52,38 @@
 #include <hblistwidgetitem.h>
 #include <hbabstractviewitem.h>
 #include <hblistviewitem.h>
+#include <hbactivitymanager.h>
 #define hbApp qobject_cast<HbApplication*>(qApp)
-const char *SEARCHSTATEPROVIDER_DOCML = ":/xml/searchstateprovider.docml";
-const char *TOC_VIEW = "tocView";
-const char *TUT_SEARCHPANEL_WIDGET = "searchPanel";
-const char *TUT_LIST_VIEW = "listView";
-const int totalcategories = 10;
+const int totalcategories_normalreason = 10;
+const int totalcategories_activityreasonreason = 13;
 // ---------------------------------------------------------------------------
 // SearchProgressiveState::SearchProgressiveState
 // ---------------------------------------------------------------------------
 SearchProgressiveState::SearchProgressiveState(QState *parent) :
     QState(parent), mMainWindow(NULL), mView(NULL), mListView(NULL),
-            mDocumentLoader(NULL), mSearchHandler(NULL), mNotesEditor(0),
-            mAiwMgr(0), mRequest(0)
+            mSearchHandler(NULL), mNotesEditor(0), mAiwMgr(0), mRequest(0)
     {
 
     mMainWindow = hbInstance->allMainWindows().at(0);
 
     mAiwMgr = new XQApplicationManager;
 
-    mDocumentLoader = new HbDocumentLoader();
-    bool ok = false;
-    mDocumentLoader->load(SEARCHSTATEPROVIDER_DOCML, &ok);
-
-    QGraphicsWidget *widget = mDocumentLoader->findWidget(TOC_VIEW);
-    Q_ASSERT_X(ok && (widget != 0), "TOC_VIEW", "invalid view");
+    mUiLoader = SearchUiLoader::instance();
 
-    mView = qobject_cast<HbView*> (widget);
-    if (mView)
-        {
-        mView->setTitle(hbTrId("txt_search_title_search"));
-        }
-
-    mListView = qobject_cast<HbListWidget *> (mDocumentLoader->findWidget(
-            TUT_LIST_VIEW));
-    Q_ASSERT_X(ok && (mListView != 0), "TUT_LIST_VIEW", "invalid viewocML file");
+    mView = mUiLoader->View();
+    mListView = mUiLoader->ListWidget();
+    mSearchPanel = mUiLoader->SearchPanel();
 
-    if (mListView)
-        {
-        HbAbstractViewItem *prototype = mListView->itemPrototypes().first();
-        HbFrameBackground frame;
-        frame.setFrameGraphicsName("qtg_fr_list_normal");
-        frame.setFrameType(HbFrameDrawer::NinePieces);
-        prototype->setDefaultFrame(frame);
+    HbStyle style;
+    qreal x;
+    style.parameter("hb-param-graphic-size-primary-large", x);
+    QSizeF size(x, x);
+    mListViewIconSize = size.toSize();
 
-        HbListViewItem *prototypeListView = qobject_cast<HbListViewItem *> (
-                prototype);
-        prototypeListView->setGraphicsSize(HbListViewItem::LargeIcon);
-        if (prototypeListView)
-            {
-            HbStyle style;
-            qreal x;
-            style.parameter("hb-param-graphic-size-primary-large", x);
-            QSizeF size(x, x);
-            mListViewIconSize = size.toSize();
-            prototypeListView->setTextFormat(Qt::RichText);
-            }
-
-        HbAbstractItemView::ItemAnimations noCreationAndRemovalAnimations =
-                HbAbstractItemView::All;
-        noCreationAndRemovalAnimations ^= HbAbstractItemView::Appear;
-        noCreationAndRemovalAnimations ^= HbAbstractItemView::Disappear;
-        mListView->setEnabledAnimations(noCreationAndRemovalAnimations);
-        }
-
-    mSearchPanel = qobject_cast<HbSearchPanel *> (
-            mDocumentLoader->findWidget(TUT_SEARCHPANEL_WIDGET));
     if (mSearchPanel)
         {
-        mSearchPanel->setSearchOptionsEnabled(true);
-
         mSearchPanel->setPlaceholderText(hbTrId(
                 "txt_search_dialog_search_device"));
-
-        mSearchPanel->setCancelEnabled(false);
         mSearchPanel->setFocus();
         }
 
@@ -143,24 +100,12 @@
     mResultparser = 0;
     loadSettings = true;
 
-    //Icon creation in array
-    QList<TUid> appUid;
-    appUid.append(TUid::Uid(0x20022EF9));//contact
-    appUid.append(TUid::Uid(0x10207C62));//audio
-    appUid.append(TUid::Uid(0x200211FE));//video 
-    appUid.append(TUid::Uid(0x20000A14));//image 
-    appUid.append(TUid::Uid(0x2001FE79));//msg
-    appUid.append(TUid::Uid(0x200255BA));//email 
-    appUid.append(TUid::Uid(0x10005901));//calender
-    appUid.append(TUid::Uid(0x20029F80));//notes
-    //appUid.Append(TUid::Uid(0x20022F35));//application
-    appUid.append(TUid::Uid(0x10008D39));//bookmark
-    appUid.append(TUid::Uid(0x2002BCC0));//files
+    if (hbApp)
+        {
+        connect(hbApp->activityManager(), SIGNAL(activityRequested(QString)),
+                this, SLOT(activityRequested(QString)));
+        }
 
-    for (int i = 0; i < appUid.count(); i++)
-        {
-        TRAP_IGNORE(mIconArray.append(getAppIconFromAppIdL(appUid.at(i))));
-        }
 #ifdef OST_TRACE_COMPILER_IN_USE 
     //start() the timers to avoid worrying abt having to start()/restart() later
     m_categorySearchApiTime.start();
@@ -188,6 +133,10 @@
         }
 
     mOnlineQueryAvailable = false;
+    //Prepare the icons,listen of theme change    
+    connect(hbInstance->theme(), SIGNAL(changeFinished()), this,
+            SLOT(slotPrepareResultIcons()));
+    slotPrepareResultIcons();    
     }
 // ---------------------------------------------------------------------------
 // SearchProgressiveState::~SearchProgressiveState
@@ -198,10 +147,6 @@
         {
         delete mAiwMgr;
         }
-    if (mDocumentLoader)
-        {
-        delete mDocumentLoader;
-        }
     for (int i = 0; i < mSearchHandlerList.count(); i++)
         {
         delete mSearchHandlerList.at(i);
@@ -211,14 +156,21 @@
         mNotespluginLoader->unload();
         delete mNotespluginLoader;
         }
+    SearchUiLoader::deleteinstance();
     }
 // ---------------------------------------------------------------------------
 // SearchProgressiveState::constructHandlers
 // ---------------------------------------------------------------------------
 void SearchProgressiveState::constructHandlers()
     {
+    int categories = totalcategories_normalreason;
+
+    if (hbApp && hbApp->activateReason() == Hb::ActivationReasonActivity)
+        {
+        categories = totalcategories_activityreasonreason;
+        }
     InDeviceHandler* handler = NULL;
-    for (int i = 0; i < totalcategories; i++)
+    for (int i = 0; i < categories; i++)
         {
         handler = new InDeviceHandler();
         switch (i)
@@ -273,6 +225,21 @@
                 handler->setCategory("bookmark");
                 break;
                 }
+            case 10:
+                {
+                handler->setCategory("media image");
+                break;
+                }
+            case 11:
+                {
+                handler->setCategory("media audio");
+                break;
+                }
+            case 12:
+                {
+                handler->setCategory("media video");
+                break;
+                }
             }
         mSearchHandlerList.append(handler);
         }
@@ -284,8 +251,19 @@
     {
     //  WMS_LOG << "::onEntry";
     QState::onEntry(event);
+
+    mStateStatus = true;// used for conditional execution for the slots that are connected as transitions
+    if (mSearchPanel)
+        {
+        mSearchPanel->setPlaceholderText(hbTrId(
+                "txt_search_dialog_search_device"));
+        mSearchPanel->setProgressive(true);
+        }
+    if (mListView)
+        {
+        mListView->setVisible(true);
+        }
     activateSignals();
-
     // If this is not the current view, we're getting back from plugin view  
     if (mMainWindow)
         {
@@ -313,7 +291,8 @@
 void SearchProgressiveState::onExit(QEvent *event)
     {
     QState::onExit(event);
-    deActivateSignals();
+    mStateStatus = false;
+    deActivateSignals();    
     }
 // ---------------------------------------------------------------------------
 // SearchProgressiveState::activateSignals
@@ -326,8 +305,8 @@
                 SIGNAL(handleAsyncSearchResult(int,int)), this,
                 SLOT(onAsyncSearchComplete(int,int)));
         connect(mSearchHandlerList.at(i),
-                SIGNAL(handleDocument(int,QCPixDocument*)), this,
-                SLOT(onGetDocumentComplete(int,QCPixDocument*)));
+                SIGNAL(handleDocument(int,CpixDocument*)), this,
+                SLOT(onGetDocumentComplete(int,CpixDocument*)));
         }
     if (mListView)
         {
@@ -341,9 +320,7 @@
         connect(mSearchPanel, SIGNAL(searchOptionsClicked()), this,
                 SLOT(setSettings()));
         }
-
     connect(mMainWindow, SIGNAL(viewReady()), this, SLOT(viewReady()));
-
     }
 // ---------------------------------------------------------------------------
 // SearchProgressiveState::deActivateSignals
@@ -356,8 +333,8 @@
                 SIGNAL(handleAsyncSearchResult(int,int)), this,
                 SLOT(onAsyncSearchComplete(int,int)));
         disconnect(mSearchHandlerList.at(i),
-                SIGNAL(handleDocument(int,QCPixDocument*)), this,
-                SLOT(onGetDocumentComplete(int,QCPixDocument*)));
+                SIGNAL(handleDocument(int,CpixDocument*)), this,
+                SLOT(onGetDocumentComplete(int,CpixDocument*)));
         }
     if (mListView)
         {
@@ -404,12 +381,11 @@
 // SearchProgressiveState::onGetDocumentComplete
 // ---------------------------------------------------------------------------
 void SearchProgressiveState::onGetDocumentComplete(int aError,
-        QCPixDocument* aDoc)
+        CpixDocument* aDoc)
     {
     PERF_CAT_GETDOC_TIME_ACCUMULATE
     if (aDoc == NULL || aError != 0)
         return;
-    QStringList liststr;
     QString secondrow = aDoc->excerpt();
     QString firstrow;
     HbListWidgetItem* listitem = new HbListWidgetItem();
@@ -431,7 +407,6 @@
             {
             firstrow = hbTrId("txt_phob_dblist_unnamed");
             }
-        liststr << firstrow << secondrow;
         listitem->setData(mIconArray.at(0), Qt::DecorationRole);
         }
     else if (aDoc->baseAppClass().contains("audio"))
@@ -445,7 +420,6 @@
             {
             firstrow = hbTrId("txt_mus_dblist_val_unknown4");
             }
-        liststr << firstrow << secondrow;
         listitem->setData(mIconArray.at(1), Qt::DecorationRole);
         if (audioList.value(1, "").length())
             {
@@ -463,7 +437,6 @@
             {
             firstrow.append(videoList.at(2));
             }
-        liststr << firstrow << secondrow;
         listitem->setData(mIconArray.at(2), Qt::DecorationRole);
         if (videoList.value(1, "").length())
             {
@@ -477,7 +450,6 @@
             {
             firstrow.append(imageList.at(0));
             }
-        liststr << firstrow << secondrow;
         listitem->setData(mIconArray.at(3), Qt::DecorationRole);
         if (imageList.value(1, "").length())
             {
@@ -486,16 +458,11 @@
         }
     else if (aDoc->baseAppClass().contains("msg email"))
         {
-        qDebug() << "searchui:on Get doc email";
         QStringList emailList = filterDoc(aDoc, "Sender", "MailBoxId",
                 "FolderId");
-
-        qDebug() << "searchui:recipients" << emailList.at(0) << emailList.at(
-                1) << emailList.at(2);
         firstrow.append(emailList.at(0));
         listitem->setData(emailList.at(1), Qt::UserRole + 2);
         listitem->setData(emailList.at(2), Qt::UserRole + 3);
-        liststr << firstrow << secondrow;
         listitem->setData(mIconArray.at(5), Qt::DecorationRole);
         }
     else if (aDoc->baseAppClass().contains("msg"))
@@ -510,9 +477,8 @@
             if (msgList.value(1, "").length())
                 firstrow.append(msgList.at(1));
             }
-        liststr << firstrow << secondrow;
         listitem->setData(mIconArray.at(4), Qt::DecorationRole);
-        } 
+        }
     else if (aDoc->baseAppClass().contains("calendar"))
         {
         firstrow.append(filterDoc(aDoc, "Summary"));
@@ -520,8 +486,6 @@
             {
             firstrow = hbTrId("txt_calendar_preview_unnamed");
             }
-
-        liststr << firstrow << secondrow;
         listitem->setData(mIconArray.at(6), Qt::DecorationRole);
         }
     else if (aDoc->baseAppClass().contains("notes"))
@@ -531,13 +495,11 @@
             {
             firstrow = hbTrId("txt_notes_dblist_unnamed");
             }
-        liststr << firstrow << secondrow;
         listitem->setData(mIconArray.at(7), Qt::DecorationRole);
         }
     else if (aDoc->baseAppClass().contains("applications"))
         {
         firstrow.append(filterDoc(aDoc, "Name"));
-        liststr << firstrow;
         bool ok;
         TRAP_IGNORE(listitem->setData(getAppIconFromAppIdL(TUid::Uid(aDoc->docId().toInt(
                                                 &ok, 16))), Qt::DecorationRole));
@@ -549,17 +511,56 @@
             {
             firstrow = "UnKnown";
             }
-        liststr << firstrow << secondrow;
         listitem->setData(secondrow, Qt::UserRole + 2);
         listitem->setData(mIconArray.at(8), Qt::DecorationRole);
         }
+    else if (aDoc->baseAppClass().contains("file folder"))
+        {
+        bool ok;
+        QStringList fileList = filterDoc(aDoc, "Name", "IsFolder",
+                "Extension");
+        firstrow = fileList.at(0);
+        if (fileList.at(1).toInt(&ok) == 1) // folder result icon map 
+            {
+            listitem->setData(mIconArray.at(13), Qt::DecorationRole);
+            }
+        else
+            {
+            if (fileList.at(2).contains("sis", Qt::CaseInsensitive)
+                    || fileList.at(1).contains("sisx", Qt::CaseInsensitive))
+                {
+                listitem->setData(mIconArray.at(10), Qt::DecorationRole);
+                }
+            else if (fileList.at(2).contains("java", Qt::CaseInsensitive)
+                    || fileList.at(2).contains("jar", Qt::CaseInsensitive)
+                    || fileList.at(2).contains("jad", Qt::CaseInsensitive))
+                {
+                listitem->setData(mIconArray.at(11), Qt::DecorationRole);
+                }
+            else if (fileList.at(2).contains("swf", Qt::CaseInsensitive))
+                {
+                listitem->setData(mIconArray.at(12), Qt::DecorationRole);
+                }
+            else
+                {
+                listitem->setData(mIconArray.at(14), Qt::DecorationRole);
+                }
+            }
+        }
     else if (aDoc->baseAppClass().contains("file"))
         {
-        firstrow.append(filterDoc(aDoc, "Name"));
+        QStringList fileList = filterDoc(aDoc, "Name", "Extension");
+        firstrow = fileList.at(0);
         if (firstrow.length() == 0)
             firstrow = aDoc->baseAppClass();
-        liststr << firstrow << secondrow;
-        listitem->setData(mIconArray.at(9), Qt::DecorationRole);
+        if (fileList.at(1).contains("txt", Qt::CaseInsensitive))
+            {
+            listitem->setData(mIconArray.at(9), Qt::DecorationRole);
+            }
+        else
+            {
+            listitem->setData(mIconArray.at(14), Qt::DecorationRole);
+            }
         }
     listitem->setText(firstrow);
     listitem->setSecondaryText(secondrow);
@@ -681,8 +682,8 @@
     else if (item->data(Qt::UserRole + 1).toString().contains("msg"))
         {
         PERF_RESULT_ITEM_FOR_LAUNCHING("msg")
-        mRequest = mAiwMgr->create("com.nokia.services.hbserviceprovider",
-                "conversationview", "view(int)", true);
+        mRequest = mAiwMgr->create("messaging",
+                "com.nokia.symbian.IMessageView", "view(int)", true);
 
         int uid = (item->data(Qt::UserRole)).toInt(&t);
         args << uid;
@@ -796,6 +797,18 @@
             {
             mSearchHandler = mSearchHandlerList.at(1);
             }
+        else if (mTemplist.at(mDatabasecount).contains("image"))
+            {
+            mSearchHandler = mSearchHandlerList.at(10);
+            }
+        else if (mTemplist.at(mDatabasecount).contains("audio"))
+            {
+            mSearchHandler = mSearchHandlerList.at(11);
+            }
+        else if (mTemplist.at(mDatabasecount).contains("video"))
+            {
+            mSearchHandler = mSearchHandlerList.at(12);
+            }
         else if (mTemplist.at(mDatabasecount).contains("media"))
             {
             mSearchHandler = mSearchHandlerList.at(2);
@@ -830,7 +843,7 @@
             }
         // mSearchHandler->setCategory(mTemplist.at(mDatabasecount));
         mDatabasecount++;
-        if (mSearchHandler->isPrepared())
+        if (mSearchHandler != NULL && mSearchHandler->isPrepared())
             {
             PERF_CAT_API_TIME_RESTART
             mSearchHandler->searchAsync(aKeyword, "_aggregate");
@@ -895,7 +908,7 @@
 // ---------------------------------------------------------------------------
 void SearchProgressiveState::settingsaction(bool avalue)
     {
-    if (avalue)
+    if (avalue && mStateStatus)
         {
         QMapIterator<int, bool> i(mTempSelectedCategory);
         QMapIterator<int, bool> j(mSelectedCategory);
@@ -1042,7 +1055,6 @@
         CleanupStack::PopAndDestroy(apaMaskedBitmap);
         }
     CleanupStack::PopAndDestroy(&apaLsSession);
-
     if (icon.isNull() || !(icon.size().isValid()))
         icon = HbIcon("qtg_large_application");
     return icon;
@@ -1055,7 +1067,6 @@
     {
     CFbsBitmap *bitamp(0);
     CFbsBitmap *mask(0);
-
     if (AknIconUtils::IsMifFile(fileName))
         {
         // SVG icon
@@ -1068,17 +1079,13 @@
         AknIconUtils::CreateIconLC(bitamp, mask, fileName, bitmapIndex,
                 maskIndex);
         }
-
     AknIconUtils::DisableCompression(bitamp);
     AknIconUtils::SetSize(bitamp, TSize(size.width(), size.height()),
             EAspectRatioPreservedAndUnusedSpaceRemoved);
-
     AknIconUtils::DisableCompression(mask);
     AknIconUtils::SetSize(mask, TSize(size.width(), size.height()),
             EAspectRatioPreservedAndUnusedSpaceRemoved);
-
     fromBitmapAndMaskToPixmapL(bitamp, mask, pixmap);
-
     // bitmap and icon, AknsUtils::CreateIconLC doesn't specify the order
     CleanupStack::Pop(2);
     }
@@ -1182,7 +1189,7 @@
 // ---------------------------------------------------------------------------
 // SearchProgressiveState::filterDoc
 // ---------------------------------------------------------------------------
-QString SearchProgressiveState::filterDoc(const QCPixDocument* aDoc,
+QString SearchProgressiveState::filterDoc(const CpixDocument* aDoc,
         const QString& filter)
     {
     for (int i = 0; i < aDoc->fieldCount(); i++)
@@ -1197,7 +1204,7 @@
 // ---------------------------------------------------------------------------
 // SearchProgressiveState::filterDoc
 // ---------------------------------------------------------------------------
-QStringList SearchProgressiveState::filterDoc(const QCPixDocument* aDoc,
+QStringList SearchProgressiveState::filterDoc(const CpixDocument* aDoc,
         const QString& filter1, const QString& filter2,
         const QString& filter3)
     {
@@ -1330,24 +1337,121 @@
 // ---------------------------------------------------------------------------
 void SearchProgressiveState::viewReady()
     {
+
     if (hbApp)
         {
         if (hbApp->activateReason() == Hb::ActivationReasonActivity)
             {
             QVariantHash params = hbApp->activateParams();
             QString searchKey = params.value("query").toString();
+            params.remove("query");
+            params.remove("activityname");
+            QList<QVariant> list = params.values();
+            mTemplist.clear();
+            for (int i = 0; i < list.count(); i++)
+                {
+                QString str = list.at(i).toString();
+                if (!str.isNull())
+                    mTemplist.append(str);
+                }
             if (searchKey.length() > 0)
                 mSearchPanel->setCriteria(searchKey);
             }
         }PERF_APP_LAUNCH_END("SearchAppplication View is ready");
-     emit applicationReady();
+    emit applicationReady();
     }
+// ---------------------------------------------------------------------------
+// SearchProgressiveState::slotOnlineQuery
+// ---------------------------------------------------------------------------
 void SearchProgressiveState::slotOnlineQuery(QString str)
     {
-    mOriginalString = str;
-    mOnlineQueryAvailable = true;
+    if (mOriginalString != str)
+        {
+        mOriginalString = str;
+        mOnlineQueryAvailable = true;
+        }
     }
+// ---------------------------------------------------------------------------
+// SearchProgressiveState::slotISProvidersIcon
+// ---------------------------------------------------------------------------
 void SearchProgressiveState::slotISProvidersIcon(int id, HbIcon icon)
     {
     mISprovidersIcon.insert(id, icon);
     }
+// ---------------------------------------------------------------------------
+// SearchProgressiveState::slotPrepareResultIcons
+// ---------------------------------------------------------------------------
+void SearchProgressiveState::slotPrepareResultIcons()
+    {
+    //Icon creation in array
+    QStringList icons;
+    icons << "qtg_large_phonebook" << "qtg_large_tone" << "qtg_large_video"
+            << "qtg_large_photos" << "qtg_large_message" << "qtg_large_email"
+            << "qtg_large_calendar" << "qtg_large_notes"
+            << "qtg_large_web_link" << "qtg_large_text" << "qtg_large_sisx"
+            << "qtg_large_java" << "qtg_large_flash" << "qtg_large_folder"
+            << "qtg_large_query";
+    mIconArray.clear();
+    for (int i = 0; i < icons.count(); i++)
+        {
+        HbIcon icon(icons.at(i));
+        if (icon.isNull() || !(icon.size().isValid()))
+            icon = HbIcon("qtg_large_application");
+        mIconArray.append(icon);
+        }
+    /*QList<TUid> appUid;
+     appUid.append(TUid::Uid(0x20022EF9));//contact
+     appUid.append(TUid::Uid(0x10207C62));//audio
+     appUid.append(TUid::Uid(0x200211FE));//video 
+     appUid.append(TUid::Uid(0x20000A14));//image 
+     appUid.append(TUid::Uid(0x2001FE79));//msg
+     appUid.append(TUid::Uid(0x200255BA));//email 
+     appUid.append(TUid::Uid(0x10005901));//calender
+     appUid.append(TUid::Uid(0x20029F80));//notes
+     //appUid.Append(TUid::Uid(0x20022F35));//application
+     appUid.append(TUid::Uid(0x10008D39));//bookmark
+     appUid.append(TUid::Uid(0x2002BCC0));//files
+
+     for (int i = 0; i < appUid.count(); i++)
+     {
+     TRAP_IGNORE(mIconArray.append(getAppIconFromAppIdL(appUid.at(i))));
+     }*/
+    }
+// ---------------------------------------------------------------------------
+// SearchProgressiveState::activityRequested
+// ---------------------------------------------------------------------------
+void SearchProgressiveState::activityRequested(const QString &name)
+    {
+    /* when search application is launched in normal and then supporting for activity uri
+     * for normal search launching "media" is used instead of "media image","media audio","media video" 
+     */
+    if (mSearchHandlerList.count() != totalcategories_activityreasonreason)
+        {
+        InDeviceHandler* handler = NULL;
+        handler->setCategory("media image");
+        mSearchHandlerList.append(handler);
+        handler->setCategory("media audio");
+        mSearchHandlerList.append(handler);
+        handler->setCategory("media video");
+        mSearchHandlerList.append(handler);
+        }
+    if (name == "SearchDeviceQueryView")
+        {
+        QVariantHash params = hbApp->activateParams();
+        QString searchKey = params.value("query").toString();
+        int i = params.count();
+        params.remove("query");
+        params.remove("activityname");
+        QList<QVariant> list = params.values();
+        int j = list.count();
+        mTemplist.clear();
+        for (int i = 0; i < list.count(); i++)
+            {
+            QString str = list.at(i).toString();
+            if (!str.isNull())
+                mTemplist.append(str);
+            }
+        if (searchKey.length() > 0)
+            mSearchPanel->setCriteria(searchKey);
+        }
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/searchui/stateproviders/searchstateprovider/src/searchuiloader.cpp	Mon Jul 26 12:45:04 2010 +0530
@@ -0,0 +1,146 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  Implementation of the uicontroller.
+ *
+ */
+
+#include "searchuiloader.h"
+#include <hbdocumentloader.h>
+#include <hbview.h>
+#include <hblistwidget.h>
+#include <hbsearchpanel.h>
+#include <hbabstractviewitem.h>
+#include <hbframebackground.h>
+#include <hblistviewitem.h>
+#include <hbmainwindow.h>
+#include <hbaction.h>
+#include <hbinstance.h>
+#include <tstasksettings.h>
+#include <hbshrinkingvkbhost.h>
+const char *SEARCHSTATEPROVIDER_DOCML = ":/xml/searchstateprovider.docml";
+const char *TOC_VIEW = "tocView";
+const char *TUT_SEARCHPANEL_WIDGET = "searchPanel";
+const char *TUT_LIST_VIEW = "listView";
+
+SearchUiLoader *SearchUiLoader::m_instance = 0;
+int SearchUiLoader::m_instanceCounter = 0;
+
+// ---------------------------------------------------------------------------
+// SearchUiLoader::SearchUiLoader
+// ---------------------------------------------------------------------------
+SearchUiLoader::SearchUiLoader() :
+    mDocumentLoader(NULL), mView(NULL), mListWidget(NULL), mSearchPanel(NULL),mClient(NULL)
+    {
+    bool ok = false;
+
+    mDocumentLoader = new HbDocumentLoader();
+
+    mDocumentLoader->load(SEARCHSTATEPROVIDER_DOCML, &ok);
+
+    QGraphicsWidget *widget = mDocumentLoader->findWidget(TOC_VIEW);
+
+    Q_ASSERT_X(ok && (widget != 0), "TOC_VIEW", "invalid view");
+
+    mView = qobject_cast<HbView*> (widget);
+
+    if (mView)
+        {
+        mView->setTitle(hbTrId("txt_search_title_search"));
+        }
+
+    mListWidget = qobject_cast<HbListWidget *> (mDocumentLoader->findWidget(
+            TUT_LIST_VIEW));
+
+    Q_ASSERT_X(ok && (mListWidget != 0), "TUT_LIST_VIEW", "invalid viewocML file");
+
+    if (mListWidget)
+        {
+        HbAbstractViewItem *prototype = mListWidget->itemPrototypes().first();
+        HbFrameBackground frame;
+        frame.setFrameGraphicsName("qtg_fr_list_normal");
+        frame.setFrameType(HbFrameDrawer::NinePieces);
+        prototype->setDefaultFrame(frame);
+        HbListViewItem *prototypeListView = qobject_cast<HbListViewItem *> (
+                prototype);
+        prototypeListView->setGraphicsSize(HbListViewItem::LargeIcon);
+        if (prototypeListView)
+            {
+            prototypeListView->setTextFormat(Qt::RichText);
+            }
+        HbAbstractItemView::ItemAnimations noCreationAndRemovalAnimations =
+                HbAbstractItemView::All;
+        noCreationAndRemovalAnimations ^= HbAbstractItemView::Appear;
+        noCreationAndRemovalAnimations ^= HbAbstractItemView::Disappear;
+        mListWidget->setEnabledAnimations(noCreationAndRemovalAnimations);
+        }
+
+    mSearchPanel = qobject_cast<HbSearchPanel *> (
+            mDocumentLoader->findWidget(TUT_SEARCHPANEL_WIDGET));
+    if (mSearchPanel)
+        {
+        Qt::InputMethodHints hints = mSearchPanel->inputMethodHints();
+        hints |= Qt::ImhNoPredictiveText;
+        mSearchPanel->setInputMethodHints(hints);
+        mSearchPanel->setSearchOptionsEnabled(true);
+        mSearchPanel->setCancelEnabled(false);
+        }
+
+    mMainWindow = hbInstance->allMainWindows().at(0);
+    HbAction *action = new HbAction(Hb::DoneNaviAction);
+    connect(action, SIGNAL(triggered()), this, SLOT(slotsendtobackground()));
+    mView->setNavigationAction(action);
+    mVirtualKeyboard = new HbShrinkingVkbHost(mView);
+    QCoreApplication::instance()->installEventFilter(this);
+    }
+// ---------------------------------------------------------------------------
+// SearchUiLoader::~SearchUiLoader
+// ---------------------------------------------------------------------------
+SearchUiLoader::~SearchUiLoader()
+    {
+    QCoreApplication::instance()->removeEventFilter(this);
+
+    if (mDocumentLoader)
+        {
+        delete mDocumentLoader;
+        }
+    delete mClient;
+    }
+// ---------------------------------------------------------------------------
+// SearchUiLoader::slotsendtobackground
+// ---------------------------------------------------------------------------
+void SearchUiLoader::slotsendtobackground()
+    {
+    if (!mClient)
+        mClient = new TsTaskSettings;
+    mClient->setVisibility(false);
+    mListWidget->clear();
+    mSearchPanel->setCriteria(QString());
+    mMainWindow->lower();
+    }
+// ---------------------------------------------------------------------------
+// SearchUiLoader::event
+// ---------------------------------------------------------------------------
+bool SearchUiLoader::eventFilter(QObject *obj, QEvent *event)
+    {
+    if (event->type() == QEvent::ApplicationActivate)
+        {
+        if (!mClient)
+            mClient = new TsTaskSettings;
+        mClient->setVisibility(true);
+        if (!(mListWidget->count()))
+            mSearchPanel->setFocus();
+        return true;
+        }
+    return QObject::eventFilter(obj, event);
+    }
--- a/searchui/stateproviders/searchstateprovider/src/settingswidget.cpp	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/stateproviders/searchstateprovider/src/settingswidget.cpp	Mon Jul 26 12:45:04 2010 +0530
@@ -52,7 +52,6 @@
             mModel(NULL), mSelectedScope(0), mSelectedProvider(0), comboBox(
                     NULL), mInternetHandler(NULL)
     {
-    setSettingsFilePath();
     for (int i = 0; i < 8; i++)
         {
         mDeviceMapping.append(false);
@@ -397,12 +396,12 @@
         }
     if (!isInternetSelected)
         {
-           mActions.at(0)->setVisible(true);
-     
-           if (noItemSelected)
-             {     
-               mActions.at(0)->setVisible(false);
-              }
+        mActions.at(0)->setVisible(true);
+
+        if (noItemSelected)
+            {
+            mActions.at(0)->setVisible(false);
+            }
         }
     }
 //----------------------------------------------------------------------------------------------------------------------------
@@ -488,7 +487,7 @@
 
 void SettingsWidget::storeSettingsToiniFile()
     {
-    QSettings appSettings(mSettingFileName, QSettings::IniFormat);
+    QSettings appSettings(SETTINGS_INI_PATH, QSettings::IniFormat);
     isInternetSelected ? (mSelectedScope = 1) : (mSelectedScope = 0);
     appSettings.setValue("selectedcategory", mSelectedScope);
     appSettings.setValue("devicecount", mDeviceCategoryRefList.count());
@@ -527,7 +526,7 @@
 //----------------------------------------------------------------------------------------------------------------------------
 void SettingsWidget::loadBaseSettings()
     {
-    QSettings appSettings(mSettingFileName, QSettings::IniFormat);
+    QSettings appSettings(SETTINGS_INI_PATH, QSettings::IniFormat);
     mSelectedScope = appSettings.value("selectedcategory", 0).toInt();
     mSelectedScope ? (isInternetSelected = true) : (isInternetSelected
             = false);
@@ -539,7 +538,7 @@
 //----------------------------------------------------------------------------------------------------------------------------
 void SettingsWidget::loadDeviceSettings()
     {
-    QSettings appSettings(mSettingFileName, QSettings::IniFormat);
+    QSettings appSettings(SETTINGS_INI_PATH, QSettings::IniFormat);
     int value;
     if (!isInternetSelected)
         {
@@ -585,7 +584,7 @@
 //----------------------------------------------------------------------------------------------------------------------------
 void SettingsWidget::storeDefaultSettings()
     {
-    QSettings appSettings(mSettingFileName, QSettings::IniFormat);
+    QSettings appSettings(SETTINGS_INI_PATH, QSettings::IniFormat);
     if (!appSettings.contains("selectedcategory")) // change the settings for the first time only
         {
         mSelectedScope = 0;
@@ -619,11 +618,6 @@
         selectedindex++;
         }
     }
-void SettingsWidget::setSettingsFilePath()
-    {
-    mSettingFileName.append(QDir::currentPath());
-    mSettingFileName.append(QString("/searchsettings.ini"));
-    }
 void SettingsWidget::loadIS()
     {
     if (!mInternetHandler)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/searchui/stateproviders/searchstateprovider/tsrc/t_searchactivity/inc/t_searchactivity.h	Mon Jul 26 12:45:04 2010 +0530
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+#ifndef SEARCHTESTACTIVITY_H_
+#define SEARCHTESTACTIVITY_H_
+
+#include <hbwidget.h>
+#include <qgraphicslinearlayout.h>
+#include <hbpushbutton.h>
+#include <hblabel.h>
+#include <hbLineedit.h>
+class HbCheckBox;
+class SearchTestActivity : public HbWidget
+    {
+Q_OBJECT
+public:
+    SearchTestActivity(QGraphicsItem *parent = 0);
+    ~SearchTestActivity();
+
+private:
+
+    QGraphicsLinearLayout *mColumn1Layout;
+    QGraphicsLinearLayout *mColumn2Layout;
+
+    QGraphicsLinearLayout *mCheckBoxLayout;
+    QGraphicsLinearLayout *mButtonLayout;
+
+    QGraphicsLinearLayout *mMainLayout;
+
+    HbLineEdit *mLineEdit;
+    HbPushButton *mIndevice;
+    HbPushButton *mOnline;
+
+    QObject *mActivityManager;
+    QList<HbCheckBox*> mselectioncheckbox;
+
+private slots:
+    void launchDeviceApp();
+    void launchInternetApp();
+
+    };
+
+#endif /* SEARCHTESTACTIVITY_H_*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/searchui/stateproviders/searchstateprovider/tsrc/t_searchactivity/src/main.cpp	Mon Jul 26 12:45:04 2010 +0530
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include "t_searchactivity.h"
+
+
+
+
+int main(int argc, char **argv)
+{
+    HbApplication app(argc, argv);
+    SearchTestActivity* lw = new SearchTestActivity();
+    HbMainWindow mainWindow;
+    mainWindow.addView( lw );
+    mainWindow.show();
+
+    return app.exec();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/searchui/stateproviders/searchstateprovider/tsrc/t_searchactivity/src/t_searchactivity.cpp	Mon Jul 26 12:45:04 2010 +0530
@@ -0,0 +1,198 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+#include "t_searchactivity.h"
+#include <qurl.h>
+#include <qservicemanager.h>
+#include <hbcheckbox.h>
+QTM_USE_NAMESPACE
+
+const QString KAppUid = "0x2002C377";
+
+SearchTestActivity::SearchTestActivity(QGraphicsItem *parent) :
+    HbWidget(parent)
+    {
+
+    QServiceManager serviceManager;
+    mActivityManager = serviceManager.loadInterface(
+            "com.nokia.qt.activities.ActivityManager");
+    //mActivityManager->run
+    if (!mActivityManager)
+        {
+        qFatal(
+                "Cannot initialize critical com.nokia.qt.activities.ActivityManager service.");
+        }
+
+    mColumn1Layout = new QGraphicsLinearLayout(Qt::Vertical);
+    mColumn2Layout = new QGraphicsLinearLayout(Qt::Vertical);
+    mButtonLayout = new QGraphicsLinearLayout(Qt::Horizontal);
+    mMainLayout = new QGraphicsLinearLayout(Qt::Vertical);
+    mCheckBoxLayout = new QGraphicsLinearLayout(Qt::Horizontal);
+
+    HbCheckBox* check1 = new HbCheckBox(this);
+    check1->setText("contact");
+    HbCheckBox* check2 = new HbCheckBox(this);
+    check2->setText("media");
+    HbCheckBox* check3 = new HbCheckBox(this);
+    check3->setText("calendar");
+    HbCheckBox* check4 = new HbCheckBox(this);
+    check4->setText("notes");
+    HbCheckBox* check5 = new HbCheckBox(this);
+    check5->setText("image");
+    HbCheckBox* check6 = new HbCheckBox(this);
+    check6->setText("audio");
+    HbCheckBox* check7 = new HbCheckBox(this);
+    check7->setText("video");
+    HbCheckBox* check8 = new HbCheckBox(this);
+    check8->setText("bookmark");
+    HbCheckBox* check9 = new HbCheckBox(this);
+    check9->setText("msg");
+    HbCheckBox* check10 = new HbCheckBox(this);
+    check10->setText("file");
+    HbCheckBox* check11 = new HbCheckBox(this);
+    check11->setText("applications");
+    HbCheckBox* check12 = new HbCheckBox(this);
+    check12->setText("email");
+
+    mColumn1Layout->addItem(check1);
+    mColumn1Layout->addItem(check2);    
+    mColumn1Layout->addItem(check3);
+    mColumn1Layout->addItem(check4);
+    mColumn1Layout->addItem(check5);    
+    mColumn1Layout->addItem(check6);
+    
+    mColumn2Layout->addItem(check7);
+    mColumn2Layout->addItem(check8);
+    mColumn2Layout->addItem(check9);
+    mColumn2Layout->addItem(check10);
+    mColumn2Layout->addItem(check11);
+    mColumn2Layout->addItem(check12);
+    
+    mCheckBoxLayout->addItem(mColumn1Layout);
+    mCheckBoxLayout->addItem(mColumn2Layout); 
+    
+
+    mIndevice = new HbPushButton("InDevice");
+    mIndevice->setMaximumHeight(50);
+    mOnline = new HbPushButton("Online");
+    mOnline->setMaximumHeight(50);
+    
+    mButtonLayout->addItem(mIndevice);
+    mButtonLayout->addItem(mOnline);
+    
+    
+    mLineEdit = new HbLineEdit("");
+    mLineEdit->setPlaceholderText("Search Query");
+    
+    
+
+    mMainLayout->addItem(mCheckBoxLayout);
+    mMainLayout->addItem(mLineEdit);
+    mMainLayout->addItem(mButtonLayout);
+
+    
+    
+    connect(mIndevice, SIGNAL(released()), this, SLOT(launchDeviceApp()));
+    connect(mOnline, SIGNAL(released()), this,
+            SLOT(launchInternetApp()));
+
+    setLayout(mMainLayout);
+
+    mselectioncheckbox.append(check1);
+    mselectioncheckbox.append(check2);
+    mselectioncheckbox.append(check3);
+    mselectioncheckbox.append(check4);
+    mselectioncheckbox.append(check5);
+    mselectioncheckbox.append(check6);
+    mselectioncheckbox.append(check7);
+    mselectioncheckbox.append(check8);
+    mselectioncheckbox.append(check9);
+    mselectioncheckbox.append(check10);
+    mselectioncheckbox.append(check11);
+    mselectioncheckbox.append(check12);
+    }
+
+SearchTestActivity::~SearchTestActivity()
+    {    
+    delete mMainLayout;    
+    delete mActivityManager;    
+    }
+
+void SearchTestActivity::launchDeviceApp()
+    {
+    QUrl url;
+    url.setScheme("appto");
+    url.setHost(KAppUid);
+    url.addQueryItem("activityname", "SearchDeviceQueryView");
+    url.addQueryItem("query",mLineEdit->text());
+    /*
+     * QString str = "a";
+     * url.addQueryItem("query", str);
+    */
+    
+    for (int i = 0; i < mselectioncheckbox.count(); i++)
+        {
+        if (mselectioncheckbox.at(i)->isChecked())
+            {
+            QString str = mselectioncheckbox.at(i)->text();
+            url.addQueryItem(str, str);
+            }
+        }
+    QString debugString = url.toString();
+    bool ok = QMetaObject::invokeMethod(mActivityManager, "launchActivity",
+            Q_ARG(QUrl, url));
+    if (ok)
+        {
+        //mResultLabel->setPlainText("ok");
+        }
+    else
+        {
+        //mResultLabel->setPlainText("fail");
+        }
+    }
+
+void SearchTestActivity::launchInternetApp()
+    {
+    QUrl url;
+    url.setScheme("appto");
+    url.setHost(KAppUid);
+    url.addQueryItem("activityname", "SearchWebQueryView");
+    url.addQueryItem("query", mLineEdit->text());
+    /*QString str = "a";
+    url.addQueryItem("query", str);*/
+
+    for (int i = 0; i < mselectioncheckbox.count(); i++)
+        {
+        if (mselectioncheckbox.at(i)->isChecked())
+            {
+            QString str = mselectioncheckbox.at(i)->text();
+            url.addQueryItem(str, str);
+            }
+        }
+    QString debugString = url.toString();
+    bool ok = QMetaObject::invokeMethod(mActivityManager, "launchActivity",
+            Q_ARG(QUrl, url));
+    if (ok)
+        {
+        //mResultLabel->setPlainText("ok");
+        }
+    else
+        {
+        //mResultLabel->setPlainText("fail");
+        }
+
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/searchui/stateproviders/searchstateprovider/tsrc/t_searchactivity/t_searchactivity.pri	Mon Jul 26 12:45:04 2010 +0530
@@ -0,0 +1,20 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+#Header files
+HEADERS += ./inc/*.h 
+
+#Source files
+SOURCES += ./src/*.cpp 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/searchui/stateproviders/searchstateprovider/tsrc/t_searchactivity/t_searchactivity.pro	Mon Jul 26 12:45:04 2010 +0530
@@ -0,0 +1,35 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:  Search stateprovider unit test project file
+#
+
+TEMPLATE = app
+
+CONFIG += hb console mobility
+
+MOBILITY = serviceframework
+
+symbian {         
+CONFIG += symbian_test               
+TARGET.UID2 = 0x100039CE
+
+TARGET.CAPABILITY = ALL -TCB -DRM
+TARGET.EPOCSTACKSIZE = 0x14000 // 80kB
+TARGET.EPOCHEAPSIZE = 0x20000 0x800000 // 128kB - 16MB
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE 
+INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+}
+
+include(t_searchactivity.pri)
+
--- a/searchui/stateproviders/searchstateprovider/tsrc/t_searchstateprovider/inc/t_searchstateprovider.h	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/stateproviders/searchstateprovider/tsrc/t_searchstateprovider/inc/t_searchstateprovider.h	Mon Jul 26 12:45:04 2010 +0530
@@ -57,7 +57,7 @@
     void testopenResultitem();
     void testgetSettingCategory();
     void testsetSettings();
-    void teststartNewSearch();    
+    void teststartNewSearch();
     void testsettingsaction();
     void testcancelSearch();
     void testhandleOkError();
@@ -103,15 +103,26 @@
     void testcreateGui();
     void testpreparecategories();
     void testq_currentIndexChanged();
-
     void selectedItemCategory();
 
-    /* void testOnWizardAddedSignalledNoWizardInCS();
-     void testProgressUpdated();
-     void testWizardSelected();    
+    /**
+     * t_searchonlinestate.cpp
      */
+    void teststartOnlineSearch();
+    void testonlinesetSettings();
+    void testonlinecancelSearch();    
+    void testslotbackEventTriggered();
+    void testslotIndeviceQuery();
+    void testslotlaunchLink();
+    void testslotviewReady();    
+
+    /**
+     * t_searchstateprovider.cpp
+     * unit test code for uiloader
+     */
+    void testcreatenanddelete();
+    void testslotsendtobackground();
 private:
-
     /**
      * Helper method testing construction of state
      *
@@ -121,10 +132,9 @@
      * @return True if state was created successfully, false otherwise.
      * @since S60 ?S60_version.
      */
-    bool verifyStateCreation(const QString& uri);    
-
-    HbMainWindow* mainWindow();
-
+    bool verifyStateCreation(const QString& uri);
+    
+    HbMainWindow *mainWindow();
 private:
 
     HbMainWindow *mMainWindow;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/searchui/stateproviders/searchstateprovider/tsrc/t_searchstateprovider/src/t_searchonlinestate.cpp	Mon Jul 26 12:45:04 2010 +0530
@@ -0,0 +1,65 @@
+#include "t_searchstateprovider.h"
+#include "searchonlinestate.h"
+
+void SearchStateProviderTest::teststartOnlineSearch()
+    {
+    SearchOnlineState* onlinestate = new SearchOnlineState();
+    QEvent *event = new QEvent(QEvent::None);
+    onlinestate->onEntry(event);
+    onlinestate->startOnlineSearch("query");
+    delete onlinestate;
+    }
+void SearchStateProviderTest::testonlinesetSettings()
+    {
+    SearchOnlineState* onlinestate = new SearchOnlineState();
+    QEvent *event = new QEvent(QEvent::None);
+    onlinestate->onEntry(event);
+    onlinestate->mSearchQuery = "query";
+    QSignalSpy spy(onlinestate, SIGNAL(onlineSearchQuery(QString)));
+    onlinestate->setSettings();
+    QCOMPARE(spy.count(), 1);
+    QSignalSpy spy1(onlinestate, SIGNAL(switchOnlineToSettingsState()));
+    onlinestate->setSettings();
+    QCOMPARE(spy1.count(), 1);
+    delete onlinestate;
+    }
+void SearchStateProviderTest::testonlinecancelSearch()
+    {
+    SearchOnlineState* onlinestate = new SearchOnlineState();
+    QEvent *event = new QEvent(QEvent::None);
+    onlinestate->onEntry(event);
+    onlinestate->cancelSearch();
+    delete onlinestate;
+    }
+void SearchStateProviderTest::testslotbackEventTriggered()
+    {
+    SearchOnlineState* onlinestate = new SearchOnlineState();
+    QEvent *event = new QEvent(QEvent::None);
+    onlinestate->onEntry(event);
+    onlinestate->slotbackEventTriggered();
+    delete onlinestate;
+    }
+void SearchStateProviderTest::testslotIndeviceQuery()
+    {
+    SearchOnlineState* onlinestate = new SearchOnlineState();
+    QEvent *event = new QEvent(QEvent::None);
+    onlinestate->onEntry(event);
+    onlinestate->slotIndeviceQuery("query");
+    delete onlinestate;
+    }
+void SearchStateProviderTest::testslotlaunchLink()
+    {
+    SearchOnlineState* onlinestate = new SearchOnlineState();
+    QEvent *event = new QEvent(QEvent::None);
+    onlinestate->onEntry(event);
+    onlinestate->slotlaunchLink(1,"Query");
+    delete onlinestate;
+    }
+void SearchStateProviderTest::testslotviewReady()
+    {
+    SearchOnlineState* onlinestate = new SearchOnlineState();
+    QEvent *event = new QEvent(QEvent::None);
+    onlinestate->onEntry(event);
+    onlinestate->slotviewReady();
+    delete onlinestate;
+    }
--- a/searchui/stateproviders/searchstateprovider/tsrc/t_searchstateprovider/src/t_searchprogressivestate.cpp	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/stateproviders/searchstateprovider/tsrc/t_searchstateprovider/src/t_searchprogressivestate.cpp	Mon Jul 26 12:45:04 2010 +0530
@@ -14,6 +14,7 @@
 #include <AknIconUtils.h> 
 #include <apgcli.h>
 #include <hbsearchpanel.h>
+#include  <qmap.h>
 
 // ---------------------------------------------------------------------------
 // ---------------------------------------------------------------------------
@@ -27,8 +28,7 @@
 
     QVERIFY(progressiveState != NULL);
     QVERIFY(progressiveState->mView);
-    QVERIFY(progressiveState->mListView);
-    QVERIFY(progressiveState->mDocumentLoader);
+    QVERIFY(progressiveState->mListView);    
     QVERIFY(progressiveState->mSearchPanel);
     //QVERIFY(progressiveState->mSearchHandler);
 
@@ -109,9 +109,11 @@
     progressiveState->mSearchHandler
             = progressiveState->mSearchHandlerList.at(2);
    
-    
-    progressiveState->mSearchHandler->searchAsync("jpg*", "_aggregate");
-    QTest::qWait(2000);
+    //progressiveState->mSearchHandler->searchAsync("$prefix(\\jpg\\", "_aggregate");
+    //progressiveState->mSearchHandler->searchAsync("$prefix(\"jpg\")", "_aggregate");
+    progressiveState->onAsyncSearchComplete(-1,0);
+    progressiveState->onAsyncSearchComplete(0,0);
+    progressiveState->onAsyncSearchComplete(0,10);
     QVERIFY(progressiveState->mResultcount);
 
     delete progressiveState;
@@ -216,7 +218,7 @@
     SearchProgressiveState* progressiveState = new SearchProgressiveState();
     QEvent *event = new QEvent(QEvent::None);
     progressiveState->onEntry(event);
-    QSignalSpy spy(progressiveState, SIGNAL(settingsState()));
+    QSignalSpy spy(progressiveState, SIGNAL(switchProToSettingsState()));
     progressiveState->setSettings();
     QCOMPARE(spy.count(), 1);
     delete progressiveState;
@@ -326,7 +328,11 @@
     {
     SearchProgressiveState* progressiveState = new SearchProgressiveState();
     QEvent *event = new QEvent(QEvent::None);
-    progressiveState->onEntry(event);    
+    progressiveState->onEntry(event);
+   
+   
+    //progressiveState->mISprovidersIcon.insert(1,icon1);
+    progressiveState->mISprovidersIcon.insert(1, progressiveState->mIconArray.at(1));
     progressiveState->createSuggestionLink();
     QCOMPARE(progressiveState->mListView->count(), 1);
     delete progressiveState;
--- a/searchui/stateproviders/searchstateprovider/tsrc/t_searchstateprovider/src/t_searchsettingsstate.cpp	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/stateproviders/searchstateprovider/tsrc/t_searchstateprovider/src/t_searchsettingsstate.cpp	Mon Jul 26 12:45:04 2010 +0530
@@ -42,7 +42,7 @@
     {
     SearchSettingsState* settingsState = new SearchSettingsState();
 
-    QSignalSpy spy(settingsState, SIGNAL(backEventTriggered()));
+    QSignalSpy spy(settingsState, SIGNAL(clickstatus(bool)));
     settingsState->handleBackEvent(true);
     QCOMPARE(spy.count(), 1);
 
@@ -74,7 +74,7 @@
     {
     SearchSettingsState* settingsState = new SearchSettingsState();
     QSignalSpy spy(settingsState,
-                SIGNAL(customizeGoButton(bool)));
+                SIGNAL(switchToProState()));
     
     settingsState->isInternetOn();    
     
--- a/searchui/stateproviders/searchstateprovider/tsrc/t_searchstateprovider/src/t_searchstateprovider.cpp	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/stateproviders/searchstateprovider/tsrc/t_searchstateprovider/src/t_searchstateprovider.cpp	Mon Jul 26 12:45:04 2010 +0530
@@ -18,10 +18,11 @@
 #include "t_searchstateprovider.h"
 //#include "searchruntimeprovider.h"
 #include "searchstateprovider.h"
-
+#include "searchuiloader.h"
 #include <qmetatype.h>
 #include <qstate.h>
-
+#include <hblistwidget.h>
+#include <hbsearchpanel.h>
 #include <hbinstance.h>
 #include <hbmainwindow.h>
 #include <hbview.h>
@@ -115,6 +116,22 @@
     QVERIFY(verifyStateCreation("search.nokia.com/state/wizardsettingstate"));
     // delete wind;
     }
+void SearchStateProviderTest::testcreatenanddelete()
+    {    
+    SearchUiLoader* uiloader = SearchUiLoader::instance();    
+    QVERIFY(uiloader->View());
+    QVERIFY(uiloader->ListWidget());
+    QVERIFY(uiloader->SearchPanel());
+    uiloader->deleteLater();
+    }
+void SearchStateProviderTest::testslotsendtobackground()
+    {
+    SearchUiLoader* uiloader = SearchUiLoader::instance();
+    uiloader->slotsendtobackground();
+    QCOMPARE(uiloader->mListWidget->count(),0);
+    QCOMPARE(uiloader->mSearchPanel->criteria(),QString());
+    uiloader->deleteLater();
+    }
 // ---------------------------------------------------------------------------
 // ---------------------------------------------------------------------------
 //
--- a/searchui/stateproviders/searchstateprovider/tsrc/t_searchstateprovider/src/t_settingswidget.cpp	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/stateproviders/searchstateprovider/tsrc/t_searchstateprovider/src/t_settingswidget.cpp	Mon Jul 26 12:45:04 2010 +0530
@@ -142,7 +142,7 @@
 void SearchStateProviderTest::teststoreDefaultSettings()
     {
     QDir dir;
-    bool ret = dir.remove("search.ini");
+    bool ret = dir.remove(SETTINGS_INI_PATH);
 
     SettingsWidget* settingswizard = new SettingsWidget();
     settingswizard->initialize();
--- a/searchui/stateproviders/searchstateprovider/tsrc/t_searchstateprovider/t_searchstateprovider.pro	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/stateproviders/searchstateprovider/tsrc/t_searchstateprovider/t_searchstateprovider.pro	Mon Jul 26 12:45:04 2010 +0530
@@ -35,7 +35,7 @@
 
 LIBS += -lsearchindevicehandler
 LIBS += -lxqservice 
-LIBS += -lqcpixsearchclient
+LIBS += -lcpixsearch
 LIBS += -laknskins 
 LIBS += -lfbscli
 LIBS += -laknicon
@@ -48,6 +48,7 @@
 LIBS += -lapgrfx
 LIBS += -lws32
 LIBS += -lavkon
+LIBS += -ltstaskmonitorclient.dll
 
 CONFIG += qtestlib \
           symbian_test \
--- a/searchui/stateproviders/searchstateprovider/tsrc/tsrc.pro	Mon Jul 12 00:27:06 2010 +0530
+++ b/searchui/stateproviders/searchstateprovider/tsrc/tsrc.pro	Mon Jul 26 12:45:04 2010 +0530
@@ -16,6 +16,7 @@
 
 TEMPLATE = subdirs
 
-SUBDIRS  = t_searchstateprovider
+SUBDIRS  = t_searchstateprovider \
+           t_searchactivity
            
 CONFIG  += ordered
\ No newline at end of file