X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fproxypopup.C;h=583f6a57ecbde20baf34994345ca107dd286c8af;hp=225b21bd3db129968f42d682e21c97ffbb9e2136;hb=d079f6253a75cc8cfedbab636ad0bc7f5dc9c5f5;hpb=214bd0ba9e21635e03d0c0e2b2ae1a7e9170583c diff --git a/cinelerra-5.1/cinelerra/proxypopup.C b/cinelerra-5.1/cinelerra/proxypopup.C index 225b21bd..583f6a57 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() @@ -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) {