[Synfig-devl] Carlos Lopez : Now the widget is fully working. Need a place to be stored and better size.

2009-08-19 Thread Konstantin Dmitriev
Module: synfig
Branch: zelgadis_master
Commit: b5c3d66d7714b6a2b6a10eb968206c6a46b0f026
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=b5c3d66d7714b6a2b6a10eb968206c6a46b0f026

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sat Jul 18 12:44:52 2009 +0200

Now the widget is fully working. Need a place to be stored and better size.

---

 synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp   |3 +-
 .../trunk/src/gtkmm/widget_keyframe_list.cpp   |   52 ++--
 .../trunk/src/gtkmm/widget_keyframe_list.h |9 +++
 3 files changed, 58 insertions(+), 6 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp 
b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
index 7f0c253..c13bb71 100644
--- a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
+++ b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
@@ -504,8 +504,7 @@ 
Dock_Timetrack::changed_canvas_view_vfunc(etl::loose_handleCanvasView canvas_v

widget_timeslider_-set_global_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate());
 

widget_kf_list_-set_time_adjustment(canvas_view-time_adjustment());
-   
widget_kf_list_-set_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate());
-   
widget_kf_list_-set_kf_list(canvas_view-get_canvas()-keyframe_list());
+   
widget_kf_list_-set_canvas_interface(canvas_view-canvas_interface());
 
vscrollbar_-set_adjustment(*tree_view-get_vadjustment());

hscrollbar_-set_adjustment(canvas_view-time_window_adjustment());
diff --git a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp 
b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
index dba098d..9ab98ba 100644
--- a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
+++ b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
@@ -48,6 +48,7 @@ using namespace etl;
 using namespace synfig;
 using namespace studio;
 
+
 /* === M A C R O S = */
 
 /* === G L O B A L S === */
@@ -165,23 +166,47 @@ void
 Widget_Keyframe_List::set_kf_list(synfig::KeyframeList* x)
 {
kf_list_=x;
-   if(kf_list_-size())
-   set_selected_keyframe(selected_none);
+   set_selected_keyframe(selected_none);
+   selected_=false;
+   dragging_=false;
 }
 
 void
 Widget_Keyframe_List::set_selected_keyframe(const synfig::Keyframe x)
 {
selected_kf=x;
+   selected_=true;
dragging_kf_time=selected_kf.get_time();
//signal_keyframe_selected_(selected_kf);
+   dragging_=false;
queue_draw();
 }
 
 bool
 Widget_Keyframe_List::perform_move_kf()
 {
-   return false;
+   if(!selected_)
+   return false;
+   if(dragging_kf_time == selected_kf.get_time())
+   return false;
+   synfigapp::Action::Handle 
action(synfigapp::Action::create(KeyframeSet));
+   if(!action)
+   return false;
+   selected_kf.set_time(dragging_kf_time);
+   action-set_param(canvas,canvas_interface_-get_canvas());
+   action-set_param(canvas_interface,canvas_interface_);
+   action-set_param(keyframe,selected_kf);
+   //synfig::info(DELTA: %s, 
(dragging_kf_time-selected_kf.get_time()).get_string().c_str());
+   try
+   {
+   canvas_interface_-get_instance()-perform_action(action);
+   }
+   catch(...)
+   {
+   return false;
+   }
+   queue_draw();
+   return true;
 }
 
 bool
@@ -243,6 +268,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event)
)
{
set_selected_keyframe(selected_none);
+   selected_=false;
synfig::info(Selected keyframe set to 
none);
synfig::info(Distance to prev %s, 
(t-prev_t).get_string().c_str());
synfig::info(Distance to next %s, 
(next_t-t).get_string().c_str());
@@ -254,6 +280,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event)

set_selected_keyframe(*(kf_list_-find_prev(t)));
synfig::info(Selected keyframe set to 
previous);
queue_draw();
+   selected_=true;
return true;
}
else
@@ -261,6 +288,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event)

set_selected_keyframe(*(kf_list_-find_next(t)));
synfig::info(Selected keyframe set to 
next);
queue_draw();
+  

