#include <QTreeWidget>
#include <QContextMenuEvent>
#include <QPainter>
+#include <QStyledItemDelegate>
class DocClipBase;
+class ItemDelegate: public QStyledItemDelegate
+{
+public:
+ enum ItemRole {
+ NameRole = Qt::UserRole,
+ DurationRole,
+ UsageRole
+ };
+
+ ItemDelegate(QAbstractItemView* parent = 0)
+ : QStyledItemDelegate(parent)
+ {
+ }
+
+ /*void drawFocus(QPainter *, const QStyleOptionViewItem &, const QRect &) const {
+ }*/
+
+ void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const;
+};
+
class ProjectListView : public QTreeWidget
{
Q_OBJECT
public:
ProjectListView(QWidget *parent = 0);
- virtual ~ProjectListView();
+ ~ProjectListView();
void processLayout();
void updateStyleSheet();
protected:
- virtual void contextMenuEvent(QContextMenuEvent * event);
- virtual void mouseDoubleClickEvent(QMouseEvent * event);
- virtual void mousePressEvent(QMouseEvent *event);
- virtual void mouseReleaseEvent(QMouseEvent *event);
- virtual void mouseMoveEvent(QMouseEvent *event);
- virtual void dropEvent(QDropEvent *event);
- virtual QStringList mimeTypes() const;
- virtual Qt::DropActions supportedDropActions() const;
- virtual void dragLeaveEvent(QDragLeaveEvent *);
+ void contextMenuEvent(QContextMenuEvent * event);
+ void mouseDoubleClickEvent(QMouseEvent * event);
+ void mousePressEvent(QMouseEvent *event);
+ void mouseReleaseEvent(QMouseEvent *event);
+ void mouseMoveEvent(QMouseEvent *event);
+ void dropEvent(QDropEvent *event);
+ QStringList mimeTypes() const;
+ Qt::DropActions supportedDropActions() const;
+ void dragLeaveEvent(QDragLeaveEvent *);
/** @brief Filters key events to make sure user can expand items with + / -. */
- virtual bool eventFilter(QObject *obj, QEvent *ev);
-
-public slots:
-
+ bool eventFilter(QObject *obj, QEvent *ev);
private:
bool m_dragStarted;
signals:
void requestMenu(const QPoint &, QTreeWidgetItem *);
void addClip();
- void addClip(const QList <QUrl>, const QString &, const QString &);
+ void addClip(const QList <QUrl> &, const QString &, const QString &);
void showProperties(DocClipBase *);
void focusMonitor(bool forceRefresh);
void pauseMonitor();