From: Carlos Lopez Date: Sat, 15 May 2010 12:12:50 +0000 (+0200) Subject: Keep the cursors of all the tools states as its default cursor except the BLine tool... X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=f72e716e0331da422c8b351e6aebf7ed0a66ab16;p=synfig.git Keep the cursors of all the tools states as its default cursor except the BLine tool that can use the new Transform tool rotate, scale and constrain key combinations. BLine tool can use the new Transform tool abilities during bline construction. --- diff --git a/synfig-studio/src/gtkmm/state_normal.cpp b/synfig-studio/src/gtkmm/state_normal.cpp index 4ea21f1..66c7453 100644 --- a/synfig-studio/src/gtkmm/state_normal.cpp +++ b/synfig-studio/src/gtkmm/state_normal.cpp @@ -193,6 +193,17 @@ StateNormal::~StateNormal() void StateNormal_Context::refresh_cursor() { + // Check the current state and return when applicable + synfig::String sname; + sname=get_canvas_view()->get_smach().get_state_name(); + if (sname=="smooth_move"||sname=="zoom"||sname=="width" || + sname=="text"||sname=="stroke"||sname=="star"||sname=="sketch"|| + sname=="scale"||sname=="zoom"||sname=="rotate"||sname=="rectangle"|| + sname=="polygon"||sname=="gradient"||sname=="fill"||sname=="draw"|| + sname=="circle") + return; + + // Change the cursor based on key flags if(get_rotate_flag() && !get_scale_flag()) { get_work_area()->set_cursor(Gdk::EXCHANGE); @@ -208,6 +219,14 @@ void StateNormal_Context::refresh_cursor() get_work_area()->set_cursor(Gdk::CROSSHAIR); return; } + // If we are in BLine state and there is not key pressed return to + // the bline cursor. + if (sname=="bline") + { + get_work_area()->set_cursor(Gdk::CROSSHAIR); + return; + } + // Default cursor for Transform tool get_work_area()->set_cursor(Gdk::ARROW); }