=== modified file 'share/keys/default.xml' --- share/keys/default.xml 2010-08-05 17:17:24 +0000 +++ share/keys/default.xml 2010-11-10 23:25:01 +0000 @@ -190,6 +190,11 @@ + + + + + === modified file 'src/desktop.h' --- src/desktop.h 2010-07-07 23:33:52 +0000 +++ src/desktop.h 2010-11-12 01:16:06 +0000 @@ -122,6 +122,8 @@ unsigned int interaction_disabled_counter; bool waiting_cursor; + int previous_tool; + /// \todo fixme: This has to be implemented in different way */ guint guides_active : 1; === modified file 'src/tools-switch.cpp' --- src/tools-switch.cpp 2010-01-14 08:13:09 +0000 +++ src/tools-switch.cpp 2010-11-12 02:39:13 +0000 @@ -115,6 +115,7 @@ tools_switch(SPDesktop *dt, int num) { if (dt) { + dt->previous_tool = tools_active(dt); dt->_tool_changed.emit(num); } === modified file 'src/verbs.cpp' --- src/verbs.cpp 2010-09-19 11:19:12 +0000 +++ src/verbs.cpp 2010-11-12 02:38:29 +0000 @@ -1561,6 +1561,12 @@ dt->_dlg_mgr->showDialog("InkscapePreferences"); break; + case SP_VERB_CONTEXT_PREVIOUS: + if (dt->previous_tool) { + tools_switch(dt, dt->previous_tool); + } + break; + default: break; } @@ -2564,6 +2570,10 @@ new ContextVerb(SP_VERB_CONTEXT_LPETOOL_PREFS, "LPEToolPrefs", N_("LPE Tool Preferences"), N_("Open Preferences for the LPETool tool"), NULL), + /* Previous Tool */ + new ContextVerb(SP_VERB_CONTEXT_PREVIOUS, "ToolPrevious", N_("Previous Tool"), + N_("Switch back to the previous tool used, if any"), NULL), + /* Zoom/View */ new ZoomVerb(SP_VERB_ZOOM_IN, "ZoomIn", N_("Zoom In"), N_("Zoom in"), INKSCAPE_ICON_ZOOM_IN), new ZoomVerb(SP_VERB_ZOOM_OUT, "ZoomOut", N_("Zoom Out"), N_("Zoom out"), INKSCAPE_ICON_ZOOM_OUT), === modified file 'src/verbs.h' --- src/verbs.h 2010-09-10 08:34:09 +0000 +++ src/verbs.h 2010-11-11 00:18:49 +0000 @@ -192,6 +192,8 @@ SP_VERB_CONTEXT_PAINTBUCKET_PREFS, SP_VERB_CONTEXT_ERASER_PREFS, SP_VERB_CONTEXT_LPETOOL_PREFS, + /* Previos tool */ + SP_VERB_CONTEXT_PREVIOUS, /* Zooming and desktop settings */ SP_VERB_ZOOM_IN, SP_VERB_ZOOM_OUT,