debugger: make threadsviews sortable

Change-Id: I9abdcc76d406f806de0d617aa731f97adde97060
Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
hjk
2011-10-13 10:17:06 +02:00
committed by hjk
parent c071ef4cfb
commit 6da1b0727d
3 changed files with 20 additions and 4 deletions

View File

@@ -33,11 +33,13 @@
#ifndef DEBUGGER_MODULESHANDLER_H #ifndef DEBUGGER_MODULESHANDLER_H
#define DEBUGGER_MODULESHANDLER_H #define DEBUGGER_MODULESHANDLER_H
#include <QtCore/QVector>
#include <QtCore/QObject>
#include <QtCore/QAbstractItemModel> #include <QtCore/QAbstractItemModel>
#include <QtCore/QObject>
#include <QtCore/QVector>
QT_FORWARD_DECLARE_CLASS(QSortFilterProxyModel) QT_BEGIN_NAMESPACE
class QSortFilterProxyModel;
QT_END_NAMESPACE
namespace Debugger { namespace Debugger {
namespace Internal { namespace Internal {

View File

@@ -38,6 +38,7 @@
#include <QtCore/QDebug> #include <QtCore/QDebug>
#include <QtCore/QTextStream> #include <QtCore/QTextStream>
#include <QtGui/QSortFilterProxyModel>
namespace Debugger { namespace Debugger {
namespace Internal { namespace Internal {
@@ -107,6 +108,8 @@ ThreadsHandler::ThreadsHandler()
{ {
m_resetLocationScheduled = false; m_resetLocationScheduled = false;
m_contentsValid = false; m_contentsValid = false;
m_proxyModel = new QSortFilterProxyModel(this);
m_proxyModel->setSourceModel(this);
} }
int ThreadsHandler::rowCount(const QModelIndex &parent) const int ThreadsHandler::rowCount(const QModelIndex &parent) const
@@ -339,5 +342,10 @@ void ThreadsHandler::resetLocation()
} }
} }
QAbstractItemModel *ThreadsHandler::model()
{
return m_proxyModel;
}
} // namespace Internal } // namespace Internal
} // namespace Debugger } // namespace Debugger

View File

@@ -38,6 +38,10 @@
#include "threaddata.h" #include "threaddata.h"
QT_BEGIN_NAMESPACE
class QSortFilterProxyModel;
QT_END_NAMESPACE
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
// //
// ThreadsHandler // ThreadsHandler
@@ -65,7 +69,7 @@ public:
void setThreads(const Threads &threads); void setThreads(const Threads &threads);
void removeAll(); void removeAll();
Threads threads() const; Threads threads() const;
QAbstractItemModel *model() { return this; } QAbstractItemModel *model();
// Clear out all frame information // Clear out all frame information
void notifyRunning(); void notifyRunning();
@@ -91,6 +95,8 @@ private:
bool m_resetLocationScheduled; bool m_resetLocationScheduled;
bool m_contentsValid; bool m_contentsValid;
QSortFilterProxyModel *m_proxyModel;
}; };
} // namespace Internal } // namespace Internal