X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;ds=sidebyside;f=cinelerra-5.1%2Fcinelerra%2Fproxypopup.C;h=40a29ded973a3f3bcb3523bb6730c9ea3940d45e;hb=c279e21fc2394a7908bbd1ba8c79b116fe9fb14a;hp=225b21bd3db129968f42d682e21c97ffbb9e2136;hpb=f007a674187f11ab58a5aebfe1eec27a90398bcb;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/proxypopup.C b/cinelerra-5.1/cinelerra/proxypopup.C index 225b21bd..40a29ded 100644 --- a/cinelerra-5.1/cinelerra/proxypopup.C +++ b/cinelerra-5.1/cinelerra/proxypopup.C @@ -20,6 +20,7 @@ */ #include "assetedit.h" +#include "assetremove.h" #include "proxypopup.h" #include "awindow.h" #include "awindowgui.h" @@ -57,6 +58,8 @@ ProxyPopup::~ProxyPopup() void ProxyPopup::create_objects() { + BC_MenuItem *menu_item; + BC_SubMenu *submenu; add_item(info = new ProxyPopupInfo(mwindow, this)); add_item(format = new AWindowListFormat(mwindow, gui)); add_item(new ProxyPopupSort(mwindow, this)); @@ -64,6 +67,10 @@ void ProxyPopup::create_objects() add_item(view_window = new ProxyPopupViewWindow(mwindow, this)); add_item(new ProxyPopupCopy(mwindow, this)); add_item(new ProxyPopupPaste(mwindow, this)); + add_item(menu_item = new BC_MenuItem(_("Remove..."))); + menu_item->add_submenu(submenu = new BC_SubMenu()); + submenu->add_submenuitem(new ProxyPopupProjectRemove(mwindow, this)); + submenu->add_submenuitem(new ProxyPopupDiskRemove(mwindow, this)); } void ProxyPopup::paste_assets() @@ -73,7 +80,7 @@ void ProxyPopup::paste_assets() mwindow->gui->lock_window("ProxyPopup::paste_assets"); mwindow->cwindow->gui->lock_window("ProxyPopup::paste_assets"); - gui->collect_assets(1); + gui->collect_assets(); mwindow->paste_assets(mwindow->edl->local_session->get_selectionstart(1), mwindow->edl->tracks->first, 0); // do not overwrite @@ -85,7 +92,7 @@ void ProxyPopup::paste_assets() int ProxyPopup::update() { format->update(); - gui->collect_assets(1); + gui->collect_assets(); return 0; } @@ -133,7 +140,7 @@ ProxyPopupSort::~ProxyPopupSort() int ProxyPopupSort::handle_event() { - mwindow->awindow->gui->sort_assets(0); + mwindow->awindow->gui->sort_assets(); return 1; } @@ -245,6 +252,48 @@ int ProxyPopupPaste::handle_event() } +ProxyPopupProjectRemove::ProxyPopupProjectRemove(MWindow *mwindow, ProxyPopup *popup) + : BC_MenuItem(_("Remove from project")) +{ + this->mwindow = mwindow; + this->popup = popup; +} + +ProxyPopupProjectRemove::~ProxyPopupProjectRemove() +{ +} + +int ProxyPopupProjectRemove::handle_event() +{ + popup->gui->collect_assets(); + mwindow->remove_assets_from_project(1, 1, + mwindow->session->drag_assets, + mwindow->session->drag_clips); + return 1; +} + + +ProxyPopupDiskRemove::ProxyPopupDiskRemove(MWindow *mwindow, ProxyPopup *popup) + : BC_MenuItem(_("Remove from disk")) +{ + this->mwindow = mwindow; + this->popup = popup; +} + + +ProxyPopupDiskRemove::~ProxyPopupDiskRemove() +{ +} + +int ProxyPopupDiskRemove::handle_event() +{ + popup->gui->collect_assets(); + mwindow->awindow->asset_remove->start(); + return 1; +} + + + ProxyListMenu::ProxyListMenu(MWindow *mwindow, AWindowGUI *gui) : BC_PopupMenu(0, 0, 0, "", 0) {