columnhandleitem.diff
| src/qtui/columnhandleitem.cpp | ||
|---|---|---|
| 36 | 36 |
_moving(false), |
| 37 | 37 |
_minXPos(0), |
| 38 | 38 |
_maxXPos(0), |
| 39 |
_timeLine(150) |
|
| 39 |
_timeLine(350), |
|
| 40 |
_rulerColor(QApplication::palette().windowText().color()) |
|
| 40 | 41 |
{
|
| 41 | 42 |
setAcceptsHoverEvents(true); |
| 42 | 43 |
setZValue(10); |
| 44 |
// Over 350 ms, the default update interval (40) only gives us nine frame, it looks a bit blocky. 20ms = 18frames, much smoother |
|
| 45 |
_timeLine.setUpdateInterval(20); |
|
| 43 | 46 |
setCursor(QCursor(Qt::OpenHandCursor)); |
| 44 | 47 | |
| 45 | 48 |
connect(&_timeLine, SIGNAL(valueChanged(qreal)), this, SLOT(hoverChanged(qreal))); |
| ... | ... | |
| 122 | 125 |
Q_UNUSED(widget); |
| 123 | 126 | |
| 124 | 127 |
QLinearGradient gradient(boundingRect().topLeft(), boundingRect().topRight()); |
| 125 |
QColor rulerColor = QApplication::palette().windowText().color(); |
|
| 126 |
rulerColor.setAlphaF(_hover); |
|
| 128 |
_rulerColor.setAlphaF(_hover); |
|
| 127 | 129 |
gradient.setColorAt(0, Qt::transparent); |
| 128 |
gradient.setColorAt(0.4, rulerColor); |
|
| 129 |
gradient.setColorAt(0.6, rulerColor); |
|
| 130 |
gradient.setColorAt(0.4, _rulerColor);
|
|
| 131 |
gradient.setColorAt(0.6, _rulerColor);
|
|
| 130 | 132 |
gradient.setColorAt(1, Qt::transparent); |
| 131 | 133 |
painter->fillRect(boundingRect(), gradient); |
| 132 | 134 |
} |
| src/qtui/columnhandleitem.h | ||
|---|---|---|
| 24 | 24 |
#include <QObject> |
| 25 | 25 |
#include <QGraphicsItem> |
| 26 | 26 |
#include <QGraphicsScene> |
| 27 |
#include <QColor> |
|
| 27 | 28 |
#include <QTimeLine> |
| 28 | 29 | |
| 29 | 30 |
class ColumnHandleItem : public QObject, public QGraphicsItem {
|
| ... | ... | |
| 57 | 58 |
void hoverChanged(qreal value); |
| 58 | 59 | |
| 59 | 60 |
private: |
| 61 |
QColor _rulerColor; |
|
| 60 | 62 |
qreal _width; |
| 61 | 63 |
qreal _hover; |
| 62 | 64 |
bool _moving; |