]> git.sesse.net Git - kdenlive/blobdiff - src/clipproperties.h
Fix indent
[kdenlive] / src / clipproperties.h
index 8d7f8c13a0badf5be26eda7b26a7046716441aaf..e3a93702a4492e9ba9d69abb39708381c10aeb97 100644 (file)
 #ifndef CLIPPROPERTIES_H
 #define CLIPPROPERTIES_H
 
-
 #include "definitions.h"
 #include "timecode.h"
 #include "docclipbase.h"
 #include "ui_clipproperties_ui.h"
 
+#include <QStyledItemDelegate>
+
+class PropertiesViewDelegate : public QStyledItemDelegate
+{
+    Q_OBJECT
+public:
+    PropertiesViewDelegate(QWidget *parent)
+        : QStyledItemDelegate(parent)
+    {
+        m_height = parent->fontMetrics().height() * 1.2;
+    }
+protected:
+    QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const {
+        return QSize(QStyledItemDelegate::sizeHint(option, index).width(), m_height);
+    }
+private:
+    int m_height;
+};
+
 class ClipProperties : public QDialog
 {
     Q_OBJECT
 
 public:
-    ClipProperties(DocClipBase *clip, Timecode tc, double fps, QWidget * parent = 0);
+    ClipProperties(DocClipBase *clip, const Timecode &tc, double fps, QWidget * parent = 0);
+    ClipProperties(const QList<DocClipBase *> &cliplist, const Timecode &tc, const QMap<QString, QString> &commonproperties, QWidget * parent);
+    virtual ~ClipProperties();
     QMap <QString, QString> properties();
     const QString &clipId() const;
     bool needsTimelineRefresh() const;
+    bool needsTimelineReload() const;
+    void disableClipId(const QString &id);
 
+public slots:
+    void slotFillMarkersList(DocClipBase *clip);
+    void slotUpdateAnalysisData(DocClipBase *clip);
+    
 private slots:
-    void parseFolder();
+    void parseFolder(bool reloadThumb = true);
     void slotAddMarker();
     void slotEditMarker();
     void slotDeleteMarker();
-    void slotFillMarkersList();
     void slotCheckMaxLength();
     void slotEnableLuma(int state);
     void slotEnableLumaFile(int state);
+    void slotUpdateDurationFormat(int ix);
+    void slotApplyProperties();
+    void slotModified();
+    void slotDeleteProxy();
+    void slotOpenUrl(const QString &url);
+    void slotSaveMarkers();
+    void slotLoadMarkers();
+    void slotDeleteAnalysis();
+    void slotGotThumbnail(const QString &id, const QImage &img);
+    void slotSaveAnalysis();
+    void slotLoadAnalysis();
+    void slotReloadVideoProperties();
+    void slotReloadVideoThumb();
 
 private:
     Ui::ClipProperties_UI m_view;
+    QMap <QString, QString> m_old_props;
     DocClipBase *m_clip;
     Timecode m_tc;
     double m_fps;
     /** used to count images in slideshow clip */
     int m_count;
+    /** some visual properties changed, reload thumbnails */
     bool m_clipNeedsRefresh;
+    /** clip resource changed, reload it */
+    bool m_clipNeedsReLoad;
+    /** Frame with proxy info / delete button */
+    QFrame* m_proxyContainer;
+    void loadVideoProperties(const QMap<QString, QString> &props);
 
 signals:
-    void addMarker(const QString &, GenTime, QString);
+    void addMarkers(const QString &, const QList <CommentedTime>&);
+    void deleteProxy(const QString&);
+    void applyNewClipProperties(const QString&, const QMap <QString, QString> &, const QMap <QString, QString> &, bool, bool);
+    void saveMarkers(const QString &id);
+    void loadMarkers(const QString &id);
+    void editAnalysis(const QString &id, const QString &name, const QString &value);
+    void requestThumb(const QString &id, const QList <int>& frames);
 };