]> git.sesse.net Git - kdenlive/blobdiff - src/clipproperties.h
Integrate with the required MLT hooks for getting Movit to work.
[kdenlive] / src / clipproperties.h
index 93cf57eb8a2aa919c15f905246e6dca6ea3be664..e3a93702a4492e9ba9d69abb39708381c10aeb97 100644 (file)
@@ -32,11 +32,14 @@ class PropertiesViewDelegate : public QStyledItemDelegate
 {
     Q_OBJECT
 public:
-    PropertiesViewDelegate(QWidget *parent) : QStyledItemDelegate(parent) {
-        m_height = parent->fontMetrics().height() * 1.5;
+    PropertiesViewDelegate(QWidget *parent)
+        : QStyledItemDelegate(parent)
+    {
+        m_height = parent->fontMetrics().height() * 1.2;
     }
-    virtual QSize sizeHint(const QStyleOptionViewItem &, const QModelIndex &) const {
-        return QSize(10, m_height);
+protected:
+    QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const {
+        return QSize(QStyledItemDelegate::sizeHint(option, index).width(), m_height);
     }
 private:
     int m_height;
@@ -47,21 +50,24 @@ class ClipProperties : public QDialog
     Q_OBJECT
 
 public:
-    ClipProperties(DocClipBase *clip, Timecode tc, double fps, QWidget * parent = 0);
-    ClipProperties(QList <DocClipBase *>cliplist, Timecode tc, QMap <QString, QString> commonproperties, QWidget * parent);
+    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);
@@ -70,6 +76,14 @@ private slots:
     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;
@@ -85,11 +99,16 @@ private:
     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 deleteProxy(const QString);
-    void applyNewClipProperties(const QString, QMap <QString, QString> , QMap <QString, QString> , bool, bool);
+    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);
 };