#ifndef CLIPPROPERTIES_H
#define CLIPPROPERTIES_H
-
#include "definitions.h"
#include "timecode.h"
#include "docclipbase.h"
#include "ui_clipproperties_ui.h"
-class ClipProperties : public QDialog {
+#include <QStyledItemDelegate>
+
+class PropertiesViewDelegate : public QStyledItemDelegate
+{
+ Q_OBJECT
+public:
+ PropertiesViewDelegate(QWidget *parent) : QStyledItemDelegate(parent) {
+ m_height = parent->fontMetrics().height() * 1.5;
+ }
+ virtual QSize sizeHint(const QStyleOptionViewItem &, const QModelIndex &) const {
+ return QSize(10, 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, 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 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();
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;
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);
};