]> git.sesse.net Git - kdenlive/commitdiff
Make sure DVD buttons have integer positions
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 21 Dec 2012 01:07:16 +0000 (02:07 +0100)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 21 Dec 2012 01:07:16 +0000 (02:07 +0100)
src/dvdwizardmenu.cpp
src/dvdwizardmenu.h

index 3abced6481cfb5c088cb3182d8775042c7e9cbb7..167baa8cbf8e417fb23b47b58fee53b6780ae458 100644 (file)
@@ -764,8 +764,8 @@ QDomElement DvdWizardMenu::toXml() const
             xmlbutton.setAttribute("target", button->target());
             xmlbutton.setAttribute("command", button->command());
             xmlbutton.setAttribute("backtomenu", button->backMenu());
-            xmlbutton.setAttribute("posx", button->pos().x());
-            xmlbutton.setAttribute("posy", button->pos().y());
+            xmlbutton.setAttribute("posx", (int) button->pos().x());
+            xmlbutton.setAttribute("posy", (int) button->pos().y());
             xmlbutton.setAttribute("text", button->toPlainText());
             QFont font = button->font();
             xmlbutton.setAttribute("font_size", font.pixelSize());
@@ -838,7 +838,7 @@ void DvdWizardMenu::loadXml(DVDFORMAT format, QDomElement xml)
         button->setDefaultTextColor(m_view.text_color->color());
         button->setZValue(4);
         m_scene->addItem(button);
-        button->setPos(e.attribute("posx").toDouble(), e.attribute("posy").toDouble());
+        button->setPos(e.attribute("posx").toInt(), e.attribute("posy").toInt());
 
     }
 }
index 85eea94adadc770b54b0fbfa478baf94c9139bf8..85522e72ea3f4b907dd0341a058a6747a1ae22be 100644 (file)
@@ -113,11 +113,11 @@ protected:
 
     virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value) {
         if (change == ItemPositionChange && scene()) {
-            QPointF newPos = value.toPointF();
+            QPoint newPos = value.toPoint();
             QRectF sceneShape = sceneBoundingRect();
             DvdScene *sc = static_cast < DvdScene * >(scene());
-            newPos.setX(qMax(newPos.x(), (qreal)0));
-            newPos.setY(qMax(newPos.y(), (qreal)0));
+            newPos.setX(qMax(newPos.x(), 0));
+            newPos.setY(qMax(newPos.y(), 0));
             if (newPos.x() + sceneShape.width() > sc->width()) newPos.setX(sc->width() - sceneShape.width());
             if (newPos.y() + sceneShape.height() > sc->height()) newPos.setY(sc->height() - sceneShape.height());