00001
00002
00003 #ifndef _THUMBVIEW_H_
00004 #define _THUMBVIEW_H_
00005
00006
00007 #include <qdeepcopy.h>
00008 #include <qstring.h>
00009 #include <qptrlist.h>
00010 #include <qdict.h>
00011
00012 class MythMediaDevice;
00013 class QPixmap;
00014
00015 class ThumbItem
00016 {
00017 public:
00018 ThumbItem() :
00019 m_name(QString::null), m_caption(QString::null),
00020 m_path(QString::null), m_isDir(false),
00021 m_pixmap(NULL), m_mediaDevice(NULL) { }
00022 ThumbItem(const QString &name, const QString &path, bool isDir,
00023 MythMediaDevice *dev = NULL) :
00024 m_name(QDeepCopy<QString>(name)), m_caption(QString::null),
00025 m_path(QDeepCopy<QString>(path)), m_isDir(isDir),
00026 m_pixmap(NULL), m_mediaDevice(dev) { }
00027 ~ThumbItem();
00028
00029
00030 bool Remove(void);
00031 void InitCaption(bool get_caption);
00032
00033
00034 void SetRotationAngle(int angle);
00035 void SetName(const QString &name)
00036 { m_name = QDeepCopy<QString>(name); }
00037 void SetCaption(const QString &caption)
00038 { m_caption = QDeepCopy<QString>(caption); }
00039 void SetPath(const QString &path, bool isDir)
00040 { m_path = QDeepCopy<QString>(path); m_isDir = isDir; }
00041 void SetPixmap(QPixmap *pixmap);
00042 void SetMediaDevice(MythMediaDevice *dev)
00043 { m_mediaDevice = dev; }
00044
00045
00046 long GetRotationAngle(void);
00047 QString GetName(void) const { return m_name; }
00048 bool HasCaption(void) const { return !m_caption.isEmpty(); }
00049 QString GetCaption(void) const { return m_caption; }
00050 QString GetPath(void) const { return m_path; }
00051 bool IsDir(void) const { return m_isDir; }
00052 QString GetDescription(const QString &status,
00053 const QSize &sz, int angle) const;
00054
00055
00056 QPixmap *GetPixmap(void) { return m_pixmap; }
00057 MythMediaDevice *GetMediaDevice(void) { return m_mediaDevice; }
00058
00059 private:
00060 QString m_name;
00061 QString m_caption;
00062 QString m_path;
00063 bool m_isDir;
00064 QPixmap *m_pixmap;
00065 MythMediaDevice *m_mediaDevice;
00066 };
00067 typedef QPtrList<ThumbItem> ThumbList;
00068 typedef QDict<ThumbItem> ThumbDict;
00069
00070 #endif // _THUMBVIEW_H_