Git commit 330b1ec8f2fe8fc0e7d19cfcdb5c80b1a6b10161 by Steve Allewell. Committed on 26/07/2014 at 20:50. Pushed by sallewell into branch 'master'.
Added action to enable/disable generation of guide lines With symbols that have many points, the number of guides generated can become significant. This option allows them to be turned off if required. GUI: Additional gui action M +2 -0 SymbolEditorui.rc M +16 -0 src/Editor.cpp M +2 -0 src/Editor.h M +9 -0 src/MainWindow.cpp http://commits.kde.org/symboleditor/330b1ec8f2fe8fc0e7d19cfcdb5c80b1a6b10161 diff --git a/SymbolEditorui.rc b/SymbolEditorui.rc index b02de3a..951bad9 100644 --- a/SymbolEditorui.rc +++ b/SymbolEditorui.rc @@ -22,6 +22,7 @@ <Action name="scalePreferred"/> <Separator/> <Action name="enableSnap"/> + <Action name="enableGuides"/> </Menu> <Menu name="rendering"><text>&Rendering</text> <Action name="fillPath"/> @@ -58,6 +59,7 @@ <Action name="scalePreferred"/> <Separator/> <Action name="enableSnap"/> + <Action name="enableGuides"/> </ToolBar> <ToolBar name="RenderingToolbar" fullWidth="false"><text>Rendering Toolbar</text> <Action name="fillPath"/> diff --git a/src/Editor.cpp b/src/Editor.cpp index 9faba35..e7a121c 100644 --- a/src/Editor.cpp +++ b/src/Editor.cpp @@ -646,6 +646,17 @@ void Editor::enableSnap(bool enabled) /** + * Switch the generation of guides on or off. + * + * @param enabled true if on, false otherwise + */ +void Editor::enableGuides(bool enabled) +{ + m_guides = enabled; +} + + +/** * Switch the fill mode on or off. * * @param filled true if on, false otherwise @@ -852,6 +863,7 @@ void Editor::mouseMoveEvent(QMouseEvent *event) } constructGuides(toSymbol(p)); + update(); } @@ -1402,6 +1414,10 @@ void Editor::constructGuides(const QPointF &to) m_guideCircles.clear(); m_snapPoints.clear(); + if (!m_guides) { + return; + } + QList<QPointF> points; points << m_points << m_activePoints; // construct list of all points on screen diff --git a/src/Editor.h b/src/Editor.h index c93ec8b..b67cdbb 100644 --- a/src/Editor.h +++ b/src/Editor.h @@ -112,6 +112,7 @@ public slots: void selectTool(QAction *action); void charSelected(const QChar &character); void enableSnap(bool enabled); + void enableGuides(bool enabled); void selectFilled(bool enabled); void selectFillRule(QAction *action); void selectCapStyle(QAction *action); @@ -162,6 +163,7 @@ private: bool m_snap; /**< true if snap mode is enabled */ bool m_fill; /**< true if fill mode is enabled */ + bool m_guides; /**< true if generating guides is enabled */ QUndoStack m_undoStack; /**< holds the commands that modify the editor contents allowing for undo */ diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index e8d68c3..b56824e 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -229,6 +229,7 @@ MainWindow::MainWindow() actions->action("moveTo")->trigger(); // select draw tool actions->action("enableSnap")->setChecked(true); // enable snap + actions->action("enableGuides")->setChecked(true); // enable creation of guides actions->action("file_save")->setEnabled(false); // nothing to save yet actions->action("saveSymbol")->setEnabled(false); // nothing to save yet actions->action("saveSymbolAsNew")->setEnabled(false); // nothing to save yet @@ -1008,6 +1009,14 @@ void MainWindow::setupActions() connect(action, SIGNAL(toggled(bool)), m_editor, SLOT(enableSnap(bool))); actions->addAction("enableSnap", action); + action = new KAction(this); + action->setText(i18n("Enable Guides")); + action->setWhatsThis(i18n("Enable the generation of quide intersections.")); + action->setIcon(KIcon("snap-guides")); + action->setCheckable(true); + connect(action, SIGNAL(toggled(bool)), m_editor, SLOT(enableGuides(bool))); + actions->addAction("enableGuides", action); + // Settings Menu KStandardAction::preferences(this, SLOT(preferences()), actions); }
