From 9f4fbe456f3b156f4a817b955a1f4a91668e801f Mon Sep 17 00:00:00 2001 From: blacksun Date: Tue, 25 Nov 2014 05:45:50 +0000 Subject: [PATCH] Bug fix for terminal primtive : the rotation of terminal isn't save git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@3517 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- sources/editor/esevent/eseventaddterminal.cpp | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/sources/editor/esevent/eseventaddterminal.cpp b/sources/editor/esevent/eseventaddterminal.cpp index bbf4284bf..49bc4b442 100644 --- a/sources/editor/esevent/eseventaddterminal.cpp +++ b/sources/editor/esevent/eseventaddterminal.cpp @@ -62,9 +62,9 @@ bool ESEventAddTerminal::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) { m_scene -> undoStack().push(new AddPartCommand(QObject::tr("Borne"), m_scene, m_terminal)); //Set new terminal with same rotation - qreal rotation = m_terminal -> rotation(); + Qet::Orientation ori = m_terminal -> orientation(); m_terminal = new PartTerminal(m_editor, 0, m_scene); - m_terminal -> setRotation(rotation); + m_terminal -> setOrientation(ori); m_terminal -> setPos(m_scene -> snapToGrid(event -> scenePos())); return true; @@ -84,8 +84,24 @@ bool ESEventAddTerminal::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) { */ bool ESEventAddTerminal::keyPressEvent(QKeyEvent *event) { if (event -> key() == Qt::Key_Space) { - m_terminal -> setRotation(m_terminal -> rotation() + 90); + switch (m_terminal->orientation()) { + case Qet::North : + m_terminal -> setOrientation(Qet::East); + break; + case Qet::East : + m_terminal -> setOrientation(Qet::South); + break; + case Qet::South : + m_terminal -> setOrientation(Qet::West); + break; + case Qet::West : + m_terminal -> setOrientation(Qet::North); + break; + default : + m_terminal -> setOrientation(Qet::North); + break; + } return true; } - return false; + return (ESEventInterface::keyPressEvent(event)); }