#include <qdom.h>
#include <QPixmap>
#include <QObject>
+#include <QTimer>
#include <KUrl>
#include <KUndoStack>
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 fade, const QString &luma_duration, const QString &luma_file, const int softness, const QString group, const QString &groupId);
DocClipBase *getClipById(QString clipId);
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();
private: // Private attributes
/** the list of clips in the document */
int m_folderIdCounter;
QString m_generatingAudioId;
KDirWatch m_fileWatcher;
+ /** Timer used to reload clips when they have been externally modified */
+ QTimer m_modifiedTimer;
+ /** List of the clip IDs that need to be reloaded after being externally modified */
+ QMap <QString, QTime> m_modifiedClips;
signals:
void reloadClip(const QString &);
+ void modifiedClip(const QString &);
void missingClip(const QString &);
void availableClip(const QString &);
void checkAllClips();