void CustomRuler::mousePressEvent ( QMouseEvent * event )
{
int pos = event->x();
- slotNewValue( pos, true );
+ slotMoveCursor( pos, true );
kDebug()<<pos;
}
void CustomRuler::mouseMoveEvent ( QMouseEvent * event )
{
int pos = event->x();
- slotNewValue( pos, true );
+ slotMoveCursor( pos, true );
kDebug()<<pos;
}
+void CustomRuler::slotMoveRuler(int newPos)
+{
+ int diff = offset() - newPos;
+ KRuler::slotNewOffset(newPos);
+ KRuler::slotNewValue(value() + diff);
+}
+
+void CustomRuler::slotMoveCursor( int _value, bool emitSignal )
+{
+ KRuler::slotNewValue(_value );
+ m_cursorPosition= (_value + offset()) / pixelPerMark();
+ if (emitSignal) emit cursorMoved(m_cursorPosition / FRAME_SIZE);
+}
+
+
void CustomRuler::slotNewValue ( int _value, bool emitSignal )
{
- m_cursorPosition = _value / pixelPerMark();
+ kDebug()<<"-------------- SET NEW CURSOR: "<<_value;
+ m_cursorPosition= _value / pixelPerMark();
if (emitSignal) emit cursorMoved(m_cursorPosition / FRAME_SIZE);
- KRuler::slotNewValue(_value);
+ KRuler::slotNewValue(_value* pixelPerMark() - offset());
}
void CustomRuler::setPixelPerMark (double rate)
private:
int m_cursorPosition;
Timecode m_timecode;
+ void slotMoveCursor( int _value, bool emitSignal );
public slots:
void slotNewValue ( int _value, bool emitSignal = false );
+ void slotMoveRuler (int newPos);
+
signals:
void cursorMoved(int);
kDebug()<<"//////// NO ITEMĀ FOUND ON CLICK";
m_dragItem = NULL;
setCursor(Qt::ArrowCursor);
- emit cursorMoved((int) mapToScene(event->x(), 0).x());
+ setCursorPos((int) mapToScene(event->x(), 0).x());
+ emit cursorMoved(cursorPos());
}
}
//kDebug()<<pos;
virtual void mouseMoveEvent ( QMouseEvent * event );
void addTrack();
void removeTrack();
- void setCursorPos(int pos);
int cursorPos();
void initView();
void moveClip ( const QPointF &startPos, const QPointF &endPos );
void addClip ( int clipType, QString clipName, int clipProducer, int maxDuration, const QRectF &rect );
void deleteClip ( const QRectF &rect );
+ public slots:
+ void setCursorPos(int pos);
+
protected:
virtual void drawBackground ( QPainter * painter, const QRectF & rect );
//virtual void drawForeground ( QPainter * painter, const QRectF & rect );
view->horizontalSlider->setValue(0);
m_currentZoom = view->horizontalSlider->value();
connect(view->horizontalSlider, SIGNAL(valueChanged ( int )), this, SLOT(slotChangeZoom( int )));
- connect(m_ruler, SIGNAL(cursorMoved ( int )), this, SLOT(slotCursorMoved( int )));
+ connect(m_ruler, SIGNAL(cursorMoved ( int )), m_trackview, SLOT(setCursorPos( int )));
connect(m_trackview, SIGNAL(cursorMoved ( int )), this, SLOT(slotCursorMoved( int )));
connect(m_trackview, SIGNAL(zoomIn ()), this, SLOT(slotZoomIn()));
connect(m_trackview, SIGNAL(zoomOut ()), this, SLOT(slotZoomOut()));
+ connect(m_trackview->horizontalScrollBar(), SIGNAL(sliderMoved( int )), m_ruler, SLOT(slotMoveRuler( int )));
m_trackview->initView();
}
void TrackView::slotCursorMoved(int pos)
{
- //kDebug()<<"///// CURSOR: "<<pos;
- m_ruler->slotNewValue(m_trackview->mapToScene(QPoint(pos, 0)).x());
- m_trackview->setCursorPos(pos);
+ kDebug()<<"///// CURSOR: "<<pos;
+ m_ruler->slotNewValue(pos * FRAME_SIZE); //(int) m_trackview->mapToScene(QPoint(pos, 0)).x());
+ //m_trackview->setCursorPos(pos);
//m_trackview->invalidateScene(QRectF(), QGraphicsScene::ForegroundLayer);
}