diff --git a/mainwindow.cpp b/mainwindow.cpp index 64c374711..5a89652fc 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -387,6 +387,10 @@ void MainWindow::show_debug_log() { void MainWindow::delete_slot() { if (panel_timeline->headers->hasFocus()) { panel_timeline->headers->delete_markers(); + } else if (panel_footage_viewer->headers->hasFocus()) { + panel_footage_viewer->headers->delete_markers(); + } else if (panel_sequence_viewer->headers->hasFocus()) { + panel_sequence_viewer->headers->delete_markers(); } else if (panel_timeline->focused()) { panel_timeline->delete_selection(sequence->selections, false); } else if (panel_effect_controls->is_focused()) { diff --git a/panels/viewer.h b/panels/viewer.h index 41bcdd1b4..ed2953343 100644 --- a/panels/viewer.h +++ b/panels/viewer.h @@ -76,6 +76,8 @@ public: Sequence* seq; QVector* marker_ref; + TimelineHeader* headers; + void resizeEvent(QResizeEvent *event); public slots: @@ -120,7 +122,6 @@ private: void setup_ui(); - TimelineHeader* headers; ResizableScrollBar* horizontal_bar; ViewerContainer* viewer_container; LabelSlider* current_timecode_slider; diff --git a/project/undo.cpp b/project/undo.cpp index f8f90ff49..0ba5366c5 100644 --- a/project/undo.cpp +++ b/project/undo.cpp @@ -870,15 +870,15 @@ void MoveMarkerAction::redo() { mainWindow->setWindowModified(true); } -DeleteMarkerAction::DeleteMarkerAction(Sequence* s) : - seq(s), +DeleteMarkerAction::DeleteMarkerAction(QVector *m) : + active_array(m), sorted(false), old_project_changed(mainWindow->isWindowModified()) {} void DeleteMarkerAction::undo() { for (int i=markers.size()-1;i>=0;i--) { - seq->markers.insert(markers.at(i), copies.at(i)); + active_array->insert(markers.at(i), copies.at(i)); } mainWindow->setWindowModified(old_project_changed); } @@ -887,14 +887,14 @@ void DeleteMarkerAction::redo() { for (int i=0;imarkers.at(markers.at(i))); + copies.append(active_array->at(markers.at(i))); for (int j=i+1;j markers.at(i)) { markers[j]--; } } } - seq->markers.removeAt(markers.at(i)); + active_array->removeAt(markers.at(i)); } sorted = true; mainWindow->setWindowModified(true); diff --git a/project/undo.h b/project/undo.h index e92f8b600..6a30be099 100644 --- a/project/undo.h +++ b/project/undo.h @@ -411,12 +411,12 @@ private: class DeleteMarkerAction : public QUndoCommand { public: - DeleteMarkerAction(Sequence* s); + DeleteMarkerAction(QVector* m); void undo(); void redo(); QVector markers; private: - Sequence* seq; + QVector* active_array; QVector copies; bool sorted; bool old_project_changed; diff --git a/ui/timelineheader.cpp b/ui/timelineheader.cpp index 02e9c0b8a..c6bdaa1fc 100644 --- a/ui/timelineheader.cpp +++ b/ui/timelineheader.cpp @@ -305,7 +305,7 @@ double TimelineHeader::get_zoom() { void TimelineHeader::delete_markers() { if (selected_markers.size() > 0) { - DeleteMarkerAction* dma = new DeleteMarkerAction(viewer->seq); + DeleteMarkerAction* dma = new DeleteMarkerAction(viewer->marker_ref); for (int i=0;imarkers.append(selected_markers.at(i)); }