use frame rate and timebase less interchangeably
This commit is contained in:
@@ -71,10 +71,13 @@ ViewerWidget::ViewerWidget(QWidget *parent) :
|
||||
stack_->addWidget(sizer_);
|
||||
|
||||
display_widget_ = new ViewerDisplayWidget();
|
||||
display_widget_->setAcceptDrops(true);
|
||||
connect(display_widget_, &ViewerDisplayWidget::customContextMenuRequested, this, &ViewerWidget::ShowContextMenu);
|
||||
connect(display_widget_, &ViewerDisplayWidget::CursorColor, this, &ViewerWidget::CursorColor);
|
||||
connect(display_widget_, &ViewerDisplayWidget::ColorProcessorChanged, this, &ViewerWidget::ColorProcessorChanged);
|
||||
connect(display_widget_, &ViewerDisplayWidget::ColorManagerChanged, this, &ViewerWidget::ColorManagerChanged);
|
||||
connect(display_widget_, &ViewerDisplayWidget::DragEntered, this, &ViewerWidget::DragEntered);
|
||||
connect(display_widget_, &ViewerDisplayWidget::Dropped, this, &ViewerWidget::Dropped);
|
||||
connect(sizer_, &ViewerSizer::RequestScale, display_widget_, &ViewerDisplayWidget::SetMatrixZoom);
|
||||
connect(sizer_, &ViewerSizer::RequestTranslate, display_widget_, &ViewerDisplayWidget::SetMatrixTranslate);
|
||||
connect(display_widget_, &ViewerDisplayWidget::HandDragMoved, sizer_, &ViewerSizer::HandDragMove);
|
||||
@@ -118,6 +121,8 @@ ViewerWidget::ViewerWidget(QWidget *parent) :
|
||||
SetAutoMaxScrollBar(true);
|
||||
|
||||
instances_.append(this);
|
||||
|
||||
setAcceptDrops(true);
|
||||
}
|
||||
|
||||
ViewerWidget::~ViewerWidget()
|
||||
@@ -1214,4 +1219,37 @@ void ViewerWidget::ViewerShiftedRange(const rational &from, const rational &to)
|
||||
}
|
||||
}
|
||||
|
||||
void ViewerWidget::DragEntered(QDragEnterEvent* event)
|
||||
{
|
||||
if (event->mimeData()->formats().contains(QStringLiteral("application/x-oliveprojectitemdata"))) {
|
||||
event->accept();
|
||||
}
|
||||
}
|
||||
|
||||
void ViewerWidget::Dropped(QDropEvent *event)
|
||||
{
|
||||
QByteArray mimedata = event->mimeData()->data(QStringLiteral("application/x-oliveprojectitemdata"));
|
||||
QDataStream stream(&mimedata, QIODevice::ReadOnly);
|
||||
|
||||
// Variables to deserialize into
|
||||
quintptr item_ptr = 0;
|
||||
QVector<Track::Reference> enabled_streams;
|
||||
|
||||
while (!stream.atEnd()) {
|
||||
stream >> enabled_streams >> item_ptr;
|
||||
|
||||
// We only need the one item
|
||||
break;
|
||||
}
|
||||
|
||||
if (item_ptr) {
|
||||
Node* item = reinterpret_cast<Node*>(item_ptr);
|
||||
ViewerOutput* viewer = dynamic_cast<ViewerOutput*>(item);
|
||||
|
||||
if (viewer) {
|
||||
ConnectViewerNode(viewer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -288,6 +288,10 @@ private slots:
|
||||
|
||||
void TimeChangedFromWaveform(qint64 t);
|
||||
|
||||
void DragEntered(QDragEnterEvent* event);
|
||||
|
||||
void Dropped(QDropEvent* event);
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -278,20 +278,29 @@ void ViewerDisplayWidget::mouseReleaseEvent(QMouseEvent *event)
|
||||
|
||||
void ViewerDisplayWidget::dragEnterEvent(QDragEnterEvent *event)
|
||||
{
|
||||
emit DragEntered();
|
||||
super::dragEnterEvent(event);
|
||||
emit DragEntered(event);
|
||||
|
||||
if (!event->isAccepted()) {
|
||||
super::dragEnterEvent(event);
|
||||
}
|
||||
}
|
||||
|
||||
void ViewerDisplayWidget::dragLeaveEvent(QDragLeaveEvent *event)
|
||||
{
|
||||
emit DragLeft();
|
||||
super::dragLeaveEvent(event);
|
||||
emit DragLeft(event);
|
||||
|
||||
if (!event->isAccepted()) {
|
||||
super::dragLeaveEvent(event);
|
||||
}
|
||||
}
|
||||
|
||||
void ViewerDisplayWidget::dropEvent(QDropEvent *event)
|
||||
{
|
||||
emit Dropped();
|
||||
super::dropEvent(event);
|
||||
emit Dropped(event);
|
||||
|
||||
if (!event->isAccepted()) {
|
||||
super::dropEvent(event);
|
||||
}
|
||||
}
|
||||
|
||||
void ViewerDisplayWidget::OnPaint()
|
||||
@@ -345,7 +354,7 @@ void ViewerDisplayWidget::OnPaint()
|
||||
rational node_time = GetGizmoTime();
|
||||
|
||||
gizmo_db_ = gt.GenerateDatabase(gizmos_, TimeRange(node_time,
|
||||
node_time + gizmo_params_.time_base()));
|
||||
node_time + gizmo_params_.frame_rate_as_time_base()));
|
||||
|
||||
QPainter p(inner_widget());
|
||||
p.setWorldTransform(GenerateGizmoTransform());
|
||||
|
||||
@@ -170,11 +170,11 @@ signals:
|
||||
*/
|
||||
void CursorColor(const Color& reference, const Color& display);
|
||||
|
||||
void DragEntered();
|
||||
void DragEntered(QDragEnterEvent* event);
|
||||
|
||||
void DragLeft();
|
||||
void DragLeft(QDragLeaveEvent* event);
|
||||
|
||||
void Dropped();
|
||||
void Dropped(QDropEvent* event);
|
||||
|
||||
protected:
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user