From ceddd2f1e87fd884d9a9af59b20e47353085dff5 Mon Sep 17 00:00:00 2001 From: Robert Bieber Date: Wed, 9 Jun 2010 07:51:22 +0000 Subject: Theme Editor: Working on the project viewer infrastructure git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26714 a1c6a512-1295-4272-9138-f99709370657 --- utils/themeeditor/projectmodel.cpp | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'utils/themeeditor/projectmodel.cpp') diff --git a/utils/themeeditor/projectmodel.cpp b/utils/themeeditor/projectmodel.cpp index 8a26aa3..aeca1c7 100644 --- a/utils/themeeditor/projectmodel.cpp +++ b/utils/themeeditor/projectmodel.cpp @@ -21,11 +21,12 @@ #include "projectmodel.h" +#include "projectfiles.h" -ProjectModel::ProjectModel(QObject *parent) : +ProjectModel::ProjectModel(QString config, QObject *parent) : QAbstractItemModel(parent) { - + root = new ProjectRoot(config); } ProjectModel::~ProjectModel() @@ -59,7 +60,7 @@ QModelIndex ProjectModel::parent(const QModelIndex &child) const ProjectNode* foundParent = static_cast (child.internalPointer())->parent(); - if(foundParent == root) + if(foundParent == 0) return QModelIndex(); return createIndex(foundParent->row(), 0, foundParent); @@ -104,7 +105,8 @@ QVariant ProjectModel::headerData(int col, Qt::Orientation orientation, Qt::ItemFlags ProjectModel::flags(const QModelIndex &index) const { - return Qt::ItemIsEnabled | Qt::ItemIsSelectable; + return static_cast + (index.internalPointer())->flags(index.column()); } bool ProjectModel::setData(const QModelIndex &index, const QVariant &value, @@ -112,3 +114,15 @@ bool ProjectModel::setData(const QModelIndex &index, const QVariant &value, { return true; } + +/* Constructor and destructor for the root class */ +ProjectRoot::ProjectRoot(QString config) +{ + children.append(new ProjectFiles(this)); +} + +ProjectRoot::~ProjectRoot() +{ + for(int i = 0; i < children.count(); i++) + delete children[i]; +} -- cgit v1.1