From ae59b63602522555dfb6ed059ec2638f4c0c398a Mon Sep 17 00:00:00 2001 From: Marco Martin Date: Wed, 9 Sep 2009 22:24:49 +0000 Subject: [PATCH] resize of rotated applets -almost- correct.. almost.. svn path=/trunk/KDE/kdelibs/; revision=1021737 --- private/applethandle.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/private/applethandle.cpp b/private/applethandle.cpp index 461ebfc34..36a763280 100644 --- a/private/applethandle.cpp +++ b/private/applethandle.cpp @@ -664,22 +664,24 @@ void AppletHandle::mouseMoveEvent(QGraphicsSceneMouseEvent *event) newSize.ry() = qMin(max.height(), qMax(min.height(), newSize.y())); } - // move center such that the static corner remains in the same place if (m_buttonsOnRight) { - newCenter = _k_rotatePoint(QPointF(rStaticPoint.x() + newSize.x()/2, - rStaticPoint.y() - newSize.y()/2), 0); + newCenter = (QPointF(m_originalGeom.size().width(), m_originalGeom.size().height())/2 - newSize/2); + newCenter = QPointF(0, newCenter.y()*2); } else { - newCenter = _k_rotatePoint(QPointF(rStaticPoint.x() - newSize.x()/2, - rStaticPoint.y() - newSize.y()/2), 0); + newCenter = (QPointF(m_originalGeom.size().width(), m_originalGeom.size().height())/2 - newSize/2)*2; } + + newAngle = m_angle; } if (m_pressedButton == ResizeButton) { // set applet size kDebug() << newCenter << m_originalGeom.topLeft() << newSize; - m_applet->setPos(newCenter - (m_originalGeom.topLeft() + newSize/2)); + QPointF newPos = m_originalGeom.topLeft() + _k_rotatePoint(newCenter, m_angle); + m_applet->setPos(newPos); + // m_applet->moveBy(newCenter.x(), newCenter.y()); m_applet->resize(newSize.x(), newSize.y()); } else { // set applet handle rotation - rotate around center of applet