fixes for errs in nested edl rework, proxy popup delete
[goodguy/history.git] / cinelerra-5.1 / cinelerra / proxypopup.C
index 225b21bd3db129968f42d682e21c97ffbb9e2136..583f6a57ecbde20baf34994345ca107dd286c8af 100644 (file)
@@ -20,6 +20,7 @@
  */
 
 #include "assetedit.h"
  */
 
 #include "assetedit.h"
+#include "assetremove.h"
 #include "proxypopup.h"
 #include "awindow.h"
 #include "awindowgui.h"
 #include "proxypopup.h"
 #include "awindow.h"
 #include "awindowgui.h"
@@ -57,6 +58,8 @@ ProxyPopup::~ProxyPopup()
 
 void ProxyPopup::create_objects()
 {
 
 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));
        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(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()
 }
 
 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)
 {
 ProxyListMenu::ProxyListMenu(MWindow *mwindow, AWindowGUI *gui)
  : BC_PopupMenu(0, 0, 0, "", 0)
 {