diff options
author | Johannes Mueller <github@johannes-mueller.org> | 2017-08-20 14:35:29 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-08-20 21:09:30 +0200 |
commit | c6ecd2a6e16fddc87d244075ed3fb6b964f28041 (patch) | |
tree | a679a85394d30b05222ba74d9b379b403afd1f42 | |
parent | ea3f58a27f10c54386442344767499b37b283c9a (diff) |
TemplateDialog tweaks
* don't ask whether to save the description when renaming the template
* sane behavior when a template is deleted
-rw-r--r-- | gtk2_ardour/template_dialog.cc | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/gtk2_ardour/template_dialog.cc b/gtk2_ardour/template_dialog.cc index 745e1ab645..756c4b6a3f 100644 --- a/gtk2_ardour/template_dialog.cc +++ b/gtk2_ardour/template_dialog.cc @@ -135,6 +135,8 @@ private: Gtk::Button _export_all_templates_button; Gtk::Button _import_template_set_button; + sigc::connection _cursor_changed_connection; + void update_progress_gui (float p); }; @@ -225,7 +227,7 @@ TemplateManager::TemplateManager () _validated_column.set_cell_data_func (_validating_cellrenderer, sigc::mem_fun (*this, &TemplateManager::render_template_names)); _validating_cellrenderer.signal_edited().connect (sigc::mem_fun (*this, &TemplateManager::validate_edit)); - _template_treeview.signal_cursor_changed().connect (sigc::mem_fun (*this, &TemplateManager::row_selection_changed)); + _cursor_changed_connection = _template_treeview.signal_cursor_changed().connect (sigc::mem_fun (*this, &TemplateManager::row_selection_changed)); _template_treeview.signal_key_press_event().connect (sigc::mem_fun (*this, &TemplateManager::key_event)); ScrolledWindow* sw = manage (new ScrolledWindow); @@ -332,8 +334,6 @@ TemplateManager::handle_dirty_description () } else { _description_editor.get_buffer()->set_text (_current_selection->get_value (_template_columns.description)); } - - _desc_dirty = false; } } @@ -344,17 +344,17 @@ TemplateManager::row_selection_changed () handle_dirty_description (); } else { _description_editor.get_buffer()->set_text (""); - _desc_dirty = false; } _current_selection = _template_treeview.get_selection()->get_selected (); if (_current_selection) { const string desc = _current_selection->get_value (_template_columns.description); _description_editor.get_buffer()->set_text (desc); - _desc_dirty = false; - _save_desc.set_sensitive (false); } + _desc_dirty = false; + _save_desc.set_sensitive (false); + _description_editor.set_sensitive (_current_selection); _rename_button.set_sensitive (_current_selection); _remove_button.set_sensitive (_current_selection); @@ -403,7 +403,9 @@ TemplateManager::start_edit () TreeModel::Path path; TreeViewColumn* col; _template_treeview.get_cursor (path, col); + _cursor_changed_connection.block (); _template_treeview.set_cursor (path, *col, /*set_editing =*/ true); + _cursor_changed_connection.unblock (); } void |