footage markers can now be deleted in footage viewer

This commit is contained in:
itsmattkc
2019-02-04 02:02:48 +11:00
parent ef6a9cb2a3
commit 8574733595
5 changed files with 14 additions and 9 deletions
+4
View File
@@ -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()) {
+2 -1
View File
@@ -76,6 +76,8 @@ public:
Sequence* seq;
QVector<Marker>* 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;
+5 -5
View File
@@ -870,15 +870,15 @@ void MoveMarkerAction::redo() {
mainWindow->setWindowModified(true);
}
DeleteMarkerAction::DeleteMarkerAction(Sequence* s) :
seq(s),
DeleteMarkerAction::DeleteMarkerAction(QVector<Marker> *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;i<markers.size();i++) {
// correct future removals
if (!sorted) {
copies.append(seq->markers.at(markers.at(i)));
copies.append(active_array->at(markers.at(i)));
for (int j=i+1;j<markers.size();j++) {
if (markers.at(j) > markers.at(i)) {
markers[j]--;
}
}
}
seq->markers.removeAt(markers.at(i));
active_array->removeAt(markers.at(i));
}
sorted = true;
mainWindow->setWindowModified(true);
+2 -2
View File
@@ -411,12 +411,12 @@ private:
class DeleteMarkerAction : public QUndoCommand {
public:
DeleteMarkerAction(Sequence* s);
DeleteMarkerAction(QVector<Marker>* m);
void undo();
void redo();
QVector<int> markers;
private:
Sequence* seq;
QVector<Marker>* active_array;
QVector<Marker> copies;
bool sorted;
bool old_project_changed;
+1 -1
View File
@@ -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;i<selected_markers.size();i++) {
dma->markers.append(selected_markers.at(i));
}