From: Jean-Baptiste Mardelle Date: Tue, 16 Jun 2009 08:24:53 +0000 (+0000) Subject: cleanup + fix crash on track insert X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=0ef729d59e74954aa7323f0b2f6564562a6d755a;p=kdenlive cleanup + fix crash on track insert svn path=/trunk/kdenlive/; revision=3549 --- diff --git a/src/headertrack.cpp b/src/headertrack.cpp index 4a759d74..af41b015 100644 --- a/src/headertrack.cpp +++ b/src/headertrack.cpp @@ -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) { diff --git a/src/headertrack.h b/src/headertrack.h index f83a2e43..27a6373a 100644 --- a/src/headertrack.h +++ b/src/headertrack.h @@ -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(); diff --git a/src/trackview.cpp b/src/trackview.cpp index 5ed60171..fc211526 100644 --- a/src/trackview.cpp +++ b/src/trackview.cpp @@ -397,8 +397,10 @@ void TrackView::refresh() void TrackView::slotRebuildTrackHeaders() { QList list = m_doc->tracksList(); - QList widgets = findChildren(); - 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);