[Synfig-devl] Carlos Lopez : Now the widget is fully working. Need a place to be stored and better size.

2009-08-01 Thread Genete
Module: synfig
Branch: master
Commit: b5c3d66d7714b6a2b6a10eb968206c6a46b0f026
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=b5c3d66d7714b6a2b6a10eb968206c6a46b0f026

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sat Jul 18 12:44:52 2009 +0200

Now the widget is fully working. Need a place to be stored and better size.

---

 synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp   |3 +-
 .../trunk/src/gtkmm/widget_keyframe_list.cpp   |   52 ++--
 .../trunk/src/gtkmm/widget_keyframe_list.h |9 +++
 3 files changed, 58 insertions(+), 6 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp 
b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
index 7f0c253..c13bb71 100644
--- a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
+++ b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
@@ -504,8 +504,7 @@ 
Dock_Timetrack::changed_canvas_view_vfunc(etl::loose_handleCanvasView canvas_v

widget_timeslider_-set_global_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate());
 

widget_kf_list_-set_time_adjustment(canvas_view-time_adjustment());
-   
widget_kf_list_-set_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate());
-   
widget_kf_list_-set_kf_list(canvas_view-get_canvas()-keyframe_list());
+   
widget_kf_list_-set_canvas_interface(canvas_view-canvas_interface());
 
vscrollbar_-set_adjustment(*tree_view-get_vadjustment());

hscrollbar_-set_adjustment(canvas_view-time_window_adjustment());
diff --git a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp 
b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
index dba098d..9ab98ba 100644
--- a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
+++ b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
@@ -48,6 +48,7 @@ using namespace etl;
 using namespace synfig;
 using namespace studio;
 
+
 /* === M A C R O S = */
 
 /* === G L O B A L S === */
@@ -165,23 +166,47 @@ void
 Widget_Keyframe_List::set_kf_list(synfig::KeyframeList* x)
 {
kf_list_=x;
-   if(kf_list_-size())
-   set_selected_keyframe(selected_none);
+   set_selected_keyframe(selected_none);
+   selected_=false;
+   dragging_=false;
 }
 
 void
 Widget_Keyframe_List::set_selected_keyframe(const synfig::Keyframe x)
 {
selected_kf=x;
+   selected_=true;
dragging_kf_time=selected_kf.get_time();
//signal_keyframe_selected_(selected_kf);
+   dragging_=false;
queue_draw();
 }
 
 bool
 Widget_Keyframe_List::perform_move_kf()
 {
-   return false;
+   if(!selected_)
+   return false;
+   if(dragging_kf_time == selected_kf.get_time())
+   return false;
+   synfigapp::Action::Handle 
action(synfigapp::Action::create(KeyframeSet));
+   if(!action)
+   return false;
+   selected_kf.set_time(dragging_kf_time);
+   action-set_param(canvas,canvas_interface_-get_canvas());
+   action-set_param(canvas_interface,canvas_interface_);
+   action-set_param(keyframe,selected_kf);
+   //synfig::info(DELTA: %s, 
(dragging_kf_time-selected_kf.get_time()).get_string().c_str());
+   try
+   {
+   canvas_interface_-get_instance()-perform_action(action);
+   }
+   catch(...)
+   {
+   return false;
+   }
+   queue_draw();
+   return true;
 }
 
 bool
@@ -243,6 +268,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event)
)
{
set_selected_keyframe(selected_none);
+   selected_=false;
synfig::info(Selected keyframe set to 
none);
synfig::info(Distance to prev %s, 
(t-prev_t).get_string().c_str());
synfig::info(Distance to next %s, 
(next_t-t).get_string().c_str());
@@ -254,6 +280,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event)

set_selected_keyframe(*(kf_list_-find_prev(t)));
synfig::info(Selected keyframe set to 
previous);
queue_draw();
+   selected_=true;
return true;
}
else
@@ -261,6 +288,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event)

set_selected_keyframe(*(kf_list_-find_next(t)));
synfig::info(Selected keyframe set to 
next);
queue_draw();
+   

