add_item(format = new AWindowListFormat(mwindow, gui));
add_item(sort = new ClipPopupSort(mwindow, this));
add_item(open_edl = new ClipPopupOpenEDL(mwindow, this));
+ add_item(close_edl = new ClipPopupCloseEDL(mwindow, gui));
add_item(to_media = new ClipPopupToMedia(mwindow, this));
add_item(view = new ClipPopupView(mwindow, this));
add_item(view_window = new ClipPopupViewWindow(mwindow, this));
{
format->update();
gui->collect_assets();
+ EDL *clip = !mwindow->session->drag_clips->size() ? 0 :
+ mwindow->session->drag_clips->get(0);
+ int enable_open = clip ? 1 : 0;
+ open_edl->set_enabled(enable_open);
+ int enable_close = mwindow->stack.size() > 0 ? 1 : 0;
+ close_edl->set_enabled(enable_close);
return 0;
}
void ClipListMenu::create_objects()
{
add_item(format = new AWindowListFormat(mwindow, gui));
+ add_item(close_edl = new ClipPopupCloseEDL(mwindow, gui));
add_item(new AWindowListSort(mwindow, gui));
add_item(new ClipPasteToFolder(mwindow));
update();
void ClipListMenu::update()
{
format->update();
+ int enable_close = mwindow->stack.size() > 0 ? 1 : 0;
+ close_edl->set_enabled(enable_close);
}
int ClipPopupToMedia::handle_event()
{
- if( mwindow->edl->session->proxy_scale == 1 )
+ if( mwindow->edl->session->proxy_state != PROXY_ACTIVE )
mwindow->clip_to_media();
else
- eprintf("Nesting not allowed when proxy scale != 1");
+ eprintf("Nesting not allowed when proxy active");
return 1;
}
if( clips_total ) {
popup->unlock_window();
EDL *clip = mwindow->session->drag_clips->values[0];
- mwindow->stack_push(clip);
+ mwindow->stack_push(clip, 0);
popup->lock_window("ClipPopupOpenEDL::handle_event");
}
return 1;
}
+ClipPopupCloseEDL::ClipPopupCloseEDL(MWindow *mwindow, AWindowGUI *gui)
+ : BC_MenuItem(_("Close EDL"))
+{
+ this->mwindow = mwindow;
+ this->gui = gui;
+}
+ClipPopupCloseEDL::~ClipPopupCloseEDL()
+{
+}
+
+int ClipPopupCloseEDL::handle_event()
+{
+ gui->unlock_window();
+ mwindow->gui->lock_window("ClipPopupCloseEDL::handle_event");
+ mwindow->stack_pop();
+ mwindow->gui->unlock_window();
+ gui->lock_window("ClipPopupCloseEDL::handle_event");
+ return 1;
+}
+