homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsmenuview.cpp
changeset 62 341166945d65
parent 55 03646e8da489
child 63 52b0f64eeb51
equal deleted inserted replaced
57:2e2dc3d30ca8 62:341166945d65
    33 #include "hsallappsstate.h"
    33 #include "hsallappsstate.h"
    34 #include "hsallcollectionsstate.h"
    34 #include "hsallcollectionsstate.h"
    35 #include "hscollectionstate.h"
    35 #include "hscollectionstate.h"
    36 #include "hsmenuitemmodel.h"
    36 #include "hsmenuitemmodel.h"
    37 #include "hsmenuview.h"
    37 #include "hsmenuview.h"
       
    38 #include "hslistviewitem.h"
    38 
    39 
    39 /*!
    40 /*!
    40     \class HsMenuView
    41     \class HsMenuView
    41     \ingroup group_hsmenustateplugin
    42     \ingroup group_hsmenustateplugin
    42 
    43 
    71     mBuilder.setViewContext(mViewContext);
    72     mBuilder.setViewContext(mViewContext);
    72     mBuilder.build();
    73     mBuilder.build();
    73 
    74 
    74     mView = mBuilder.currentView();
    75     mView = mBuilder.currentView();
    75     mListView = mBuilder.currentListView();
    76     mListView = mBuilder.currentListView();
       
    77 
    76     mViewLabel= mBuilder.currentViewLabel();
    78     mViewLabel= mBuilder.currentViewLabel();
    77 
    79 
    78     mCollectionButton = mBuilder.collectionButton();
    80     mCollectionButton = mBuilder.collectionButton();
    79 
    81 
    80     mProxyModel->setFilterRole(CaItemModel::TextRole);
    82     mProxyModel->setFilterRole(CaItemModel::TextRole);
   117                    SIGNAL(scrollTo(int, QAbstractItemView::ScrollHint)),
   119                    SIGNAL(scrollTo(int, QAbstractItemView::ScrollHint)),
   118                    this,
   120                    this,
   119                    SLOT(scrollToRow(int, QAbstractItemView::ScrollHint)));
   121                    SLOT(scrollToRow(int, QAbstractItemView::ScrollHint)));
   120     }
   122     }
   121     mListView->setModel(model);
   123     mListView->setModel(model);
   122 
   124     mListView->setItemPrototype(new HsListViewItem());
   123     if (mListView->model()) {
   125     if (mListView->model()) {
   124         connect(mListView->model(),
   126         connect(mListView->model(),
   125                 SIGNAL(scrollTo(int, QAbstractItemView::ScrollHint)),
   127                 SIGNAL(scrollTo(int, QAbstractItemView::ScrollHint)),
   126                 this,
   128                 this,
   127                 SLOT(scrollToRow(int, QAbstractItemView::ScrollHint)));
   129                 SLOT(scrollToRow(int, QAbstractItemView::ScrollHint)));
   370     HSMENUTEST_FUNC_ENTRY("hsmenuview::findItem");
   372     HSMENUTEST_FUNC_ENTRY("hsmenuview::findItem");
   371 
   373 
   372     if ("" != criteriaStr) {
   374     if ("" != criteriaStr) {
   373         mProxyModel->invalidate();
   375         mProxyModel->invalidate();
   374         mProxyModel->setSourceModel(mListView->model());
   376         mProxyModel->setSourceModel(mListView->model());
   375         mProxyModel->setFilterRegExp(QRegExp(criteriaStr,
   377         mProxyModel->setFilterRegExp(QRegExp(
   376                                              Qt::CaseInsensitive, QRegExp::FixedString));
   378                 QString("(^|\\b)%1").arg(criteriaStr), Qt::CaseInsensitive));
   377         mSearchListView->scrollTo(mProxyModel->index(0,0),
   379         mSearchListView->scrollTo(mProxyModel->index(0,0),
   378                                   HbAbstractItemView::PositionAtTop);
   380                                   HbAbstractItemView::PositionAtTop);
   379     } else {
   381     } else {
   380         mProxyModel->setFilterRegExp(QRegExp(QString(".*"),
   382         mProxyModel->setFilterRegExp(QRegExp(QString(".*"),
   381                                              Qt::CaseInsensitive, QRegExp::RegExp));
   383                                              Qt::CaseInsensitive, QRegExp::RegExp));
   408     mProxyModel->invalidate();
   410     mProxyModel->invalidate();
   409     mProxyModel->setSourceModel(mListView->model());
   411     mProxyModel->setSourceModel(mListView->model());
   410     mProxyModel->setFilterRegExp(QRegExp(QString(".*"), Qt::CaseInsensitive,
   412     mProxyModel->setFilterRegExp(QRegExp(QString(".*"), Qt::CaseInsensitive,
   411                                          QRegExp::RegExp));
   413                                          QRegExp::RegExp));
   412     mSearchListView->setModel(mProxyModel);
   414     mSearchListView->setModel(mProxyModel);
       
   415     mSearchListView->setItemPrototype(new HsListViewItem());
       
   416     
   413     mSearchListView->scrollTo(
   417     mSearchListView->scrollTo(
   414         mProxyModel->mapFromSource(mSearchViewInitialIndex),
   418         mProxyModel->mapFromSource(mSearchViewInitialIndex),
   415         HbAbstractItemView::PositionAtTop);
   419         HbAbstractItemView::PositionAtTop);
   416     HSMENUTEST_FUNC_EXIT("hsmenuview::searchBegins");
   420     HSMENUTEST_FUNC_EXIT("hsmenuview::searchBegins");
   417 }
   421 }