[Synfig-devl] Carlos Lopez : Now the widget is fully working. Need a place to be stored and better size.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: b5c3d66d7714b6a2b6a10eb968206c6a46b0f026
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=b5c3d66d7714b6a2b6a10eb968206c6a46b0f026

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sat Jul 18 12:44:52 2009 +0200

Now the widget is fully working. Need a place to be stored and better size.

---

 synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp   |3 +-
 .../trunk/src/gtkmm/widget_keyframe_list.cpp   |   52 ++--
 .../trunk/src/gtkmm/widget_keyframe_list.h |9 +++
 3 files changed, 58 insertions(+), 6 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp 
b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
index 7f0c253..c13bb71 100644
--- a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
+++ b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
@@ -504,8 +504,7 @@ 
Dock_Timetrack::changed_canvas_view_vfunc(etl::loose_handleCanvasView canvas_v

widget_timeslider_-set_global_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate());
 

widget_kf_list_-set_time_adjustment(canvas_view-time_adjustment());
-   
widget_kf_list_-set_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate());
-   
widget_kf_list_-set_kf_list(canvas_view-get_canvas()-keyframe_list());
+   
widget_kf_list_-set_canvas_interface(canvas_view-canvas_interface());
 
vscrollbar_-set_adjustment(*tree_view-get_vadjustment());

hscrollbar_-set_adjustment(canvas_view-time_window_adjustment());
diff --git a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp 
b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
index dba098d..9ab98ba 100644
--- a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
+++ b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
@@ -48,6 +48,7 @@ using namespace etl;
 using namespace synfig;
 using namespace studio;
 
+
 /* === M A C R O S = */
 
 /* === G L O B A L S === */
@@ -165,23 +166,47 @@ void
 Widget_Keyframe_List::set_kf_list(synfig::KeyframeList* x)
 {
kf_list_=x;
-   if(kf_list_-size())
-   set_selected_keyframe(selected_none);
+   set_selected_keyframe(selected_none);
+   selected_=false;
+   dragging_=false;
 }
 
 void
 Widget_Keyframe_List::set_selected_keyframe(const synfig::Keyframe x)
 {
selected_kf=x;
+   selected_=true;
dragging_kf_time=selected_kf.get_time();
//signal_keyframe_selected_(selected_kf);
+   dragging_=false;
queue_draw();
 }
 
 bool
 Widget_Keyframe_List::perform_move_kf()
 {
-   return false;
+   if(!selected_)
+   return false;
+   if(dragging_kf_time == selected_kf.get_time())
+   return false;
+   synfigapp::Action::Handle 
action(synfigapp::Action::create(KeyframeSet));
+   if(!action)
+   return false;
+   selected_kf.set_time(dragging_kf_time);
+   action-set_param(canvas,canvas_interface_-get_canvas());
+   action-set_param(canvas_interface,canvas_interface_);
+   action-set_param(keyframe,selected_kf);
+   //synfig::info(DELTA: %s, 
(dragging_kf_time-selected_kf.get_time()).get_string().c_str());
+   try
+   {
+   canvas_interface_-get_instance()-perform_action(action);
+   }
+   catch(...)
+   {
+   return false;
+   }
+   queue_draw();
+   return true;
 }
 
 bool
@@ -243,6 +268,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event)
)
{
set_selected_keyframe(selected_none);
+   selected_=false;
synfig::info(Selected keyframe set to 
none);
synfig::info(Distance to prev %s, 
(t-prev_t).get_string().c_str());
synfig::info(Distance to next %s, 
(next_t-t).get_string().c_str());
@@ -254,6 +280,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event)

set_selected_keyframe(*(kf_list_-find_prev(t)));
synfig::info(Selected keyframe set to 
previous);
queue_draw();
+   selected_=true;
return true;
}
else
@@ -261,6 +288,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event)

set_selected_keyframe(*(kf_list_-find_next(t)));
synfig::info(Selected keyframe set to 
next);
queue_draw();
+

