diff --git a/sources/conductorautonumerotationwidget.cpp b/sources/conductorautonumerotationwidget.cpp index 6ff72deb8..7d774c2de 100644 --- a/sources/conductorautonumerotationwidget.cpp +++ b/sources/conductorautonumerotationwidget.cpp @@ -6,7 +6,8 @@ ConductorAutoNumerotationWidget::ConductorAutoNumerotationWidget(Conductor *c, QSet cl, QWidget *parent) : QDialog (parent), conductor_(c), - c_list(cl) + c_list(cl), + diagram_(c -> diagram()) { #ifdef Q_WS_MAC setWindowFlags(Qt::Sheet); @@ -99,9 +100,12 @@ QMultiMap ConductorAutoNumerotationWidget::conductorsTextToMap(QS *applique le texte selectionne @text_ a tout les conducteur de @c_list et a @conducteur_ */ void ConductorAutoNumerotationWidget::applyText() { + QSet conductorslist = c_list; + conductorslist << conductor_; QList old_properties, new_properties; ConductorProperties cp; - foreach (Conductor *c, c_list) { + + foreach (Conductor *c, conductorslist) { old_properties << c -> properties(); cp = c -> properties(); cp.text = text_; @@ -110,15 +114,10 @@ void ConductorAutoNumerotationWidget::applyText() { c -> setText(text_); } // initialise l'objet UndoCommand correspondant - ChangeSeveralConductorsPropertiesCommand *cscpc = new ChangeSeveralConductorsPropertiesCommand(c_list); + ChangeSeveralConductorsPropertiesCommand *cscpc = new ChangeSeveralConductorsPropertiesCommand(conductorslist); cscpc -> setOldSettings(old_properties); cscpc -> setNewSettings(new_properties); - conductor_ -> diagram() -> undoStack().push(cscpc); - - cp = conductor_ -> properties(); - cp.text = text_; - conductor_ -> setProperties(cp); - conductor_ -> setText(text_); + diagram_ -> undoStack().push(cscpc); } /** diff --git a/sources/conductorautonumerotationwidget.h b/sources/conductorautonumerotationwidget.h index a308f2519..d2970b99c 100644 --- a/sources/conductorautonumerotationwidget.h +++ b/sources/conductorautonumerotationwidget.h @@ -7,6 +7,7 @@ #include #include #include "conductor.h" +#include "diagram.h" class ConductorAutoNumerotationWidget : public QDialog { @@ -28,6 +29,7 @@ class ConductorAutoNumerotationWidget : public QDialog //attributes Conductor *conductor_; QSet c_list; //liste des conducteurs au même potentiel + Diagram *diagram_; QList *radio_List; QLineEdit *text_field; QString text_; diff --git a/sources/diagramcommands.cpp b/sources/diagramcommands.cpp index 4612c4d98..c0ff53741 100644 --- a/sources/diagramcommands.cpp +++ b/sources/diagramcommands.cpp @@ -989,7 +989,7 @@ void ChangeSeveralConductorsPropertiesCommand::redo() { if (old_settings_set && new_settings_set) { int i=0; foreach(Conductor *c, conductors) { - c -> setProperties(new_properties.at(0)); + c -> setProperties(new_properties.at(i)); c -> update(); i++; }