private:
KTabWidget* m_timelineArea;
QProgressBar *m_statusProgressBar;
+
+ /** @brief Sets up all the actions and attaches them to the collection. */
void setupActions();
KdenliveDoc *m_activeDocument;
TrackView *m_activeTimeline;
KComboBox *m_timecodeFormat;
+ QMenu *m_videoEffectsMenu;
+ QMenu *m_audioEffectsMenu;
QMenu *m_customEffectsMenu;
+ QMenu *m_transitionsMenu;
QMenu *m_timelineContextMenu;
QMenu *m_timelineContextClipMenu;
QMenu *m_timelineContextTransitionMenu;
KAction *m_projectSearch;
KAction *m_projectSearchNext;
+ KAction **m_videoEffects;
+ KAction **m_audioEffects;
+ KAction **m_customEffects;
+ KAction **m_transitions;
KAction *m_buttonAudioThumbs;
KAction *m_buttonVideoThumbs;
KAction *m_buttonShowMarkers;
KAction *m_saveAction;
KAction *m_closeAction;
QSlider *m_zoomSlider;
+ KAction *m_zoomIn;
+ KAction *m_zoomOut;
KAction *m_loopZone;
KAction *m_playZone;
StatusBarMessageLabel *m_messageLabel;
QMenu *menu, const char *member,
QActionGroup *actionGroup);
void aboutPlugins();
+
+ /** @brief Instantiates a "Get Hot New Stuff" dialog.
+ * @param configFile configuration file for KNewStuff
+ * @return number of installed items */
int getNewStuff(const QString &configFile = QString());
QStringList m_pluginFileNames;
QByteArray m_timelineState;
void loadTranscoders();
QPixmap createSchemePreviewIcon(const KSharedConfigPtr &config);
+ /** @brief Checks that the Kdenlive mime type is correctly installed.
+ * @return The mimetype */
+ QString getMimeType();
public slots:
+ /** @brief Prepares opening @param url.
+ *
+ * Checks if already open and whether backup exists */
void openFile(const KUrl &url);
void slotGotProgressInfo(const QString &message, int progress);
Q_SCRIPTABLE void setRenderingProgress(const QString &url, int progress);
void queryQuit();
void activateDocument();
void connectDocument(TrackView*, KdenliveDoc*);
+ /** @brief Shows file open dialog. */
void openFile();
void openLastFile();
+ /** @brief Checks whether a URL is available to save to.
+ * @return Whether the file was saved. */
bool saveFile();
+ /** @brief Shows a save file dialog for saving the project.
+ * @return Whether the file was saved. */
bool saveFileAs();
+ /** @brief Set properties to match outputFileName and save the document.
+ * @param outputFileName The URL to save to / The document's URL.
+ * @return Whether we had success. */
bool saveFileAs(const QString &outputFileName);
void slotPreferences(int page = -1, int option = -1);
void updateConfiguration();
void slotRenderProject();
void slotFullScreen();
void slotUpdateDocumentState(bool modified);
+
+ /** @brief Sets the timeline zoom slider to @param value.
+ *
+ * Also disables zoomIn and zoomOut actions if they cannot be used at the moment. */
+ void slotSetZoom(int value);
+ /** @brief Decreases the timeline zoom level by 1. */
void slotZoomIn();
+ /** @brief Increases the timeline zoom level by 1. */
void slotZoomOut();
+ /** @brief Makes the timeline zoom level fit the timeline content. */
void slotFitZoom();
+ /** @brief Updates the zoom slider tooltip to fit @param zoomlevel. */
+ void slotUpdateZoomSliderToolTip(int zoomlevel);
+ /** @brief Displays the zoom slider tooltip.
+ * @param zoomlevel (optional) The zoom level to show in the tooltip.
+ *
+ * Adopted from Dolphin (src/statusbar/dolphinstatusbar.cpp) */
+ void slotShowZoomSliderToolTip(int zoomlevel = -1);
+
void closeCurrentDocument(bool saveChanges = true);
- /** @brief Delete item in timeline, project tree or effect stack depending on focus. */
+ /** @brief Deletes item in timeline, project tree or effect stack depending on focus. */
void slotDeleteItem();
void slotAddClipMarker();
void slotDeleteClipMarker();
void configureNotifications();
void slotInsertTrack(int ix = 0);
void slotDeleteTrack(int ix = 0);
- void slotChangeTrack(int ix = 0);
+ /** @brief Shows the configure tracks dialog and updates transitions afterwards. */
+ void slotConfigTrack(int ix = -1);
void slotGetNewLumaStuff();
void slotGetNewTitleStuff();
void slotGetNewRenderStuff();
void slotGetNewMltProfileStuff();
void slotAutoTransition();
void slotRunWizard();
+ /** @brief Lets the sampleplugin create a generator. */
void generateClip();
void slotZoneMoved(int start, int end);
void slotUpdatePreviewSettings();
void slotTranscodeClip();
void slotSetDocumentRenderProfile(const QString &dest, const QString &group, const QString &name, const QString &file);
void slotPrepareRendering(bool scriptExport, bool zoneOnly, const QString &chapterFile);
+ /** @brief Switches between displaying frames or timecode.
+ * @param ix 0 = display timecode, 1 = display frames. */
void slotUpdateTimecodeFormat(int ix);
- /** Removes the focus of anything */
+ /** @brief Removes the focus of anything. */
void slotRemoveFocus();
void slotCleanProject();
- void slotSetZoom(int value);
void slotUpdateClipMarkers(DocClipBase *clip);
void slotRevert();
void slotShutdown();
void slotUpdateTrackInfo();
+
/** @brief Changes the color scheme. */
void slotChangePalette(QAction *action, const QString &themename = QString());
void slotSwitchMonitors();
void slotCheckRenderStatus();
void slotInsertZoneToTree();
void slotInsertZoneToTimeline();
+ /** @brief Deletes items from timeline and document.
+ * @param ids The ids of the clips to delete.
+ * @param folderids The names and ids of the folders to delete. */
void slotDeleteProjectClips(QStringList ids, QMap<QString, QString> folderids);
void slotShowTitleBars(bool show);
void slotSwitchTitles();