diff --git a/editor/customelementgraphicpart.cpp b/editor/customelementgraphicpart.cpp index 102188699..223e5b6df 100644 --- a/editor/customelementgraphicpart.cpp +++ b/editor/customelementgraphicpart.cpp @@ -133,16 +133,25 @@ QWidget *CustomElementGraphicPart::elementInformations() { } void CustomElementGraphicPart::setProperty(const QString &property, const QVariant &value) { + bool change_made = false; if (property == "line-style") { setLineStyle(static_cast(value.toInt())); + change_made = true; } else if (property == "line-weight") { setLineWeight(static_cast(value.toInt())); + change_made = true; } else if (property == "filling") { setFilling(static_cast(value.toInt())); + change_made = true; } else if (property == "color") { setColor(static_cast(value.toInt())); + change_made = true; } else if (property == "antialias") { setAntialiased(value.toBool()); + change_made = true; + } + if (change_made) { + style_editor -> updateForm(); } } diff --git a/editor/editorcommands.cpp b/editor/editorcommands.cpp index a38632895..cfc2b6ea0 100644 --- a/editor/editorcommands.cpp +++ b/editor/editorcommands.cpp @@ -119,6 +119,8 @@ void AddPartCommand::undo() { void AddPartCommand::redo() { // le premier appel a redo, lors de la construction de l'objet, ne doit pas se faire if (first_redo) { + editor_scene -> clearSelection(); + part -> setSelected(true); first_redo = false; return; } diff --git a/editor/elementscene.cpp b/editor/elementscene.cpp index 3d7a41ecf..48fd98d72 100644 --- a/editor/elementscene.cpp +++ b/editor/elementscene.cpp @@ -128,14 +128,17 @@ void ElementScene::mousePressEvent(QGraphicsSceneMouseEvent *e) { case Ellipse: current_ellipse = new PartEllipse(element_editor, 0, this); current_ellipse -> setRect(QRectF(e -> scenePos(), QSizeF(0.0, 0.0))); + current_ellipse -> setProperty("antialias", true); break; case Arc: current_arc = new PartArc(element_editor, 0, this); current_arc -> setRect(QRectF(e -> scenePos(), QSizeF(0.0, 0.0))); + current_arc -> setProperty("antialias", true); break; case Circle: current_circle = new PartCircle(element_editor, 0, this); current_circle -> setRect(QRectF(e -> scenePos(), QSizeF(0.0, 0.0))); + current_circle -> setProperty("antialias", true); break; case Polygon: if (current_polygon == NULL) { diff --git a/exportdialog.cpp b/exportdialog.cpp index 0ad5bbec5..538bdfafa 100644 --- a/exportdialog.cpp +++ b/exportdialog.cpp @@ -16,9 +16,6 @@ ExportDialog::ExportDialog(Diagram *dia, QWidget *parent) : QDialog(parent) { diagram_ratio = (qreal)diagram_size.width() / (qreal)diagram_size.height(); dontchangewidth = dontchangeheight = false; - // vecteur contenant 256 nuances de gris, pour exporter les images sans couleur - for (int i = 0 ; i < 256 ; ++ i) ColorTab << qRgb(i, i, i); - // la taille du dialogue est fixee setFixedSize(800, 360); setWindowTitle(tr("Exporter")); @@ -54,7 +51,6 @@ ExportDialog::ExportDialog(Diagram *dia, QWidget *parent) : QDialog(parent) { connect(draw_inset, SIGNAL(stateChanged(int) ), this, SLOT(slot_refreshPreview())); connect(draw_columns, SIGNAL(stateChanged(int) ), this, SLOT(slot_refreshPreview())); connect(draw_terminals, SIGNAL(stateChanged(int) ), this, SLOT(slot_refreshPreview())); - connect(keep_colors, SIGNAL(stateChanged(int) ), this, SLOT(slot_refreshPreview())); connect(width, SIGNAL(valueChanged(int) ), this, SLOT(slot_refreshPreview())); connect(height, SIGNAL(valueChanged(int) ), this, SLOT(slot_refreshPreview())); connect(export_border, SIGNAL(toggled (bool)), this, SLOT(slot_changeUseBorder())); @@ -126,7 +122,6 @@ QGroupBox *ExportDialog::setupOptionsGroupBox() { // dessiner la grille draw_grid = new QCheckBox(tr("Dessiner la grille"), groupbox_options); optionshlayout -> addWidget(draw_grid, 1, 0); - draw_grid -> setChecked(diagram -> displayGrid()); // dessiner le cadre draw_border = new QCheckBox(tr("Dessiner le cadre"), groupbox_options); @@ -143,13 +138,9 @@ QGroupBox *ExportDialog::setupOptionsGroupBox() { optionshlayout -> addWidget(draw_columns, 2, 1); draw_columns -> setChecked(diagram -> border_and_inset.columnsAreDisplayed()); - // Conserver les couleurs - keep_colors = new QCheckBox(tr("Conserver les couleurs"), groupbox_options); - optionshlayout -> addWidget(keep_colors, 3, 0); - // dessiner les bornes draw_terminals = new QCheckBox(tr("Dessiner les bornes"), groupbox_options); - optionshlayout -> addWidget(draw_terminals, 3, 1); + optionshlayout -> addWidget(draw_terminals, 3, 0); return(groupbox_options); } @@ -277,11 +268,6 @@ QImage ExportDialog::generateImage() { keep_aspect_ratio -> isChecked() ? Qt::KeepAspectRatio : Qt::IgnoreAspectRatio ); - // convertit l'image en niveaux de gris si besoin - if (!keep_colors -> isChecked()) { - image = image.convertToFormat(QImage::Format_Indexed8, ColorTab, Qt::ThresholdDither); - } - saveReloadDiagramParameters(false); return(image); @@ -348,7 +334,7 @@ void ExportDialog::generateSvg(QFile &file) { svg_engine.setOutputDevice(&file); QPainter svg_painter(&svg_engine); picture.play(&svg_painter); - /// @todo gerer l'enlevement des couleurs + saveReloadDiagramParameters(false); } diff --git a/exportdialog.h b/exportdialog.h index 532f9174e..ee311ae21 100644 --- a/exportdialog.h +++ b/exportdialog.h @@ -32,7 +32,6 @@ class ExportDialog : public QDialog { QCheckBox *draw_inset; QCheckBox *draw_columns; QCheckBox *draw_terminals; - QCheckBox *keep_colors; QRadioButton *export_elements; QRadioButton *export_border; QDialogButtonBox *buttons;