#include "gtkmm2ext/choice.h"
#include "gtkmm2ext/treeutils.h"
+#include "gtkmm2ext/utils.h"
#include "audio_clock.h"
#include "editor.h"
{ 10, S_("Opaque|O"), _("Region opaque (blocks regions below it from being heard)?") },
{ -1, 0, 0 }
};
-
+
for (int i = 0; ci[i].index >= 0; ++i) {
col = _display.get_column (ci[i].index);
l = manage (new Label (ci[i].label));
if (ci[i].index > 6) {
col->set_expand (false);
col->set_alignment (ALIGN_CENTER);
- }
+ }
}
_display.set_headers_visible (true);
_display.get_selection()->set_mode (SELECTION_MULTIPLE);
_display.add_object_drag (_columns.region.index(), "regions");
+ _display.set_drag_column (_columns.name.index());
/* setup DnD handling */
str = region->name();
}
- if (region->n_channels() > 1) {
- std::stringstream foo;
- foo << region->n_channels ();
- str += " [";
- str += foo.str();
- str += "]";
- }
-
- row[_columns.name] = str;
+ populate_row_name (region, row);
row[_columns.region] = region;
row[_columns.property_toggles_visible] = false;
if (missing_source) {
- row[_columns.path] = _("(MISSING) ") + region->source()->name();
+ row[_columns.path] = _("(MISSING) ") + Gtkmm2ext::markup_escape_text (region->source()->name());
} else {
boost::shared_ptr<FileSource> fs = boost::dynamic_pointer_cast<FileSource>(region->source());
if (fs) {
- row[_columns.path] = fs->path();
+ row[_columns.path] = Gtkmm2ext::markup_escape_text (fs->path());
} else {
- row[_columns.path] = region->source()->name();
+ row[_columns.path] = Gtkmm2ext::markup_escape_text (region->source()->name());
}
}
*/
row = *(_model->insert (subrows.end()));
-
+
} else {
row = *(_model->append());
}
_change_connection.block (false);
}
}
-
+
}
} else {
_editor->get_selection().clear_regions ();
EditorRegions::populate_row_name (boost::shared_ptr<Region> region, TreeModel::Row const &row)
{
if (region->n_channels() > 1) {
- row[_columns.name] = string_compose("%1 [%2]", region->name(), region->n_channels());
+ row[_columns.name] = string_compose("%1 [%2]", Gtkmm2ext::markup_escape_text (region->name()), region->n_channels());
} else {
- row[_columns.name] = region->name();
+ row[_columns.name] = Gtkmm2ext::markup_escape_text (region->name());
}
}
EditorRegions::populate_row_source (boost::shared_ptr<Region> region, TreeModel::Row const &row)
{
if (boost::dynamic_pointer_cast<SilentFileSource>(region->source())) {
- row[_columns.path] = _("MISSING ") + region->source()->name();
+ row[_columns.path] = _("MISSING ") + Gtkmm2ext::markup_escape_text (region->source()->name());
} else {
- row[_columns.path] = region->source()->name();
+ row[_columns.path] = Gtkmm2ext::markup_escape_text (region->source()->name());
}
}
framepos_t pos = 0;
bool copy = ((context->get_actions() & (Gdk::ACTION_COPY | Gdk::ACTION_LINK | Gdk::ACTION_MOVE)) == Gdk::ACTION_COPY);
- if (Profile->get_sae() || UIConfiguration::instance().get_only_copy_imported_files() || copy) {
+ if (UIConfiguration::instance().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);
}
void
-EditorRegions::name_editing_started (CellEditable* ce, const Glib::ustring&)
+EditorRegions::name_editing_started (CellEditable* ce, const Glib::ustring& path)
{
name_editable = ce;
if (e) {
e->set_name (X_("RegionNameEditorEntry"));
+
+ TreeIter iter;
+ if ((iter = _model->get_iter (path))) {
+ boost::shared_ptr<Region> region = (*iter)[_columns.region];
+
+ if(region) {
+ e->set_text(region->name());
+ }
+ }
}
}
name_editable = 0;
boost::shared_ptr<Region> region;
- TreeIter iter;
+ TreeIter row_iter;
- if ((iter = _model->get_iter (path))) {
- region = (*iter)[_columns.region];
- (*iter)[_columns.name] = new_text;
+ if ((row_iter = _model->get_iter (path))) {
+ region = (*row_iter)[_columns.region];
+ (*row_iter)[_columns.name] = new_text;
}
/* now mapover everything */
(*i)->region()->set_name (new_text);
}
}
- }
+ populate_row_name (region, (*row_iter));
+ }
}
/** @return Region that has been dragged out of the list, or 0 */