}
m_cursorLine->setLine(m_cursorLine->line().x1(), 0, m_cursorLine->line().x1(), maxHeight);
setSceneRect(0, 0, sceneRect().width(), maxHeight);
- QTimer::singleShot(300, this, SIGNAL(trackHeightChanged(false)));
+ QTimer::singleShot(300, this, SIGNAL(trackHeightChanged()));
viewport()->update();
//setFixedHeight(50 * m_tracksCount);
}
}
m_cursorLine->setLine(m_cursorLine->line().x1(), 0, m_cursorLine->line().x1(), maxHeight);
setSceneRect(0, 0, sceneRect().width(), maxHeight);
- QTimer::singleShot(300, this, SIGNAL(trackHeightChanged(false)));
+ QTimer::singleShot(300, this, SIGNAL(trackHeightChanged()));
viewport()->update();
}
int tracknumber = m_document->tracksCount() - ix;
m_document->setTrackType(tracknumber - 1, type);
m_document->renderer()->mltChangeTrackState(tracknumber, m_document->trackInfoAt(tracknumber - 1).isMute, m_document->trackInfoAt(tracknumber - 1).isBlind);
- QTimer::singleShot(300, this, SIGNAL(trackHeightChanged(false)));
+ QTimer::singleShot(300, this, SIGNAL(trackHeightChanged()));
viewport()->update();
}
{
}
+void HeaderTrack::adjustSize(int height)
+{
+ // Don't show track buttons if size is too small
+ bool smallTracks = height < 40;
+ if (m_type == VIDEOTRACK) m_view.buttonVideo->setHidden(smallTracks);
+ m_view.buttonAudio->setHidden(smallTracks);
+ m_view.buttonLock->setHidden(smallTracks);
+ setFixedHeight(height);
+}
+
void HeaderTrack::switchVideo()
{
if (m_view.buttonVideo->isChecked()) {
HeaderTrack(int index, TrackInfo info, int height, QWidget *parent = 0);
~HeaderTrack();
void setLock(bool lock);
+ void adjustSize(int height);
private:
int m_index;
void TrackView::slotRebuildTrackHeaders()
{
- // If the slot was triggered by a change in default track size, reset vertical zoom
QList <TrackInfo> list = m_doc->tracksList();
QLayoutItem *child;
while ((child = m_headersLayout->takeAt(0)) != 0) {
+ if (child->widget()) delete child->widget();
delete child;
}
int max = list.count();
connect(header, SIGNAL(changeTrack(int)), this, SIGNAL(changeTrack(int)));
m_headersLayout->addWidget(header);
}
- //m_view.headers_container->adjustSize();
}
+void TrackView::adjustTrackHeaders()
+{
+ int height = KdenliveSettings::trackheight() * m_scene->scale().y();
+ QLayoutItem *child;
+ for (int i = 0; i < m_headersLayout->count(); i++) {
+ child = m_headersLayout->itemAt(i);
+ if (child->widget())(static_cast <HeaderTrack *>(child->widget()))->adjustSize(height);
+ }
+}
+
int TrackView::slotAddProjectTrack(int ix, QDomElement xml, bool locked)
{
// parse track
m_verticalZoom--;
if (m_verticalZoom == 0) m_trackview->setScale(m_scene->scale().x(), 0.5);
else m_trackview->setScale(m_scene->scale().x(), 1);
- slotRebuildTrackHeaders();
+ adjustTrackHeaders();
/*KdenliveSettings::setTrackheight(KdenliveSettings::trackheight() / 2);
m_trackview->checkTrackHeight(false);*/
}
m_trackview->checkTrackHeight(false);*/
if (m_verticalZoom == 2) m_trackview->setScale(m_scene->scale().x(), 2);
else m_trackview->setScale(m_scene->scale().x(), 1);
- slotRebuildTrackHeaders();
+ adjustTrackHeaders();
}
#include "trackview.moc"
void parseDocument(QDomDocument doc);
int slotAddProjectTrack(int ix, QDomElement xml, bool locked);
DocClipBase *getMissingProducer(const QString id) const;
+ void adjustTrackHeaders();
private slots:
void setCursorPos(int pos);