diff options
author | Robert Bieber <robby@bieberphoto.com> | 2010-06-14 06:20:07 +0000 |
---|---|---|
committer | Robert Bieber <robby@bieberphoto.com> | 2010-06-14 06:20:07 +0000 |
commit | 046832c821276cb07b86519ab3c0dae4ff68173d (patch) | |
tree | 39c3177daf1ecfb4bbce17387a1726486e0aab3f /utils/themeeditor/projectmodel.h | |
parent | 4b0c1cf23bdd3c54296b05ce52f8fec3f29c408e (diff) | |
download | rockbox-046832c821276cb07b86519ab3c0dae4ff68173d.tar.gz rockbox-046832c821276cb07b86519ab3c0dae4ff68173d.zip |
Theme Editor: Stripped out the sub-classes for ProjectModel and turned ProjectModel into a list model, also replaced the project tree view with a list view
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26839 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'utils/themeeditor/projectmodel.h')
-rw-r--r-- | utils/themeeditor/projectmodel.h | 67 |
1 files changed, 6 insertions, 61 deletions
diff --git a/utils/themeeditor/projectmodel.h b/utils/themeeditor/projectmodel.h index c7147fa83f..d577f00a69 100644 --- a/utils/themeeditor/projectmodel.h +++ b/utils/themeeditor/projectmodel.h | |||
@@ -22,13 +22,12 @@ | |||
22 | #ifndef PROJECTMODEL_H | 22 | #ifndef PROJECTMODEL_H |
23 | #define PROJECTMODEL_H | 23 | #define PROJECTMODEL_H |
24 | 24 | ||
25 | #include <QAbstractItemModel> | 25 | #include <QAbstractListModel> |
26 | #include <QHash> | 26 | #include <QMap> |
27 | 27 | ||
28 | class ProjectNode; | ||
29 | class EditorWindow; | 28 | class EditorWindow; |
30 | 29 | ||
31 | class ProjectModel : public QAbstractItemModel | 30 | class ProjectModel : public QAbstractListModel |
32 | { | 31 | { |
33 | Q_OBJECT | 32 | Q_OBJECT |
34 | public: | 33 | public: |
@@ -42,16 +41,8 @@ public: | |||
42 | ProjectModel(QString config, EditorWindow* mainWindow, QObject *parent = 0); | 41 | ProjectModel(QString config, EditorWindow* mainWindow, QObject *parent = 0); |
43 | virtual ~ProjectModel(); | 42 | virtual ~ProjectModel(); |
44 | 43 | ||
45 | QModelIndex index(int row, int column, const QModelIndex& parent) const; | 44 | int rowCount(const QModelIndex& parent) const; |
46 | QModelIndex parent(const QModelIndex &child) const; | ||
47 | int rowCount(const QModelIndex &parent) const; | ||
48 | int columnCount(const QModelIndex &parent) const; | ||
49 | QVariant data(const QModelIndex &index, int role) const; | 45 | QVariant data(const QModelIndex &index, int role) const; |
50 | QVariant headerData(int col, Qt::Orientation orientation, int role) const; | ||
51 | Qt::ItemFlags flags(const QModelIndex &index) const; | ||
52 | bool setData(const QModelIndex &index, const QVariant &value, int role); | ||
53 | |||
54 | void loadFile(QString file); | ||
55 | 46 | ||
56 | signals: | 47 | signals: |
57 | 48 | ||
@@ -59,55 +50,9 @@ public slots: | |||
59 | void activated(const QModelIndex& index); | 50 | void activated(const QModelIndex& index); |
60 | 51 | ||
61 | private: | 52 | private: |
62 | ProjectNode* root; | ||
63 | EditorWindow* mainWindow; | 53 | EditorWindow* mainWindow; |
54 | QMap<QString, QString> settings; | ||
55 | QList<QString> files; | ||
64 | }; | 56 | }; |
65 | 57 | ||
66 | /* A simple abstract class required for categories */ | ||
67 | class ProjectNode | ||
68 | { | ||
69 | public: | ||
70 | virtual ProjectNode* parent() const = 0; | ||
71 | virtual ProjectNode* child(int row) const = 0; | ||
72 | virtual int numChildren() const = 0; | ||
73 | virtual int row() const = 0; | ||
74 | virtual QVariant data(int column) const = 0; | ||
75 | virtual Qt::ItemFlags flags(int column) const = 0; | ||
76 | virtual void activated() = 0; | ||
77 | |||
78 | int indexOf(ProjectNode* child){ return children.indexOf(child); } | ||
79 | |||
80 | protected: | ||
81 | QList<ProjectNode*> children; | ||
82 | ProjectModel* model; | ||
83 | |||
84 | }; | ||
85 | |||
86 | /* A simple implementation of ProjectNode for the root */ | ||
87 | class ProjectRoot : public ProjectNode | ||
88 | { | ||
89 | public: | ||
90 | ProjectRoot(QString config, ProjectModel* model); | ||
91 | virtual ~ProjectRoot(); | ||
92 | |||
93 | virtual ProjectNode* parent() const{ return 0; } | ||
94 | virtual ProjectNode* child(int row) const | ||
95 | { | ||
96 | if(row >= 0 && row < children.count()) | ||
97 | return children[row]; | ||
98 | else | ||
99 | return 0; | ||
100 | } | ||
101 | virtual int numChildren() const{ return children.count(); } | ||
102 | virtual int row() const{ return 0; } | ||
103 | virtual QVariant data(int column) const{ return QVariant(); } | ||
104 | virtual Qt::ItemFlags flags(int column) const{ return 0; } | ||
105 | virtual void activated(){ } | ||
106 | |||
107 | private: | ||
108 | QHash<QString, QString> settings; | ||
109 | |||
110 | }; | ||
111 | |||
112 | |||
113 | #endif // PROJECTMODEL_H | 58 | #endif // PROJECTMODEL_H |