8 class HitItem
: public QObject
, public QGraphicsItem
{
11 HitItem(const Task
* t
, const QDateTime
& timestamp
, int duration
, const QString
& subtask
, QGraphicsItem
* parent
= 0);
12 QRectF
boundingRect() const { return m_rect
; }
13 void paint ( QPainter
* painter
, const QStyleOptionGraphicsItem
* option
, QWidget
* widget
= 0 );
14 const Task
* task() const { return m_task
; }
16 QDateTime
timestamp() const { return m_t
; }
17 QDateTime
newTimestamp() const { return m_newT
; }
18 int duration() const { return m_d
; }
19 int newDuration() const { return m_newD
; }
20 QString
subtask() const { return m_subtask
; }
22 void mousePressEvent(QGraphicsSceneMouseEvent
* event
);
23 void mouseReleaseEvent(QGraphicsSceneMouseEvent
* event
);
24 void mouseMoveEvent(QGraphicsSceneMouseEvent
* event
);
25 void hoverEnterEvent ( QGraphicsSceneHoverEvent
* event
);
26 void hoverLeaveEvent ( QGraphicsSceneHoverEvent
* event
);
27 void hoverMoveEvent ( QGraphicsSceneHoverEvent
* event
);
35 QDateTime m_t
, m_newT
;
40 QCursor m_savedCursor
;
42 bool m_leftExtending
, m_rightExtending
, m_moving
;
45 class Timeline
: public QGraphicsView
49 Timeline(QWidget
* parent
= 0);
51 void setPeriod(const QDateTime
& from
, const QDateTime
& to
);
53 void hitSelected(HitItem
*);
55 void selectionChanged();
57 void keyPressEvent(QKeyEvent
* e
);
58 void wheelEvent(QWheelEvent
* e
);
59 void mousePressEvent(QMouseEvent
* e
);
60 void mouseReleaseEvent(QMouseEvent
* e
);
61 void mouseMoveEvent(QMouseEvent
* e
);
63 QGraphicsItemGroup
* m_cursor
;
64 QGraphicsTextItem
* m_cursorText
;
65 QGraphicsLineItem
* m_cursorLine
;
66 QGraphicsRectItem
* m_bg
;