From 14ac1ada6e7459af5c3bb6a929484b1db932a0cf Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Wed, 27 May 2020 03:24:37 +1000 Subject: [PATCH] various: adding files missing in last commit Oddly some files didn't commit previously. This commit adds those. --- app/task/render/render.cpp | 38 +++++++++---------- app/widget/curvewidget/curveview.cpp | 4 +- app/widget/flowlayout/flowlayout.cpp | 2 +- app/widget/nodeview/nodeview.cpp | 2 +- app/widget/slider/sliderbase.cpp | 8 ++-- .../timelinewidget/view/timelineview.cpp | 20 +++++++--- .../timelinewidget/view/timelineviewbase.cpp | 4 +- app/widget/viewer/viewer.cpp | 6 +-- app/widget/viewer/viewerwindow.cpp | 6 +-- 9 files changed, 49 insertions(+), 41 deletions(-) diff --git a/app/task/render/render.cpp b/app/task/render/render.cpp index a83554871..144ade07d 100644 --- a/app/task/render/render.cpp +++ b/app/task/render/render.cpp @@ -73,20 +73,20 @@ void RenderTask::Render(const TimeRangeList& video_range, backend.SetAudioParams(audio_params_); backend.SetVideoDownloadMatrix(mat); - QLinkedList audio_lookup_table; + std::list audio_lookup_table; if (!audio_range.isEmpty()) { foreach (const TimeRange& r, audio_range) { QList ranges = RenderBackend::SplitRangeIntoChunks(r); foreach (const TimeRange& split, ranges) { - audio_lookup_table.append({split, backend.RenderAudio(split)}); + audio_lookup_table.push_back({split, backend.RenderAudio(split)}); } } } // Get hashes for each frame and group likes together - QMap< QByteArray, QLinkedList > times_to_render; - QLinkedList render_lookup_table; + QMap< QByteArray, std::list > times_to_render; + std::list render_lookup_table; if (!video_range.isEmpty()) { { @@ -105,7 +105,7 @@ void RenderTask::Render(const TimeRangeList& video_range, // Already exists, no need to render it again FrameDownloaded(hash, {time}); } else { - times_to_render[hash].append(time); + times_to_render[hash].push_back(time); } index++; @@ -114,14 +114,14 @@ void RenderTask::Render(const TimeRangeList& video_range, // Render all frames necessary { - QLinkedList sorted_times; - QLinkedList::iterator sorted_iterator; + std::list sorted_times; + std::list::iterator sorted_iterator; // Rendering is more efficient if we cache in order, so here we sort - QMap< QByteArray, QLinkedList >::const_iterator i; + QMap< QByteArray, std::list >::const_iterator i; for (i=times_to_render.constBegin(); i!=times_to_render.constEnd(); i++) { const QByteArray& hash = i.key(); - const rational& time = i.value().first(); + const rational& time = i.value().front(); bool inserted = false; @@ -134,12 +134,12 @@ void RenderTask::Render(const TimeRangeList& video_range, } if (!inserted) { - sorted_times.append({time, hash}); + sorted_times.push_back({time, hash}); } } foreach (const HashTimePair& p, sorted_times) { - render_lookup_table.append({p.hash, backend.RenderFrame(p.time)}); + render_lookup_table.push_back({p.hash, backend.RenderFrame(p.time)}); } } } @@ -149,17 +149,17 @@ void RenderTask::Render(const TimeRangeList& video_range, int counter = 0; int nb_frames = render_lookup_table.size(); - QLinkedList download_futures; + std::list download_futures; // Iterators - QLinkedList::iterator i; - QLinkedList::iterator j; - QLinkedList::iterator k; + std::list::iterator i; + std::list::iterator j; + std::list::iterator k; while (!IsCancelled() - && (!render_lookup_table.isEmpty() - || !download_futures.isEmpty() - || !audio_lookup_table.isEmpty())) { + && (!render_lookup_table.empty() + || !download_futures.empty() + || !audio_lookup_table.empty())) { i = render_lookup_table.begin(); @@ -168,7 +168,7 @@ void RenderTask::Render(const TimeRangeList& video_range, FramePtr f = i->frame_future->Get().value(); // Start multithreaded download here - download_futures.append({i->hash, DownloadFrame(f, i->hash)}); + download_futures.push_back({i->hash, DownloadFrame(f, i->hash)}); i = render_lookup_table.erase(i); } else { diff --git a/app/widget/curvewidget/curveview.cpp b/app/widget/curvewidget/curveview.cpp index 3a9b9637f..a78f97e13 100644 --- a/app/widget/curvewidget/curveview.cpp +++ b/app/widget/curvewidget/curveview.cpp @@ -238,8 +238,8 @@ void CurveView::VerticalScaleChangedEvent(double scale) void CurveView::wheelEvent(QWheelEvent *event) { if (WheelEventIsAZoomEvent(event)) { - if (event->delta() != 0) { - if (event->delta() > 0) { + if (!event->angleDelta().isNull()) { + if (event->angleDelta().x() + event->angleDelta().y() > 0) { emit ScaleChanged(GetScale() * 1.1); SetYScale(GetYScale() * 1.1); } else { diff --git a/app/widget/flowlayout/flowlayout.cpp b/app/widget/flowlayout/flowlayout.cpp index 0dd3a1f60..2c9aed8ac 100644 --- a/app/widget/flowlayout/flowlayout.cpp +++ b/app/widget/flowlayout/flowlayout.cpp @@ -114,7 +114,7 @@ QLayoutItem *FlowLayout::takeAt(int index) Qt::Orientations FlowLayout::expandingDirections() const { - return 0; + return Qt::Horizontal | Qt::Vertical; } bool FlowLayout::hasHeightForWidth() const diff --git a/app/widget/nodeview/nodeview.cpp b/app/widget/nodeview/nodeview.cpp index f1e9a3f42..e2f5b324a 100644 --- a/app/widget/nodeview/nodeview.cpp +++ b/app/widget/nodeview/nodeview.cpp @@ -445,7 +445,7 @@ void NodeView::wheelEvent(QWheelEvent *event) { if (event->modifiers() & Qt::ControlModifier) { // FIXME: Hardcoded divider (0.001) - qreal multiplier = 1.0 + (static_cast(event->delta()) * 0.001); + qreal multiplier = 1.0 + (static_cast(event->angleDelta().x() + event->angleDelta().y()) * 0.001); scale(multiplier, multiplier); } else { diff --git a/app/widget/slider/sliderbase.cpp b/app/widget/slider/sliderbase.cpp index 5de18603d..487533bc0 100644 --- a/app/widget/slider/sliderbase.cpp +++ b/app/widget/slider/sliderbase.cpp @@ -149,7 +149,7 @@ void SliderBase::SetMinimumInternal(const QVariant &v) has_min_ = true; // Limit value by this new minimum value - if (value_ < min_value_) { + if (value_.toDouble() < min_value_.toDouble()) { SetValue(min_value_); } } @@ -160,7 +160,7 @@ void SliderBase::SetMaximumInternal(const QVariant &v) has_max_ = true; // Limit value by this new maximum value - if (value_ > max_value_) { + if (value_.toDouble() > max_value_.toDouble()) { SetValue(max_value_); } } @@ -175,11 +175,11 @@ void SliderBase::changeEvent(QEvent *e) const QVariant &SliderBase::ClampValue(const QVariant &v) { - if (has_min_ && v < min_value_) { + if (has_min_ && v.toDouble() < min_value_.toDouble()) { return min_value_; } - if (has_max_ && v > max_value_) { + if (has_max_ && v.toDouble() > max_value_.toDouble()) { return max_value_; } diff --git a/app/widget/timelinewidget/view/timelineview.cpp b/app/widget/timelinewidget/view/timelineview.cpp index bcf13b5b7..e9e3c8ef2 100644 --- a/app/widget/timelinewidget/view/timelineview.cpp +++ b/app/widget/timelinewidget/view/timelineview.cpp @@ -131,16 +131,24 @@ void TimelineView::wheelEvent(QWheelEvent *event) { if (HandleZoomFromScroll(event)) { return; - } else if (Config::Current()["InvertTimelineScrollAxes"].toBool()) { - QWheelEvent e(event->pos(), - event->delta(), + } else { + QPoint angle_delta = event->angleDelta(); + + if (Config::Current()["InvertTimelineScrollAxes"].toBool()) { + angle_delta = QPoint(angle_delta.y(), angle_delta.x()); + } + + QWheelEvent e(event->position(), + event->globalPosition(), + event->pixelDelta(), + angle_delta, event->buttons(), event->modifiers(), - event->orientation() == Qt::Horizontal ? Qt::Vertical : Qt::Horizontal); + event->phase(), + event->inverted(), + event->source()); QGraphicsView::wheelEvent(&e); - } else { - QGraphicsView::wheelEvent(event); } } diff --git a/app/widget/timelinewidget/view/timelineviewbase.cpp b/app/widget/timelinewidget/view/timelineviewbase.cpp index 9970e7115..27f5f48c9 100644 --- a/app/widget/timelinewidget/view/timelineviewbase.cpp +++ b/app/widget/timelinewidget/view/timelineviewbase.cpp @@ -203,8 +203,8 @@ bool TimelineViewBase::HandleZoomFromScroll(QWheelEvent *event) { if (WheelEventIsAZoomEvent(event)) { // If CTRL is held (or a preference is set to swap CTRL behavior), we zoom instead of scrolling - if (event->delta() != 0) { - if (event->delta() > 0) { + if (!event->angleDelta().isNull()) { + if (event->angleDelta().x() + event->angleDelta().y() > 0) { emit ScaleChanged(GetScale() * 1.1); } else { emit ScaleChanged(GetScale() * 0.9); diff --git a/app/widget/viewer/viewer.cpp b/app/widget/viewer/viewer.cpp index d06dd828e..ab851ecdf 100644 --- a/app/widget/viewer/viewer.cpp +++ b/app/widget/viewer/viewer.cpp @@ -441,9 +441,9 @@ void ViewerWidget::UpdateTextureFromNode(const rational& time) // Check playback queue for a frame if (IsPlaying()) { - while (!playback_queue_.isEmpty()) { + while (!playback_queue_.empty()) { - const ViewerPlaybackFrame& pf = playback_queue_.first(); + const ViewerPlaybackFrame& pf = playback_queue_.front(); if (pf.timestamp == time) { @@ -454,7 +454,7 @@ void ViewerWidget::UpdateTextureFromNode(const rational& time) } else { // Skip this frame - playback_queue_.removeFirst(); + playback_queue_.pop_front(); RequestNextFrameForQueue(); } diff --git a/app/widget/viewer/viewerwindow.cpp b/app/widget/viewer/viewerwindow.cpp index 3325be924..983d4289b 100644 --- a/app/widget/viewer/viewerwindow.cpp +++ b/app/widget/viewer/viewerwindow.cpp @@ -102,15 +102,15 @@ void ViewerWindow::UpdateFromQueue() rational time = Timecode::timestamp_to_time(t, playback_timebase_); - while (!queue_.isEmpty()) { - const ViewerPlaybackFrame& pf = queue_.first(); + while (!queue_.empty()) { + const ViewerPlaybackFrame& pf = queue_.front(); if (pf.timestamp == time) { // Frame was in queue, no need to decode anything display_widget_->SetImage(pf.frame); return; } else { - queue_.removeFirst(); + queue_.pop_front(); } } }