From 764fbb74c144541ec22fda2bf3395d9de3d8e109 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Sat, 14 Dec 2019 02:57:31 +1100 Subject: [PATCH] improved appearance of transitions in timeline --- .../view/timelineviewblockitem.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/app/widget/timelinewidget/view/timelineviewblockitem.cpp b/app/widget/timelinewidget/view/timelineviewblockitem.cpp index 571499a45..0bfe1ee3d 100644 --- a/app/widget/timelinewidget/view/timelineviewblockitem.cpp +++ b/app/widget/timelinewidget/view/timelineviewblockitem.cpp @@ -91,7 +91,6 @@ void TimelineViewBlockItem::paint(QPainter *painter, const QStyleOptionGraphicsI grad.setColorAt(0.0, QColor(160, 160, 240)); grad.setColorAt(1.0, QColor(128, 128, 192)); painter->fillRect(rect(), grad); - //painter->fillRect(rect(), QColor(128, 128, 192)); if (option->state & QStyle::State_Selected) { painter->fillRect(rect(), QColor(0, 0, 0, 64)); @@ -101,6 +100,7 @@ void TimelineViewBlockItem::paint(QPainter *painter, const QStyleOptionGraphicsI painter->drawLine(rect().topLeft(), QPointF(rect().right(), rect().top())); painter->drawLine(rect().topLeft(), QPointF(rect().left(), rect().bottom() - 1)); + painter->setPen(Qt::white); painter->drawText(rect(), static_cast(Qt::AlignLeft | Qt::AlignTop), block_->block_name()); // Linked clips are underlined @@ -127,10 +127,22 @@ void TimelineViewBlockItem::paint(QPainter *painter, const QStyleOptionGraphicsI break; case Block::kTransition: { - painter->setBrush(QColor(128, 96, 192)); - painter->setPen(QColor(48, 32, 64)); + QLinearGradient grad; + grad.setStart(0, rect().top()); + grad.setFinalStop(0, rect().bottom()); + grad.setColorAt(0.0, QColor(192, 160, 224)); + grad.setColorAt(1.0, QColor(160, 128, 192)); + painter->setBrush(grad); + painter->setPen(QPen(QColor(96, 80, 112), 1)); painter->drawRect(rect()); + if (option->state & QStyle::State_Selected) { + painter->fillRect(rect(), QColor(0, 0, 0, 64)); + } + + // Draw lines antialiased + painter->setRenderHint(QPainter::Antialiasing); + TransitionBlock* t = static_cast(block_); if (t->out_block_input()->IsConnected()) { // Transition fades something out, we'll draw a line