diff --git a/sources/SearchAndReplace/searchandreplaceworker.cpp b/sources/SearchAndReplace/searchandreplaceworker.cpp index 1786c5216..83efd7508 100644 --- a/sources/SearchAndReplace/searchandreplaceworker.cpp +++ b/sources/SearchAndReplace/searchandreplaceworker.cpp @@ -236,7 +236,7 @@ void SearchAndReplaceWorker::replaceConductor(Conductor *conductor) * With search and replace, when the variable to edit is a text, * the editor is always the same no matter if it is for a folio, element or conductor. * The editor is a QLineEdit to edit the text and checkbox to erase the text if checked. - * This function fill the editor + * This function fill the editor, from the current string * @param l * @param cb * @param str @@ -245,6 +245,7 @@ void SearchAndReplaceWorker::setupLineEdit(QLineEdit *l, QCheckBox *cb, QString { l->setText(str); cb->setChecked(str == eraseText() ? true : false); + l->setDisabled(str == eraseText() ? true : false); } ConductorProperties SearchAndReplaceWorker::invalidConductorProperties() diff --git a/sources/SearchAndReplace/ui/replaceelementdialog.cpp b/sources/SearchAndReplace/ui/replaceelementdialog.cpp index 3a96aff2a..5eb745589 100644 --- a/sources/SearchAndReplace/ui/replaceelementdialog.cpp +++ b/sources/SearchAndReplace/ui/replaceelementdialog.cpp @@ -47,10 +47,8 @@ void ReplaceElementDialog::setContext(DiagramContext context) { m_context = context; - for (ElementInfoPartWidget *eipw : m_eipw_list) - { + for (ElementInfoPartWidget *eipw : m_eipw_list) { eipw->setText(m_context[eipw->key()].toString()); - eipw->setEraseTextChecked(false); } } diff --git a/sources/SearchAndReplace/ui/replacefoliowidget.cpp b/sources/SearchAndReplace/ui/replacefoliowidget.cpp index 32f440ba1..172d6c5ca 100644 --- a/sources/SearchAndReplace/ui/replacefoliowidget.cpp +++ b/sources/SearchAndReplace/ui/replacefoliowidget.cpp @@ -22,6 +22,8 @@ #include +typedef SearchAndReplaceWorker sarw; + ReplaceFolioWidget::ReplaceFolioWidget(QWidget *parent) : QWidget(parent), ui(new Ui::ReplaceFolioWidget) @@ -75,13 +77,13 @@ TitleBlockProperties ReplaceFolioWidget::titleBlockProperties() const */ void ReplaceFolioWidget::setTitleBlockProperties(const TitleBlockProperties &properties) { - ui->m_title_le ->setText (properties.title); - ui->m_author_le->setText (properties.author); - ui->m_file_le ->setText (properties.filename); - ui->m_plant ->setText (properties.plant); - ui->m_loc ->setText (properties.locmach); - ui->m_indice ->setText (properties.indexrev); - ui->m_folio_le ->setText (properties.folio); + sarw::setupLineEdit(ui->m_title_le, ui->m_title_cb, properties.title); + sarw::setupLineEdit(ui->m_author_le, ui->m_author_cb, properties.author); + sarw::setupLineEdit(ui->m_file_le, ui->m_file_cb, properties.filename); + sarw::setupLineEdit(ui->m_plant, ui->m_plant_cb, properties.plant); + sarw::setupLineEdit(ui->m_loc, ui->m_loc_cb, properties.locmach); + sarw::setupLineEdit(ui->m_indice, ui->m_indice_cb, properties.indexrev); + sarw::setupLineEdit(ui->m_folio_le, ui->m_folio_cb, properties.folio); //About date ui->m_date_now_pb->setDisabled(true); diff --git a/sources/ui/elementinfopartwidget.cpp b/sources/ui/elementinfopartwidget.cpp index f82b2e51a..5d5e68832 100644 --- a/sources/ui/elementinfopartwidget.cpp +++ b/sources/ui/elementinfopartwidget.cpp @@ -21,6 +21,7 @@ #include "ui_elementinfopartwidget.h" #include "searchandreplaceworker.h" +typedef SearchAndReplaceWorker sarw; /** * @brief ElementInfoPartWidget::ElementInfoPartWidget @@ -58,8 +59,8 @@ ElementInfoPartWidget::~ElementInfoPartWidget() */ void ElementInfoPartWidget::setText(const QString &txt) { - if (txt == SearchAndReplaceWorker::eraseText()) { - ui->m_erase_text->setChecked(true); + if (m_show_erase) { + sarw::setupLineEdit(ui->line_edit, ui->m_erase_text, txt); } else { ui->line_edit->setText(txt); } @@ -113,6 +114,7 @@ void ElementInfoPartWidget::setDisabled(bool d) { */ void ElementInfoPartWidget::setEraseTextVisible(bool visible) { ui->m_erase_text->setVisible(visible); + m_show_erase = visible; } /** diff --git a/sources/ui/elementinfopartwidget.h b/sources/ui/elementinfopartwidget.h index c82bbfc8c..9dcbe842d 100644 --- a/sources/ui/elementinfopartwidget.h +++ b/sources/ui/elementinfopartwidget.h @@ -48,13 +48,14 @@ class ElementInfoPartWidget : public QWidget void textEdited (const QString & text); void textChanged (const QString & text); - //ATTRIBUTES - private slots: + //ATTRIBUTES + private slots: void on_m_erase_text_clicked(); - private: + private: Ui::ElementInfoPartWidget *ui; QString key_; + bool m_show_erase = false; }; #endif // ELEMENTINFOPARTWIDGET_H