+KeyframeHidePopup::KeyframeHidePopup(MWindow *mwindow, MWindowGUI *gui)
+ : BC_PopupMenu(0, 0, 0, "", 0)
+{
+ this->mwindow = mwindow;
+ this->gui = gui;
+ this->keyframe_autos = 0;
+}
+
+KeyframeHidePopup::~KeyframeHidePopup()
+{
+}
+
+void KeyframeHidePopup::create_objects()
+{
+ add_item(new KeyframePopupHide(mwindow, this));
+}
+
+int KeyframeHidePopup::update(Autos *autos)
+{
+ this->keyframe_autos = autos;
+ return 0;
+}
+
+KeyframePopupHide::KeyframePopupHide(MWindow *mwindow, KeyframeHidePopup *popup)
+ : BC_MenuItem(_("Hide keyframe type"))
+{
+ this->mwindow = mwindow;
+ this->popup = popup;
+}
+
+int KeyframePopupHide::handle_event()
+{
+// Get the array index of the curve
+ int update_gui = 0;
+ if(popup->keyframe_autos)
+ {
+ if(popup->keyframe_autos->type == Autos::AUTOMATION_TYPE_PLUGIN)
+ {
+ mwindow->edl->session->auto_conf->plugins = 0;
+ update_gui = 1;
+ }
+ else
+ {
+ Track *track = popup->keyframe_autos->track;
+ if(track)
+ {
+ Automation *automation = track->automation;
+ if(automation)
+ {
+ for(int i = 0; i < AUTOMATION_TOTAL; i++)
+ {
+ if(automation->autos[i] == popup->keyframe_autos)
+ {
+ mwindow->edl->session->auto_conf->autos[i] = 0;
+ update_gui = 1;
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if(update_gui)
+ {
+ mwindow->gui->update(0,
+ 1, // 1 for incremental drawing. 2 for full refresh
+ 0,
+ 0,
+ 0,
+ 0,
+ 0);
+ mwindow->gui->mainmenu->update_toggles(1);
+ mwindow->gui->unlock_window();
+ mwindow->gwindow->gui->update_toggles(1);
+ mwindow->gui->lock_window("KeyframePopupHide::handle_event");
+ }
+
+ return 1;
+}