summaryrefslogtreecommitdiff
path: root/gtk2_ardour/plugin_presets_ui.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2019-10-10 23:59:55 +0200
committerRobin Gareus <robin@gareus.org>2019-10-10 23:59:55 +0200
commit32b97031cfdb35b4c75abe2967d2513a1486d575 (patch)
tree01562e7a8d614b9dd60ec3378405f9b06d328c73 /gtk2_ardour/plugin_presets_ui.cc
parent2c33d31bbb721f4023d53e948adeee61784acbbd (diff)
Preset-Browser: highlight only unmodified presets
Diffstat (limited to 'gtk2_ardour/plugin_presets_ui.cc')
-rw-r--r--gtk2_ardour/plugin_presets_ui.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/gtk2_ardour/plugin_presets_ui.cc b/gtk2_ardour/plugin_presets_ui.cc
index 526cdaad08..71523bcdd0 100644
--- a/gtk2_ardour/plugin_presets_ui.cc
+++ b/gtk2_ardour/plugin_presets_ui.cc
@@ -67,6 +67,7 @@ PluginPresetsUI::PluginPresetsUI (boost::shared_ptr<PluginInsert> insert)
plugin->PresetAdded.connect (_preset_connections, invalidator (*this), boost::bind (&PluginPresetsUI::update_preset_list, this), gui_context ());
plugin->PresetRemoved.connect (_preset_connections, invalidator (*this), boost::bind (&PluginPresetsUI::update_preset_list, this), gui_context ());
plugin->PresetLoaded.connect (_preset_connections, invalidator (*this), boost::bind (&PluginPresetsUI::update_preset_list, this), gui_context ());
+ plugin->PresetDirty.connect (_preset_connections, invalidator (*this), boost::bind (&PluginPresetsUI::update_preset_list, this), gui_context ());
update_preset_list ();
}
@@ -91,9 +92,11 @@ PluginPresetsUI::update_preset_list ()
bool found_active = false;
+ bool const modified = plugin->parameter_changed_since_last_preset ();
+
for (std::vector<Plugin::PresetRecord>::const_iterator i = presets.begin (); i != presets.end (); ++i) {
Gtk::TreeModel::Row row = *(_plugin_preset_model->append ());
- if (p.uri == i->uri) {
+ if (p.uri == i->uri && !modified) {
row[_plugin_preset_columns.name] = string_compose ("<span weight=\"bold\" background=\"green\">%1</span>", Gtkmm2ext::markup_escape_text (i->label));
found_active = true;
} else {
@@ -105,7 +108,7 @@ PluginPresetsUI::update_preset_list ()
{
Gtk::TreeModel::Row row = *(_plugin_preset_model->prepend ());
- if (found_active) {
+ if (found_active || modified) {
row[_plugin_preset_columns.name] = _("(none)");
} else {
row[_plugin_preset_columns.name] = string_compose ("<span weight=\"bold\" background=\"green\">%1</span>", _("(none)"));
@@ -122,7 +125,6 @@ PluginPresetsUI::update_preset_list ()
break;
}
}
-
}
void