diff options
author | Robin Gareus <robin@gareus.org> | 2019-10-10 23:59:55 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2019-10-10 23:59:55 +0200 |
commit | 32b97031cfdb35b4c75abe2967d2513a1486d575 (patch) | |
tree | 01562e7a8d614b9dd60ec3378405f9b06d328c73 | |
parent | 2c33d31bbb721f4023d53e948adeee61784acbbd (diff) |
Preset-Browser: highlight only unmodified presets
-rw-r--r-- | gtk2_ardour/plugin_presets_ui.cc | 8 |
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 |