Index: sources/diagram.cpp =================================================================== --- sources/diagram.cpp (révision 5735) +++ sources/diagram.cpp (copie de travail) @@ -38,8 +38,10 @@ #include "undocommand/addelementtextcommand.h" #include "QPropertyUndoCommand/qpropertyundocommand.h" -const int Diagram::xGrid = 10; -const int Diagram::yGrid = 10; +int Diagram::xGrid = 10; +int Diagram::yGrid = 10; +int Diagram::xKeyGrid = 10; +int Diagram::yKeyGrid = 10; const qreal Diagram::margin = 5.0; // static variable to keep track of present background color of the diagram. @@ -126,7 +128,7 @@ */ void Diagram::drawBackground(QPainter *p, const QRectF &r) { p -> save(); - + // desactive tout antialiasing, sauf pour le texte p -> setRenderHint(QPainter::Antialiasing, false); p -> setRenderHint(QPainter::TextAntialiasing, true); @@ -150,6 +152,8 @@ //If user allow zoom out beyond of folio, we draw grid outside of border. QSettings settings; + int xGrid = settings.value("DiagramEditor_xGrid_sb", Diagram::xGrid).toInt(); + int yGrid = settings.value("DiagramEditor_yGrid_sb", Diagram::yGrid).toInt(); QRectF rect = settings.value("diagrameditor/zoom-out-beyond-of-folio", false).toBool() ? r : border_and_titleblock.insideBorderRect().intersected(r); @@ -278,6 +282,10 @@ */ void Diagram::keyPressEvent(QKeyEvent *event) { + QSettings settings; + int xKeyGrid = settings.value("DiagramEditor_xKeyGrid_sb", Diagram::xKeyGrid).toInt(); + int yKeyGrid = settings.value("DiagramEditor_yKeyGrid_sb", Diagram::yKeyGrid).toInt(); + event->setAccepted(false); if (m_event_interface) { @@ -295,7 +303,7 @@ DiagramContent dc(this); if (!dc.items(DiagramContent::All).isEmpty()) { - //Move item with the keyborb arrow + //Move item with the keyboard arrow if(event->modifiers() == Qt::NoModifier) { switch(event->key()) @@ -307,10 +315,10 @@ if(left_position <= 5) return; } - movement = QPointF(-xGrid, 0.0); + movement = QPointF(-xKeyGrid, 0.0); break; case Qt::Key_Right: - movement = QPointF(+xGrid, 0.0); + movement = QPointF(+xKeyGrid, 0.0); break; case Qt::Key_Up: for(Element *item : dc.m_elements) @@ -319,10 +327,10 @@ if(top_position <= 5) return; } - movement = QPointF(0.0, -yGrid); + movement = QPointF(0.0, -yKeyGrid); break; case Qt::Key_Down: - movement = QPointF(0.0, +yGrid); + movement = QPointF(0.0, +yKeyGrid); break; } Index: sources/diagram.h =================================================================== --- sources/diagram.h (révision 5735) +++ sources/diagram.h (copie de travail) @@ -73,12 +73,17 @@ /// Diagram dimensions and title block BorderTitleBlock border_and_titleblock; /// abscissa grid step size - static const int xGrid; + static int xGrid; /// ordinate grid step size - static const int yGrid; - /// margin around the diagram + static int yGrid; + /// Key grid x step size + static int xKeyGrid; + /// Key grid y step size + static int yKeyGrid; + /// margin around the diagram static const qreal margin; /// background color of diagram + static QColor background_color; /// Hash containing max values for folio sequential autonums in this diagram QHash m_elmt_unitfolio_max; Index: sources/ui/configpage/generalconfigurationpage.cpp =================================================================== --- sources/ui/configpage/generalconfigurationpage.cpp (révision 5735) +++ sources/ui/configpage/generalconfigurationpage.cpp (copie de travail) @@ -35,7 +35,11 @@ QSettings settings; - ui->m_use_system_color_cb->setChecked(settings.value("usesystemcolors", "true").toBool()); + ui->DiagramEditor_xGrid_sb->setValue(settings.value("DiagramEditor_xGrid_sb", 10).toInt()); + ui->DiagramEditor_yGrid_sb->setValue(settings.value("DiagramEditor_yGrid_sb", 10).toInt()); + ui->DiagramEditor_xKeyGrid_sb->setValue(settings.value("DiagramEditor_xKeyGrid_sb", 10).toInt()); + ui->DiagramEditor_yKeyGrid_sb->setValue(settings.value("DiagramEditor_yKeyGrid_sb", 10).toInt()); + ui->m_use_system_color_cb->setChecked(settings.value("usesystemcolors", "true").toBool()); bool tabbed = settings.value("diagrameditor/viewmode", "tabbed") == "tabbed"; if(tabbed) ui->m_use_tab_mode_rb->setChecked(true); @@ -137,8 +141,12 @@ settings.setValue("diagrameditor/autosave-interval", ui->m_autosave_sb->value()); settings.setValue("dynamic_rotation", ui->m_rotation->value()); settings.setValue("dynamic_with", ui->m_text_width_sb->value()); - - QString path = settings.value("elements-collections/common-collection-path").toString(); + settings.setValue("DiagramEditor_xGrid_sb", ui->DiagramEditor_xGrid_sb->value()); + settings.setValue("DiagramEditor_yGrid_sb", ui->DiagramEditor_yGrid_sb->value()); + settings.setValue("DiagramEditor_xKeyGrid_sb", ui->DiagramEditor_xKeyGrid_sb->value()); + settings.setValue("DiagramEditor_yKeyGrid_sb", ui->DiagramEditor_yKeyGrid_sb->value()); + + QString path = settings.value("elements-collections/common-collection-path").toString(); if (ui->m_common_elmt_path_cb->currentIndex() == 1) { QString path = ui->m_common_elmt_path_cb->currentText(); Index: sources/ui/configpage/generalconfigurationpage.ui =================================================================== --- sources/ui/configpage/generalconfigurationpage.ui (révision 5735) +++ sources/ui/configpage/generalconfigurationpage.ui (copie de travail) @@ -41,7 +41,7 @@ - 2 + 5 @@ -464,6 +464,161 @@ + + + Grid + + + + + 20 + 10 + 191 + 30 + + + + DiagramEditor xGrid + + + + + + 20 + 50 + 191 + 30 + + + + DiagramEditor yGrid + + + + + + 220 + 10 + 55 + 30 + + + + 1 + + + 30 + + + 1 + + + 10 + + + + + + 220 + 50 + 55 + 30 + + + + 1 + + + 30 + + + 10 + + + + + + 20 + 100 + 251 + 30 + + + + Grid on/off = See the change + + + + + + 20 + 180 + 321 + 30 + + + + DiagramEditor Key Left/Right xGrid + + + + + + 350 + 180 + 55 + 30 + + + + 1 + + + 30 + + + 1 + + + 10 + + + + + + 20 + 220 + 321 + 30 + + + + DiagramEditor Key Up/Down yGrid + + + + + + 350 + 220 + 55 + 30 + + + + 1 + + + 30 + + + 1 + + + 10 + + +