X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fclipproperties.h;h=075e13f08b6473ad0b9cf352f8602c29e9616eb6;hb=f0867739c9a788a250a37174e0952e0e96e318b3;hp=33975a0056ed0a3841b20f495eef0b8d28e71b28;hpb=135352c0452a24f941fa9110a40079abd50387a0;p=kdenlive diff --git a/src/clipproperties.h b/src/clipproperties.h index 33975a00..075e13f0 100644 --- a/src/clipproperties.h +++ b/src/clipproperties.h @@ -21,34 +21,66 @@ #ifndef CLIPPROPERTIES_H #define CLIPPROPERTIES_H - #include "definitions.h" #include "timecode.h" #include "docclipbase.h" #include "ui_clipproperties_ui.h" +#include + +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 cliplist, QMap commonproperties, QWidget * parent); + ClipProperties(QList cliplist, Timecode tc, QMap commonproperties, QWidget * parent); + virtual ~ClipProperties(); QMap 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 props); signals: - void addMarker(const QString &, GenTime, QString); + void addMarkers(const QString &, QList ); + void deleteProxy(const QString); + void applyNewClipProperties(const QString, QMap , QMap , 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 frames); };