--- a/memspyui/ui/hb/src/memspythreadview.cpp Mon Aug 23 15:50:54 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,204 +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:
- *
- */
-
-#include <HbAbstractViewItem>
-#include <HbMenu>
-#include <QAction>
-
-#include "memspythreadview.h"
-#include "viewmanager.h"
-
-MemSpyThreadModel::MemSpyThreadModel(EngineWrapper &engine, ProcessId processId, QObject *parent) :
- QAbstractListModel(parent),
- mProcessId(processId),
- mEngine(engine),
- mThreads(engine.getThreads(processId))
-{
- mPriorityMap.insert(ThreadPriorityNull, tr("[Null]"));
- mPriorityMap.insert(ThreadPriorityMuchLess, tr("[Much Less]"));
- mPriorityMap.insert(ThreadPriorityLess, tr("[Less]"));
- mPriorityMap.insert(ThreadPriorityNormal, tr("[Normal]"));
- mPriorityMap.insert(ThreadPriorityMore, tr("[More]"));
- mPriorityMap.insert(ThreadPriorityMuchMore, tr("[Much More]"));
- mPriorityMap.insert(ThreadPriorityRealTime, tr("[Real Time]"));
- mPriorityMap.insert(ThreadPriorityAbsoluteVeryLow, tr("[Abs. Very Low]"));
- mPriorityMap.insert(ThreadPriorityAbsoluteLowNormal, tr("[Abs. Low Normal]"));
- mPriorityMap.insert(ThreadPriorityAbsoluteLow, tr("[Abs. Low]"));
- mPriorityMap.insert(ThreadPriorityAbsoluteBackgroundNormal, tr("[Abs. Background Normal]"));
- mPriorityMap.insert(ThreadPriorityAbsoluteBackground, tr("[Abs. Background]"));
- mPriorityMap.insert(ThreadPriorityAbsoluteForegroundNormal, tr("[Abs. Foreground Normal]"));
- mPriorityMap.insert(ThreadPriorityAbsoluteForeground, tr("[Abs. Foreground]"));
- mPriorityMap.insert(ThreadPriorityAbsoluteHighNormal, tr("[Abs. Hight Normal]"));
- mPriorityMap.insert(ThreadPriorityAbsoluteHigh, tr("[Abs. High]"));
- mPriorityMap.insert(ThreadPriorityAbsoluteRealTime1, tr("[Abs. RT 1]"));
- mPriorityMap.insert(ThreadPriorityAbsoluteRealTime2, tr("[Abs. RT 2]"));
- mPriorityMap.insert(ThreadPriorityAbsoluteRealTime3, tr("[Abs. RT 3]"));
- mPriorityMap.insert(ThreadPriorityAbsoluteRealTime4, tr("[Abs. RT 4]"));
- mPriorityMap.insert(ThreadPriorityAbsoluteRealTime5, tr("[Abs. RT 5]"));
- mPriorityMap.insert(ThreadPriorityAbsoluteRealTime6, tr("[Abs. RT 6]"));
- mPriorityMap.insert(ThreadPriorityAbsoluteRealTime7, tr("[Abs. RT 7]"));
- mPriorityMap.insert(ThreadPriorityAbsoluteRealTime8, tr("[Abs. RT 8]"));
-}
-
-MemSpyThreadModel::~MemSpyThreadModel()
-{
- qDeleteAll(mThreads);
-}
-
-int MemSpyThreadModel::rowCount(const QModelIndex &parent) const
-{
- Q_UNUSED(parent);
- return mThreads.count();
-}
-
-QVariant MemSpyThreadModel::data(const QModelIndex &index, int role) const
-{
- if (role == Qt::DisplayRole) {
- QStringList lines;
- lines << mThreads.at(index.row())->name();
- lines << mPriorityMap.value(mThreads.at(index.row())->priority(), tr("[Unknown]"));
- return lines;
- }
-
- if (role == Qt::UserRole)
- return mThreads.at(index.row())->id();
-
- return QVariant();
-}
-
-void MemSpyThreadModel::refresh()
-{
- beginResetModel();
- QList<MemSpyThread*> data = mEngine.getThreads(mProcessId);
- qDeleteAll(mThreads);
- mThreads = data;
- endResetModel();
-}
-
-MemSpyThreadView::MemSpyThreadView(EngineWrapper &engine, ViewManager &viewManager) :
- MemSpyListView(engine, viewManager),
- mContextMenu(0),
- mPriorityMenu(0),
- mThreadId(0),
- mModel(0)
-{
-}
-
-MemSpyThreadView::~MemSpyThreadView()
-{
- delete mContextMenu;
- delete mPriorityMenu;
-}
-
-void MemSpyThreadView::initialize(const QVariantMap& params)
-{
- ProcessId pid = qVariantValue<ProcessId>(params["pid"]);
- setTitle(tr("Threads"));
-
- mProcessName = params["pname"].toString();
-
- MemSpyView::initialize(params);
-
- mModel = new MemSpyThreadModel(mEngine, pid, this);
- mListView.setModel(mModel);
-
- connect(&mListView, SIGNAL(activated(QModelIndex)), this, SLOT(itemClicked(QModelIndex)));
- connect(&mListView, SIGNAL(longPressed(HbAbstractViewItem*,QPointF)),
- this, SLOT(catchLongPress(HbAbstractViewItem*,QPointF)));
-
- mContextMenu = new HbMenu;
- mPriorityMenu = mContextMenu->addMenu("Change Priority");
-
- mPriorityMenu->addAction(tr("Abs. Very Low"), this, SLOT(changePriority()));
- mPriorityMenu->addAction(tr("Abs. Low Normal"), this, SLOT(changePriority()));
- mPriorityMenu->addAction(tr("Abs. Low"), this, SLOT(changePriority()));
- mPriorityMenu->addAction(tr("Abs. Background Normal"), this, SLOT(changePriority()));
- mPriorityMenu->addAction(tr("Abs. Background"), this, SLOT(changePriority()));
- mPriorityMenu->addAction(tr("Abs. Foreground Normal"), this, SLOT(changePriority()));
- mPriorityMenu->addAction(tr("Abs. Foreground"), this, SLOT(changePriority()));
- mPriorityMenu->addAction(tr("Abs. High Normal"), this, SLOT(changePriority()));
- mPriorityMenu->addAction(tr("Abs. High"), this, SLOT(changePriority()));
- mPriorityMenu->addAction(tr("Abs. Real Time 1"), this, SLOT(changePriority()));
- mPriorityMenu->addAction(tr("Abs. Real Time 2"), this, SLOT(changePriority()));
- mPriorityMenu->addAction(tr("Abs. Real Time 3"), this, SLOT(changePriority()));
- mPriorityMenu->addAction(tr("Abs. Real Time 4"), this, SLOT(changePriority()));
- mPriorityMenu->addAction(tr("Abs. Real Time 5"), this, SLOT(changePriority()));
- mPriorityMenu->addAction(tr("Abs. Real Time 6"), this, SLOT(changePriority()));
- mPriorityMenu->addAction(tr("Abs. Real Time 7"), this, SLOT(changePriority()));
- mPriorityMenu->addAction(tr("Abs. Real Time 8"), this, SLOT(changePriority()));
-}
-
-
-bool MemSpyThreadView::isBreadCrumbVisible() const
-{
- return true;
-}
-
-QString MemSpyThreadView::getBreadCrumbText() const
-{
- return tr("Processes > %1").arg(mProcessName);
-}
-
-void MemSpyThreadView::itemClicked(const QModelIndex& index)
-{
- QVariantMap map;
- map["tid"] = index.data(Qt::UserRole);
- map.insert("pname", mProcessName);
- map.insert("tname", index.data(Qt::DisplayRole).toStringList().at(0));
-
- mViewManager.showView(ThreadDetailIndexView, map);
-}
-
-void MemSpyThreadView::catchLongPress(HbAbstractViewItem *item, const QPointF &coords)
-{
- mThreadId = qVariantValue<ThreadId>(item->modelIndex().data(Qt::UserRole));
- mContextMenu->setPreferredPos(coords);
- mContextMenu->open();
-}
-
-void MemSpyThreadView::changePriority()
-{
- QAction *s = qobject_cast<QAction*>(sender());
- int index = mPriorityMenu->actions().indexOf(s);
-
- ThreadPriority priorities[] = {
- ThreadPriorityAbsoluteVeryLow,
- ThreadPriorityAbsoluteLowNormal,
- ThreadPriorityAbsoluteLow,
- ThreadPriorityAbsoluteBackgroundNormal,
- ThreadPriorityAbsoluteBackground,
- ThreadPriorityAbsoluteForegroundNormal,
- ThreadPriorityAbsoluteForeground,
- ThreadPriorityAbsoluteHighNormal,
- ThreadPriorityAbsoluteHigh,
- ThreadPriorityAbsoluteRealTime1,
- ThreadPriorityAbsoluteRealTime2,
- ThreadPriorityAbsoluteRealTime3,
- ThreadPriorityAbsoluteRealTime4,
- ThreadPriorityAbsoluteRealTime5,
- ThreadPriorityAbsoluteRealTime6,
- ThreadPriorityAbsoluteRealTime7,
- ThreadPriorityAbsoluteRealTime8 };
-
- mEngine.setThreadPriority(mThreadId, priorities[index]);
- refresh();
-}
-
-void MemSpyThreadView::refresh()
-{
- mModel->refresh();
-}