X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmainwindow.h;h=dff7177a77a4b7159de30a56387e54b6022d6278;hb=97c37bedc4c49d2362696e8ef675e7b67d541d48;hp=4444ef341b6a1f5b85f2a526eaa142f01f7d4d68;hpb=611fbb3add76b84cefe0ef28b421e5a4e9ce99b5;p=kdenlive diff --git a/src/mainwindow.h b/src/mainwindow.h index 4444ef34..dff7177a 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -28,6 +28,9 @@ #include #include #include +#include +#include +#include #include #include @@ -54,6 +57,7 @@ class MonitorManager; class ProjectList; class EffectsListView; class EffectStackView; +class EffectStackView2; class TransitionSettings; class Monitor; class RecMonitor; @@ -66,6 +70,7 @@ class JogShuttleAction; class DocClipBase; class Render; class Transition; +class ScopeManager; class Histogram; class Vectorscope; class Waveform; @@ -107,6 +112,10 @@ public: static EffectsList audioEffects; static EffectsList customEffects; static EffectsList transitions; + + /** @brief Cache for luma files thumbnails. */ + static QMap m_lumacache; + protected: /** @brief Closes the window. @@ -137,6 +146,8 @@ private: KTabWidget* m_timelineArea; QProgressBar *m_statusProgressBar; + ScopeManager *m_scopeManager; + /** @brief Sets up all the actions and attaches them to the collection. */ void setupActions(); KdenliveDoc *m_activeDocument; @@ -154,7 +165,7 @@ private: NotesWidget *m_notesWidget; QDockWidget *m_effectStackDock; - EffectStackView *m_effectStack; + EffectStackView2 *m_effectStack; QDockWidget *m_transitionConfigDock; TransitionSettings *m_transitionConfig; @@ -197,7 +208,6 @@ private: /** This list holds all the scopes used in Kdenlive, allowing to manage some global settings */ QList m_gfxScopesList; - QList m_audioScopesList; KActionCategory *m_effectActions; QMenu *m_effectsMenu; @@ -209,7 +219,7 @@ private: /** Actions used in the stopmotion widget */ KActionCategory *m_stopmotion_actions; - + /** Action names that can be used in the slotDoAction() slot, with their i18n() names */ QStringList m_action_names; @@ -295,7 +305,7 @@ private: QStringList m_pluginFileNames; QByteArray m_timelineState; void loadTranscoders(); - void loadStabilize(); + void loadClipActions(); QPixmap createSchemePreviewIcon(const KSharedConfigPtr &config); /** @brief Checks that the Kdenlive mime type is correctly installed. @@ -308,6 +318,10 @@ private: StopmotionWidget *m_stopmotion; QTime m_timer; + /** @brief The last selected clip in timeline. */ + ClipItem *m_mainClip; + /** @brief Update statusbar stylesheet (in case of color theme change). */ + void setStatusBarStyleSheet(const QPalette &p); public slots: /** @brief Prepares opening @param url. @@ -412,11 +426,12 @@ private slots: void slotSelectAddTimelineTransition(); void slotAddVideoEffect(QAction *result); void slotAddTransition(QAction *result); - void slotAddProjectClip(KUrl url, const QString &comment = QString()); + void slotAddProjectClip(KUrl url, stringMap data = stringMap()); void slotAddProjectClipList(KUrl::List urls); void slotShowClipProperties(DocClipBase *clip); void slotShowClipProperties(QList cliplist, QMap commonproperties); - void slotActivateEffectStackView(ClipItem* item = NULL, int ix = -1, bool raise = true); + void slotTimelineClipSelected(ClipItem* item, bool raise = true); + void slotTrackSelected(int index, TrackInfo info, bool raise = true); void slotActivateTransitionView(Transition *); void slotChangeTool(QAction * action); void slotChangeEdit(QAction * action); @@ -478,6 +493,8 @@ private slots: void slotClipInProjectTree(); //void slotClipToProjectTree(); void slotSplitAudio(); + void slotSetAudioAlignReference(); + void slotAlignAudio(); void slotUpdateClipType(QAction *action); void slotShowTimeline(bool show); void slotMaximizeCurrent(bool show); @@ -529,18 +546,6 @@ private slots: /** @brief The monitor informs that it needs (or not) to have frames sent by the renderer. */ void slotMonitorRequestRenderFrame(bool request); - /** @brief Check if someone needs the render frame sent. */ - void slotUpdateGfxScopeFrameRequest(); - /** @brief Check if someone needs the render frame sent. */ - void slotDoUpdateGfxScopeFrameRequest(); - void slotUpdateAudioScopeFrameRequest(); - void slotDoUpdateAudioScopeFrameRequest(); - /** @brief When switching between monitors, update the visible scopes. */ - void slotUpdateColorScopes(); - /** @brief Active monitor deleted, clear scopes. */ - void slotClearColorScopes(); - /** @brief Switch current monitor to fullscreen. */ - void slotSwitchFullscreen(); /** @brief Open the stopmotion dialog. */ void slotOpenStopmotion(); /** @brief Implements all the actions that are int he ActionsCollection. */ @@ -557,6 +562,10 @@ private slots: void slotElapsedTime(); /** @brief Open the online services search dialog. */ void slotDownloadResources(); + + void slotChangePalette(); + /** @brief Save current timeline clip as mlt playlist. */ + void slotSaveTimelineClip(); signals: Q_SCRIPTABLE void abortRenderJob(const QString &url);