X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fgeometryval.h;h=a1557fc03f5bb6b05cb7340cf2f2848e253eff4a;hb=c3302003093710ee247ad84c0fe2ef3c579d417f;hp=9e4f3ec20d98c75a388fdc12ba976efde70e66fd;hpb=9cee0c0825fe45a53c37c61a2061e025ca43012e;p=kdenlive diff --git a/src/geometryval.h b/src/geometryval.h index 9e4f3ec2..a1557fc0 100644 --- a/src/geometryval.h +++ b/src/geometryval.h @@ -28,23 +28,25 @@ #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, 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; @@ -55,43 +57,48 @@ private: KeyframeHelper *m_helper; QGraphicsPathItem *m_path; QMenu *m_configMenu; - QMenu *m_scaleMenu; - QMenu *m_alignMenu; QAction *m_syncAction; - QAction *m_editGeom; + QAction *m_editOptions; + 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(); void slotTransparencyChanged(int transp); - void slotResize50(); - void slotResize100(); - void slotResize200(); void slotResizeCustom(); void slotResizeOriginal(); void slotAlignRight(); void slotAlignLeft(); void slotAlignTop(); void slotAlignBottom(); - void slotAlignCenter(); void slotAlignHCenter(); void slotAlignVCenter(); void slotSyncCursor(); - void slotGeometry(); void slotResetPosition(); void slotKeyframeMoved(int); + void slotSwitchOptions(); + void slotUpdateGeometry(); + void slotGeometryX(int value); + void slotGeometryY(int value); + void slotGeometryWidth(int value); + void slotGeometryHeight(int value); signals: void parameterChanged();