X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Feffectstackview.h;h=20d2a2440ad40313b30d5cace3813781fd708e43;hb=08a49ce40071207043020d0d8f3c804703ee7af8;hp=18f453fa0e2c006954d23a6aba7ea855ecf72d9d;hpb=ef1cdedcc9367dc0f8caad2a025071489f68fe77;p=kdenlive diff --git a/src/effectstackview.h b/src/effectstackview.h index 18f453fa..20d2a244 100644 --- a/src/effectstackview.h +++ b/src/effectstackview.h @@ -15,6 +15,12 @@ * * ***************************************************************************/ +/** + * @class EffectStackView + * @brief View part of the EffectStack + * @author Marco Gittler + */ + #ifndef EFFECTSTACKVIEW_H #define EFFECTSTACKVIEW_H @@ -25,39 +31,90 @@ class EffectsList; class ClipItem; class MltVideoProfile; -class EffectStackView : public QWidget { +class EffectStackView : public QWidget +{ Q_OBJECT public: EffectStackView(QWidget *parent = 0); - void raiseWindow(QWidget*); + virtual ~EffectStackView(); + + /** @brief Raises @param dock if a clip is loaded. */ + void raiseWindow(QWidget* dock); + + /** @brief Clears the list of effects and updates the buttons accordingly. */ void clear(); + + /** @brief Sets the add effect button's menu to @param menu. */ void setMenu(QMenu *menu); - void updateProjectFormat(MltVideoProfile profile); + + /** @brief Passes updates on @param profile and @param t on to the effect editor. */ + void updateProjectFormat(MltVideoProfile profile, Timecode t); + + /** @brief Tells the effect editor to update its timecode format. */ + void updateTimecodeFormat(); private: - Ui::EffectStack_UI ui; - ClipItem* clipref; - QMap effectLists; - EffectStackEdit* effectedit; + Ui::EffectStack_UI m_ui; + ClipItem* m_clipref; + QMap m_effectLists; + EffectStackEdit* m_effectedit; + + /** @brief Sets the list of effects according to the clip's effect list. + * @param ix Number of the effect to preselect */ void setupListView(int ix); - //void updateButtonStatus(); public slots: - void slotClipItemSelected(ClipItem*, int ix); - void slotUpdateEffectParams(const QDomElement&, const QDomElement&); + /** @brief Sets the clip whose effect list should be managed. + * @param c Clip whose effect list should be managed + * @param ix Effect to preselect */ + void slotClipItemSelected(ClipItem* c, int ix); + + /** @brief Emits updateClipEffect. + * @param old Old effect information + * @param e New effect information + * + * Connected to a parameter change in the editor */ + void slotUpdateEffectParams(const QDomElement old, const QDomElement e); + + /** @brief Removes the selected effect. */ + void slotItemDel(); private slots: - void slotItemSelectionChanged(); + /** @brief Updates buttons and the editor according to selected effect. + * @param update (optional) Set the clip's selected effect (display keyframes in timeline) */ + void slotItemSelectionChanged(bool update = true); + + /** @brief Moves the selected effect upwards. */ void slotItemUp(); + + /** @brief Moves the selected effect downwards. */ void slotItemDown(); - void slotItemDel(); + + /** @brief Resets the selected effect to its default values. */ void slotResetEffect(); + + /** @brief Updates effect @param item if it was enabled or disabled. */ void slotItemChanged(QListWidgetItem *item); + + /** @brief Saves the selected effect's values to a custom effect. + * + * TODO: save all effects into one custom effect */ void slotSaveEffect(); + /** @brief Emits seekTimeline with position = clipstart + @param pos. */ + void slotSeekTimeline(int pos); + + /** @brief Makes the check all checkbox represent the check state of the effects. */ + void slotUpdateCheckAllButton(); + + /** @brief Sets the check state of all effects according to @param state. */ + void slotCheckAll(int state); + + /** @brief Define the region filter for current effect. */ + void slotRegionChanged(); + signals: - void transferParamDesc(const QDomElement&, int , int); void removeEffect(ClipItem*, QDomElement); /** Parameters for an effect changed, update the filter in playlist */ void updateClipEffect(ClipItem*, QDomElement, QDomElement, int); @@ -70,7 +127,10 @@ signals: void changeEffectPosition(ClipItem*, int, int); /** an effect was saved, reload list */ void reloadEffects(); - + /** An effect with position parameter was changed, seek */ + void seekTimeline(int); + /** The region effect for current effect was changed */ + void updateClipRegion(ClipItem*, int, QString); }; #endif