this->arrow = 0;
this->ibeam = 0;
this->keyframe = 0;
+ this->span_keyframe = 0;
this->mangoto = 0;
this->click2play = 0;
locklabels = 0;
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() ?
int result = 0;
int button_w = mwindow->theme->get_image_set("ibeam")[0]->get_w();
if( use_keyframe ) {
- result += button_w + mwindow->theme->toggle_margin;
+ result += 2*(button_w + mwindow->theme->toggle_margin);
}
result += button_w * total_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 ) {
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 ) {
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,