diff -r 66b5fe3c07fd -r e6f74eb7f69f homescreenapp/stateplugins/hsapplibrarystateplugin/src/hssearchview.cpp --- a/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hssearchview.cpp Wed Oct 06 16:06:24 2010 +0300 +++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hssearchview.cpp Mon Oct 18 10:20:15 2010 +0300 @@ -59,11 +59,13 @@ \param mainWindow Enables switching between originating and search view. */ HsSearchView::HsSearchView(HsMenuViewBuilder &builder, - HsStateContext stateContext, HsMainWindow &mainWindow) : + HsStateContext stateContext, HsMainWindow &mainWindow, + HsOperationalContext operationalContext) : mProxyModel(new HsSearchFilterProxyModel(this)), mSearchView(NULL), mSearchListView(NULL), mSearchPanel(NULL), mStateContext(stateContext), - mBuilder(builder), mMainWindow(mainWindow), mListView(NULL), - mVkbHost(NULL), mSearchViewBuilder(), mEmptyResultText(true) + mOperationalContext(operationalContext), mBuilder(builder), + mMainWindow(mainWindow), mView(NULL), mVkbHost(NULL), + mSearchViewBuilder(), mEmptyResultText(true) { mProxyModel->setFilterRole(CaItemModel::TextRole); mProxyModel->setFilterKeyColumn(0); @@ -106,7 +108,8 @@ \return Index of F=first visible item of \a view if any or default QModelIndex otherwise. */ -QModelIndex HsSearchView::firstVisibleItemIndex(const HbListView *view) const +QModelIndex HsSearchView::firstVisibleItemIndex( + const HbAbstractItemView *view) const { const QList array = view->visibleItems(); if (array.count()) { @@ -124,11 +127,11 @@ setOriginatingContext(); - mListView = mBuilder.currentListView(); - mSearchViewInitialIndex = firstVisibleItemIndex(mListView); + mView = mBuilder.currentAbstractItemView(); + mSearchViewInitialIndex = firstVisibleItemIndex(mView); mProxyModel->invalidate(); - mProxyModel->setSourceModel(mListView->model()); + mProxyModel->setSourceModel(mView->model()); mCriteria = QString(""); mProxyModel->setFilterString(mCriteria); @@ -159,15 +162,15 @@ HbIndexFeedback::IndexFeedbackSingleCharacter); indexFeedback->setItemView(mSearchListView); } + + mSearchListView->scrollTo( + mProxyModel->mapFromSource(mSearchViewInitialIndex), + HbAbstractItemView::PositionAtTop); mMainWindow.setCurrentView(mSearchView); openVkb(); - mSearchListView->scrollTo( - mProxyModel->mapFromSource(mSearchViewInitialIndex), - HbAbstractItemView::PositionAtTop); - setNoResultsVisibility(); HSMENUTEST_FUNC_EXIT("HsSearchView::searchBegins"); } @@ -382,7 +385,7 @@ void HsSearchView::setOriginatingContext() { mBuilder.setStateContext(mStateContext); - mBuilder.setOperationalContext(HsItemViewContext); + mBuilder.setOperationalContext(mOperationalContext); } /*! @@ -395,6 +398,16 @@ } /*! + Sets the operation context to the mOperationalContext. + \param operationalContext value of operational context to be set. + */ +void HsSearchView::setOperationalContext( + HsOperationalContext operationalContext) +{ + mOperationalContext = operationalContext; +} + +/*! Slot to close virtual keyboard. */ void HsSearchView::hideVkb()