X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Ftitlewidget.h;h=a67112b7d0541ead6cc0d959d6952403e0172b93;hb=35ff94d85a5b01e0d96eac2504a6e166ae5cef9e;hp=42113f38903a4e7765eb00fd3352191ccfb41fb8;hpb=e44ebbaee1314e4088b03169273f66848c7795d7;p=kdenlive diff --git a/src/titlewidget.h b/src/titlewidget.h index 42113f38..a67112b7 100644 --- a/src/titlewidget.h +++ b/src/titlewidget.h @@ -43,8 +43,31 @@ public: class TitleWidget : public QDialog , public Ui::TitleWidget_UI { Q_OBJECT + public: - TitleWidget(Render *render, QWidget *parent = 0); + /** \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); + virtual ~TitleWidget(); + QDomDocument xml(); + void setXml(QDomDocument doc); + + /** \brief Find first available filename of the form titleXXX.png in projectUrl + "/titles/" directory + * \param projectUrl Url to directory of project. + * \returns A list, with the name in the form of "/path/to/titles/titleXXX" as the first element, the extension + * ".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); + + /** \brief Build a filename from a projectUrl and a titleName + * \param projectUrl Url to directory of project. + * \param titleName Name of title, on the form "titleXXX" + * + * The path "/titles/" is appended to projectUrl to build the directoryname, then .pgn is appended to + * get the filename. It is not checked that the title png actually exists, only the name is build and + * returned. */ + static QString getTitleResourceFromName(const KUrl &projectUrl, const QString &titleName); protected: virtual void resizeEvent(QResizeEvent * event); @@ -61,6 +84,18 @@ private: int m_frameHeight; Render *m_render; int m_count; + QAction *m_buttonRect; + QAction *m_buttonText; + QAction *m_buttonImage; + QAction *m_buttonCursor; + QAction *m_buttonSave; + QAction *m_buttonLoad; + /** project path for storing title clips */ + QString m_projectPath; + /** \brief Store the current choices of font, background and rect values */ + void writeChoices(); + /** \brief Read the last stored choices into the dialog */ + void readChoices(); public slots: void slotNewText(QGraphicsTextItem *tt); @@ -72,12 +107,13 @@ public slots: void fontBold(); void setupViewports(); void zIndexChanged(int); - void svgSelected(const KUrl&); void itemScaled(int); void itemRotate(int); - void saveTitle(); + void itemHCenter(); + void itemVCenter(); + void saveTitle(KUrl url = KUrl()); void loadTitle(); - QPixmap renderedPixmap(); + QImage renderedPixmap(); private slots: void slotAdjustSelectedItem(); @@ -91,6 +127,9 @@ private slots: void slotTextTool(); void slotRectTool(); void slotSelectTool(); + void slotImageTool(); + /** \brief Called when accepted, stores the user selections for next time use */ + void slotAccepted(); };