#include "mainsession.h"
#include "mwindow.h"
#include "mwindowgui.h"
+#include "preferences.h"
#include "theme.h"
this->mwindow = mwindow;
this->load = load;
this->window = 0;
- load_mode = LOADMODE_REPLACE;
+ load_mode = LOADMODE_RESOURCESONLY;
edl_mode = LOADMODE_EDL_CLIP;
}
sprintf(default_path, "~");
mwindow->defaults->get("DEFAULT_LOADPATH", default_path);
load_mode = mwindow->defaults->get("LOAD_MODE", load_mode);
- edl_mode = mwindow->defaults->get("LOAD_EDL_MODE", edl_mode);
mwindow->gui->lock_window("LoadFileThread::new_gui");
window = new LoadFileWindow(mwindow, this, default_path);
{
mwindow->defaults->update("DEFAULT_LOADPATH", window->get_submitted_path());
mwindow->defaults->update("LOAD_MODE", load_mode);
- mwindow->defaults->update("LOAD_EDL_MODE", edl_mode);
-
+ if( edl_mode == LOADMODE_EDL_FILEREF )
+ mwindow->show_warning(
+ &mwindow->preferences->warn_fileref,
+ _("Other projects can change this project\n"
+ "and this can become a broken link"));
ArrayList<char*> path_list;
path_list.set_array_delete();
// No file selected
if( !path_list.size() ) return;
-
- if( load_mode == LOADMODE_REPLACE )
- mwindow->set_filename(path_list[0]);
+ int replaced = load_mode == LOADMODE_REPLACE ||
+ load_mode == LOADMODE_REPLACE_CONCATENATE ? 1 : 0;
mwindow->interrupt_indexes();
mwindow->gui->lock_window("LoadFileThread::run");
- mwindow->load_filenames(&path_list, load_mode, edl_mode, 0);
+ mwindow->load_filenames(&path_list, load_mode, edl_mode, replaced);
mwindow->gui->mainmenu->add_load(path_list.values[0]);
mwindow->gui->unlock_window();
path_list.remove_all_objects();
mwindow->save_backup();
-
mwindow->restart_brender();
-
- if( load_mode == LOADMODE_REPLACE ||
- load_mode == LOADMODE_REPLACE_CONCATENATE )
- mwindow->session->changes_made = 0;
- else
- mwindow->session->changes_made = 1;
+ mwindow->session->changes_made = !replaced ? 1 : 0;
}
{
this->thread = thread;
this->mwindow = mwindow;
+// *** CONTEXT_HELP ***
+ context_help_set_keyword("Loading Files");
}
LoadFileWindow::~LoadFileWindow()
int x = get_w() / 2 - LoadMode::calculate_w(this, mwindow->theme) / 2;
int y = get_y_margin();
+// always start as clip to match historical behavior
+ thread->edl_mode = LOADMODE_EDL_CLIP;
loadmode = new LoadMode(mwindow, this, x, y,
&thread->load_mode, &thread->edl_mode, 0, 1);
loadmode->create_objects();
path_list.set_array_delete();
char *out_path;
int load_mode = mwindow->defaults->get("LOAD_MODE", LOADMODE_REPLACE);
- int edl_mode = mwindow->defaults->get("LOAD_EDL_MODE", LOADMODE_EDL_CLIP);
path_list.append(out_path = new char[strlen(path) + 1]);
strcpy(out_path, path);
path_list.remove_all_objects();
mwindow->defaults->update("LOAD_MODE", load_mode);
- mwindow->defaults->update("LOAD_EDL_MODE", edl_mode);
mwindow->save_backup();
mwindow->session->changes_made = 0;
return 1;