]> git.sesse.net Git - kdenlive/commitdiff
corners: disable on-monitor item when not at a keyframe's position
authorTill Theato <root@ttill.de>
Sun, 23 Jan 2011 10:10:40 +0000 (10:10 +0000)
committerTill Theato <root@ttill.de>
Sun, 23 Jan 2011 10:10:40 +0000 (10:10 +0000)
svn path=/trunk/kdenlive/; revision=5343

src/cornerswidget.cpp
src/onmonitoritems/onmonitorcornersitem.cpp

index a560f030b9911ed99dc286989c43f6525e79f813..35b59a9587ccc140593d60442be0bed189c92de9 100644 (file)
@@ -116,6 +116,8 @@ void CornersWidget::slotUpdateItem()
     m_scene->blockSignals(true);
     m_item->setPolygon(QPolygonF() << points.at(0) << points.at(1) << points.at(2) << points.at(3));
     m_scene->blockSignals(false);
+
+    m_item->setEnabled(getPos(keyframe->row()) == m_pos || keyframe_list->rowCount() == 1);
 }
 
 void CornersWidget::slotUpdateProperties()
index d5a288a9265928af9608434ec44522cac88d9e32..43436e21b05664f1fe02ba8aebf1aa61d040500f 100644 (file)
@@ -151,12 +151,12 @@ void OnMonitorCornersItem::paint(QPainter* painter, const QStyleOptionGraphicsIt
 
     double baseSize = 1 / painter->matrix().m11();
     painter->setRenderHint(QPainter::Antialiasing);
-    painter->setBrush(QBrush(Qt::yellow));
+    painter->setBrush(QBrush(isEnabled() ? Qt::yellow : Qt::red));
     double handleSize = 4  * baseSize;
     for (int i = 0; i < 4; ++i)
         painter->drawEllipse(polygon().at(i), handleSize, handleSize);
 
-    if (KdenliveSettings::onmonitoreffects_cornersshowcontrols()) {
+    if (KdenliveSettings::onmonitoreffects_cornersshowcontrols() && isEnabled()) {
         painter->setPen(QPen(Qt::red, 2, Qt::SolidLine));
         double toolSize = 6 * baseSize;
         // move tool