From 0b0aaa32183210e4e1fc86f8cb6c52fdb5f79af9 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Fri, 11 Jan 2019 00:24:09 +1100 Subject: [PATCH] added reset in or out point --- mainwindow.cpp | 19 +++++++++++++++++++ mainwindow.h | 2 ++ panels/viewer.cpp | 14 ++++++++++++++ panels/viewer.h | 2 ++ 4 files changed, 37 insertions(+) diff --git a/mainwindow.cpp b/mainwindow.cpp index d5186842d..473c7f447 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -245,6 +245,9 @@ void MainWindow::make_new_menu(QMenu *parent) { void MainWindow::make_inout_menu(QMenu *parent) { parent->addAction("Set In Point", this, SLOT(set_in_point()), QKeySequence("I")); parent->addAction("Set Out Point", this, SLOT(set_out_point()), QKeySequence("O")); + parent->addSeparator(); + parent->addAction("Reset In Point", this, SLOT(clear_in())); + parent->addAction("Reset Out Point", this, SLOT(clear_out())); parent->addAction("Clear In/Out Point", this, SLOT(clear_inout()), QKeySequence("G")); } @@ -1212,6 +1215,22 @@ void MainWindow::set_out_point() { } } +void MainWindow::clear_in() { + if (panel_timeline->focused() || panel_sequence_viewer->is_focused()) { + panel_sequence_viewer->clear_in(); + } else if (panel_footage_viewer->is_focused()) { + panel_footage_viewer->clear_in(); + } +} + +void MainWindow::clear_out() { + if (panel_timeline->focused() || panel_sequence_viewer->is_focused()) { + panel_sequence_viewer->clear_out(); + } else if (panel_footage_viewer->is_focused()) { + panel_footage_viewer->clear_out(); + } +} + void MainWindow::clear_inout() { if (panel_timeline->focused() || panel_sequence_viewer->is_focused()) { panel_sequence_viewer->clear_inout_point(); diff --git a/mainwindow.h b/mainwindow.h index 124b862c5..ed2748080 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -98,6 +98,8 @@ private slots: void set_in_point(); void set_out_point(); + void clear_in(); + void clear_out(); void clear_inout(); void delete_inout(); void ripple_delete_inout(); diff --git a/panels/viewer.cpp b/panels/viewer.cpp index b8fee4edc..a77a2d423 100644 --- a/panels/viewer.cpp +++ b/panels/viewer.cpp @@ -431,6 +431,20 @@ void Viewer::update_viewer() { update_end_timecode(); } +void Viewer::clear_in() { + if (seq->using_workarea) { + undo_stack.push(new SetTimelineInOutCommand(seq, true, 0, seq->workarea_out)); + update_parents(); + } +} + +void Viewer::clear_out() { + if (seq->using_workarea) { + undo_stack.push(new SetTimelineInOutCommand(seq, true, seq->workarea_in, seq->getEndFrame())); + update_parents(); + } +} + void Viewer::clear_inout_point() { if (seq->using_workarea) { undo_stack.push(new SetTimelineInOutCommand(seq, false, 0, 0)); diff --git a/panels/viewer.h b/panels/viewer.h index f08b19e30..03376a3f9 100644 --- a/panels/viewer.h +++ b/panels/viewer.h @@ -37,6 +37,8 @@ public: void update_end_timecode(); void update_header_zoom(); void update_viewer(); + void clear_in(); + void clear_out(); void clear_inout_point(); void set_in_point(); void set_out_point();