X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fheadertrack.cpp;h=0b2f8b8f9994449b7a3e58257cb565d28dae1b52;hb=62c65bce719aa2fd54723364e62b3831e0c0abdf;hp=014f4b026f06fc482d3b5513ee0edbf309a31836;hpb=7bdee3646c2dfbd8366093c8c9c6b8d675fa5bf1;p=kdenlive diff --git a/src/headertrack.cpp b/src/headertrack.cpp index 014f4b02..0b2f8b8f 100644 --- a/src/headertrack.cpp +++ b/src/headertrack.cpp @@ -17,19 +17,18 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * ***************************************************************************/ -#include -#include -#include -#include -#include -#include + +#include "headertrack.h" +#include "kdenlivesettings.h" #include #include #include -#include "kdenlivesettings.h" -#include "headertrack.h" +#include +#include +#include +#include HeaderTrack::HeaderTrack(int index, TrackInfo info, QWidget *parent) : QWidget(parent), m_index(index), m_type(info.type) { @@ -37,7 +36,12 @@ HeaderTrack::HeaderTrack(int index, TrackInfo info, QWidget *parent) view.setupUi(this); view.track_number->setText(QString::number(m_index)); view.buttonVideo->setChecked(!info.isBlind); + view.buttonVideo->setToolTip(i18n("Hide track")); view.buttonAudio->setChecked(!info.isMute); + view.buttonAudio->setToolTip(i18n("Mute track")); + view.buttonLock->setChecked(info.isLocked); + view.buttonLock->setToolTip(i18n("Lock track")); + if (m_type == VIDEOTRACK) { view.frame->setBackgroundRole(QPalette::AlternateBase); view.frame->setAutoFillBackground(true); @@ -48,19 +52,31 @@ HeaderTrack::HeaderTrack(int index, TrackInfo info, QWidget *parent) } if (!info.isMute) view.buttonAudio->setIcon(KIcon("kdenlive-show-audio")); else view.buttonAudio->setIcon(KIcon("kdenlive-hide-audio")); + + if (!info.isLocked) view.buttonLock->setIcon(KIcon("kdenlive-unlock")); + else view.buttonLock->setIcon(KIcon("kdenlive-lock")); + connect(view.buttonVideo, SIGNAL(clicked()), this, SLOT(switchVideo())); connect(view.buttonAudio, SIGNAL(clicked()), this, SLOT(switchAudio())); + connect(view.buttonLock, SIGNAL(clicked()), this, SLOT(switchLock())); m_contextMenu = new QMenu(this); - //TODO: implement add/remove track - QAction *insertAction = new QAction(i18n("Insert track"), this); + QAction *insertAction = new QAction(i18n("Insert Track"), this); m_contextMenu->addAction(insertAction); connect(insertAction, SIGNAL(triggered()), this, SLOT(slotAddTrack())); - QAction *removeAction = new QAction(KIcon("edit-delete"), i18n("Delete track"), this); + QAction *removeAction = new QAction(KIcon("edit-delete"), i18n("Delete Track"), this); m_contextMenu->addAction(removeAction); connect(removeAction, SIGNAL(triggered()), this, SLOT(slotDeleteTrack())); + + QAction *changeAction = new QAction(i18n("Change Track Type"), this); + m_contextMenu->addAction(changeAction); + connect(changeAction, SIGNAL(triggered()), this, SLOT(slotChangeTrack())); +} + +HeaderTrack::~HeaderTrack() { + if (m_contextMenu) delete m_contextMenu; } void HeaderTrack::switchVideo() { @@ -81,6 +97,21 @@ void HeaderTrack::switchAudio() { emit switchTrackAudio(m_index); } +void HeaderTrack::switchLock(bool emitSignal) { + if (view.buttonLock->isChecked()) { + view.buttonLock->setIcon(KIcon("kdenlive-lock")); + } else { + view.buttonLock->setIcon(KIcon("kdenlive-unlock")); + } + if (emitSignal) emit switchTrackLock(m_index); +} + + +void HeaderTrack::setLock(bool lock) { + view.buttonLock->setChecked(lock); + switchLock(false); +} + void HeaderTrack::slotDeleteTrack() { emit deleteTrack(m_index); } @@ -89,6 +120,10 @@ void HeaderTrack::slotAddTrack() { emit insertTrack(m_index); } +void HeaderTrack::slotChangeTrack() { + emit changeTrack(m_index); +} + // virtual void HeaderTrack::contextMenuEvent(QContextMenuEvent * event) { m_contextMenu->popup(event->globalPos());