X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmainwindow.h;h=3b33dad7a91b0e49bc4a76871a477c97aad96e66;hb=af20dd7143d1889c1424349b666bd51353cc6924;hp=848f23fac393a396adc97ac150cc5f6441c95367;hpb=1e007c2d73386e714ed480aba390b827e181994a;p=kdenlive diff --git a/src/mainwindow.h b/src/mainwindow.h index 848f23fa..3b33dad7 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -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 m_gfxScopesList; - QList 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 staleFiles); + void recoverFiles(QList 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. @@ -306,6 +311,9 @@ private: 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. @@ -347,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); @@ -411,10 +418,12 @@ 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 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); @@ -452,10 +461,14 @@ private slots: 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(); @@ -476,6 +489,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(); @@ -522,18 +536,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. */ @@ -544,12 +546,16 @@ private slots: void slotInsertNotesTimecode(); /** @brief Open the project's backupdialog. */ void slotOpenBackupDialog(const KUrl url = KUrl()); - /** @brief Make sure to block clip monitor before deleting a clip's producer. */ - void slotBlockClipMonitor(const QString id); /** @brief Disable proxies for this project. */ void slotDisableProxies(); 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);