implemented some resizable scroll bars

This commit is contained in:
itsmattkc
2018-12-24 02:15:37 +11:00
parent a53aac2366
commit edf6f00271
12 changed files with 159 additions and 23 deletions
+16 -11
View File
@@ -65,6 +65,7 @@ Viewer::Viewer(QWidget *parent) :
connect(&recording_flasher, SIGNAL(timeout()), this, SLOT(recording_flasher_update()));
connect(ui->horizontalScrollBar, SIGNAL(valueChanged(int)), ui->headers, SLOT(set_scroll(int)));
connect(ui->horizontalScrollBar, SIGNAL(valueChanged(int)), viewer_widget, SLOT(set_waveform_scroll(int)));
connect(ui->horizontalScrollBar, SIGNAL(resized_scroll(double)), this, SLOT(resized_scroll_listener(double)));
connect(ui->zoomComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(zoom_update(int)));
update_playhead_timecode(0);
@@ -419,20 +420,20 @@ void Viewer::set_out_point() {
void Viewer::set_zoom(bool in) {
if (seq != NULL) {
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));
}
if (viewer_widget->waveform) {
viewer_widget->waveform_zoom = ui->headers->get_zoom();
viewer_widget->update();
}
ui->headers->set_scrollbar_max(ui->horizontalScrollBar, seq->getEndFrame(), ui->headers->width());
center_scroll_to_playhead(ui->horizontalScrollBar, ui->headers->get_zoom(), seq->playhead);
set_zoom_value(in ? ui->headers->get_zoom()*2 : qMax(minimum_zoom, ui->headers->get_zoom()*0.5));
}
}
void Viewer::set_zoom_value(double d) {
ui->headers->update_zoom(d);
if (viewer_widget->waveform) {
viewer_widget->waveform_zoom = d;
viewer_widget->update();
}
ui->headers->set_scrollbar_max(ui->horizontalScrollBar, seq->getEndFrame(), ui->headers->width());
center_scroll_to_playhead(ui->horizontalScrollBar, ui->headers->get_zoom(), seq->playhead);
}
void Viewer::set_media(Media* m) {
main_sequence = false;
media = m;
@@ -572,6 +573,10 @@ void Viewer::zoom_update(int i) {
ui->glViewerPane->adjust();
}
void Viewer::resized_scroll_listener(double d) {
set_zoom_value(ui->headers->get_zoom()*d);
}
void Viewer::clean_created_seq() {
viewer_widget->waveform = false;