#include <QWidget>
#include <QDomElement>
#include <QGraphicsPathItem>
-#include <QGraphicsView>
#include <mlt++/Mlt.h>
#include "ui_geometryval_ui.h"
#include "definitions.h"
#include "keyframehelper.h"
-#include "ui_geometryposition_ui.h"
+#include "timecodedisplay.h"
-//class QGraphicsScene;
class GraphicsSceneRectMove;
class QGraphicsRectItem;
-class QMouseEvent;
+class QGraphicsView;
class Geometryval : public QWidget, public Ui::Geometryval
{
Q_OBJECT
public:
- explicit Geometryval(const MltVideoProfile profile, QPoint frame_size, int startPoint = 0, QWidget* parent = 0);
+ explicit Geometryval(const MltVideoProfile &profile, const Timecode &t, const QPoint &frame_size, int startPoint = 0, QWidget* parent = 0);
virtual ~Geometryval();
QDomElement getParamDesc();
QString getValue() const;
- void setFrameSize(QPoint p);
+ void setFrameSize(const QPoint &p);
+ /** @brief Updates the timecode display according to settings (frame number or hh:mm:ss:ff) */
+ void updateTimecodeFormat();
+ void slotUpdateRange(int inPoint, int outPoint);
private:
MltVideoProfile m_profile;
QAction *m_reset;
bool m_fixedMode;
QPoint m_frameSize;
- Ui::GeometryPosition_UI m_view;
void updateTransitionPath();
double m_dar;
int m_startPoint;
QGraphicsView *m_sceneview;
+ TimecodeDisplay m_timePos;
bool keyframeSelected();
public slots:
- void setupParam(const QDomElement, int, int);
+ void setupParam(const QDomElement, int minframe, int maxframe);
+ /** @brief Updates position of the local timeline to @param relTimelinePos. */
+ void slotSyncPosition(int relTimelinePos);
private slots:
void slotNextFrame();
void slotPreviousFrame();
- void slotPositionChanged(int pos, bool seek = true);
+ void slotPositionChanged(int pos = -1, bool seek = true);
void slotDeleteFrame(int pos = -1);
void slotAddFrame(int pos = -1);
void slotUpdateTransitionProperties();