Fixed cursor handling on vtextgraphicsitem
--HG-- branch : feature
This commit is contained in:
parent
e93f2c117b
commit
7c2f4e54ba
|
@ -484,6 +484,28 @@ void RestoreOverrideCursor(const QString &pixmapPath)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void RestoreOverrideCursor(Qt::CursorShape shape)
|
||||||
|
{
|
||||||
|
#ifndef QT_NO_CURSOR
|
||||||
|
QPixmap oldPixmap;
|
||||||
|
QCursor* pOldCursor = QGuiApplication::overrideCursor();
|
||||||
|
if (pOldCursor != 0)
|
||||||
|
{
|
||||||
|
oldPixmap = pOldCursor->pixmap();
|
||||||
|
}
|
||||||
|
QCursor cursor(shape);
|
||||||
|
QPixmap newPixmap = cursor.pixmap();
|
||||||
|
if (oldPixmap.toImage() == newPixmap.toImage())
|
||||||
|
{
|
||||||
|
QApplication::restoreOverrideCursor();
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
Q_UNUSED(shape);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
const qreal PrintDPI = 96.0;
|
const qreal PrintDPI = 96.0;
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -597,7 +597,7 @@ extern const QString falseStr;
|
||||||
void SetOverrideCursor(const QString & pixmapPath, int hotX = -1, int hotY = -1);
|
void SetOverrideCursor(const QString & pixmapPath, int hotX = -1, int hotY = -1);
|
||||||
void SetOverrideCursor(Qt::CursorShape shape);
|
void SetOverrideCursor(Qt::CursorShape shape);
|
||||||
void RestoreOverrideCursor(const QString & pixmapPath);
|
void RestoreOverrideCursor(const QString & pixmapPath);
|
||||||
|
void RestoreOverrideCursor(Qt::CursorShape shape);
|
||||||
|
|
||||||
extern const qreal PrintDPI;
|
extern const qreal PrintDPI;
|
||||||
|
|
||||||
|
|
|
@ -238,14 +238,6 @@ void VTextGraphicsItem::mousePressEvent(QGraphicsSceneMouseEvent *pME)
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void VTextGraphicsItem::mouseMoveEvent(QGraphicsSceneMouseEvent* pME)
|
void VTextGraphicsItem::mouseMoveEvent(QGraphicsSceneMouseEvent* pME)
|
||||||
{
|
{
|
||||||
if (m_rectResize.contains(pME->pos()) == true)
|
|
||||||
{
|
|
||||||
SetOverrideCursor(Qt::SizeFDiagCursor);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
RestoreOverrideCursor(cursorArrowOpenHand);
|
|
||||||
}
|
|
||||||
QPointF ptDiff = pME->scenePos() - m_ptStart;
|
QPointF ptDiff = pME->scenePos() - m_ptStart;
|
||||||
if (m_eMode == mMove)
|
if (m_eMode == mMove)
|
||||||
{
|
{
|
||||||
|
@ -293,7 +285,14 @@ void VTextGraphicsItem::mouseReleaseEvent(QGraphicsSceneMouseEvent* pME)
|
||||||
{
|
{
|
||||||
if (pME->button() == Qt::LeftButton)
|
if (pME->button() == Qt::LeftButton)
|
||||||
{
|
{
|
||||||
RestoreOverrideCursor(cursorArrowCloseHand);
|
if (m_eMode == mMove)
|
||||||
|
{
|
||||||
|
RestoreOverrideCursor(cursorArrowCloseHand);
|
||||||
|
}
|
||||||
|
else if (m_eMode == mResize)
|
||||||
|
{
|
||||||
|
RestoreOverrideCursor(Qt::SizeFDiagCursor);
|
||||||
|
}
|
||||||
double dDist = fabs(pME->scenePos().x() - m_ptStart.x()) + fabs(pME->scenePos().y() - m_ptStart.y());
|
double dDist = fabs(pME->scenePos().x() - m_ptStart.x()) + fabs(pME->scenePos().y() - m_ptStart.y());
|
||||||
bool bShort = (dDist < 2);
|
bool bShort = (dDist < 2);
|
||||||
|
|
||||||
|
@ -323,7 +322,6 @@ void VTextGraphicsItem::mouseReleaseEvent(QGraphicsSceneMouseEvent* pME)
|
||||||
if (bShort == true)
|
if (bShort == true)
|
||||||
{
|
{
|
||||||
m_eMode = mMove;
|
m_eMode = mMove;
|
||||||
SetOverrideCursor(cursorArrowCloseHand, 1, 1);
|
|
||||||
UpdateBox();
|
UpdateBox();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue
Block a user