Conductor autonum : use a default QUndoCommand as parent of other inherited QUndoCommand.

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4802 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
blacksun
2016-12-07 18:56:31 +00:00
parent 93bec37c40
commit 18df62cea1
2 changed files with 19 additions and 4 deletions

View File

@@ -66,12 +66,25 @@ void ConductorAutoNumerotation::applyText(QString t)
cp.text = t; cp.text = t;
new_value.setValue(cp); new_value.setValue(cp);
QPropertyUndoCommand *undo = new QPropertyUndoCommand(m_conductor, "properties", old_value, new_value, m_parent_undo); QUndoCommand *undo = nullptr;
undo->setText(QObject::tr("Modifier les propriétés d'un conducteur", "undo caption"));
if (m_parent_undo)
{
new QPropertyUndoCommand(m_conductor, "properties", old_value, new_value, m_parent_undo);
undo = m_parent_undo;
}
else
{
undo = new QUndoCommand();
new QPropertyUndoCommand(m_conductor, "properties", old_value, new_value, undo);
undo->setText(QObject::tr("Modifier les propriétés d'un conducteur", "undo caption"));
}
if (!conductor_list.isEmpty()) if (!conductor_list.isEmpty())
{ {
undo->setText(QObject::tr("Modifier les propriétés de plusieurs conducteurs", "undo caption")); if (!m_parent_undo)
undo->setText(QObject::tr("Modifier les propriétés de plusieurs conducteurs", "undo caption"));
foreach (Conductor *cond, conductor_list) foreach (Conductor *cond, conductor_list)
{ {
ConductorProperties cp2 = cond -> properties(); ConductorProperties cp2 = cond -> properties();

View File

@@ -602,7 +602,9 @@ void Terminal::mouseReleaseEvent(QGraphicsSceneMouseEvent *e)
} }
QUndoCommand *undo = new AddItemCommand<Conductor *>(new_conductor, diagram()); QUndoCommand *undo = new QUndoCommand();
QUndoCommand *aic = new AddItemCommand<Conductor *>(new_conductor, diagram(), QPointF(), undo);
undo->setText(aic->text());
if (use_properties) if (use_properties)
{ {