***************************************************************************/
-#ifndef SLIDESHOWDIALOG_H
-#define SLIDESHOWDIALOG_H
+#ifndef SLIDESHOWCLIP_H
+#define SLIDESHOWCLIP_H
-#include <QDialog>
#include "definitions.h"
#include "docclipbase.h"
#include "timecode.h"
#include "ui_slideshowclip_ui.h"
-class SlideshowClip : public QDialog {
+#include <KIO/PreviewJob>
+
+class SlideshowClip : public QDialog
+{
Q_OBJECT
public:
- SlideshowClip(QWidget * parent = 0);
+ explicit SlideshowClip(const Timecode& tc, QWidget * parent = 0);
+ virtual ~ SlideshowClip();
/** return selected path for slideshow in MLT format */
- QString selectedPath() const;
+ QString selectedPath();
QString clipName() const;
QString clipDuration() const;
+ QString lumaDuration() const;
int imageCount() const;
bool loop() const;
+ bool crop() const;
+ bool fade() const;
+ QString lumaFile() const;
+ int softness() const;
+ QString animation() const;
+
+ /** @brief Get the image frame number from a file path, for example image_047.jpg will return 47. */
+ static int getFrameNumberFromPath(const KUrl &path);
+ /** @brief return the url pattern for selected slideshow. */
+ static QString selectedPath(const KUrl &url, bool isMime, QString extension, QStringList *list);
+ /** @brief Convert the selection animation style into an affine geometry string. */
+ static QString animationToGeometry(const QString &animation, int &ttl);
private slots:
void parseFolder();
+ void slotEnableLuma(int state);
+ void slotEnableThumbs(int state);
+ void slotEnableLumaFile(int state);
+ void slotUpdateDurationFormat(int ix);
+ void slotGenerateThumbs();
+ void slotSetPixmap(const KFileItem &fileItem, const QPixmap &pix);
+ /** @brief Display correct widget depenging on user choice (mimetype or pattern method). */
+ void slotMethodChanged(bool active);
private:
Ui::SlideshowClip_UI m_view;
int m_count;
+ Timecode m_timecode;
+ KIO::PreviewJob *m_thumbJob;
};