[Synfig-devl] Carlos Lopez : Now the widget is fully working. Need a place to be stored and better size.

2009-07-18 Thread Genete
Module: synfig
Branch: genete_keyframe_list
Commit: b5c3d66d7714b6a2b6a10eb968206c6a46b0f026
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=b5c3d66d7714b6a2b6a10eb968206c6a46b0f026

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sat Jul 18 12:44:52 2009 +0200

Now the widget is fully working. Need a place to be stored and better size.

---

 synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp   |3 +-
 .../trunk/src/gtkmm/widget_keyframe_list.cpp   |   52 ++--
 .../trunk/src/gtkmm/widget_keyframe_list.h |9 +++
 3 files changed, 58 insertions(+), 6 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp 
b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
index 7f0c253..c13bb71 100644
--- a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
+++ b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
@@ -504,8 +504,7 @@ 
Dock_Timetrack::changed_canvas_view_vfunc(etl::loose_handleCanvasView canvas_v

widget_timeslider_-set_global_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate());
 

widget_kf_list_-set_time_adjustment(canvas_view-time_adjustment());
-   
widget_kf_list_-set_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate());
-   
widget_kf_list_-set_kf_list(canvas_view-get_canvas()-keyframe_list());
+   
widget_kf_list_-set_canvas_interface(canvas_view-canvas_interface());
 
vscrollbar_-set_adjustment(*tree_view-get_vadjustment());

hscrollbar_-set_adjustment(canvas_view-time_window_adjustment());
diff --git a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp 
b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
index dba098d..9ab98ba 100644
--- a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
+++ b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
@@ -48,6 +48,7 @@ using namespace etl;
 using namespace synfig;
 using namespace studio;
 
+
 /* === M A C R O S = */
 
 /* === G L O B A L S === */
@@ -165,23 +166,47 @@ void
 Widget_Keyframe_List::set_kf_list(synfig::KeyframeList* x)
 {
kf_list_=x;
-   if(kf_list_-size())
-   set_selected_keyframe(selected_none);
+   set_selected_keyframe(selected_none);
+   selected_=false;
+   dragging_=false;
 }
 
 void
 Widget_Keyframe_List::set_selected_keyframe(const synfig::Keyframe x)
 {
selected_kf=x;
+   selected_=true;
dragging_kf_time=selected_kf.get_time();
//signal_keyframe_selected_(selected_kf);
+   dragging_=false;
queue_draw();
 }
 
 bool
 Widget_Keyframe_List::perform_move_kf()
 {
-   return false;
+   if(!selected_)
+   return false;
+   if(dragging_kf_time == selected_kf.get_time())
+   return false;
+   synfigapp::Action::Handle 
action(synfigapp::Action::create(KeyframeSet));
+   if(!action)
+   return false;
+   selected_kf.set_time(dragging_kf_time);
+   action-set_param(canvas,canvas_interface_-get_canvas());
+   action-set_param(canvas_interface,canvas_interface_);
+   action-set_param(keyframe,selected_kf);
+   //synfig::info(DELTA: %s, 
(dragging_kf_time-selected_kf.get_time()).get_string().c_str());
+   try
+   {
+   canvas_interface_-get_instance()-perform_action(action);
+   }
+   catch(...)
+   {
+   return false;
+   }
+   queue_draw();
+   return true;
 }
 
 bool
@@ -243,6 +268,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event)
)
{
set_selected_keyframe(selected_none);
+   selected_=false;
synfig::info(Selected keyframe set to 
none);
synfig::info(Distance to prev %s, 
(t-prev_t).get_string().c_str());
synfig::info(Distance to next %s, 
(next_t-t).get_string().c_str());
@@ -254,6 +280,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event)

set_selected_keyframe(*(kf_list_-find_prev(t)));
synfig::info(Selected keyframe set to 
previous);
queue_draw();
+   selected_=true;
return true;
}
else
@@ -261,6 +288,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event)

set_selected_keyframe(*(kf_list_-find_next(t)));
synfig::info(Selected keyframe set to 
next);
queue_draw();
+ 

