finished scrollable viewer playheads

This commit is contained in:
itsmattkc
2018-12-09 01:39:36 +11:00
parent 7f08925385
commit 5d89afb639
6 changed files with 35 additions and 17 deletions
+15 -1
View File
@@ -10,7 +10,7 @@
#include <QPainter>
#include <QMouseEvent>
#include <QScrollArea>
#include <QScrollBar>
#include <QtMath>
#define CLICK_RANGE 5
@@ -19,6 +19,16 @@
#define SUBLINE_MIN_PADDING 50 // TODO play with this
#define MARKER_SIZE 4
bool center_scroll_to_playhead(QScrollBar* bar, double zoom, long playhead) {
// returns true is the scroll was changed, false if not
int target_scroll = qMin(bar->maximum(), qMax(0, getScreenPointFromFrame(zoom, playhead)-(bar->width()>>1)));
if (target_scroll == bar->value()) {
return false;
}
bar->setValue(target_scroll);
return true;
}
TimelineHeader::TimelineHeader(QWidget *parent) :
QWidget(parent),
snapping(true),
@@ -87,6 +97,10 @@ void TimelineHeader::set_out_point(long new_out) {
update_parents();
}
void TimelineHeader::set_scrollbar_max(QScrollBar* bar, long sequence_end_frame, int offset) {
bar->setMaximum(qMax(0, getScreenPointFromFrame(zoom, sequence_end_frame) - offset));
}
void TimelineHeader::show_text(bool enable) {
text_enabled = enable;
if (enable) {