X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Ftitlewidget.h;h=d09c8c2e539777dc7e295e6aff59f859638314a4;hb=7ac1f7b70439ce38c29fb6ff02439f24cb040ccc;hp=1b51e2cf28c94be11d97b7a166614c9784766829;hpb=bd9e87cc77b27d661452cb99ffd01c7f30ce28d9;p=kdenlive diff --git a/src/titlewidget.h b/src/titlewidget.h index 1b51e2cf..d09c8c2e 100644 --- a/src/titlewidget.h +++ b/src/titlewidget.h @@ -24,8 +24,10 @@ #include "renderer.h" #include "graphicsscenerectmove.h" #include "unicodedialog.h" +#include "timecode.h" #include +#include class Transform @@ -47,7 +49,7 @@ class TitleWidget : public QDialog , public Ui::TitleWidget_UI public: /** \brief Constructor * \param projectPath Path to use when user requests loading or saving of titles as .kdenlivetitle documents */ - TitleWidget(KUrl url, QString projectTitlePath, Render *render, QWidget *parent = 0); + TitleWidget(KUrl url, Timecode tc, QString projectTitlePath, Render *render, QWidget *parent = 0); virtual ~TitleWidget(); QDomDocument xml(); void setXml(QDomDocument doc); @@ -69,18 +71,16 @@ public: * returned. */ static QString getTitleResourceFromName(const KUrl &projectUrl, const QString &titleName); - /** \brief returns the size of the rendered pixmap - * - */ - const QRect renderedRect(); + /** \brief Get clip duration. */ + int duration() const; protected: virtual void resizeEvent(QResizeEvent * event); private: - QGraphicsPolygonItem *m_startViewport, *m_endViewport; + QGraphicsRectItem *m_startViewport, *m_endViewport; GraphicsSceneRectMove *m_scene; - void initViewports(); + void initAnimation(); QMap m_transformations; TitleDocument m_titledocument; QGraphicsRectItem *m_frameBorder; @@ -95,17 +95,34 @@ private: QAction *m_buttonCursor; QAction *m_buttonSave; QAction *m_buttonLoad; + + QAction *m_unicodeAction; + /** \brief Dialog for entering unicode in text fields */ UnicodeDialog *m_unicodeDialog; /** project path for storing title clips */ QString m_projectTitlePath; + Timecode m_tc; + + /** See http://doc.trolltech.com/4.5/signalsandslots.html#advanced-signals-and-slots-usage */ + QSignalMapper *m_signalMapper; + + enum ValueType { ValueWidth = 0, ValueHeight = 1 }; + + /** \brief Sets the font weight value in the combo box. (#909) */ + void setFontBoxWeight(int weight); + /** \brief Store the current choices of font, background and rect values */ void writeChoices(); /** \brief Read the last stored choices into the dialog */ void readChoices(); - /** \brief Update the displayed X/Y coordinates */ + /** \brief Update the displayed X/Y coordinate values */ void updateCoordinates(QGraphicsItem *i); + /** \brief Update displayed width/height values */ void updateDimension(QGraphicsItem *i); + /** \brief Update displayed rotation/zoom values */ + void updateRotZoom(QGraphicsItem *i); + /** \brief Update the item's position */ void updatePosition(QGraphicsItem *i); @@ -115,6 +132,15 @@ private: void updateTextOriginX(); void updateTextOriginY(); + /** \brief Enables the toolbars suiting to toolType */ + void enableToolbars(TITLETOOL toolType); + /** \brief Shows the toolbars suiting to toolType */ + void showToolbars(TITLETOOL toolType); + /** \brief Check a tool button. */ + void checkButton(TITLETOOL toolType); + + void adjustFrameSize(); + public slots: void slotNewText(QGraphicsTextItem *tt); void slotNewRect(QGraphicsRectItem *rect); @@ -125,11 +151,8 @@ public slots: void zIndexChanged(int); void itemScaled(int); void itemRotate(int); - void itemHCenter(); - void itemVCenter(); void saveTitle(KUrl url = KUrl()); - void loadTitle(); - QImage renderedPixmap(); + void loadTitle(KUrl url = KUrl()); private slots: void slotAdjustSelectedItem(); @@ -177,6 +200,9 @@ private slots: /** \brief Update coorinates of text fields if necessary and text has changed */ void slotChanged(); + /** \param valueType Of type ValueType */ + void slotValueChanged(int valueType); + void slotZoom(bool up); void slotUpdateZoom(int pos); void slotAdjustZoom(); @@ -195,6 +221,19 @@ private slots: void slotSelectTool(); void slotImageTool(); + void slotAnimStart(bool); + void slotAnimEnd(bool); + void slotKeepAspect(bool keep); + + void itemHCenter(); + void itemVCenter(); + void itemTop(); + void itemBottom(); + void itemLeft(); + void itemRight(); + void slotResize50(); + void slotResize100(); + void slotResize200(); /** \brief Called when accepted, stores the user selections for next time use */ void slotAccepted();