From d25dbc35262addfaf20ef298cc492300a2f195bf Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Fri, 31 Jul 2009 11:23:07 +0000 Subject: [PATCH] Fix title clips that have items outside frame rect svn path=/trunk/kdenlive/; revision=3792 --- src/mainwindow.cpp | 2 +- src/titledocument.cpp | 8 +++++--- src/titledocument.h | 4 +++- src/titlewidget.cpp | 2 +- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 8d4fab3f..01070e7c 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1621,7 +1621,7 @@ void MainWindow::slotEditProjectSettings() // Deselect current effect / transition m_effectStack->slotClipItemSelected(NULL, 0); m_transitionConfig->slotTransitionItemSelected(NULL, 0, QPoint(), false); - + m_clipMonitor->slotSetXml(NULL, 0); m_activeDocument->setProfilePath(profile); KdenliveSettings::setCurrent_profile(profile); KdenliveSettings::setProject_fps(m_activeDocument->fps()); diff --git a/src/titledocument.cpp b/src/titledocument.cpp index beba8521..99ca180a 100644 --- a/src/titledocument.cpp +++ b/src/titledocument.cpp @@ -40,9 +40,11 @@ TitleDocument::TitleDocument() m_scene = NULL; } -void TitleDocument::setScene(QGraphicsScene* _scene) +void TitleDocument::setScene(QGraphicsScene* _scene, int width, int height) { m_scene = _scene; + m_width = width; + m_height = height; } QDomDocument TitleDocument::xml(QGraphicsPolygonItem* startv, QGraphicsPolygonItem* endv) @@ -50,8 +52,8 @@ QDomDocument TitleDocument::xml(QGraphicsPolygonItem* startv, QGraphicsPolygonIt QDomDocument doc; QDomElement main = doc.createElement("kdenlivetitle"); - main.setAttribute("width", m_scene->width()); - main.setAttribute("height", m_scene->height()); + main.setAttribute("width", m_width); + main.setAttribute("height", m_height); doc.appendChild(main); foreach(QGraphicsItem* item, m_scene->items()) { diff --git a/src/titledocument.h b/src/titledocument.h index 637cdfa2..cc669f70 100644 --- a/src/titledocument.h +++ b/src/titledocument.h @@ -29,7 +29,7 @@ class TitleDocument public: TitleDocument(); - void setScene(QGraphicsScene* scene); + void setScene(QGraphicsScene* scene, int width, int height); bool saveDocument(const KUrl& url, QGraphicsPolygonItem* startv, QGraphicsPolygonItem* endv, double out); int loadDocument(const KUrl& url, QGraphicsPolygonItem* startv, QGraphicsPolygonItem* endv, double *out); QDomDocument xml(QGraphicsPolygonItem* startv, QGraphicsPolygonItem* endv); @@ -43,6 +43,8 @@ public: private: QGraphicsScene* m_scene; + int m_width; + int m_height; QString colorToString(const QColor&); QString rectFToString(const QRectF&); QRectF stringToRect(const QString &); diff --git a/src/titlewidget.cpp b/src/titlewidget.cpp index b42dd332..938ff35a 100644 --- a/src/titlewidget.cpp +++ b/src/titlewidget.cpp @@ -221,7 +221,7 @@ TitleWidget::TitleWidget(KUrl url, Timecode tc, QString projectTitlePath, Render // initialize graphic scene m_scene = new GraphicsSceneRectMove(this); graphicsView->setScene(m_scene); - m_titledocument.setScene(m_scene); + m_titledocument.setScene(m_scene, m_frameWidth, m_frameHeight); connect(m_scene, SIGNAL(changed(QList)), this, SLOT(slotChanged())); // a gradient background -- 2.39.2