for (TreeView::Selection::ListHandle_Path::iterator i = rows.begin(); i != rows.end(); ++i) {
if ((iter = _model->get_iter (*i))) {
+
boost::shared_ptr<Region> region = (*iter)[_columns.region];
// they could have clicked on a row that is just a placeholder, like "Hidden"
if (region) {
- if (region->automatic()) {
-
- _display.get_selection()->unselect(*i);
-
- } else {
- _change_connection.block (true);
- _editor->set_selected_regionview_from_region_list (region, Selection::Add);
-
- _change_connection.block (false);
- }
+ _change_connection.block (true);
+ _editor->set_selected_regionview_from_region_list (region, Selection::Add);
+ _change_connection.block (false);
}
}
+
}
} else {
_editor->get_selection().clear_regions ();
switch (_sort_type) {
case ByName:
- cmp = strcasecmp (region1->name().c_str(), region2->name().c_str());
+ cmp = region1->name().compare(region2->name());
break;
case ByLength:
break;
case BySourceFileName:
- cmp = strcasecmp (region1->source()->name().c_str(), region2->source()->name().c_str());
+ cmp = region1->source()->name().compare(region2->source()->name());
break;
case BySourceFileLength:
case BySourceFileFS:
if (region1->source()->name() == region2->source()->name()) {
- cmp = strcasecmp (region1->name().c_str(), region2->name().c_str());
+ cmp = region1->name().compare(region2->name());
} else {
- cmp = strcasecmp (region1->source()->name().c_str(), region2->source()->name().c_str());
+ cmp = region1->source()->name().compare(region2->source()->name());
}
break;
}
if (_editor->convert_drop_to_paths (paths, context, x, y, data, info, time) == 0) {
framepos_t pos = 0;
- if (Profile->get_sae() || Config->get_only_copy_imported_files()) {
+ bool copy = ((context->get_actions() & (Gdk::ACTION_COPY | Gdk::ACTION_LINK | Gdk::ACTION_MOVE)) == Gdk::ACTION_COPY);
+
+ if (Profile->get_sae() || Config->get_only_copy_imported_files() || copy) {
_editor->do_import (paths, Editing::ImportDistinctFiles, Editing::ImportAsRegion, SrcBest, pos);
} else {
_editor->do_embed (paths, Editing::ImportDistinctFiles, ImportAsRegion, pos);
if (region) {
vector<RegionView*> equivalents;
- _editor->get_regions_corresponding_to (region, equivalents);
+ _editor->get_regions_corresponding_to (region, equivalents, false);
for (vector<RegionView*>::iterator i = equivalents.begin(); i != equivalents.end(); ++i) {
if (new_text != (*i)->region()->name()) {