emailuis/nmailuiengine/src/nmmessagesearchlistmodel.cpp
changeset 27 9ba4404ef423
parent 23 2dc6caa42ec3
child 30 759dc5235cdb
--- a/emailuis/nmailuiengine/src/nmmessagesearchlistmodel.cpp	Fri May 14 15:41:10 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +0,0 @@
-/*
-* Copyright (c) 2010 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 "nmuiengineheaders.h"
-
-/*!
-    \class NmMessageSearchListModel
-    \brief A proxy model used to filter out messages from the message list model
-           that are not amongst the search results.
-*/
-
-/*!
-    Class constructor.
-*/
-NmMessageSearchListModel::NmMessageSearchListModel(QObject *parent)
-: QSortFilterProxyModel(parent)
-{
-    // No implementation required.
-}
-
-
-/*!
-    Class destructor.
-*/
-NmMessageSearchListModel::~NmMessageSearchListModel()
-{
-    clearSearchResults();
-}
-
-
-/*!
-    Clears search results and removes the accepted source model items from this
-    proxy model.
-*/
-void NmMessageSearchListModel::clearSearchResults()
-{
-    mSearchResults.clear();
-    invalidateFilter();
-}
-
-
-/*!
-    Returns the number of search results i.e. IDs in the container.
-
-    \return The number of search results.
-*/
-int NmMessageSearchListModel::searchResultCount() const
-{
-    return mSearchResults.count();
-}
-
-
-/*!
-    From QSortFilterProxyModel.
-    Returns the data from the source model according to the given proxy index.
-
-    \param index The index of this proxy model.
-    \param role The item role.
-
-    \return The item data wrapped in a QVariant.
-*/
-QVariant NmMessageSearchListModel::data(const QModelIndex &index,
-                                        int role /* = Qt::DisplayRole */) const
-{
-    QVariant retVal;
-    QAbstractItemModel *model = sourceModel();
-
-    if (model) {
-        // Return the data from the source model by mapping the given index
-        // in respect to the source model.
-        QModelIndex sourceIndex = mapToSource(index);
-        retVal = model->data(sourceIndex, role);
-    }
-    else {
-        // Since no source model set, use the base class method implementation.
-        retVal = QSortFilterProxyModel::data(index, role);
-    }
-
-    return retVal;
-}
-
-
-/*!
-    From QSortFilterProxyModel.
-    Filters the items of the source model depending on the current search results.
-
-    \param source_row A source model row index.
-    \param source_parent The parent model index of the row.
-
-    \return True if the row should be accepted to the search list model, false
-            otherwise.
-*/
-bool NmMessageSearchListModel::filterAcceptsRow(int source_row,
-                                                const QModelIndex &source_parent) const
-{
-    bool accept(false);
-
-    // Get the source model.
-    NmMessageListModel *model = qobject_cast<NmMessageListModel*>(sourceModel());
-
-    if (model) {
-        // Extract the model item corresponding the given row and index.
-        QModelIndex listIndex = model->index(source_row, 0, source_parent);
-        QVariant qVariant = model->data(listIndex);
-        NmMessageListModelItem *item = qVariant.value<NmMessageListModelItem*>();
-
-        if (item) {
-            // Get the message ID from the item and compare it to the current
-            // search results.
-            const NmId itemId = item->envelope().messageId();
-
-            if (mSearchResults.contains(itemId)) {
-                // The message ID matches the search result => do accept the row.
-                accept = true;
-            }
-        }
-    }
-
-    return accept;
-}
-
-
-/*!
-    Adds the given message ID to the search results.
-
-    \param messageId The ID to add.
-
-    \return True if the given ID was added, false otherwise.
-*/
-bool NmMessageSearchListModel::addSearchResult(const NmId &messageId)
-{
-    bool resultAdded(false);
-
-    // Make sure not to add the same ID twice.
-    if (!mSearchResults.contains(messageId)) {
-        // Add the given ID to the results.
-        mSearchResults.append(messageId);
-        resultAdded = true;
-
-        // Invalidate the filter in order to update the model. This forces
-        // filterAcceptsRow() to be ran again for each row in the source model.
-        invalidateFilter();
-    }
-
-    return resultAdded;
-}
-
-
-/*!
-    Refreshes the content by forcing the model to re-process the source model
-    items using the current filter (search results).
-*/
-void NmMessageSearchListModel::refreshContent()
-{
-    invalidateFilter();
-}
-
-
-// End of file.