X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fclipproperties.h;h=72bafa94b73028d20f61be55b5eb34e0970bb7db;hb=e007747d5b02a12d64366d614a3df3fbe5df4bf4;hp=3bb8728fa86cd6bef9e221a9b2f79a41e39bd0bb;hpb=0493c5f7f78bb61c4b52d22fc5eb2a25bdfe47f0;p=kdenlive diff --git a/src/clipproperties.h b/src/clipproperties.h index 3bb8728f..72bafa94 100644 --- a/src/clipproperties.h +++ b/src/clipproperties.h @@ -18,29 +18,90 @@ ***************************************************************************/ -#ifndef CLIPPROPSDIALOG_H -#define CLIPPROPSDIALOG_H - -#include +#ifndef CLIPPROPERTIES_H +#define CLIPPROPERTIES_H #include "definitions.h" +#include "timecode.h" #include "docclipbase.h" #include "ui_clipproperties_ui.h" -class ClipProperties : public QDialog { - Q_OBJECT +#include +class PropertiesViewDelegate : public QStyledItemDelegate +{ + Q_OBJECT public: - ClipProperties(DocClipBase *clip, QWidget * parent = 0); + 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 -private slots: +public: + ClipProperties(DocClipBase *clip, Timecode tc, double fps, QWidget * parent = 0); + 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 slotAddMarker(); + void slotEditMarker(); + void slotDeleteMarker(); + 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 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 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); };