--- a/searchui/stateproviders/searchstateprovider/src/searchprogressivestate.cpp Mon Jul 26 12:45:04 2010 +0530
+++ b/searchui/stateproviders/searchstateprovider/src/searchprogressivestate.cpp Mon Aug 09 12:23:41 2010 +0530
@@ -56,6 +56,8 @@
#define hbApp qobject_cast<HbApplication*>(qApp)
const int totalcategories_normalreason = 10;
const int totalcategories_activityreasonreason = 13;
+const int intial_iteration = 3;
+const int batch_iteration = 20;
// ---------------------------------------------------------------------------
// SearchProgressiveState::SearchProgressiveState
// ---------------------------------------------------------------------------
@@ -63,13 +65,12 @@
QState(parent), mMainWindow(NULL), mView(NULL), mListView(NULL),
mSearchHandler(NULL), mNotesEditor(0), mAiwMgr(0), mRequest(0)
{
+ mUiLoader = SearchUiLoader::instance();
mMainWindow = hbInstance->allMainWindows().at(0);
mAiwMgr = new XQApplicationManager;
- mUiLoader = SearchUiLoader::instance();
-
mView = mUiLoader->View();
mListView = mUiLoader->ListWidget();
mSearchPanel = mUiLoader->SearchPanel();
@@ -136,7 +137,10 @@
//Prepare the icons,listen of theme change
connect(hbInstance->theme(), SIGNAL(changeFinished()), this,
SLOT(slotPrepareResultIcons()));
- slotPrepareResultIcons();
+ slotPrepareResultIcons();
+
+ // creating the handler if it is not prepared, useful when user try to create before
+ mValidateHandlerCreation = false;
}
// ---------------------------------------------------------------------------
// SearchProgressiveState::~SearchProgressiveState
@@ -169,79 +173,9 @@
{
categories = totalcategories_activityreasonreason;
}
- InDeviceHandler* handler = NULL;
for (int i = 0; i < categories; i++)
{
- handler = new InDeviceHandler();
- switch (i)
- {
- case 0:
- {
- handler->setCategory("");
- break;
- }
- case 1:
- {
- handler->setCategory("contact");
- break;
- }
- case 2:
- {
- handler->setCategory("media");
- break;
- }
- case 3:
- {
- handler->setCategory("msg");
- break;
- }
- case 4:
- {
- handler->setCategory("msg email");
- break;
- }
- case 5:
- {
- handler->setCategory("calendar");
- break;
- }
- case 6:
- {
- handler->setCategory("notes");
- break;
- }
- case 7:
- {
- handler->setCategory("applications");
- break;
- }
- case 8:
- {
- handler->setCategory("file");
- break;
- }
- case 9:
- {
- 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);
+ mSearchHandlerList.append(constructHandlers(i));
}
}
// ---------------------------------------------------------------------------
@@ -275,6 +209,7 @@
}
if (loadSettings)
{
+ // to get the intial settings form delimeter
emit switchProToSettingsState();
loadSettings = false;
}
@@ -292,7 +227,7 @@
{
QState::onExit(event);
mStateStatus = false;
- deActivateSignals();
+ deActivateSignals();
}
// ---------------------------------------------------------------------------
// SearchProgressiveState::activateSignals
@@ -307,6 +242,10 @@
connect(mSearchHandlerList.at(i),
SIGNAL(handleDocument(int,CpixDocument*)), this,
SLOT(onGetDocumentComplete(int,CpixDocument*)));
+ connect(mSearchHandlerList.at(i),
+ SIGNAL(handleBatchDocument(int,int,CpixDocument**)), this,
+ SLOT(onGetBatchDocumentComplete(int,int,CpixDocument**)));
+
}
if (mListView)
{
@@ -335,6 +274,9 @@
disconnect(mSearchHandlerList.at(i),
SIGNAL(handleDocument(int,CpixDocument*)), this,
SLOT(onGetDocumentComplete(int,CpixDocument*)));
+ disconnect(mSearchHandlerList.at(i),
+ SIGNAL(handleBatchDocument(int,int,CpixDocument**)), this,
+ SLOT(onGetBatchDocumentComplete(int,int,CpixDocument**)));
}
if (mListView)
{
@@ -383,203 +325,54 @@
void SearchProgressiveState::onGetDocumentComplete(int aError,
CpixDocument* aDoc)
{
- PERF_CAT_GETDOC_TIME_ACCUMULATE
- if (aDoc == NULL || aError != 0)
+ if (aError)
return;
- QString secondrow = aDoc->excerpt();
- QString firstrow;
- HbListWidgetItem* listitem = new HbListWidgetItem();
-
- if (aDoc->baseAppClass().contains("contact"))
- {
- QStringList docsList = filterDoc(aDoc, "GivenName", "FamilyName");
- if (docsList.value(0, "").length())
- {
- firstrow.append(docsList.at(0));
- }
- if (docsList.value(1, "").length())
- {
- if (firstrow.length())
- firstrow.append(" ");
- firstrow.append(docsList.at(1));
- }
- if (firstrow.length() == 0)
- {
- firstrow = hbTrId("txt_phob_dblist_unnamed");
- }
- listitem->setData(mIconArray.at(0), Qt::DecorationRole);
- }
- else if (aDoc->baseAppClass().contains("audio"))
- {
- QStringList audioList = filterDoc(aDoc, "Title", "MediaId");
- if (audioList.value(0, "").length())
- {
- firstrow.append(audioList.at(0));
- }
- if (firstrow.length() == 0)
- {
- firstrow = hbTrId("txt_mus_dblist_val_unknown4");
- }
- listitem->setData(mIconArray.at(1), Qt::DecorationRole);
- if (audioList.value(1, "").length())
- {
- listitem->setData(audioList.at(1), Qt::UserRole + 2);
- }
- }
- else if (aDoc->baseAppClass().contains("video"))
- {
- QStringList videoList = filterDoc(aDoc, "Title", "MediaId", "Name");
- if (videoList.value(0, "").length())
- {
- firstrow.append(videoList.at(0));
- }
- if (firstrow.length() == 0 && videoList.value(2, "").length())
- {
- firstrow.append(videoList.at(2));
- }
- listitem->setData(mIconArray.at(2), Qt::DecorationRole);
- if (videoList.value(1, "").length())
- {
- listitem->setData(videoList.at(1), Qt::UserRole + 2);
- }
- }
- else if (aDoc->baseAppClass().contains("image"))
- {
- QStringList imageList = filterDoc(aDoc, "Name", "MediaId");
- if (imageList.value(0, "").length())
- {
- firstrow.append(imageList.at(0));
- }
- listitem->setData(mIconArray.at(3), Qt::DecorationRole);
- if (imageList.value(1, "").length())
- {
- listitem->setData(imageList.at(1), Qt::UserRole + 2);
- }
- }
- else if (aDoc->baseAppClass().contains("msg email"))
- {
- QStringList emailList = filterDoc(aDoc, "Sender", "MailBoxId",
- "FolderId");
- firstrow.append(emailList.at(0));
- listitem->setData(emailList.at(1), Qt::UserRole + 2);
- listitem->setData(emailList.at(2), Qt::UserRole + 3);
- listitem->setData(mIconArray.at(5), Qt::DecorationRole);
- }
- else if (aDoc->baseAppClass().contains("msg"))
- {
- QStringList msgList = filterDoc(aDoc, "Folder", "To", "From");
- if (msgList.value(0).contains("Inbox"))
- {
- firstrow.append(msgList.at(2));
- }
- else
- {
- if (msgList.value(1, "").length())
- firstrow.append(msgList.at(1));
- }
- listitem->setData(mIconArray.at(4), Qt::DecorationRole);
- }
- else if (aDoc->baseAppClass().contains("calendar"))
- {
- firstrow.append(filterDoc(aDoc, "Summary"));
- if (firstrow.length() == 0)
- {
- firstrow = hbTrId("txt_calendar_preview_unnamed");
- }
- listitem->setData(mIconArray.at(6), Qt::DecorationRole);
- }
- else if (aDoc->baseAppClass().contains("notes"))
- {
- firstrow.append(filterDoc(aDoc, "Memo"));
- if (firstrow.length() == 0)
- {
- firstrow = hbTrId("txt_notes_dblist_unnamed");
- }
- listitem->setData(mIconArray.at(7), Qt::DecorationRole);
- }
- else if (aDoc->baseAppClass().contains("applications"))
- {
- firstrow.append(filterDoc(aDoc, "Name"));
- bool ok;
- TRAP_IGNORE(listitem->setData(getAppIconFromAppIdL(TUid::Uid(aDoc->docId().toInt(
- &ok, 16))), Qt::DecorationRole));
- }
- else if (aDoc->baseAppClass().contains("bookmark"))
- {
- firstrow.append(filterDoc(aDoc, "Name"));
- if (firstrow.length() == 0)
- {
- firstrow = "UnKnown";
- }
- 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"))
- {
- QStringList fileList = filterDoc(aDoc, "Name", "Extension");
- firstrow = fileList.at(0);
- if (firstrow.length() == 0)
- firstrow = aDoc->baseAppClass();
- 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);
- listitem->setData(aDoc->docId(), Qt::UserRole);
- listitem->setData(aDoc->baseAppClass(), Qt::UserRole + 1);
- mListView->addItem(listitem);
-
+ parseDocument(aDoc);
mResultparser++;
if (mResultparser < mResultcount)
{
PERF_CAT_GETDOC_TIME_RESTART
- mSearchHandler->getDocumentAsyncAtIndex(mResultparser);
+ if (mResultparser < intial_iteration)
+ {
+ mSearchHandler->getDocumentAsyncAtIndex(mResultparser);
+ }
+ else
+ {
+ mSearchHandler->getBatchDocumentAsyncAtIndex(mResultparser,
+ batch_iteration);
+ }
}
else
{
PERF_CAT_GETDOC_ACCUMULATOR_ENDLOG
searchOnCategory(mSearchString);
}
+ }
+// ---------------------------------------------------------------------------
+// SearchProgressiveState::onGetDocumentComplete
+// ---------------------------------------------------------------------------
+void SearchProgressiveState::onGetBatchDocumentComplete(int aError,
+ int aCount, CpixDocument** aDoc)
+ {
+ if (aError)
+ return;
+ for (int i = 0; i < aCount; i++)
+ {
+ parseDocument(aDoc[i]);
+ }
delete aDoc;
+ mResultparser += aCount;
+ if (mResultparser < mResultcount)
+ {
+ PERF_CAT_GETDOC_TIME_RESTART
+ mSearchHandler->getBatchDocumentAsyncAtIndex(mResultparser,
+ batch_iteration);
+ }
+ else
+ {
+ PERF_CAT_GETDOC_ACCUMULATOR_ENDLOG
+ searchOnCategory(mSearchString);
+ }
}
// ---------------------------------------------------------------------------
// SearchProgressiveState::getSettingCategory
@@ -594,7 +387,8 @@
void SearchProgressiveState::openResultitem(HbListWidgetItem * item)
{
if (item == NULL)
- return;PERF_RESULT_ITEM_LAUNCH_TIME_RESTART
+ return;
+ PERF_RESULT_ITEM_LAUNCH_TIME_RESTART
QList<QVariant> args;
bool t;
mRequest = NULL;
@@ -611,7 +405,7 @@
{
PERF_RESULT_ITEM_FOR_LAUNCHING("bookmark")
QDesktopServices::openUrl(item->data(Qt::UserRole + 2).toString());
-PERF_RESULT_ITEM_LAUNCH_TIME_ENDLOG ("")
+ PERF_RESULT_ITEM_LAUNCH_TIME_ENDLOG ("")
}
else if (item->data(Qt::UserRole + 1).toString().contains("calendar"))
@@ -619,10 +413,10 @@
QDir pluginDir = QDir(QString("z:/resource/qt/plugins/calendar"));
QPluginLoader *calAgandaViewerPluginLoader = new QPluginLoader(
pluginDir.absoluteFilePath(QString(
- "agendaeventviewerplugin.qtplugin")));
+ "agendaeventviewerplugin.qtplugin")));
calAgandaViewerPluginInstance = qobject_cast<
- EventViewerPluginInterface *> (
+ EventViewerPluginInterface *> (
calAgandaViewerPluginLoader->instance());
connect(calAgandaViewerPluginInstance, SIGNAL(viewingCompleted()),
@@ -635,7 +429,7 @@
else if (item->data(Qt::UserRole + 1).toString().contains("applications"))
{
PERF_RESULT_ITEM_FOR_LAUNCHING("applications")
- TRAP_IGNORE(LaunchApplicationL(TUid::Uid((item->data(Qt::UserRole)).toString().toInt(&t, 16))));
+ TRAP_IGNORE(LaunchApplicationL(TUid::Uid((item->data(Qt::UserRole)).toString().toUInt(&t, 16))));
PERF_RESULT_ITEM_LAUNCH_TIME_ENDLOG("")
}
else if (item->data(Qt::UserRole + 1).toString().contains("file"))
@@ -663,7 +457,7 @@
else if (item->data(Qt::UserRole + 1).toString().contains("notes"))
{
PERF_RESULT_ITEM_FOR_LAUNCHING("notes")
- if(mNotesEditor)
+ if (mNotesEditor)
{
mNotesEditor->edit(item->data(Qt::UserRole).toInt());
}
@@ -677,7 +471,8 @@
"viewMessage(QVariant,QVariant,QVariant)", true);
args << item->data(Qt::UserRole + 2).toULongLong(&t) << item->data(
- Qt::UserRole + 3).toULongLong(&t) << item->data(Qt::UserRole).toULongLong(&t);
+ Qt::UserRole + 3).toULongLong(&t)
+ << item->data(Qt::UserRole).toULongLong(&t);
}
else if (item->data(Qt::UserRole + 1).toString().contains("msg"))
{
@@ -688,9 +483,9 @@
int uid = (item->data(Qt::UserRole)).toInt(&t);
args << uid;
}
- else if(item->data(Qt::UserRole + 1).toString().contains("links"))
+ else if (item->data(Qt::UserRole + 1).toString().contains("links"))
{
- emit launchLink((item->data(Qt::UserRole)).toInt(&t),mOriginalString);
+ emit launchLink((item->data(Qt::UserRole)).toInt(&t), mOriginalString);
}
if (mRequest)
{
@@ -722,7 +517,7 @@
void SearchProgressiveState::handleOk(const QVariant& var)
{
Q_UNUSED(var);
-PERF_RESULT_ITEM_LAUNCH_TIME_ENDLOG ("")
+ PERF_RESULT_ITEM_LAUNCH_TIME_ENDLOG ("")
}
// ---------------------------------------------------------------------------
// SearchProgressiveState::handleError
@@ -779,7 +574,7 @@
void SearchProgressiveState::searchOnCategory(const QString aKeyword)
{
#ifdef OST_TRACE_COMPILER_IN_USE
- if( mDatabasecount != 0 )
+ if (mDatabasecount != 0)
{//Search just started.
PERF_CAT_UI_ENDLOG
}
@@ -872,6 +667,26 @@
{
PERF_CAT_TOTAL_TIME_RESTART
mOriginalString = aKeyword.trimmed();
+
+ if (!mValidateHandlerCreation)
+ {
+ for (int i = 0; i < mSearchHandlerList.count(); i++)
+ {
+ /* ignoring bookmark to getrid of unnecesary check as bookmark support is withdrawn
+ * keeping perfomance into consideration, otherwise not
+ */
+ if (!mSearchHandlerList.at(i)->isPrepared() && (i != 9))
+ {
+ constructHandlers(i);
+ mValidateHandlerCreation = false;
+ }
+ else
+ {
+ mValidateHandlerCreation = true;
+ }
+ }
+ }
+
for (int i = 0; i < mSearchHandlerList.count(); i++)
{
mSearchHandlerList.at(i)->cancelLastSearch();
@@ -884,12 +699,9 @@
{
mDatabasecount = 0;
mLinkindex = 0;
- //Prefix query
mSearchString = "$prefix(\"";
mSearchString += mOriginalString;
mSearchString += "\")";
- /*mSearchString = mOriginalString;
- mSearchString.append('*');*/
searchOnCategory(mSearchString);
}
}
@@ -1321,7 +1133,7 @@
CleanupStack::PopAndDestroy(&appArcSession);
}
CleanupStack::PopAndDestroy(&wsSession);
-PERF_RESULT_ITEM_LAUNCH_TIME_ENDLOG ("")
+ PERF_RESULT_ITEM_LAUNCH_TIME_ENDLOG ("")
}
// ---------------------------------------------------------------------------
// SearchProgressiveState::_viewingCompleted
@@ -1330,14 +1142,13 @@
{
if (calAgandaViewerPluginInstance)
calAgandaViewerPluginInstance->deleteLater();
-PERF_RESULT_ITEM_LAUNCH_TIME_ENDLOG ("")
+ PERF_RESULT_ITEM_LAUNCH_TIME_ENDLOG ("")
}
// ---------------------------------------------------------------------------
// SearchProgressiveState::viewReady
// ---------------------------------------------------------------------------
void SearchProgressiveState::viewReady()
{
-
if (hbApp)
{
if (hbApp->activateReason() == Hb::ActivationReasonActivity)
@@ -1357,7 +1168,8 @@
if (searchKey.length() > 0)
mSearchPanel->setCriteria(searchKey);
}
- }PERF_APP_LAUNCH_END("SearchAppplication View is ready");
+ }
+ PERF_APP_LAUNCH_END("SearchAppplication View is ready");
emit applicationReady();
}
// ---------------------------------------------------------------------------
@@ -1455,3 +1267,271 @@
mSearchPanel->setCriteria(searchKey);
}
}
+// ---------------------------------------------------------------------------
+// SearchProgressiveState::parseDocument
+// ---------------------------------------------------------------------------
+void SearchProgressiveState::parseDocument(CpixDocument* aDoc)
+ {
+ PERF_CAT_GETDOC_TIME_ACCUMULATE
+ if (aDoc == NULL)
+ return;
+ QString secondrow = aDoc->excerpt();
+ QString firstrow;
+ HbListWidgetItem* listitem = new HbListWidgetItem();
+
+ if (aDoc->baseAppClass().contains("contact"))
+ {
+ QStringList docsList = filterDoc(aDoc, "GivenName", "FamilyName");
+ if (docsList.value(0, "").length())
+ {
+ firstrow.append(docsList.at(0));
+ }
+ if (docsList.value(1, "").length())
+ {
+ if (firstrow.length())
+ firstrow.append(" ");
+ firstrow.append(docsList.at(1));
+ }
+ if (firstrow.length() == 0)
+ {
+ firstrow = hbTrId("txt_phob_dblist_unnamed");
+ }
+ listitem->setData(mIconArray.at(0), Qt::DecorationRole);
+ }
+ else if (aDoc->baseAppClass().contains("audio"))
+ {
+ QStringList audioList = filterDoc(aDoc, "Title", "MediaId");
+ if (audioList.value(0, "").length())
+ {
+ firstrow.append(audioList.at(0));
+ }
+ if (firstrow.length() == 0)
+ {
+ firstrow = hbTrId("txt_mus_dblist_val_unknown4");
+ }
+ listitem->setData(mIconArray.at(1), Qt::DecorationRole);
+ if (audioList.value(1, "").length())
+ {
+ listitem->setData(audioList.at(1), Qt::UserRole + 2);
+ }
+ }
+ else if (aDoc->baseAppClass().contains("video"))
+ {
+ QStringList videoList = filterDoc(aDoc, "Title", "MediaId", "Name");
+ if (videoList.value(0, "").length())
+ {
+ firstrow.append(videoList.at(0));
+ }
+ if (firstrow.length() == 0 && videoList.value(2, "").length())
+ {
+ firstrow.append(videoList.at(2));
+ }
+ listitem->setData(mIconArray.at(2), Qt::DecorationRole);
+ if (videoList.value(1, "").length())
+ {
+ listitem->setData(videoList.at(1), Qt::UserRole + 2);
+ }
+ }
+ else if (aDoc->baseAppClass().contains("image"))
+ {
+ QStringList imageList = filterDoc(aDoc, "Name", "MediaId");
+ if (imageList.value(0, "").length())
+ {
+ firstrow.append(imageList.at(0));
+ }
+ listitem->setData(mIconArray.at(3), Qt::DecorationRole);
+ if (imageList.value(1, "").length())
+ {
+ listitem->setData(imageList.at(1), Qt::UserRole + 2);
+ }
+ }
+ else if (aDoc->baseAppClass().contains("msg email"))
+ {
+ QStringList emailList = filterDoc(aDoc, "Sender", "MailBoxId",
+ "FolderId");
+ firstrow.append(emailList.at(0));
+ listitem->setData(emailList.at(1), Qt::UserRole + 2);
+ listitem->setData(emailList.at(2), Qt::UserRole + 3);
+ listitem->setData(mIconArray.at(5), Qt::DecorationRole);
+ }
+ else if (aDoc->baseAppClass().contains("msg"))
+ {
+ QStringList msgList = filterDoc(aDoc, "Folder", "To", "From");
+ if (msgList.value(0).contains("Inbox"))
+ {
+ firstrow.append(msgList.at(2));
+ }
+ else
+ {
+ if (msgList.value(1, "").length())
+ firstrow.append(msgList.at(1));
+ }
+ listitem->setData(mIconArray.at(4), Qt::DecorationRole);
+ }
+ else if (aDoc->baseAppClass().contains("calendar"))
+ {
+ firstrow.append(filterDoc(aDoc, "Summary"));
+ if (firstrow.length() == 0)
+ {
+ firstrow = hbTrId("txt_calendar_preview_unnamed");
+ }
+ listitem->setData(mIconArray.at(6), Qt::DecorationRole);
+ }
+ else if (aDoc->baseAppClass().contains("notes"))
+ {
+ firstrow.append(filterDoc(aDoc, "Memo"));
+ if (firstrow.length() == 0)
+ {
+ firstrow = hbTrId("txt_notes_dblist_unnamed");
+ }
+ listitem->setData(mIconArray.at(7), Qt::DecorationRole);
+ }
+ else if (aDoc->baseAppClass().contains("applications"))
+ {
+ firstrow.append(filterDoc(aDoc, "Name"));
+ bool ok;
+ TRAP_IGNORE(listitem->setData(getAppIconFromAppIdL(TUid::Uid(aDoc->docId().toUInt(
+ &ok, 16))), Qt::DecorationRole));
+ }
+ else if (aDoc->baseAppClass().contains("bookmark"))
+ {
+ firstrow.append(filterDoc(aDoc, "Name"));
+ if (firstrow.length() == 0)
+ {
+ firstrow = "UnKnown";
+ }
+ 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"))
+ {
+ QStringList fileList = filterDoc(aDoc, "Name", "Extension");
+ firstrow = fileList.at(0);
+ if (firstrow.length() == 0)
+ firstrow = aDoc->baseAppClass();
+ 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);
+ listitem->setData(aDoc->docId(), Qt::UserRole);
+ listitem->setData(aDoc->baseAppClass(), Qt::UserRole + 1);
+ mListView->addItem(listitem);
+
+ delete aDoc;
+ }
+
+InDeviceHandler* SearchProgressiveState::constructHandlers(int mDatabase)
+ {
+ InDeviceHandler* handler = NULL;
+ handler = new InDeviceHandler();
+ switch (mDatabase)
+ {
+ case 0:
+ {
+ handler->setCategory("");
+ break;
+ }
+ case 1:
+ {
+ handler->setCategory("contact");
+ break;
+ }
+ case 2:
+ {
+ handler->setCategory("media");
+ break;
+ }
+ case 3:
+ {
+ handler->setCategory("msg");
+ break;
+ }
+ case 4:
+ {
+ handler->setCategory("msg email");
+ break;
+ }
+ case 5:
+ {
+ handler->setCategory("calendar");
+ break;
+ }
+ case 6:
+ {
+ handler->setCategory("notes");
+ break;
+ }
+ case 7:
+ {
+ handler->setCategory("applications");
+ break;
+ }
+ case 8:
+ {
+ handler->setCategory("file");
+ break;
+ }
+ case 9:
+ {
+ // 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;
+ }
+ }
+ return handler;
+ }