[qet] qet/qet: [5576] Search and replace : Element properties can be changed ( and mass changed) through the search and replace widget. |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/qet Archives
]
- To: qet@xxxxxxxxxxxxxxxxxxx
- Subject: [qet] qet/qet: [5576] Search and replace : Element properties can be changed ( and mass changed) through the search and replace widget.
- From: subversion@xxxxxxxxxxxxx
- Date: Fri, 09 Nov 2018 19:50:38 +0100
Revision: 5576
Author: blacksun
Date: 2018-11-09 19:50:37 +0100 (Fri, 09 Nov 2018)
Log Message:
-----------
Search and replace : Element properties can be changed (and mass changed) through the search and replace widget.
Also improve the search for element
Modified Paths:
--------------
trunk/sources/SearchAndReplace/searchandreplaceworker.cpp
trunk/sources/SearchAndReplace/searchandreplaceworker.h
trunk/sources/SearchAndReplace/ui/searchandreplacewidget.cpp
trunk/sources/SearchAndReplace/ui/searchandreplacewidget.h
trunk/sources/SearchAndReplace/ui/searchandreplacewidget.ui
trunk/sources/ui/elementinfopartwidget.cpp
trunk/sources/ui/elementinfopartwidget.h
trunk/sources/ui/elementinfopartwidget.ui
Added Paths:
-----------
trunk/sources/SearchAndReplace/ui/replaceelementdialog.cpp
trunk/sources/SearchAndReplace/ui/replaceelementdialog.h
trunk/sources/SearchAndReplace/ui/replaceelementdialog.ui
Modified: trunk/sources/SearchAndReplace/searchandreplaceworker.cpp
===================================================================
--- trunk/sources/SearchAndReplace/searchandreplaceworker.cpp 2018-11-06 13:45:47 UTC (rev 5575)
+++ trunk/sources/SearchAndReplace/searchandreplaceworker.cpp 2018-11-09 18:50:37 UTC (rev 5576)
@@ -18,6 +18,9 @@
#include "searchandreplaceworker.h"
#include "diagram.h"
#include "changetitleblockcommand.h"
+#include "changeelementinformationcommand.h"
+#include "element.h"
+#include "qetapp.h"
SearchAndReplaceWorker::SearchAndReplaceWorker()
{}
@@ -138,3 +141,67 @@
list.append(diagram);
replaceDiagram(list);
}
+
+/**
+ * @brief SearchAndReplaceWorker::replaceElement
+ * Replace all properties of each elements in @list
+ * All element must belong to the same project, if not this function do nothing.
+ * All change are made through a undo command append to undo list of the project.
+ * @param list
+ */
+void SearchAndReplaceWorker::replaceElement(QList<Element *> list)
+{
+ if (list.isEmpty() || !list.first()->diagram()) {
+ return;
+ }
+
+ QETProject *project_ = list.first()->diagram()->project();
+ for (Element *elmt : list)
+ {
+ if (elmt->diagram()) {
+ if (elmt->diagram()->project() != project_) {
+ return;
+ }
+ }
+ }
+
+ project_->undoStack()->beginMacro(QObject::tr("Chercher remplacer les propriétés d'éléments"));
+ for (Element *elmt : list)
+ {
+ //We apply change only for master, slave, and terminal element.
+ if (elmt->linkType() == Element::Master ||
+ elmt->linkType() == Element::Simple ||
+ elmt->linkType() == Element::Terminale)
+ {
+ DiagramContext old_context;
+ DiagramContext new_context = old_context = elmt->elementInformations();
+ for (QString key : QETApp::elementInfoKeys())
+ {
+ QString value = m_element_context.value(key).toString();
+ if (value.isEmpty()) {
+ continue;
+ }
+
+ if (value == eraseText()) {
+ new_context.addValue(key, QString());
+ } else {
+ new_context.addValue(key, value);
+ }
+ }
+
+ if (old_context != new_context)
+ {
+ ChangeElementInformationCommand *undo = new ChangeElementInformationCommand(elmt, old_context, new_context);
+ project_->undoStack()->push(undo);
+ }
+ }
+ }
+ project_->undoStack()->endMacro();
+}
+
+void SearchAndReplaceWorker::replaceElement(Element *element)
+{
+ QList<Element *>list;
+ list.append(element);
+ replaceElement(list);
+}
Modified: trunk/sources/SearchAndReplace/searchandreplaceworker.h
===================================================================
--- trunk/sources/SearchAndReplace/searchandreplaceworker.h 2018-11-06 13:45:47 UTC (rev 5575)
+++ trunk/sources/SearchAndReplace/searchandreplaceworker.h 2018-11-09 18:50:37 UTC (rev 5576)
@@ -23,6 +23,7 @@
#include "titleblockproperties.h"
class Diagram;
+class Element;
/**
* @brief The SearchAndReplaceWorker class
@@ -36,6 +37,8 @@
void clear();
void replaceDiagram(QList <Diagram *> diagram_list);
void replaceDiagram(Diagram *diagram);
+ void replaceElement(QList <Element *> list);
+ void replaceElement(Element *element);
static QString eraseText() {return QString("XXXXXXXXXXXXXXXXXXX");}
static QDate eraseDate() {return QDate(1900, 1, 1);}
@@ -42,6 +45,7 @@
private:
TitleBlockProperties m_titleblock_properties;
+ DiagramContext m_element_context;
friend class SearchAndReplaceWidget;
};
Added: trunk/sources/SearchAndReplace/ui/replaceelementdialog.cpp
===================================================================
--- trunk/sources/SearchAndReplace/ui/replaceelementdialog.cpp (rev 0)
+++ trunk/sources/SearchAndReplace/ui/replaceelementdialog.cpp 2018-11-09 18:50:37 UTC (rev 5576)
@@ -0,0 +1,86 @@
+/*
+ Copyright 2006-2018 The QElectroTech Team
+ This file is part of QElectroTech.
+
+ QElectroTech is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ QElectroTech is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
+*/
+#include "replaceelementdialog.h"
+#include "ui_replaceelementdialog.h"
+#include "replaceelementdialog.h"
+#include "elementinfopartwidget.h"
+#include "qetapp.h"
+#include "searchandreplaceworker.h"
+
+#include <QAbstractButton>
+
+ReplaceElementDialog::ReplaceElementDialog(DiagramContext context, QWidget *parent) :
+ QDialog(parent),
+ ui(new Ui::ReplaceElementDialog)
+{
+ ui->setupUi(this);
+ buildWidget();
+ setContext(context);
+}
+
+ReplaceElementDialog::~ReplaceElementDialog()
+{
+ delete ui;
+}
+
+/**
+ * @brief ReplaceElementDialog::setContext
+ * Set the current diagram context to be edited
+ * @param context
+ */
+void ReplaceElementDialog::setContext(DiagramContext context)
+{
+ m_context = context;
+
+ for (ElementInfoPartWidget *eipw : m_eipw_list)
+ {
+ eipw->setText(m_context[eipw->key()].toString());
+ eipw->setEraseTextChecked(false);
+ }
+}
+
+/**
+ * @brief ReplaceElementDialog::context
+ * @return The edited diagram context
+ */
+DiagramContext ReplaceElementDialog::context() const
+{
+ DiagramContext context;
+ for (ElementInfoPartWidget *eipw : m_eipw_list) {
+ context.addValue(eipw->key(), eipw->text());
+ }
+
+ return context;
+}
+
+void ReplaceElementDialog::buildWidget()
+{
+ ui->m_button_box->disconnect();
+ connect(ui->m_button_box, &QDialogButtonBox::clicked, [this](QAbstractButton *button_)
+ {
+ this->done(ui->m_button_box->buttonRole(button_));
+ });
+
+ for (QString str : QETApp::elementInfoKeys())
+ {
+ ElementInfoPartWidget *eipw = new ElementInfoPartWidget(str, QETApp::elementTranslatedInfoKey(str), this);
+ eipw->setEraseTextVisible(true);
+ ui->m_scroll_layout->addWidget(eipw);
+ m_eipw_list << eipw;
+ }
+}
Added: trunk/sources/SearchAndReplace/ui/replaceelementdialog.h
===================================================================
--- trunk/sources/SearchAndReplace/ui/replaceelementdialog.h (rev 0)
+++ trunk/sources/SearchAndReplace/ui/replaceelementdialog.h 2018-11-09 18:50:37 UTC (rev 5576)
@@ -0,0 +1,50 @@
+/*
+ Copyright 2006-2018 The QElectroTech Team
+ This file is part of QElectroTech.
+
+ QElectroTech is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ QElectroTech is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
+*/
+#ifndef REPLACEELEMENTDIALOG_H
+#define REPLACEELEMENTDIALOG_H
+
+#include <QDialog>
+#include "diagramcontext.h"
+
+class ElementInfoPartWidget;
+
+namespace Ui {
+ class ReplaceElementDialog;
+}
+
+class ReplaceElementDialog : public QDialog
+{
+ Q_OBJECT
+
+ public:
+ explicit ReplaceElementDialog(DiagramContext context, QWidget *parent = nullptr);
+ ~ReplaceElementDialog();
+
+ void setContext(DiagramContext context);
+ DiagramContext context() const;
+
+ private:
+ void buildWidget();
+
+
+ Ui::ReplaceElementDialog *ui;
+ QList <ElementInfoPartWidget *> m_eipw_list;
+ DiagramContext m_context;
+};
+
+#endif // REPLACEELEMENTDIALOG_H
Added: trunk/sources/SearchAndReplace/ui/replaceelementdialog.ui
===================================================================
--- trunk/sources/SearchAndReplace/ui/replaceelementdialog.ui (rev 0)
+++ trunk/sources/SearchAndReplace/ui/replaceelementdialog.ui 2018-11-09 18:50:37 UTC (rev 5576)
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>ReplaceElementDialog</class>
+ <widget class="QDialog" name="ReplaceElementDialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>300</width>
+ <height>400</height>
+ </rect>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>300</width>
+ <height>400</height>
+ </size>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QScrollArea" name="scrollArea">
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>280</width>
+ <height>351</height>
+ </rect>
+ </property>
+ <layout class="QVBoxLayout" name="m_scroll_layout"/>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="m_button_box">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok|QDialogButtonBox::Reset</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>m_button_box</sender>
+ <signal>accepted()</signal>
+ <receiver>ReplaceElementDialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>m_button_box</sender>
+ <signal>rejected()</signal>
+ <receiver>ReplaceElementDialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
Modified: trunk/sources/SearchAndReplace/ui/searchandreplacewidget.cpp
===================================================================
--- trunk/sources/SearchAndReplace/ui/searchandreplacewidget.cpp 2018-11-06 13:45:47 UTC (rev 5575)
+++ trunk/sources/SearchAndReplace/ui/searchandreplacewidget.cpp 2018-11-09 18:50:37 UTC (rev 5576)
@@ -25,6 +25,8 @@
#include "independenttextitem.h"
#include "conductor.h"
#include "replacefoliowidget.h"
+#include "replaceelementdialog.h"
+#include "qetapp.h"
#include <QSettings>
@@ -331,6 +333,7 @@
str = tr("Inconnue");
qtwi->setText(0, str);
qtwi->setCheckState(0, Qt::Checked);
+ qtwi->setData(0, Qt::UserRole, searchTerms(element));
}
/**
@@ -367,7 +370,10 @@
qtwi->setHidden(false);
setVisibleAllParents(qtwi);
}
- for (QTreeWidgetItem *qtwi : m_diagram_hash.keys()) //Search for diagrams items
+
+ QList<QTreeWidgetItem *> qtwi_list = m_diagram_hash.keys();
+ qtwi_list.append(m_element_hash.keys());
+ for (QTreeWidgetItem *qtwi : qtwi_list)
{
QStringList list = qtwi->data(0, Qt::UserRole).toStringList();
if (!list.filter(str, Qt::CaseInsensitive).isEmpty())
@@ -631,6 +637,26 @@
return list;
}
+/**
+ * @brief SearchAndReplaceWidget::searchTerms
+ * @param element
+ * @return All QString use as terms for search
+ */
+QStringList SearchAndReplaceWidget::searchTerms(Element *element) const
+{
+ QStringList list;
+ DiagramContext context = element->elementInformations();
+ for (QString key : QETApp::elementInfoKeys())
+ {
+ QString str = context.value(key).toString();
+ if (!str.isEmpty()) {
+ list.append(str);
+ }
+ }
+
+ return list;
+}
+
void SearchAndReplaceWidget::on_m_quit_button_clicked() {
this->setHidden(true);
}
@@ -813,6 +839,10 @@
}
}
+/**
+ * @brief SearchAndReplaceWidget::on_m_replace_pb_clicked
+ * Replace the current selection
+ */
void SearchAndReplaceWidget::on_m_replace_pb_clicked()
{
QTreeWidgetItem *qtwi = ui->m_tree_widget->currentItem();
@@ -829,16 +859,28 @@
m_worker.replaceDiagram(d.data());
}
}
+ else if (ui->m_element_pb->text().endsWith(tr(" [Édité]")) &&
+ m_element_hash.keys().contains(qtwi))
+ {
+ QPointer<Element> e = m_element_hash.value(qtwi);
+ if (e) {
+ m_worker.replaceElement(e.data());
+ }
+ }
}
activateNextChecked();
ui->m_replace_pb->setEnabled(ui->m_next_pb->isEnabled());
}
+/**
+ * @brief SearchAndReplaceWidget::on_m_replace_all_pb_clicked
+ * Replace all checked item
+ */
void SearchAndReplaceWidget::on_m_replace_all_pb_clicked()
{
if (ui->m_folio_pb->text().endsWith(tr(" [Édité]")))
{
- QList <Diagram *> d;
+ QList <Diagram *> diagram_list;
for (QTreeWidgetItem *qtwi : m_diagram_hash.keys())
{
if (!qtwi->isHidden() && qtwi->checkState(0) == Qt::Checked)
@@ -845,10 +887,58 @@
{
QPointer <Diagram> p = m_diagram_hash.value(qtwi);
if (p) {
- d.append(p.data());
+ diagram_list.append(p.data());
}
}
}
- m_worker.replaceDiagram(d);
+ m_worker.replaceDiagram(diagram_list);
}
+ if (ui->m_element_pb->text().endsWith(tr(" [Édité]")))
+ {
+ QList <Element *> element_list;
+ for (QTreeWidgetItem *qtwi : m_element_hash.keys())
+ {
+ if (!qtwi->isHidden() && qtwi->checkState(0) == Qt::Checked)
+ {
+ QPointer <Element> p = m_element_hash.value(qtwi);
+ if (p) {
+ element_list.append(p.data());
+ }
+ }
+ }
+ m_worker.replaceElement(element_list);
+ }
+
+ //Change was made, we reload the panel
+ //and search again to keep up to date the tree widget
+ //and the match item of search
+ QString txt = ui->m_search_le->text();
+ on_m_reload_pb_clicked();
+ ui->m_search_le->setText(txt);
+ search();
}
+
+void SearchAndReplaceWidget::on_m_element_pb_clicked()
+{
+ ReplaceElementDialog *dialog = new ReplaceElementDialog(m_worker.m_element_context, this);
+
+ int result = dialog->exec();
+ if (result == QDialogButtonBox::AcceptRole)
+ {
+ QString text = ui->m_element_pb->text();
+ if (!text.endsWith(tr(" [Édité]"))) {
+ text.append(tr(" [Édité]"));
+ }
+ ui->m_element_pb->setText(text);
+ m_worker.m_element_context = dialog->context();
+ }
+ else if (result == QDialogButtonBox::ResetRole)
+ {
+ QString text = ui->m_element_pb->text();
+ if (text.endsWith(tr(" [Édité]"))) {
+ text.remove(tr(" [Édité]"));
+ }
+ ui->m_element_pb->setText(text);
+ m_worker.m_element_context = DiagramContext();
+ }
+}
Modified: trunk/sources/SearchAndReplace/ui/searchandreplacewidget.h
===================================================================
--- trunk/sources/SearchAndReplace/ui/searchandreplacewidget.h 2018-11-06 13:45:47 UTC (rev 5575)
+++ trunk/sources/SearchAndReplace/ui/searchandreplacewidget.h 2018-11-09 18:50:37 UTC (rev 5576)
@@ -61,6 +61,7 @@
void updateParentCheckState(QTreeWidgetItem *item, bool all_parents = true);
void activateNextChecked();
QStringList searchTerms(Diagram *diagram) const;
+ QStringList searchTerms(Element *element) const;
private slots:
void on_m_quit_button_clicked();
@@ -73,6 +74,7 @@
void on_m_folio_pb_clicked();
void on_m_replace_pb_clicked();
void on_m_replace_all_pb_clicked();
+ void on_m_element_pb_clicked();
private:
Ui::SearchAndReplaceWidget *ui;
Modified: trunk/sources/SearchAndReplace/ui/searchandreplacewidget.ui
===================================================================
--- trunk/sources/SearchAndReplace/ui/searchandreplacewidget.ui 2018-11-06 13:45:47 UTC (rev 5575)
+++ trunk/sources/SearchAndReplace/ui/searchandreplacewidget.ui 2018-11-09 18:50:37 UTC (rev 5576)
@@ -184,7 +184,7 @@
<item row="1" column="4">
<widget class="QPushButton" name="m_element_pb">
<property name="enabled">
- <bool>false</bool>
+ <bool>true</bool>
</property>
<property name="text">
<string>Élément</string>
Modified: trunk/sources/ui/elementinfopartwidget.cpp
===================================================================
--- trunk/sources/ui/elementinfopartwidget.cpp 2018-11-06 13:45:47 UTC (rev 5575)
+++ trunk/sources/ui/elementinfopartwidget.cpp 2018-11-09 18:50:37 UTC (rev 5576)
@@ -1,5 +1,5 @@
/*
- Copyright 2006-2017 The QElectroTech Team
+ Copyright 2006-2018 The QElectroTech Team
This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify
@@ -19,6 +19,7 @@
#include <utility>
#include "ui_elementinfopartwidget.h"
+#include "searchandreplaceworker.h"
/**
@@ -35,6 +36,7 @@
{
ui->setupUi(this);
ui->label_->setText(translated_key);
+ ui->m_erase_text->setVisible(false);
connect(ui->line_edit, &QLineEdit::textEdited, this, &ElementInfoPartWidget::textEdited);
connect(ui->line_edit, &QLineEdit::textChanged, this, &ElementInfoPartWidget::textChanged);
@@ -54,8 +56,13 @@
* Set text to line edit
* @param txt
*/
-void ElementInfoPartWidget::setText(const QString &txt) {
- ui->line_edit->setText(txt);
+void ElementInfoPartWidget::setText(const QString &txt)
+{
+ if (txt == SearchAndReplaceWorker::eraseText()) {
+ ui->m_erase_text->setChecked(true);
+ } else {
+ ui->line_edit->setText(txt);
+ }
}
/**
@@ -79,8 +86,7 @@
* enable the line edit
* @param e
*/
-void ElementInfoPartWidget::setEnabled(bool e)
-{
+void ElementInfoPartWidget::setEnabled(bool e) {
ui->line_edit->setEnabled(e);
}
@@ -89,7 +95,36 @@
* disable the line edit
* @param d
*/
-void ElementInfoPartWidget::setDisabled(bool d)
-{
+void ElementInfoPartWidget::setDisabled(bool d) {
ui->line_edit->setDisabled(d);
}
+
+/**
+ * @brief ElementInfoPartWidget::setEraseTextVisible
+ * @param visible
+ */
+void ElementInfoPartWidget::setEraseTextVisible(bool visible) {
+ ui->m_erase_text->setVisible(visible);
+}
+
+/**
+ * @brief ElementInfoPartWidget::setEraseTextChecked
+ * @param check
+ */
+void ElementInfoPartWidget::setEraseTextChecked(bool check) {
+ ui->m_erase_text->setChecked(check);
+}
+
+/**
+ * @brief ElementInfoPartWidget::EraseTextCheckState
+ * @return
+ */
+Qt::CheckState ElementInfoPartWidget::EraseTextCheckState() const {
+ return ui->m_erase_text->checkState();
+}
+
+void ElementInfoPartWidget::on_m_erase_text_clicked()
+{
+ ui->line_edit->setText(ui->m_erase_text->isChecked() ? SearchAndReplaceWorker::eraseText() : QString());
+ ui->line_edit->setDisabled(ui->m_erase_text->isChecked());
+}
Modified: trunk/sources/ui/elementinfopartwidget.h
===================================================================
--- trunk/sources/ui/elementinfopartwidget.h 2018-11-06 13:45:47 UTC (rev 5575)
+++ trunk/sources/ui/elementinfopartwidget.h 2018-11-09 18:50:37 UTC (rev 5576)
@@ -1,5 +1,5 @@
/*
- Copyright 2006-2017 The QElectroTech Team
+ Copyright 2006-2018 The QElectroTech Team
This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify
@@ -39,6 +39,9 @@
void setFocusTolineEdit();
void setEnabled(bool e);
void setDisabled(bool d);
+ void setEraseTextVisible (bool visible);
+ void setEraseTextChecked (bool check);
+ Qt::CheckState EraseTextCheckState ()const;
signals:
void textEdited (const QString & text);
@@ -45,7 +48,10 @@
void textChanged (const QString & text);
//ATTRIBUTES
- private:
+ private slots:
+ void on_m_erase_text_clicked();
+
+ private:
Ui::ElementInfoPartWidget *ui;
QString key_;
};
Modified: trunk/sources/ui/elementinfopartwidget.ui
===================================================================
--- trunk/sources/ui/elementinfopartwidget.ui 2018-11-06 13:45:47 UTC (rev 5575)
+++ trunk/sources/ui/elementinfopartwidget.ui 2018-11-09 18:50:37 UTC (rev 5576)
@@ -6,14 +6,14 @@
<rect>
<x>0</x>
<y>0</y>
- <width>300</width>
- <height>400</height>
+ <width>65</width>
+ <height>44</height>
</rect>
</property>
<property name="minimumSize">
<size>
- <width>300</width>
- <height>400</height>
+ <width>0</width>
+ <height>0</height>
</size>
</property>
<property name="windowTitle">
@@ -41,6 +41,13 @@
<property name="verticalSpacing">
<number>2</number>
</property>
+ <item row="2" column="0">
+ <widget class="QLineEdit" name="line_edit">
+ <property name="clearButtonEnabled">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
<item row="1" column="0">
<widget class="QLabel" name="label_">
<property name="text">
@@ -48,11 +55,14 @@
</property>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QLineEdit" name="line_edit">
- <property name="clearButtonEnabled">
- <bool>true</bool>
+ <item row="2" column="1">
+ <widget class="QCheckBox" name="m_erase_text">
+ <property name="toolTip">
+ <string>Supprimer ce texte</string>
</property>
+ <property name="text">
+ <string/>
+ </property>
</widget>
</item>
</layout>