diff --git a/sources/ui/elementinfowidget.cpp b/sources/ui/elementinfowidget.cpp index 76520fa14..03f646fc9 100644 --- a/sources/ui/elementinfowidget.cpp +++ b/sources/ui/elementinfowidget.cpp @@ -64,6 +64,22 @@ void ElementInfoWidget::setElement(Element *element) m_element = element; updateUi(); + ElementInfoPartWidget *f = infoPartWidgetForKey("formula"); + ElementInfoPartWidget *l = infoPartWidgetForKey("label"); + + if (f && l) + { + if (f->text().isEmpty()) + l->setEnabled(true); + else + l->setDisabled(true); + + connect(f, &ElementInfoPartWidget::textChanged, [l](const QString text) + { + l->setEnabled(text.isEmpty()? true : false); + }); + } + connect(m_element, &Element::elementInfoChange, this, &ElementInfoWidget::elementInfoChange); } @@ -75,20 +91,7 @@ void ElementInfoWidget::setElement(Element *element) void ElementInfoWidget::apply() { if (QUndoCommand *undo = associatedUndo()) - { m_element -> diagram() -> undoStack().push(undo); - - ElementInfoPartWidget *f = infoPartWidgetForKey("formula"); - ElementInfoPartWidget *l = infoPartWidgetForKey("label"); - - if (f && l) - { - if (f->text().isEmpty()) - l->setEnabled(true); - else - l->setDisabled(true); - } - } } /** @@ -232,17 +235,6 @@ void ElementInfoWidget::updateUi() eipw->setHideShow(true); } - ElementInfoPartWidget *f = infoPartWidgetForKey("formula"); - ElementInfoPartWidget *l = infoPartWidgetForKey("label"); - - if (f && l) - { - if (f->text().isEmpty()) - l->setEnabled(true); - else - l->setDisabled(true); - } - if (m_live_edit) enableLiveEdit(); }