mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-09-13 20:23:04 +02:00
Added option to only move dynamic texts
This commit is contained in:
parent
8c3343795a
commit
78ee65a21b
@ -546,7 +546,15 @@ void DynamicElementTextItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
|
|||||||
m_slave_Xref_item->setDefaultTextColor(Qt::black);
|
m_slave_Xref_item->setDefaultTextColor(Qt::black);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Shift or no parent initiates movement of dynamic text, otherwise movement of parent element
|
||||||
|
if(event->modifiers() & Qt::ShiftModifier || !m_parent_element)
|
||||||
|
{
|
||||||
|
m_move_parent = false;
|
||||||
DiagramTextItem::mousePressEvent(event);
|
DiagramTextItem::mousePressEvent(event);
|
||||||
|
} else {
|
||||||
|
m_move_parent = true;
|
||||||
|
parentElement()->mousePressEvent(event);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -557,6 +565,10 @@ void DynamicElementTextItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
|||||||
{
|
{
|
||||||
if((event->buttons() & Qt::LeftButton) && (flags() & ItemIsMovable))
|
if((event->buttons() & Qt::LeftButton) && (flags() & ItemIsMovable))
|
||||||
{
|
{
|
||||||
|
if(m_move_parent)
|
||||||
|
{
|
||||||
|
parentElement()->mouseMoveEvent(event);
|
||||||
|
} else {
|
||||||
if(diagram() && m_first_move)
|
if(diagram() && m_first_move)
|
||||||
diagram()->elementTextsMover().beginMovement(diagram(), this);
|
diagram()->elementTextsMover().beginMovement(diagram(), this);
|
||||||
|
|
||||||
@ -577,6 +589,7 @@ void DynamicElementTextItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
|||||||
|
|
||||||
if(diagram())
|
if(diagram())
|
||||||
diagram()->elementTextsMover().continueMovement(event);
|
diagram()->elementTextsMover().continueMovement(event);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
event->ignore();
|
event->ignore();
|
||||||
}
|
}
|
||||||
@ -591,6 +604,10 @@ void DynamicElementTextItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
|||||||
*/
|
*/
|
||||||
void DynamicElementTextItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
void DynamicElementTextItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
||||||
{
|
{
|
||||||
|
if(m_move_parent)
|
||||||
|
{
|
||||||
|
parentElement()->mouseReleaseEvent(event);
|
||||||
|
} else {
|
||||||
if (m_parent_element)
|
if (m_parent_element)
|
||||||
m_parent_element->setHighlighted(false);
|
m_parent_element->setHighlighted(false);
|
||||||
|
|
||||||
@ -599,6 +616,7 @@ void DynamicElementTextItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
|||||||
|
|
||||||
if(!(event->modifiers() & Qt::ControlModifier))
|
if(!(event->modifiers() & Qt::ControlModifier))
|
||||||
QGraphicsTextItem::mouseReleaseEvent(event);
|
QGraphicsTextItem::mouseReleaseEvent(event);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -170,6 +170,7 @@ class DynamicElementTextItem : public DiagramTextItem
|
|||||||
QPointF m_initial_position;
|
QPointF m_initial_position;
|
||||||
bool m_keep_visual_rotation = true;
|
bool m_keep_visual_rotation = true;
|
||||||
qreal m_visual_rotation_ref = 0;
|
qreal m_visual_rotation_ref = 0;
|
||||||
|
bool m_move_parent = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // DYNAMICELEMENTTEXTITEM_H
|
#endif // DYNAMICELEMENTTEXTITEM_H
|
||||||
|
@ -42,6 +42,7 @@ class ElementTextItemGroup;
|
|||||||
class Element : public QetGraphicsItem
|
class Element : public QetGraphicsItem
|
||||||
{
|
{
|
||||||
friend class DiagramEventAddElement;
|
friend class DiagramEventAddElement;
|
||||||
|
friend class DynamicElementTextItem;
|
||||||
|
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user