#include <QScrollBar>
#include <QInputDialog>
-TrackView::TrackView(KdenliveDoc *doc, bool *ok, QWidget *parent) :
+TrackView::TrackView(KdenliveDoc *doc, QList <QAction*> actions, bool *ok, QWidget *parent) :
QWidget(parent),
m_scale(1.0),
m_projectTracks(0),
m_doc(doc),
m_verticalZoom(1)
{
-
+ m_trackActions << actions;
setupUi(this);
// ruler_frame->setMaximumHeight();
// size_frame->setMaximumHeight();
layout->setContentsMargins(m_trackview->frameWidth(), 0, 0, 0);
layout->setSpacing(0);
ruler_frame->setLayout(layout);
+ ruler_frame->setMaximumHeight(m_ruler->height());
layout->addWidget(m_ruler);
QHBoxLayout *sizeLayout = new QHBoxLayout;
sizeLayout->setContentsMargins(0, 0, 0, 0);
sizeLayout->setSpacing(0);
size_frame->setLayout(sizeLayout);
+ size_frame->setMaximumHeight(m_ruler->height());
QToolButton *butSmall = new QToolButton(this);
butSmall->setIcon(KIcon("kdenlive-zoom-small"));
HeaderTrack *header = NULL;
QFrame *frame = NULL;
- QPalette p = palette();
- KColorScheme scheme(p.currentColorGroup(), KColorScheme::View, KSharedConfig::openConfig(KdenliveSettings::colortheme()));
- QColor norm = scheme.shade(scheme.background(KColorScheme::ActiveBackground).color(), KColorScheme::MidShade);
- p.setColor(QPalette::Button, norm);
-
- QColor col = scheme.background().color();
- QColor col2 = scheme.foreground().color();
- headers_container->setStyleSheet(QString("QLineEdit { background-color: transparent;color: rgb(%4, %5, %6);} QLineEdit:hover{ background-color: rgb(%1, %2, %3);} QLineEdit:focus { background-color: rgb(%1, %2, %3);}").arg(col.red()).arg(col.green()).arg(col.blue()).arg(col2.red()).arg(col2.green()).arg(col2.blue()));
+ updatePalette();
for (int i = 0; i < max; i++) {
frame = new QFrame(headers_container);
frame->setFixedHeight(1);
headers_container->layout()->addWidget(frame);
TrackInfo info = list.at(max - i - 1);
- header = new HeaderTrack(i, info, height, headers_container);
- header->setPalette(p);
+ header = new HeaderTrack(i, info, height, m_trackActions, headers_container);
header->setSelectedIndex(m_trackview->selectedTrack());
connect(header, SIGNAL(switchTrackVideo(int)), m_trackview, SLOT(slotSwitchTrackVideo(int)));
connect(header, SIGNAL(switchTrackAudio(int)), m_trackview, SLOT(slotSwitchTrackAudio(int)));
connect(header, SIGNAL(switchTrackLock(int)), m_trackview, SLOT(slotSwitchTrackLock(int)));
connect(header, SIGNAL(selectTrack(int)), m_trackview, SLOT(slotSelectTrack(int)));
- connect(header, SIGNAL(deleteTrack(int)), this, SIGNAL(deleteTrack(int)));
- connect(header, SIGNAL(insertTrack(int)), this, SIGNAL(insertTrack(int)));
connect(header, SIGNAL(renameTrack(int, QString)), this, SLOT(slotRenameTrack(int, QString)));
connect(header, SIGNAL(configTrack(int)), this, SIGNAL(configTrack(int)));
- connect(header, SIGNAL(addTrackInfo(const QDomElement, int)), m_trackview, SLOT(slotAddTrackEffect(const QDomElement, int)));
+ connect(header, SIGNAL(addTrackEffect(const QDomElement, int)), m_trackview, SLOT(slotAddTrackEffect(const QDomElement, int)));
connect(header, SIGNAL(showTrackEffects(int)), this, SLOT(slotShowTrackEffects(int)));
headers_container->layout()->addWidget(header);
}
}
+void TrackView::updatePalette()
+{
+ QPalette p = palette();
+ KColorScheme scheme(p.currentColorGroup(), KColorScheme::View, KSharedConfig::openConfig(KdenliveSettings::colortheme()));
+ QColor norm = scheme.shade(scheme.background(KColorScheme::ActiveBackground).color(), KColorScheme::MidShade);
+ p.setColor(QPalette::Button, norm);
+ QColor col = scheme.background().color();
+ QColor col2 = scheme.foreground().color();
+ headers_container->setStyleSheet(QString("QLineEdit { background-color: transparent;color: %1;} QLineEdit:hover{ background-color: %2;} QLineEdit:focus { background-color: %2;}").arg(col2.name()).arg(col.name()));
+ m_trackview->updatePalette();
+ m_ruler->updatePalette();
+
+}
+
void TrackView::adjustTrackHeaders()
{
int height = KdenliveSettings::trackheight() * m_scene->scale().y() - 1;
// add effect to clip
QString effecttag;
QString effectid;
+ QString effectinfo;
QString effectindex = QString::number(effectNb);
// Get effect tag & index
for (QDomNode n3 = effect.firstChild(); !n3.isNull(); n3 = n3.nextSibling()) {
effecttag = effectparam.text();
} else if (effectparam.attribute("name") == "kdenlive_id") {
effectid = effectparam.text();
+ } else if (effectparam.attribute("name") == "kdenlive_info") {
+ effectinfo = effectparam.text();
} else if (effectparam.attribute("name") == "disable" && effectparam.text().toInt() == 1) {
// Fix effects index
disableeffect = true;
} else {
QDomElement currenteffect = clipeffect.cloneNode().toElement();
currenteffect.setAttribute("kdenlive_ix", effectindex);
+ currenteffect.setAttribute("kdenlive_info", effectinfo);
QDomNodeList clipeffectparams = currenteffect.childNodes();
if (MainWindow::videoEffects.hasKeyFrames(currenteffect)) {