+ void deleteClip(const QString &clipId);
+
+ /** @brief Add a file to the project.
+ * @ref slotAddClipList
+ * @param url file to add
+ * @param group name of the group to insert the file in (can be empty)
+ * @param groupId id of the group (if any) */
+ void slotAddClipFile(const KUrl url, const QString group, const QString &groupId);
+
+ /** @brief Adds a list of files to the project.
+ * @param urls files to add
+ * @param group name of the group to insert the files in (can be empty)
+ * @param groupId id of the group (if any)
+ * It checks for duplicated items and asks to the user for instructions. */
+ void slotAddClipList(const KUrl::List urls, const QString group, const QString &groupId);
+ void slotAddTextClipFile(const QString titleName, int out, const QString xml, const QString group, const QString &groupId);
+ void slotAddTextTemplateClip(QString titleName, const KUrl path, const QString group, const QString &groupId);
+ void slotAddXmlClipFile(const QString name, const QDomElement xml, const QString group, const QString &groupId);
+ void slotAddColorClipFile(const QString name, const QString color, QString duration, const QString group, const QString &groupId);
+ void slotAddSlideshowClipFile(const QString name, const QString path, int count, const QString duration,
+ const bool loop, const bool crop,const bool fade,
+ const QString &luma_duration, const QString &luma_file, const int softness,
+ const QString &animation, const QString group, const QString &groupId);
+ DocClipBase *getClipById(QString clipId);
+ const QList <DocClipBase *> getClipByResource(QString resource);
+ void slotDeleteClips(QStringList ids);
+ void setThumbsProgress(const QString &message, int progress);
+ void checkAudioThumbs();
+ QList <DocClipBase*> documentClipList() const;
+ QMap <QString, QString> documentFolderList() const;
+ int getFreeClipId();
+ int getFreeFolderId();
+ int lastClipId() const;
+ void startAudioThumbsGeneration();
+ void endAudioThumbsGeneration(const QString &requestedId);
+ void askForAudioThumb(const QString &id);
+ QString projectFolder() const;
+ void clearUnusedProducers();
+ void resetProducersList(const QList <Mlt::Producer *> prods);
+ void addFolder(const QString&, const QString&);
+ void deleteFolder(const QString&);
+ void clear();
+ AbstractGroupItem *createGroup();
+ void removeGroup(AbstractGroupItem *group);
+ QDomElement groupsXml() const;
+ int clipsCount() const;
+
+public slots:
+ void updatePreviewSettings();
+
+private slots:
+ /** A clip was externally modified, monitor for more changes and prepare for reload */
+ void slotClipModified(const QString &path);
+ void slotClipMissing(const QString &path);
+ void slotClipAvailable(const QString &path);
+ /** Check the list of externally modified clips, and process them if they were not modified in the last 1500 milliseconds */
+ void slotProcessModifiedClips();