diff --git a/panels/timeline.cpp b/panels/timeline.cpp index ff31cbbc3..f3d59e2ce 100644 --- a/panels/timeline.cpp +++ b/panels/timeline.cpp @@ -57,6 +57,7 @@ Timeline::Timeline(QWidget *parent) : trim_in_point(false), splitting(false), importing(false), + importing_files(false), ui(new Ui::Timeline), last_frame(0), creating(false), diff --git a/panels/timeline.h b/panels/timeline.h index baba1157f..b1d0a1485 100644 --- a/panels/timeline.h +++ b/panels/timeline.h @@ -158,6 +158,7 @@ public: // importing bool importing; + bool importing_files; // creating variables bool creating; diff --git a/ui/timelinewidget.cpp b/ui/timelinewidget.cpp index ea221f970..eb8554e2d 100644 --- a/ui/timelinewidget.cpp +++ b/ui/timelinewidget.cpp @@ -207,6 +207,7 @@ void TimelineWidget::dragEnterEvent(QDragEnterEvent *event) { QVector media_list; QVector type_list; + panel_timeline->importing_files = false; if (event->source() == panel_project->source_table) { QList items = panel_project->source_table->selectedItems(); @@ -237,12 +238,25 @@ void TimelineWidget::dragEnterEvent(QDragEnterEvent *event) { dout << "TODO get data for:"; QList urls = event->mimeData()->urls(); if (!urls.isEmpty()) { - for (int i=0;iprocess_file_list(false, file_list, NULL, false); + + for (int i=0;ilast_imported_media.size();i++) { + panel_project->last_imported_media.at(i)->ready_lock.lock(); + panel_project->last_imported_media.at(i)->ready_lock.unlock(); + + media_list.append(panel_project->last_imported_media.at(i)); + type_list.append(MEDIA_TYPE_FOOTAGE); + } + + import_init = true; + panel_timeline->importing_files = true; + } } if (import_init) { @@ -449,9 +463,16 @@ void TimelineWidget::wheelEvent(QWheelEvent *event) { } void TimelineWidget::dragLeaveEvent(QDragLeaveEvent*) { - if (sequence != NULL && panel_timeline->importing) { + if (sequence != NULL && panel_timeline->importing) { + if (panel_timeline->importing_files) { + for (int i=0;ilast_imported_media.size();i++) { + // hack? but seems to work + undo_stack.undo(); + } + } panel_timeline->ghosts.clear(); panel_timeline->importing = false; + panel_timeline->importing_files = false; update_ui(false); } }