diff options
| author | Markus Engel <markus.engel@tum.de> | 2013-07-30 21:17:21 +0000 |
|---|---|---|
| committer | Markus Engel <markus.engel@tum.de> | 2013-07-30 21:17:21 +0000 |
| commit | b2dd3583e7372d23d18bbc6e861f4f645ec3dc37 (patch) | |
| tree | 659f5549fc533cebec5326615b6e385ffdde5453 /src/ui/dialog | |
| parent | Merge from trunk (r12439). (diff) | |
| download | inkscape-b2dd3583e7372d23d18bbc6e861f4f645ec3dc37.tar.gz inkscape-b2dd3583e7372d23d18bbc6e861f4f645ec3dc37.zip | |
Further refactoring of EventContexts.
(bzr r11608.1.109)
Diffstat (limited to 'src/ui/dialog')
| -rw-r--r-- | src/ui/dialog/align-and-distribute.cpp | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/src/ui/dialog/align-and-distribute.cpp b/src/ui/dialog/align-and-distribute.cpp index 8845b60e5..38f10c59c 100644 --- a/src/ui/dialog/align-and-distribute.cpp +++ b/src/ui/dialog/align-and-distribute.cpp @@ -47,6 +47,7 @@ #include "widgets/icon.h" #include "sp-root.h" #include "document-undo.h" +#include "desktop.h" #include <glibmm/i18n.h> @@ -367,19 +368,25 @@ public : private : Geom::Dim2 _orientation; bool _distribute; - virtual void on_button_click() - { - if (!_dialog.getDesktop()) return; - SPEventContext *event_context = sp_desktop_event_context(_dialog.getDesktop()); - if (!INK_IS_NODE_TOOL (event_context)) return; + virtual void on_button_click() { + if (!_dialog.getDesktop()) { + return; + } + + SPEventContext *event_context = _dialog.getDesktop()->getEventContext(); + + if (!INK_IS_NODE_TOOL(event_context)) { + return; + } + InkNodeTool *nt = INK_NODE_TOOL(event_context); - if (_distribute) + if (_distribute) { nt->_multipath->distributeNodes(_orientation); - else + } else { nt->_multipath->alignNodes(_orientation); - + } } }; @@ -825,7 +832,7 @@ private : static void on_tool_changed(Inkscape::Application */*inkscape*/, SPEventContext */*context*/, AlignAndDistribute *daad) { SPDesktop *desktop = SP_ACTIVE_DESKTOP; - if (desktop && sp_desktop_event_context(desktop)) + if (desktop && desktop->getEventContext()) daad->setMode(tools_active(desktop) == TOOLS_NODES); } |
