#ifndef EFFECTCONTROLS_H #define EFFECTCONTROLS_H #include #include struct Clip; class QMenu; class Effect; namespace Ui { class EffectControls; } class EffectControls : public QDockWidget { Q_OBJECT public: explicit EffectControls(QWidget *parent = 0); ~EffectControls(); // void set_clip(Clip* c); void set_clips(QVector& clips); void clear_effects(bool clear_cache); void delete_effects(); bool is_focused(); void reload_clips(); private slots: void menu_select(QAction* q); void on_add_video_effect_button_clicked(); void on_add_audio_effect_button_clicked(); void deselect_all_effects(QWidget*); private: Ui::EffectControls *ui; QVector selected_clips; void show_menu(bool video); void load_effects(); bool video_menu; }; class EffectAddCommand : public QUndoCommand { public: EffectAddCommand(); ~EffectAddCommand(); void undo(); void redo(); QVector clips; QVector effects; private: bool done; }; class EffectDeleteCommand : public QUndoCommand { public: EffectDeleteCommand(); ~EffectDeleteCommand(); void undo(); void redo(); QVector clips; QVector fx; private: bool done; QVector deleted_objects; }; #endif // EFFECTCONTROLS_H