X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Fsrc%2Fgtkmm%2Fstate_scale.cpp;h=edfb89b706ef139715c106f8dfed77fd49814035;hb=550ae29a0666a73da20dd794d76757f81744ab4e;hp=300ff4b1824bb1d21a715011bdb0ec0677af113c;hpb=1478153109643a4c61f209d6cc22ae537d3becde;p=synfig.git diff --git a/synfig-studio/src/gtkmm/state_scale.cpp b/synfig-studio/src/gtkmm/state_scale.cpp index 300ff4b..edfb89b 100644 --- a/synfig-studio/src/gtkmm/state_scale.cpp +++ b/synfig-studio/src/gtkmm/state_scale.cpp @@ -37,6 +37,7 @@ #include #include "state_scale.h" +#include "state_normal.h" #include "canvasview.h" #include "workarea.h" #include "app.h" @@ -94,6 +95,7 @@ public: class studio::StateScale_Context : public sigc::trackable { etl::handle canvas_view_; + CanvasView::IsWorking is_working; synfigapp::Settings& settings; @@ -111,6 +113,7 @@ public: void refresh_aspect_lock_flag() { if(duck_dragger_)duck_dragger_->lock_aspect=get_aspect_lock_flag(); } + Smach::event_result event_stop_handler(const Smach::event& x); Smach::event_result event_refresh_tool_options(const Smach::event& x); void refresh_tool_options(); @@ -134,6 +137,7 @@ StateScale::StateScale(): Smach::state("scale") { insert(event_def(EVENT_REFRESH_TOOL_OPTIONS,&StateScale_Context::event_refresh_tool_options)); + insert(event_def(EVENT_STOP,&StateScale_Context::event_stop_handler)); } StateScale::~StateScale() @@ -159,6 +163,7 @@ StateScale_Context::save_settings() StateScale_Context::StateScale_Context(CanvasView* canvas_view): canvas_view_(canvas_view), + is_working(*canvas_view), settings(synfigapp::Main::get_selected_input_device()->settings()), duck_dragger_(new DuckDrag_Scale()), checkbutton_aspect_lock(_("Lock Aspect Ratio")) @@ -176,8 +181,8 @@ StateScale_Context::StateScale_Context(CanvasView* canvas_view): get_work_area()->set_allow_layer_clicks(true); get_work_area()->set_duck_dragger(duck_dragger_); -// get_canvas_view()->work_area->set_cursor(Gdk::CROSSHAIR); - get_canvas_view()->work_area->reset_cursor(); + get_work_area()->set_cursor(Gdk::SIZING); +// get_work_area()->reset_cursor(); App::toolbox->refresh(); @@ -201,12 +206,19 @@ StateScale_Context::event_refresh_tool_options(const Smach::event& /*x*/) return Smach::RESULT_ACCEPT; } +Smach::event_result +StateScale_Context::event_stop_handler(const Smach::event& /*x*/) +{ + throw &state_normal; + return Smach::RESULT_OK; +} + StateScale_Context::~StateScale_Context() { save_settings(); get_work_area()->clear_duck_dragger(); - get_canvas_view()->work_area->reset_cursor(); + get_work_area()->reset_cursor(); App::dialog_tool_options->clear();