Merge branch 'master' of https://github.com/olive-editor/olive into blendmodefix

This commit is contained in:
itsmattkc
2019-01-28 17:28:06 +11:00
11 changed files with 119 additions and 72 deletions
+41
View File
@@ -484,6 +484,47 @@ void Timeline::select_from_playhead() {
}
}
bool Timeline::can_ripple_empty_space(long frame, int track) {
bool can_ripple_delete = true;
bool at_end_of_sequence = true;
rc_ripple_min = 0;
rc_ripple_max = LONG_MAX;
for (int i=0;i<sequence->clips.size();i++) {
Clip* c = sequence->clips.at(i);
if (c != nullptr) {
if (c->timeline_in > frame || c->timeline_out > frame) {
at_end_of_sequence = false;
}
if (c->track == track) {
if (c->timeline_in <= frame && c->timeline_out >= frame) {
can_ripple_delete = false;
break;
} else if (c->timeline_out < frame) {
rc_ripple_min = qMax(rc_ripple_min, c->timeline_out);
} else if (c->timeline_in > frame) {
rc_ripple_max = qMin(rc_ripple_max, c->timeline_in);
}
}
}
}
return (can_ripple_delete && !at_end_of_sequence);
}
void Timeline::ripple_delete_empty_space() {
QVector<Selection> sels;
Selection s;
s.in = rc_ripple_min;
s.out = rc_ripple_max;
s.track = panel_timeline->cursor_track;
sels.append(s);
panel_timeline->delete_selection(sels, true);
}
void Timeline::resizeEvent(QResizeEvent *) {
// adjust maximum scrollbar
if (sequence != nullptr) set_sb_max();
+8 -1
View File
@@ -72,7 +72,7 @@ class Timeline : public QDockWidget
{
Q_OBJECT
public:
explicit Timeline(QWidget *parent = 0);
explicit Timeline(QWidget *parent = nullptr);
~Timeline();
bool focused();
@@ -204,6 +204,8 @@ public:
void scroll_to_frame(long frame);
void select_from_playhead();
bool can_ripple_empty_space(long frame, int track);
void resizeEvent(QResizeEvent *event);
public slots:
void paste(bool insert = false);
@@ -212,6 +214,7 @@ public slots:
void deselect();
void toggle_links();
void split_at_playhead();
void ripple_delete_empty_space();
private slots:
void zoom_in();
@@ -238,6 +241,10 @@ private:
int default_track_height;
// ripple delete empty space variables
long rc_ripple_min;
long rc_ripple_max;
QWidget* timeline_area;
TimelineWidget* video_area;
TimelineWidget* audio_area;