]> git.sesse.net Git - kdenlive/commitdiff
Render zone: fix color issues & snapping
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Tue, 14 Sep 2010 06:16:52 +0000 (06:16 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Tue, 14 Sep 2010 06:16:52 +0000 (06:16 +0000)
svn path=/trunk/kdenlive/; revision=4885

src/customruler.cpp
src/customtrackview.cpp
src/smallruler.cpp

index eb1682a25fec07e4825a3055a3fa181f39676d5e..2d07ee52ce46b9d5a9e29e17655877f8a4580c60 100644 (file)
@@ -24,6 +24,7 @@
 #include <KIcon>
 #include <KCursor>
 #include <KGlobalSettings>
+#include <KColorScheme>
 
 #include <QApplication>
 #include <QMouseEvent>
@@ -67,7 +68,7 @@ CustomRuler::CustomRuler(Timecode tc, CustomTrackView *parent) :
     QFontMetricsF fontMetrics(font());
     LABEL_SIZE = fontMetrics.ascent() - 2;
     m_scale = 3;
-    m_zoneColor = QColor(133, 255, 143);
+    m_zoneColor = KStatefulBrush(KColorScheme::View, KColorScheme::PositiveBackground, KSharedConfig::openConfig(KdenliveSettings::colortheme())).brush(this).color();
     littleMarkDistance = FRAME_SIZE;
     mediumMarkDistance = FRAME_SIZE * m_timecode.fps();
     bigMarkDistance = FRAME_SIZE * m_timecode.fps() * 60;
@@ -155,7 +156,10 @@ void CustomRuler::mousePressEvent(QMouseEvent * event)
 void CustomRuler::mouseMoveEvent(QMouseEvent * event)
 {
     if (event->buttons() == Qt::LeftButton) {
-        int pos = (int)((event->x() + offset()) / m_factor);
+        int pos;
+        if (m_moveCursor == RULER_START || m_moveCursor == RULER_END) {
+            pos = m_view->getSnapPointForPos((int)((event->x() + offset()) / m_factor));
+        } else pos = (int)((event->x() + offset()) / m_factor);
         int zoneStart = m_zoneStart;
         int zoneEnd = m_zoneEnd;
         if (pos < 0) pos = 0;
index 5852bce01929945e3f9efdcc2cbc6e21a071a7c3..3176d9ad825de74b7d10e9e8b7c9b56b48b9962e 100644 (file)
@@ -4756,6 +4756,11 @@ void CustomTrackView::updateSnapPoints(AbstractClipItem *selected, QList <GenTim
         }
     }
 
+    // add render zone
+    QPoint z = m_document->zone();
+    snaps.append(GenTime(z.x(), m_document->fps()));
+    snaps.append(GenTime(z.y(), m_document->fps()));
+
     qSort(snaps);
     m_scene->setSnapList(snaps);
     //for (int i = 0; i < m_snapPoints.size(); ++i)
index c7e0ec1765e6524ae909ce4c317615d1f3ae9742..c0c20d581b9e774c7229b2b3c7e18f01d66f6c7e 100644 (file)
 
 
 #include "smallruler.h"
+#include "kdenlivesettings.h"
 
 #include <KDebug>
+#include <KColorScheme>
 
 #include <QMouseEvent>
 #include <QStylePainter>
 
+
 SmallRuler::SmallRuler(MonitorManager *manager, QWidget *parent) :
         QWidget(parent),
         m_scale(1),
@@ -33,7 +36,7 @@ SmallRuler::SmallRuler(MonitorManager *manager, QWidget *parent) :
 {
     m_zoneStart = 10;
     m_zoneEnd = 60;
-    m_zoneColor = QColor(133, 255, 143);
+    m_zoneColor = KStatefulBrush(KColorScheme::View, KColorScheme::PositiveBackground, KSharedConfig::openConfig(KdenliveSettings::colortheme())).brush(this).color();
     setMouseTracking(true);
 }
 
@@ -158,7 +161,7 @@ void SmallRuler::updatePixmap()
             p.drawLine(m_markers.at(i) * m_scale, 0, m_markers.at(i) * m_scale, 9);
         }
     }
-    p.setPen(palette().dark().color());
+    p.setPen(palette().text().color());
     // draw the little marks
     fend = m_scale * m_small;
     if (fend > 2) for (f = 0; f < width(); f += fend) {
@@ -186,7 +189,7 @@ void SmallRuler::paintEvent(QPaintEvent *e)
     // draw pointer
     QPolygon pa(3);
     pa.setPoints(3, m_cursorPosition - 5, 10, m_cursorPosition + 5, 10, m_cursorPosition/*+0*/, 5);
-    p.setBrush(palette().dark().color());
+    p.setBrush(palette().text().color());
     p.setPen(Qt::NoPen);
     p.drawPolygon(pa);
 }