summaryrefslogtreecommitdiffstats
path: root/movieitem.h
blob: edd46b4c031c8d3a6f52b130c0b45a95ed30d658 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/*
  This program is free software; you can redistribute it and/or
  modify it under the terms of the GNU General Public License
  as published by the Free Software Foundation; either version
  2 of the License, or (at your option) any later version.
*/

#ifndef MOVIEITEM_H
#define MOVIEITEM_H

#include <QObject>
#include <QList>
#include <QVariant>

class QSqlQuery;

class MovieItem : public QObject {
	Q_OBJECT
	Q_ENUMS(Columns)
	public:
		enum Columns { Title = 0, Filename = 1, Md5Sum = 2, Size = 3, Genre = 4, Quality = 5, Dvd = 6 };
		enum { NumRows = 7 };
		MovieItem(int id = -1, QObject *parent = 0);
		~MovieItem() {};
		int id() const { return mId; };
		void setId(int id);
		int genreId() const { return mGenreId; };
		bool setData(const QList<QVariant> &data);
		void setDataAt(int column, const QVariant &data);
		const QList<QVariant> data() const;
		const QVariant dataAt(int column) const;
		const QList<QVariant> actors() const { return mActors; };
		void populate();

	private:
		void setGenreName();
		void setActors();
		void setSize();
		const int mNumRows;
		int mId;
		int mGenreId;
		QList<QVariant> mRows;
		QList<QVariant> mActors;
};

#endif