[Synfig-devl] Carlos Lopez : Now the widget is fully working. Need a place to be stored and better size.

2009-07-18 Thread Konstantin Dmitriev
Module: synfig
Branch: morevna
Commit: b5c3d66d7714b6a2b6a10eb968206c6a46b0f026
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=b5c3d66d7714b6a2b6a10eb968206c6a46b0f026

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sat Jul 18 12:44:52 2009 +0200

Now the widget is fully working. Need a place to be stored and better size.

---

 synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp   |3 +-
 .../trunk/src/gtkmm/widget_keyframe_list.cpp   |   52 ++--
 .../trunk/src/gtkmm/widget_keyframe_list.h |9 +++
 3 files changed, 58 insertions(+), 6 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp 
b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
index 7f0c253..c13bb71 100644
--- a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
+++ b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
@@ -504,8 +504,7 @@ 
Dock_Timetrack::changed_canvas_view_vfunc(etl::loose_handleCanvasView canvas_v

widget_timeslider_-set_global_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate());
 

widget_kf_list_-set_time_adjustment(canvas_view-time_adjustment());
-   
widget_kf_list_-set_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate());
-   
widget_kf_list_-set_kf_list(canvas_view-get_canvas()-keyframe_list());
+   
widget_kf_list_-set_canvas_interface(canvas_view-canvas_interface());
 
vscrollbar_-set_adjustment(*tree_view-get_vadjustment());

hscrollbar_-set_adjustment(canvas_view-time_window_adjustment());
diff --git a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp 
b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
index dba098d..9ab98ba 100644
--- a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
+++ b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
@@ -48,6 +48,7 @@ using namespace etl;
 using namespace synfig;
 using namespace studio;
 
+
 /* === M A C R O S = */
 
 /* === G L O B A L S === */
@@ -165,23 +166,47 @@ void
 Widget_Keyframe_List::set_kf_list(synfig::KeyframeList* x)
 {
kf_list_=x;
-   if(kf_list_-size())
-   set_selected_keyframe(selected_none);
+   set_selected_keyframe(selected_none);
+   selected_=false;
+   dragging_=false;
 }
 
 void
 Widget_Keyframe_List::set_selected_keyframe(const synfig::Keyframe x)
 {
selected_kf=x;
+   selected_=true;
dragging_kf_time=selected_kf.get_time();
//signal_keyframe_selected_(selected_kf);
+   dragging_=false;
queue_draw();
 }
 
 bool
 Widget_Keyframe_List::perform_move_kf()
 {
-   return false;
+   if(!selected_)
+   return false;
+   if(dragging_kf_time == selected_kf.get_time())
+   return false;
+   synfigapp::Action::Handle 
action(synfigapp::Action::create(KeyframeSet));
+   if(!action)
+   return false;
+   selected_kf.set_time(dragging_kf_time);
+   action-set_param(canvas,canvas_interface_-get_canvas());
+   action-set_param(canvas_interface,canvas_interface_);
+   action-set_param(keyframe,selected_kf);
+   //synfig::info(DELTA: %s, 
(dragging_kf_time-selected_kf.get_time()).get_string().c_str());
+   try
+   {
+   canvas_interface_-get_instance()-perform_action(action);
+   }
+   catch(...)
+   {
+   return false;
+   }
+   queue_draw();
+   return true;
 }
 
 bool
@@ -243,6 +268,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event)
)
{
set_selected_keyframe(selected_none);
+   selected_=false;
synfig::info(Selected keyframe set to 
none);
synfig::info(Distance to prev %s, 
(t-prev_t).get_string().c_str());
synfig::info(Distance to next %s, 
(next_t-t).get_string().c_str());
@@ -254,6 +280,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event)

set_selected_keyframe(*(kf_list_-find_prev(t)));
synfig::info(Selected keyframe set to 
previous);
queue_draw();
+   selected_=true;
return true;
}
else
@@ -261,6 +288,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event)

set_selected_keyframe(*(kf_list_-find_next(t)));
synfig::info(Selected keyframe set to 
next);
queue_draw();
+