]> git.sesse.net Git - kdenlive/blobdiff - src/clipproperties.h
const'ref
[kdenlive] / src / clipproperties.h
index 33975a0056ed0a3841b20f495eef0b8d28e71b28..7221878967d098a066e71a23c9f1d7be3957ce50 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;
+    }
+    virtual 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(QList <DocClipBase *>cliplist, QMap <QString, QString> commonproperties, QWidget * parent);
+    ClipProperties(DocClipBase *clip, const Timecode &tc, double fps, QWidget * parent = 0);
+    ClipProperties(QList <DocClipBase *>cliplist, const Timecode &tc, 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, QImage img);
+    void slotSaveAnalysis();
+    void slotLoadAnalysis();
+    void slotReloadVideoProperties();
+    void slotReloadVideoThumb();
 
 private:
     Ui::ClipProperties_UI m_view;
@@ -62,9 +94,18 @@ private:
     bool m_clipNeedsRefresh;
     /** clip resource changed, reload it */
     bool m_clipNeedsReLoad;
+    /** Frame with proxy info / delete button */
+    QFrame* m_proxyContainer;
+    void loadVideoProperties(QMap <QString, QString> props);
 
 signals:
-    void addMarker(const QString &, GenTime, QString);
+    void addMarkers(const QString &, QList <CommentedTime>);
+    void deleteProxy(const QString);
+    void applyNewClipProperties(const QString, QMap <QString, QString> , 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, QList <int> frames);
 };