move m_change_connections to ElementItemEditor, so it must not be defined by every editor it self

This commit is contained in:
Martin Marmsoler 2021-03-05 20:59:36 +01:00
parent bc88f2ec2e
commit ea793125a5
9 changed files with 21 additions and 27 deletions

View File

@ -46,8 +46,6 @@ class ArcEditor : public ElementItemEditor
QDoubleSpinBox *x, *y, *h, *v;
QSpinBox *angle, *start_angle;
bool m_locked;
QList <QMetaObject::Connection> m_change_connections;
// methods
public:

View File

@ -63,6 +63,8 @@ class ElementItemEditor : public QWidget
private:
virtual void updateFormPriv() = 0;
protected:
QList<QMetaObject::Connection> m_change_connections;
// attributes
private:
QETElementEditor *element_editor;

View File

@ -51,8 +51,8 @@ DynamicTextFieldEditor::DynamicTextFieldEditor(QETElementEditor *editor,
DynamicTextFieldEditor::~DynamicTextFieldEditor()
{
delete ui;
if(!m_connection_list.isEmpty()) {
for(const QMetaObject::Connection& con : m_connection_list) {
if(!m_change_connections.isEmpty()) {
for(const QMetaObject::Connection& con : m_change_connections) {
disconnect(con);
}
}
@ -182,38 +182,38 @@ void DynamicTextFieldEditor::setupWidget()
void DynamicTextFieldEditor::setUpConnections()
{
assert(m_connection_list.isEmpty());
assert(m_change_connections.isEmpty());
//Setup the connection
m_connection_list << connect(m_text_field.data(), &PartDynamicTextField::colorChanged,
m_change_connections << connect(m_text_field.data(), &PartDynamicTextField::colorChanged,
[this](){this -> updateForm();});
m_connection_list << connect(m_text_field.data(), &PartDynamicTextField::fontChanged,
m_change_connections << connect(m_text_field.data(), &PartDynamicTextField::fontChanged,
[this](){this -> updateForm();});
m_connection_list << connect(m_text_field.data(), &PartDynamicTextField::taggChanged,
m_change_connections << connect(m_text_field.data(), &PartDynamicTextField::taggChanged,
[this](){this -> updateForm();});
m_connection_list << connect(m_text_field.data(), &PartDynamicTextField::textFromChanged,
m_change_connections << connect(m_text_field.data(), &PartDynamicTextField::textFromChanged,
[this](){this -> updateForm();});
m_connection_list << connect(m_text_field.data(), &PartDynamicTextField::textChanged,
m_change_connections << connect(m_text_field.data(), &PartDynamicTextField::textChanged,
[this](){this -> updateForm();});
m_connection_list << connect(m_text_field.data(), &PartDynamicTextField::infoNameChanged,
m_change_connections << connect(m_text_field.data(), &PartDynamicTextField::infoNameChanged,
[this](){this -> updateForm();});
m_connection_list << connect(m_text_field.data(), &PartDynamicTextField::rotationChanged,
m_change_connections << connect(m_text_field.data(), &PartDynamicTextField::rotationChanged,
[this](){this -> updateForm();});
m_connection_list << connect(m_text_field.data(), &PartDynamicTextField::frameChanged,
m_change_connections << connect(m_text_field.data(), &PartDynamicTextField::frameChanged,
[this](){this -> updateForm();});
m_connection_list << connect(m_text_field.data(), &PartDynamicTextField::textWidthChanged,
m_change_connections << connect(m_text_field.data(), &PartDynamicTextField::textWidthChanged,
[this](){this -> updateForm();});
m_connection_list << connect(m_text_field.data(), &PartDynamicTextField::compositeTextChanged,
m_change_connections << connect(m_text_field.data(), &PartDynamicTextField::compositeTextChanged,
[this](){this -> updateForm();});
}
void DynamicTextFieldEditor::disconnectConnections()
{
//Remove previous connection
if(!m_connection_list.isEmpty())
for(const QMetaObject::Connection& con : m_connection_list) {
if(!m_change_connections.isEmpty())
for(const QMetaObject::Connection& con : m_change_connections) {
disconnect(con);
}
m_connection_list.clear();
m_change_connections.clear();
}
/**

View File

@ -73,7 +73,6 @@ class DynamicTextFieldEditor : public ElementItemEditor {
Ui::DynamicTextFieldEditor *ui;
QPointer<PartDynamicTextField> m_text_field;
QList<PartDynamicTextField*> m_parts;
QList<QMetaObject::Connection> m_connection_list;
#ifdef BUILD_WITHOUT_KF5
#else

View File

@ -59,8 +59,7 @@ class EllipseEditor : public ElementItemEditor
private:
Ui::EllipseEditor *ui;
PartEllipse *m_part = nullptr;
StyleEditor *m_style = nullptr;
QList <QMetaObject::Connection> m_change_connections;
StyleEditor *m_style = nullptr;
};

View File

@ -59,8 +59,7 @@ class LineEditor : public ElementItemEditor
private:
PartLine *m_part = nullptr;
Ui::LineEditor *ui;
StyleEditor *m_style = nullptr;
QList <QMetaObject::Connection> m_change_connections;
StyleEditor *m_style = nullptr;
bool m_locked = false;
};

View File

@ -63,7 +63,6 @@ class PolygonEditor : public ElementItemEditor
Ui::PolygonEditor *ui;
StyleEditor *m_style = nullptr;
PartPolygon *m_part = nullptr;
QList <QMetaObject::Connection> m_change_connections;
};
#endif // POLYGONEDITOR_H

View File

@ -70,7 +70,6 @@ class RectangleEditor : public ElementItemEditor
StyleEditor *m_style;
PartRectangle *m_part;
Ui::RectangleEditor *ui;
QList <QMetaObject::Connection> m_change_connections;
};
#endif // RECTANGLEEDITOR_H

View File

@ -55,8 +55,7 @@ class TerminalEditor : public ElementItemEditor
private:
Ui::TerminalEditor *ui;
QVector<QMetaObject::Connection> m_editor_connections,
m_change_connections;
QVector<QMetaObject::Connection> m_editor_connections;
PartTerminal *m_part = nullptr;
bool m_locked = false;
};