Keep the cursors of all the tools states as its default cursor except the BLine tool...
authorCarlos Lopez <genetita@gmail.com>
Sat, 15 May 2010 12:12:50 +0000 (14:12 +0200)
committerCarlos Lopez <genetita@gmail.com>
Sat, 15 May 2010 12:12:50 +0000 (14:12 +0200)
BLine tool can use the new Transform tool abilities during bline construction.

synfig-studio/src/gtkmm/state_normal.cpp

index 4ea21f1..66c7453 100644 (file)
@@ -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);
 
 }