+ setBackgroundRole(QPalette::AlternateBase);
+ setAutoFillBackground(true);
+ if (!info.isBlind)
+ buttonVideo->setIcon(KIcon("kdenlive-show-video"));
+ else
+ buttonVideo->setIcon(KIcon("kdenlive-hide-video"));
+ } else {
+ buttonVideo->setHidden(true);
+ }
+ if (!info.isMute)
+ buttonAudio->setIcon(KIcon("kdenlive-show-audio"));
+ else
+ buttonAudio->setIcon(KIcon("kdenlive-hide-audio"));
+
+ if (!info.isLocked)
+ buttonLock->setIcon(KIcon("kdenlive-unlock"));
+ else
+ buttonLock->setIcon(KIcon("kdenlive-lock"));
+
+ connect(buttonVideo, SIGNAL(clicked()), this, SLOT(switchVideo()));
+ connect(buttonAudio, SIGNAL(clicked()), this, SLOT(switchAudio()));
+ connect(buttonLock, SIGNAL(clicked()), this, SLOT(switchLock()));
+
+ // Don't show track buttons if size is too small
+ if (height < 40) {
+ buttonVideo->setHidden(true);
+ buttonAudio->setHidden(true);
+ buttonLock->setHidden(true);
+ //horizontalSpacer;
+ }
+
+ setContextMenuPolicy(Qt::ActionsContextMenu);
+ addActions(actions);
+}
+
+/*HeaderTrack::~HeaderTrack()
+{
+}*/
+
+void HeaderTrack::updateEffectLabel(QStringList effects)
+{
+ if (!effects.isEmpty()) {
+ effect_label->setHidden(false);
+ effect_label->setToolTip(effects.join("/"));
+ } else {
+ effect_label->setHidden(true);
+ effect_label->setToolTip(QString());
+ }
+}
+
+// virtual
+void HeaderTrack::mousePressEvent(QMouseEvent * event)
+{
+ if (track_number->hasFocus()) {
+ track_number->clearFocus();
+ return;
+ }
+ if (!m_isSelected) emit selectTrack(m_index);
+ emit showTrackEffects(m_index);
+ QWidget::mousePressEvent(event);
+}
+
+void HeaderTrack::mouseDoubleClickEvent(QMouseEvent* event)
+{
+ if (track_number->hasFocus()) {
+ track_number->clearFocus();
+ return;
+ }
+ emit configTrack(m_index);
+ QWidget::mouseDoubleClickEvent(event);
+}
+
+//virtual
+void HeaderTrack::dropEvent(QDropEvent * event)
+{
+ const QString effects = QString::fromUtf8(event->mimeData()->data("kdenlive/effectslist"));
+ QDomDocument doc;
+ doc.setContent(effects, true);
+ const QDomElement e = doc.documentElement();
+ emit selectTrack(m_index);
+ emit addTrackInfo(e, m_index);
+ /*if (scene() && !scene()->views().isEmpty()) {
+ event->accept();
+ CustomTrackView *view = (CustomTrackView *) scene()->views()[0];
+ if (view) view->slotAddEffect(e, m_info.startPos, track());
+ }*/
+}
+
+//virtual
+void HeaderTrack::dragEnterEvent(QDragEnterEvent *event)
+{
+ if (buttonLock->isChecked()) {
+ event->setAccepted(false);
+ } else {
+ if (event->mimeData()->hasFormat("kdenlive/effectslist")) {
+ const QString effects = QString::fromUtf8(event->mimeData()->data("kdenlive/effectslist"));
+ QDomDocument doc;
+ doc.setContent(effects, true);
+ if (doc.documentElement().attribute("id") != "speed") {
+ event->setAccepted(true);
+ }
+ }
+ }
+}
+
+void HeaderTrack::setSelectedIndex(int ix)
+{
+ if (m_index == ix) {
+ m_isSelected = true;
+ setBackgroundRole(QPalette::Button);
+ setAutoFillBackground(true);
+ } else if (m_type != VIDEOTRACK) {
+ m_isSelected = false;
+ setAutoFillBackground(false);