Sélectionner une révision Git
tracks_controller.rb
TimingView.cc 1,21 Kio
#include "TimingView.hh"
using namespace Vivy;
TimingView::TimingView(QGraphicsScene *scene, QImage img, AudioContext::StreamPtr stream,
QWidget *parent) noexcept
: QGraphicsView(scene, parent)
, audioStream(stream)
{
setMouseTracking(true);
int interestingViewHeight = int(scene->height() + horizontalScrollBar()->height());
setFixedHeight(interestingViewHeight);
setMaximumHeight(interestingViewHeight);
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Minimum);
QObject::connect(verticalScrollBar(), &QScrollBar::rangeChanged, this,
&TimingView::moveScrollBarToBottom);
// We want to see the bottom part of the spectrum, the top is less important if a few pixels get trimmed
centerOn(0, interestingViewHeight);
}
void
TimingView::wheelEvent(QWheelEvent *event) noexcept
{
horizontalScrollBar()->setValue(horizontalScrollBar()->value() -
event->angleDelta().y() * wheelAngleToScrollRatio);
}
void
TimingView::moveScrollBarToBottom(int, int max) noexcept
{
verticalScrollBar()->setValue(max);
}