X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Feditpanel.C;h=3d7703c2150ed09cf8c3f9ea7c504988f3d9ec19;hp=4e80555e83222e6e6281dfedf0bab2fbba955084;hb=620f70a943c1f47880ec68a908aa03bf463e741f;hpb=0c7b0aebb5e9f85f4eb7abb69b800d8d37b30b0f diff --git a/cinelerra-5.1/cinelerra/editpanel.C b/cinelerra-5.1/cinelerra/editpanel.C index 4e80555e..3d7703c2 100644 --- a/cinelerra-5.1/cinelerra/editpanel.C +++ b/cinelerra-5.1/cinelerra/editpanel.C @@ -118,6 +118,7 @@ EditPanel::EditPanel(MWindow *mwindow, this->arrow = 0; this->ibeam = 0; this->keyframe = 0; + this->span_keyframe = 0; this->mangoto = 0; this->click2play = 0; locklabels = 0; @@ -139,6 +140,7 @@ void EditPanel::update() if( arrow ) arrow->update(new_editing_mode == EDITING_ARROW); if( ibeam ) ibeam->update(new_editing_mode == EDITING_IBEAM); if( keyframe ) keyframe->update(mwindow->edl->session->auto_keyframes); + if( span_keyframe ) span_keyframe->update(mwindow->edl->session->span_keyframes); if( locklabels ) locklabels->set_value(mwindow->edl->session->labels_follow_edits); if( click2play ) { int value = !is_vwindow() ? @@ -193,6 +195,9 @@ void EditPanel::create_buttons() keyframe = new KeyFrameButton(mwindow, this, x1, y1); subwindow->add_subwindow(keyframe); x1 += keyframe->get_w(); + span_keyframe = new SpanKeyFrameButton(mwindow, this, x1, y1); + subwindow->add_subwindow(span_keyframe); + x1 += span_keyframe->get_w(); } if( use_locklabels ) { @@ -334,6 +339,8 @@ void EditPanel::reposition_buttons(int x, int y) if( use_keyframe ) { keyframe->reposition_window(x1, y1); x1 += keyframe->get_w(); + span_keyframe->reposition_window(x1, y1); + x1 += span_keyframe->get_w(); } if( use_locklabels ) { @@ -941,6 +948,24 @@ int KeyFrameButton::keypress_event() return 0; } +//set_span_keyframes +SpanKeyFrameButton::SpanKeyFrameButton(MWindow *mwindow, EditPanel *panel, int x, int y) + : BC_Toggle(x, y, + mwindow->theme->get_image_set("spankeyframe"), + mwindow->edl->session->span_keyframes, + "", 0, 0, 0) +{ + this->mwindow = mwindow; + this->panel = panel; + set_tooltip(_("Allow keyframe spanning")); +} + +int SpanKeyFrameButton::handle_event() +{ + panel->panel_set_span_keyframes(get_value()); + return 1; +} + //set_labels_follow_edits LockLabelsButton::LockLabelsButton(MWindow *mwindow, EditPanel *panel, int x, int y) : BC_Toggle(x, y,