]> git.sesse.net Git - kdenlive/commitdiff
Fix crash when closing multiple clip properties dialog + add colorspaces in dialog
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Wed, 26 Jan 2011 21:18:29 +0000 (21:18 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Wed, 26 Jan 2011 21:18:29 +0000 (21:18 +0000)
svn path=/trunk/kdenlive/; revision=5355

src/clipproperties.cpp
src/clipproperties.h

index c79a74b493d944e5c98fde876888e02c90100f8a..14a7748a92b243eee8959502bdb3653c1870e372 100644 (file)
@@ -47,8 +47,7 @@ ClipProperties::ClipProperties(DocClipBase *clip, Timecode tc, double fps, QWidg
     m_fps(fps),
     m_count(0),
     m_clipNeedsRefresh(false),
-    m_clipNeedsReLoad(false),
-    m_propsDelegate(NULL)
+    m_clipNeedsReLoad(false)
 {
     setAttribute(Qt::WA_DeleteOnClose, true);
     setFont(KGlobalSettings::toolBarFont());
@@ -352,11 +351,10 @@ ClipProperties::ClipProperties(DocClipBase *clip, Timecode tc, double fps, QWidg
         m_view.tabWidget->removeTab(SLIDETAB);
         m_view.tabWidget->removeTab(COLORTAB);
 
-
-
-        m_propsDelegate = new PropertiesViewDelegate(this);
-        m_view.clip_vproperties->setItemDelegate(m_propsDelegate);
-        m_view.clip_aproperties->setItemDelegate(m_propsDelegate);
+        PropertiesViewDelegate *del1 = new PropertiesViewDelegate(this);
+        PropertiesViewDelegate *del2 = new PropertiesViewDelegate(this);
+        m_view.clip_vproperties->setItemDelegate(del1);
+        m_view.clip_aproperties->setItemDelegate(del2);
         m_view.clip_aproperties->setStyleSheet(QString("QTreeWidget { background-color: transparent;}"));
         m_view.clip_vproperties->setStyleSheet(QString("QTreeWidget { background-color: transparent;}"));
 
@@ -493,6 +491,10 @@ ClipProperties::ClipProperties(QList <DocClipBase *>cliplist, Timecode tc, QMap
         m_view.clip_vindex->setMaximum(props.value("video_max").toInt());
     }
     
+    m_view.clip_colorspace->addItem(ProfilesDialog::getColorspaceDescription(601), 601);
+    m_view.clip_colorspace->addItem(ProfilesDialog::getColorspaceDescription(709), 709);
+    m_view.clip_colorspace->addItem(ProfilesDialog::getColorspaceDescription(240), 240);
+    
     if (commonproperties.contains("force_colorspace") && !commonproperties.value("force_colorspace").isEmpty() && commonproperties.value("force_colorspace").toInt() != 0) {
         m_view.clip_force_colorspace->setChecked(true);
         m_view.clip_colorspace->setEnabled(true);
@@ -545,7 +547,10 @@ ClipProperties::ClipProperties(QList <DocClipBase *>cliplist, Timecode tc, QMap
 
 ClipProperties::~ClipProperties()
 {
-    if (m_propsDelegate) delete m_propsDelegate;
+    QAbstractItemDelegate *del1 = m_view.clip_vproperties->itemDelegate();
+    if (del1) delete del1;
+    QAbstractItemDelegate *del2 = m_view.clip_aproperties->itemDelegate();
+    if (del2) delete del2;
 }
 
 void ClipProperties::slotApplyProperties()
index 93fafe8d7b998d7633efae17c9f075fa5284f22e..982b160910eef018eac57ae0696fd612f529ec50 100644 (file)
@@ -81,8 +81,6 @@ private:
     bool m_clipNeedsRefresh;
     /** clip resource changed, reload it */
     bool m_clipNeedsReLoad;
-    /** Used to draw video / audio properties */
-    PropertiesViewDelegate *m_propsDelegate;
 
 signals:
     void addMarker(const QString &, GenTime, QString);