1 /***************************************************************************
2 * Copyright (C) 2008 by Jean-Baptiste Mardelle (jb@kdenlive.org) *
4 * This program is free software; you can redistribute it and/or modify *
5 * it under the terms of the GNU General Public License as published by *
6 * the Free Software Foundation; either version 2 of the License, or *
7 * (at your option) any later version. *
9 * This program is distributed in the hope that it will be useful, *
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12 * GNU General Public License for more details. *
14 * You should have received a copy of the GNU General Public License *
15 * along with this program; if not, write to the *
16 * Free Software Foundation, Inc., *
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
18 ***************************************************************************/
21 #ifndef SLIDESHOWCLIP_H
22 #define SLIDESHOWCLIP_H
25 #include "definitions.h"
26 #include "docclipbase.h"
28 #include "ui_slideshowclip_ui.h"
30 #include <KIO/PreviewJob>
32 class SlideshowClip : public QDialog
37 SlideshowClip(Timecode tc, QWidget * parent = 0);
38 virtual ~ SlideshowClip();
39 /** return selected path for slideshow in MLT format */
40 QString selectedPath();
41 QString clipName() const;
42 QString clipDuration() const;
43 QString lumaDuration() const;
44 int imageCount() const;
48 QString lumaFile() const;
50 QString animation() const;
52 /** @brief Check if there are several files with filename pattern, like: image_001.jpg, image_002.jpg,... */
53 static int sequenceCount(KUrl file);
54 /** @brief return the url pattern for selected slideshow. */
55 static QString selectedPath(KUrl url, bool isMime, QString extension, int *count);
56 /** @brief Convert the selection animation style into an affine geometry string. */
57 static QString animationToGeometry(const QString &animation, int &ttl);
61 void slotEnableLuma(int state);
62 void slotEnableThumbs(int state);
63 void slotEnableLumaFile(int state);
64 void slotUpdateDurationFormat(int ix);
65 void slotGenerateThumbs();
66 void slotSetPixmap(const KFileItem &fileItem, const QPixmap &pix);
67 /** @brief Display correct widget depenging on user choice (mimetype or pattern method). */
68 void slotMethodChanged(bool active);
71 Ui::SlideshowClip_UI m_view;
74 KIO::PreviewJob *m_thumbJob;