]> git.sesse.net Git - kdenlive/blobdiff - src/titlewidget.h
Fix possible crash on effect change
[kdenlive] / src / titlewidget.h
index 9b20154bd652bcb308fc98d45ac4d27f11060d40..d4a5fa826b7ba75c7f29a5cf3f1f60e162a3db2e 100644 (file)
@@ -26,6 +26,7 @@
 #include "unicodedialog.h"
 
 #include <QMap>
+#include <QSignalMapper>
 
 
 class Transform
@@ -47,7 +48,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 projectPath, Render *render, QWidget *parent = 0);
+    TitleWidget(KUrl url, QString projectTitlePath, Render *render, QWidget *parent = 0);
     virtual ~TitleWidget();
     QDomDocument xml();
     void setXml(QDomDocument doc);
@@ -58,7 +59,7 @@ public:
      * ".png" as the second element.
      *
      * The path "/titles/" is appended to projectUrl to locate the actual directory that contains the title pngs. */
-    static QStringList getFreeTitleInfo(const KUrl &projectUrl);
+    static QStringList getFreeTitleInfo(const KUrl &projectUrl, bool isClone = false);
 
     /** \brief Build a filename from a projectUrl and a titleName
      * \param projectUrl Url to directory of project.
@@ -95,19 +96,32 @@ private:
     QAction *m_buttonCursor;
     QAction *m_buttonSave;
     QAction *m_buttonLoad;
+
+    QAction *m_unicodeAction;
     /** \brief Dialog for entering unicode in text fields */
     UnicodeDialog *m_unicodeDialog;
-    /** \brief Stores the last used unicode */
-    QString m_lastUnicodeNumber;
     /** project path for storing title clips */
-    QString m_projectPath;
+    QString m_projectTitlePath;
+
+    /** 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);
 
@@ -117,6 +131,13 @@ 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);
+
 public slots:
     void slotNewText(QGraphicsTextItem *tt);
     void slotNewRect(QGraphicsRectItem *rect);
@@ -179,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();
@@ -187,8 +211,6 @@ private slots:
     void slotUpdateText();
     void slotInsertUnicode();
     void slotInsertUnicodeString(QString);
-    /** \brief Called when unicode dialog closed, updates the last selected unicode number */
-    void slotUnicodeNumber(QString);
 
     void displayBackgroundFrame();