ElementEditor: texteditor.cpp surround arrows and more braces

This commit is contained in:
damianCaceres
2020-08-05 09:27:19 +01:00
committed by Laurent Trinques
parent 216374d27c
commit b3a74a8315

View File

@@ -31,7 +31,7 @@
TextEditor::TextEditor(QETElementEditor *editor, PartText *text, QWidget *parent) : TextEditor::TextEditor(QETElementEditor *editor, PartText *text, QWidget *parent) :
ElementItemEditor(editor, parent), ElementItemEditor(editor, parent),
ui(new Ui::TextEditor) { ui(new Ui::TextEditor) {
ui->setupUi(this); ui -> setupUi(this);
setUpEditConnection(); setUpEditConnection();
if (text) { if (text) {
setPart(text); setPart(text);
@@ -58,13 +58,13 @@ void TextEditor::updateForm()
disconnectEditConnection(); disconnectEditConnection();
ui->m_line_edit->setText(m_text->toPlainText()); ui -> m_line_edit -> setText(m_text -> toPlainText());
ui->m_x_sb->setValue(m_text->pos().x()); ui -> m_x_sb -> setValue(m_text -> pos().x());
ui->m_y_sb->setValue(m_text->pos().y()); ui -> m_y_sb -> setValue(m_text -> pos().y());
ui->m_rotation_sb->setValue(m_text->rotation()); ui -> m_rotation_sb -> setValue(m_text -> rotation());
ui->m_size_sb->setValue(m_text->font().pointSize()); ui -> m_size_sb -> setValue(m_text -> font().pointSize());
ui->m_font_pb->setText(m_text->font().family()); ui -> m_font_pb -> setText(m_text -> font().family());
ui->m_color_pb->setColor(m_text->defaultTextColor()); ui -> m_color_pb -> setColor(m_text -> defaultTextColor());
setUpEditConnection(); setUpEditConnection();
} }
@@ -100,17 +100,14 @@ void TextEditor::disconnectEditConnection() {
* @param part : part to edit * @param part : part to edit
* @return : return if @part is a partext or nullptr, else return false * @return : return if @part is a partext or nullptr, else return false
*/ */
bool TextEditor::setPart(CustomElementPart *part) bool TextEditor::setPart(CustomElementPart *part) {
{ if (!part) {
if (!part)
{
m_text = nullptr; m_text = nullptr;
disconnectChangeConnection(); disconnectChangeConnection();
return true; return true;
} }
if (PartText *part_text = static_cast<PartText *>(part)) if (PartText *part_text = static_cast<PartText *>(part)) {
{
if (part_text == m_text) { if (part_text == m_text) {
return true; return true;
} }
@@ -132,15 +129,16 @@ bool TextEditor::setParts(QList <CustomElementPart *> parts) {
return true; return true;
} }
if (PartText *part= static_cast<PartText *>(parts.first())) { if (PartText *part = static_cast<PartText *>(parts.first())) {
if (m_text) { if (m_text) {
disconnectChangeConnection(); disconnectChangeConnection();
} }
m_text = part; m_text = part;
m_parts.clear(); m_parts.clear();
m_parts.append(part); m_parts.append(part);
for (int i=1; i < parts.length(); i++) for (int i=1; i < parts.length(); i++) {
m_parts.append(static_cast<PartText*>(parts[i])); m_parts.append(static_cast<PartText*>(parts[i]));
}
setUpChangeConnection(m_text); setUpChangeConnection(m_text);
updateForm(); updateForm();
return true; return true;
@@ -169,54 +167,54 @@ QList<CustomElementPart*> TextEditor::currentParts() const {
* Setup the connection between the widgets of this editor and the undo command * Setup the connection between the widgets of this editor and the undo command
* use to apply the change to the edited text. * use to apply the change to the edited text.
*/ */
void TextEditor::setUpEditConnection() void TextEditor::setUpEditConnection() {
{
disconnectEditConnection(); disconnectEditConnection();
m_edit_connection << connect(ui->m_line_edit, &QLineEdit::textEdited, [this]() { m_edit_connection << connect(ui -> m_line_edit, &QLineEdit::textEdited, [this]() {
QString text_ = ui->m_line_edit->text(); QString text_ = ui -> m_line_edit -> text();
for (int i=0; i < m_parts.length(); i++) { for (int i=0; i < m_parts.length(); i++) {
PartText* partText = m_parts[i]; PartText* partText = m_parts[i];
if (text_ != partText->toPlainText()) { if (text_ != partText -> toPlainText()) {
QPropertyUndoCommand *undo = new QPropertyUndoCommand(partText, "text", partText->toPlainText(), text_); QPropertyUndoCommand *undo = new QPropertyUndoCommand(partText, "text", partText -> toPlainText(), text_);
undo->setText(tr("Modifier le contenu d'un champ texte")); undo -> setText(tr("Modifier le contenu d'un champ texte"));
undoStack().push(undo); undoStack().push(undo);
} }
} }
}); });
m_edit_connection << connect(ui->m_x_sb, QOverload<int>::of(&QSpinBox::valueChanged), [this]() { m_edit_connection << connect(ui->m_x_sb, QOverload<int>::of(&QSpinBox::valueChanged), [this]() {
QPointF pos(ui->m_x_sb->value(), 0); QPointF pos(ui -> m_x_sb -> value(), 0);
for (int i=0; i < m_parts.length(); i++) { for (int i=0; i < m_parts.length(); i++) {
PartText* partText = m_parts[i]; PartText* partText = m_parts[i];
pos.setY(partText->pos().y()); pos.setY(partText -> pos().y());
if (pos != partText->pos()) { if (pos != partText -> pos()) {
QPropertyUndoCommand *undo = new QPropertyUndoCommand(partText, "pos", partText->pos(), pos); QPropertyUndoCommand *undo = new QPropertyUndoCommand(partText, "pos", partText -> pos(), pos);
undo->setText(tr("Déplacer un champ texte")); undo -> setText(tr("Déplacer un champ texte"));
undo->setAnimated(true, false); undo -> setAnimated(true, false);
undoStack().push(undo); undoStack().push(undo);
} }
} }
}); });
m_edit_connection << connect(ui->m_y_sb, QOverload<int>::of(&QSpinBox::valueChanged), [this]() { m_edit_connection << connect(ui -> m_y_sb, QOverload<int>::of(&QSpinBox::valueChanged), [this]() {
QPointF pos(0, ui->m_y_sb->value()); QPointF pos(0, ui -> m_y_sb -> value());
for (int i=0; i < m_parts.length(); i++) { for (int i=0; i < m_parts.length(); i++) {
PartText* partText = m_parts[i]; PartText* partText = m_parts[i];
pos.setX(partText->pos().x()); pos.setX(partText -> pos().x());
if (pos != partText->pos()) { if (pos != partText -> pos()) {
QPropertyUndoCommand *undo = new QPropertyUndoCommand(partText, "pos", partText->pos(), pos); QPropertyUndoCommand *undo = new QPropertyUndoCommand(partText, "pos", partText -> pos(), pos);
undo->setText(tr("Déplacer un champ texte")); undo -> setText(tr("Déplacer un champ texte"));
undo->setAnimated(true, false); undo -> setAnimated(true, false);
undoStack().push(undo); undoStack().push(undo);
} }
} }
}); });
m_edit_connection << connect(ui->m_rotation_sb, QOverload<int>::of(&QSpinBox::valueChanged), [this]() { m_edit_connection << connect(ui -> m_rotation_sb, QOverload<int>::of(&QSpinBox::valueChanged), [this]() {
for (int i=0; i < m_parts.length(); i++) { for (int i=0; i < m_parts.length(); i++) {
PartText* partText = m_parts[i]; PartText* partText = m_parts[i];
if (ui->m_rotation_sb->value() != partText->rotation()) { if (ui -> m_rotation_sb -> value() != partText -> rotation()) {
QPropertyUndoCommand *undo = new QPropertyUndoCommand(partText, "rotation", partText->rotation(), ui->m_rotation_sb->value()); QPropertyUndoCommand *undo = new QPropertyUndoCommand(
undo->setText(tr("Pivoter un champ texte")); partText, "rotation", partText -> rotation(), ui -> m_rotation_sb -> value());
undo->setAnimated(true, false); undo -> setText(tr("Pivoter un champ texte"));
undo -> setAnimated(true, false);
undoStack().push(undo); undoStack().push(undo);
} }
} }
@@ -224,11 +222,11 @@ void TextEditor::setUpEditConnection()
m_edit_connection << connect(ui->m_size_sb, QOverload<int>::of(&QSpinBox::valueChanged), [this]() { m_edit_connection << connect(ui->m_size_sb, QOverload<int>::of(&QSpinBox::valueChanged), [this]() {
for (int i=0; i < m_parts.length(); i++) { for (int i=0; i < m_parts.length(); i++) {
PartText* partText = m_parts[i]; PartText* partText = m_parts[i];
if (partText->font().pointSize() != ui->m_size_sb->value()) { if (partText -> font().pointSize() != ui -> m_size_sb -> value()) {
QFont font_ = partText->font(); QFont font_ = partText -> font();
font_.setPointSize(ui->m_size_sb->value()); font_.setPointSize(ui -> m_size_sb -> value());
QPropertyUndoCommand *undo = new QPropertyUndoCommand(partText, "font", partText->font(), font_); QPropertyUndoCommand *undo = new QPropertyUndoCommand(partText, "font", partText -> font(), font_);
undo->setText(tr("Modifier la police d'un texte")); undo -> setText(tr("Modifier la police d'un texte"));
undoStack().push(undo); undoStack().push(undo);
} }
} }
@@ -240,21 +238,21 @@ void TextEditor::setUpEditConnection()
*/ */
void TextEditor::on_m_font_pb_clicked() { void TextEditor::on_m_font_pb_clicked() {
bool ok; bool ok;
QFont font_ = QFontDialog::getFont(&ok, m_text->font(), this); QFont font_ = QFontDialog::getFont(&ok, m_text -> font(), this);
if (ok && font_ != m_text->font()) { if (ok && font_ != m_text -> font()) {
ui->m_size_sb->blockSignals(true); ui -> m_size_sb -> blockSignals(true);
ui->m_size_sb->setValue(font_.pointSize()); ui -> m_size_sb -> setValue(font_.pointSize());
ui->m_size_sb->blockSignals(false); ui -> m_size_sb -> blockSignals(false);
ui->m_font_pb->setText(font_.family()); ui -> m_font_pb -> setText(font_.family());
} }
for (int i=0; i < m_parts.length(); i++) { for (int i=0; i < m_parts.length(); i++) {
PartText* partText = m_parts[i]; PartText* partText = m_parts[i];
if (ok && font_ != partText->font()) { if (ok && font_ != partText -> font()) {
QPropertyUndoCommand *undo = new QPropertyUndoCommand(partText, "font", partText->font(), font_); QPropertyUndoCommand *undo = new QPropertyUndoCommand(partText, "font", partText -> font(), font_);
undo->setText(tr("Modifier la police d'un texte")); undo -> setText(tr("Modifier la police d'un texte"));
undoStack().push(undo); undoStack().push(undo);
} }
} }
@@ -267,9 +265,10 @@ void TextEditor::on_m_font_pb_clicked() {
void TextEditor::on_m_color_pb_changed(const QColor &newColor) { void TextEditor::on_m_color_pb_changed(const QColor &newColor) {
for (int i=0; i < m_parts.length(); i++) { for (int i=0; i < m_parts.length(); i++) {
PartText* partText = m_parts[i]; PartText* partText = m_parts[i];
if (newColor != partText->defaultTextColor()) { if (newColor != partText -> defaultTextColor()) {
QPropertyUndoCommand *undo = new QPropertyUndoCommand(partText, "color", partText->defaultTextColor(), newColor); QPropertyUndoCommand *undo = new QPropertyUndoCommand(
undo->setText(tr("Modifier la couleur d'un texte")); partText, "color", partText -> defaultTextColor(), newColor);
undo -> setText(tr("Modifier la couleur d'un texte"));
undoStack().push(undo); undoStack().push(undo);
} }
} }