tsdevicedialog/tsdevicedialogplugin/src/tsmodel.cpp
changeset 125 26079c1bb561
parent 123 d1dadafc5584
child 126 efda7c0771b9
--- a/tsdevicedialog/tsdevicedialogplugin/src/tsmodel.cpp	Mon Sep 27 11:31:59 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,216 +0,0 @@
-/*
-* 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: tsmodel.cpp
-*
-*/
-#include "tsmodel.h"
-
-#include <QVariant>
-#include <QList>
-
-#include <HbIcon>
-
-#include <afstorageglobals.h>
-
-#include "tsmodelitem.h"
-#include "tsdataroles.h"
-#include "tstaskchangeinfo.h"
-
-/*!
-    \class TsModel
-    \ingroup group_tsdevicedialogplugin
-    \brief Model storing running tasks.
-*/
-
-/*!
-    Constructor
-    \param query used to create model
-    \param pointer to parent object
-*/
-TsModel::TsModel(TsTaskMonitor &applicationSrv, QObject *parent) :
-    QAbstractListModel(parent),
-    mEntries(),
-    mApplicationService(applicationSrv)
-{
-    connect(&applicationSrv,
-            SIGNAL(taskListChanged()),
-            this,
-            SLOT(updateApplications()));
-
-    fullUpdate();
-}
-
-/*!
-    Destructor
-*/
-TsModel::~TsModel()
-{
-    qDeleteAll(mEntries);
-}
-
-/*!
-    Returns count of rows in model
-    \retval number of rows
-*/
-int TsModel::rowCount(const QModelIndex &parent) const
-{
-    Q_UNUSED(parent);
-    return mEntries.count();
-}
-
-bool TsModel::insertRows(int row, int count, TsModelItem *item, const QModelIndex &parent)
-{
-    beginInsertRows(parent, row, row+count-1);
-    mEntries.insert(row, item);
-    endInsertRows();
-    return true;
-}
-
-bool TsModel::removeRows(int row, int count, const QModelIndex &parent)
-{
-    TsModelItem *oldItem = mEntries.at(row);
-    beginRemoveRows(parent, row, row + count - 1);
-    mEntries.removeAt(row);
-    delete oldItem;
-    endRemoveRows();
-    return true;
-}
-
-
-bool TsModel::moveRows(int oldPosition, int newPosition, const QModelIndex &parent)
-{
-    beginMoveRows(parent, oldPosition, oldPosition, parent, newPosition);
-    mEntries.move(oldPosition, newPosition);
-    endMoveRows();
-    return true;
-}
-
-
-bool TsModel::updateRows(int row, TsModelItem *item)
-{
-    TsModelItem *oldItem = mEntries.at(row);
-    mEntries[row] = item;
-    delete oldItem;
-
-    emit dataChanged(index(row),index(row));
-    return true;
-}
-
-/*!
-    Returns appropiate model's data
-    \param index model index
-    \param role which data role to return
-    \retval models data
-*/
-QVariant TsModel::data(const QModelIndex &index, int role) const
-{
-    return index.isValid() ? entry(index)->data(role) : QVariant();
-}
-
-/*!
-    Activate one of model entries
-*/
-void TsModel::openApplication(const QModelIndex &index)
-{
-    if (!index.isValid()) {
-        return;
-    }
-    entry(index)->open();
-}
-
-/*!
-    Close one of moder entries
-*/
-void TsModel::closeApplication(const QModelIndex &index)
-{
-    if (!index.isValid() ||
-            !entry(index)->data(TsDataRoles::Closable).toBool()) {
-        return;
-    }
-    entry(index)->close();
-}
-
-/*!
-    Updates model with fresh entries
-*/
-void TsModel::updateApplications()
-{
-    QList<TsTaskChange> changes(mApplicationService.changeList());
-
-    if (changes.count() == 0) {
-        return;
-    }
-    //check 1st item whether we have cancel change - if so reset model
-    if (changes[0].first.changeType() == TsTaskChangeInfo::EChangeCancel) {
-        fullUpdate();
-        return;
-    }
-    for (int iter(0); iter < changes.count(); iter++) {
-        switch (changes[iter].first.changeType()) {
-            case TsTaskChangeInfo::EChangeDelete :
-                removeRows(changes[iter].first.oldOffset(), 1);
-                break;
-            case TsTaskChangeInfo::EChangeInsert :
-                insertRows(changes[iter].first.newOffset(), 1,
-                           new TsModelItem(changes[iter].second));
-                break;
-            case TsTaskChangeInfo::EChangeMove :
-                moveRows(changes[iter].first.oldOffset(), changes[iter].first.newOffset());
-                break;
-            case TsTaskChangeInfo::EChangeUpdate :
-                updateRows(changes[iter].first.oldOffset(),
-                           new TsModelItem(changes[iter].second));
-                break;
-            default:
-                break;
-        }
-    }
-}
-
-/*!
-    reset model
-*/
-void TsModel::fullUpdate()
-{
-    beginResetModel();
-    qDeleteAll(mEntries);
-    mEntries.clear();
-    getApplications();
-    endResetModel();
-
-}
-
-/*!
-    Read list of running applications
-*/
-void TsModel::getApplications()
-{
-    //get all running applications and append to entries list
-    QList<TsTaskChange> tasks(mApplicationService.changeList(true));
-    foreach(TsTaskChange taskData, tasks) {
-        if (!taskData.second.isNull()) {
-            mEntries.append(new TsModelItem(taskData.second));
-        }
-    }
-}
-
-/*!
-    Returns an entry from model
-    \param index of entry in model
-    \retval pointer to an entry
-*/
-TsModelItem *TsModel::entry(const QModelIndex &index) const
-{
-    return mEntries.at(index.row());
-}