]> git.sesse.net Git - kdenlive/commitdiff
cleanup + fix crash on track insert
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Tue, 16 Jun 2009 08:24:53 +0000 (08:24 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Tue, 16 Jun 2009 08:24:53 +0000 (08:24 +0000)
svn path=/trunk/kdenlive/; revision=3549

src/headertrack.cpp
src/headertrack.h
src/trackview.cpp

index 4a759d742e53e8f843c4d46847935a486b19f096..af41b01525a61ad97bdce7f27dc3f526d8cecf3a 100644 (file)
@@ -63,24 +63,22 @@ HeaderTrack::HeaderTrack(int index, TrackInfo info, QWidget *parent) :
     connect(m_view.buttonAudio, SIGNAL(clicked()), this, SLOT(switchAudio()));
     connect(m_view.buttonLock, SIGNAL(clicked()), this, SLOT(switchLock()));
 
-    m_contextMenu = new QMenu(this);
-
+    setContextMenuPolicy(Qt::ActionsContextMenu);
     QAction *insertAction = new QAction(i18n("Insert Track"), this);
-    m_contextMenu->addAction(insertAction);
+    addAction(insertAction);
     connect(insertAction, SIGNAL(triggered()), this, SLOT(slotAddTrack()));
 
     QAction *removeAction = new QAction(KIcon("edit-delete"), i18n("Delete Track"), this);
-    m_contextMenu->addAction(removeAction);
+    addAction(removeAction);
     connect(removeAction, SIGNAL(triggered()), this, SLOT(slotDeleteTrack()));
 
     QAction *changeAction = new QAction(i18n("Change Track Type"), this);
-    m_contextMenu->addAction(changeAction);
+    addAction(changeAction);
     connect(changeAction, SIGNAL(triggered()), this, SLOT(slotChangeTrack()));
 }
 
 HeaderTrack::~HeaderTrack()
 {
-    delete m_contextMenu;
 }
 
 void HeaderTrack::switchVideo()
@@ -135,11 +133,6 @@ void HeaderTrack::slotChangeTrack()
     emit changeTrack(m_index);
 }
 
-// virtual
-void HeaderTrack::contextMenuEvent(QContextMenuEvent * event)
-{
-    m_contextMenu->popup(event->globalPos());
-}
 
 // virtual
 /*void HeaderTrack::paintEvent(QPaintEvent *e) {
index f83a2e43b19199e85c0362167f160ee6afdf7835..27a6373a9491554379a13d00f12e73b8c97b2567 100644 (file)
@@ -35,15 +35,10 @@ public:
     ~HeaderTrack();
     void setLock(bool lock);
 
-protected:
-    //virtual void paintEvent(QPaintEvent * /*e*/);
-    virtual void contextMenuEvent(QContextMenuEvent * event);
-
 private:
     int m_index;
     TRACKTYPE m_type;
     Ui::TrackHeader_UI m_view;
-    QMenu *m_contextMenu;
 
 private slots:
     void switchAudio();
index 5ed60171fe56cf1717e4f31edded022b2652008c..fc2115263366389a5c7e55ea347dd786220068bd 100644 (file)
@@ -397,8 +397,10 @@ void TrackView::refresh()
 void TrackView::slotRebuildTrackHeaders()
 {
     QList <TrackInfo> list = m_doc->tracksList();
-    QList<HeaderTrack *> widgets = findChildren<HeaderTrack *>();
-    qDeleteAll(widgets);
+    QLayoutItem *child;
+    while ((child = m_headersLayout->takeAt(0)) != 0) {
+        delete child;
+    }
     int max = list.count();
     for (int i = 0; i < max; i++) {
         HeaderTrack *header = new HeaderTrack(i, list.at(max - i - 1), this);