began work on scrollable headers on viewer panels

This commit is contained in:
itsmattkc
2018-12-09 01:25:22 +11:00
parent 6c3197aac6
commit 7f08925385
6 changed files with 45 additions and 7 deletions
+18 -3
View File
@@ -37,7 +37,8 @@ Viewer::Viewer(QWidget *parent) :
ui(new Ui::Viewer),
created_sequence(false),
cue_recording_internal(false),
panel_name("Viewer: ")
panel_name("Viewer: "),
minimum_zoom(1.0)
{
ui->setupUi(this);
ui->headers->viewer = this;
@@ -59,6 +60,7 @@ Viewer::Viewer(QWidget *parent) :
connect(&playback_updater, SIGNAL(timeout()), this, SLOT(timer_update()));
connect(&recording_flasher, SIGNAL(timeout()), this, SLOT(recording_flasher_update()));
connect(ui->horizontalScrollBar, SIGNAL(valueChanged(int)), ui->headers, SLOT(set_scroll(int)));
update_playhead_timecode(0);
update_end_timecode();
@@ -380,7 +382,12 @@ void Viewer::update_end_timecode() {
void Viewer::update_header_zoom() {
if (seq != NULL) {
long sequenceEndFrame = seq->getEndFrame();
ui->headers->update_zoom((sequenceEndFrame > 0) ? ((double) ui->headers->width() / (double) sequenceEndFrame) : 1);
if (cached_end_frame != sequenceEndFrame) {
minimum_zoom = (sequenceEndFrame > 0) ? ((double) ui->headers->width() / (double) sequenceEndFrame) : 1;
ui->headers->update_zoom(qMax(ui->headers->get_zoom(), minimum_zoom));
} else {
ui->headers->update();
}
}
}
@@ -411,7 +418,15 @@ void Viewer::set_in_point() {
}
void Viewer::set_out_point() {
ui->headers->set_out_point(seq->playhead);
ui->headers->set_out_point(seq->playhead);
}
void Viewer::set_zoom(bool in) {
if (in) {
ui->headers->update_zoom(ui->headers->get_zoom()*2);
} else {
ui->headers->update_zoom(qMax(minimum_zoom, ui->headers->get_zoom()*0.5));
}
}
void Viewer::set_media(int type, void* media) {