]> git.sesse.net Git - kdenlive/blobdiff - src/mainwindow.h
Fix parts of Kdenlive not responding to color theme change
[kdenlive] / src / mainwindow.h
index c8d0ff241947d545f866917040cf500a271e53d0..4b5851367e4cf9af8cd0b414a6869fac76a10e45 100644 (file)
@@ -54,18 +54,20 @@ class MonitorManager;
 class ProjectList;
 class EffectsListView;
 class EffectStackView;
+class EffectStackView2;
 class TransitionSettings;
 class Monitor;
 class RecMonitor;
 class CustomTrackView;
 class RenderWidget;
-#ifndef NO_JOGSHUTTLE
+#ifdef USE_JOGSHUTTLE
 class JogShuttle;
 class JogShuttleAction;
-#endif /* NO_JOGSHUTTLE */
+#endif
 class DocClipBase;
 class Render;
 class Transition;
+class ScopeManager;
 class Histogram;
 class Vectorscope;
 class Waveform;
@@ -137,6 +139,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 +158,7 @@ private:
     NotesWidget *m_notesWidget;
 
     QDockWidget *m_effectStackDock;
-    EffectStackView *m_effectStack;
+    EffectStackView2 *m_effectStack;
 
     QDockWidget *m_transitionConfigDock;
     TransitionSettings *m_transitionConfig;
@@ -197,7 +201,6 @@ private:
 
     /** This list holds all the scopes used in Kdenlive, allowing to manage some global settings */
     QList <QDockWidget *> m_gfxScopesList;
-    QList <AbstractAudioScopeWidget *> m_audioScopesList;
 
     KActionCategory *m_effectActions;
     QMenu *m_effectsMenu;
@@ -209,7 +212,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;
 
@@ -222,10 +225,10 @@ private:
 
     RenderWidget *m_renderWidget;
 
-#ifndef NO_JOGSHUTTLE
+#ifdef USE_JOGSHUTTLE
     JogShuttle *m_jogProcess;
     JogShuttleAction* m_jogShuttle;
-#endif /* NO_JOGSHUTTLE */
+#endif
 
     KRecentFilesAction *m_fileOpenRecent;
     KAction *m_fileRevert;
@@ -260,6 +263,7 @@ private:
     StatusBarMessageLabel *m_messageLabel;
     QActionGroup *m_clipTypeGroup;
     KActionCollection *m_effectsActionCollection;
+    KActionCollection *m_tracksActionCollection;
 
     bool m_findActivated;
     QString m_findString;
@@ -267,13 +271,13 @@ private:
 
     void readOptions();
     void saveOptions();
-#ifndef NO_JOGSHUTTLE
+#ifdef USE_JOGSHUTTLE
     void activateShuttleDevice();
-#endif /* NO_JOGSHUTTLE */
+#endif
     void connectDocumentInfo(KdenliveDoc *doc);
     void findAhead();
     void doOpenFile(const KUrl &url, KAutoSaveFile *stale);
-    void recoverFiles(QList<KAutoSaveFile *> staleFiles);
+    void recoverFiles(QList<KAutoSaveFile *> staleFiles, const KUrl &originUrl);
 
     /** @brief Loads static and dynamic plugins.
      *
@@ -294,6 +298,7 @@ private:
     QStringList m_pluginFileNames;
     QByteArray m_timelineState;
     void loadTranscoders();
+    void loadStabilize();
     QPixmap createSchemePreviewIcon(const KSharedConfigPtr &config);
 
     /** @brief Checks that the Kdenlive mime type is correctly installed.
@@ -305,6 +310,10 @@ private:
     void loadLayouts();
 
     StopmotionWidget *m_stopmotion;
+    QTime m_timer;
+    
+    /** @brief Update statusbar stylesheet (in case of color theme change). */
+    void setStatusBarStyleSheet(const QPalette &p);
 
 public slots:
     /** @brief Prepares opening @param url.
@@ -346,7 +355,6 @@ private slots:
     /** @brief Reflects setting changes to the GUI. */
     void updateConfiguration();
     void slotConnectMonitors();
-    void slotRaiseMonitor(AbstractMonitor *monitor);
     void slotUpdateClip(const QString &id);
     void slotUpdateMousePosition(int pos);
     void slotAddEffect(const QDomElement effect);
@@ -410,7 +418,8 @@ private slots:
     void slotSelectAddTimelineTransition();
     void slotAddVideoEffect(QAction *result);
     void slotAddTransition(QAction *result);
-    void slotAddProjectClip(KUrl url);
+    void slotAddProjectClip(KUrl url, const QString &comment = QString());
+    void slotAddProjectClipList(KUrl::List urls);
     void slotShowClipProperties(DocClipBase *clip);
     void slotShowClipProperties(QList <DocClipBase *>cliplist, QMap<QString, QString> commonproperties);
     void slotActivateEffectStackView(ClipItem* item = NULL, int ix = -1, bool raise = true);
@@ -444,17 +453,21 @@ private slots:
 
     void slotAdjustClipMonitor();
     void slotAdjustProjectMonitor();
-    void slotSaveZone(Render *render, QPoint zone);
+    void slotSaveZone(Render *render, QPoint zone, DocClipBase *baseClip = NULL, KUrl path = KUrl());
 
     void slotSetInPoint();
     void slotSetOutPoint();
     void slotResizeItemStart();
     void slotResizeItemEnd();
     void configureNotifications();
-    void slotInsertTrack(int ix = 0);
-    void slotDeleteTrack(int ix = 0);
+    void slotInsertTrack(int ix = -1);
+    void slotDeleteTrack(int ix = -1);
     /** @brief Shows the configure tracks dialog and updates transitions afterwards. */
     void slotConfigTrack(int ix = -1);
+    /** @brief Select all clips in active track. */
+    void slotSelectTrack();
+    /** @brief Select all clips in timeline. */
+    void slotSelectAllTracks();
     void slotGetNewLumaStuff();
     void slotGetNewTitleStuff();
     void slotGetNewRenderStuff();
@@ -475,6 +488,7 @@ private slots:
     void slotShowTimeline(bool show);
     void slotMaximizeCurrent(bool show);
     void slotTranscode(KUrl::List urls = KUrl::List());
+    void slotStabilize();
     void slotTranscodeClip();
     /** @brief Archive project: creates a copy of the project file with all clips in a new folder. */
     void slotArchiveProject();
@@ -521,18 +535,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. */
@@ -543,6 +545,14 @@ private slots:
     void slotInsertNotesTimecode();
     /** @brief Open the project's backupdialog. */
     void slotOpenBackupDialog(const KUrl url = KUrl());
+    /** @brief Disable proxies for this project. */
+    void slotDisableProxies();
+
+    void slotElapsedTime();
+    /** @brief Open the online services search dialog. */
+    void slotDownloadResources();
+    
+    void slotChangePalette();
 
 signals:
     Q_SCRIPTABLE void abortRenderJob(const QString &url);