diff options
author | Robin Gareus <robin@gareus.org> | 2017-08-22 17:07:42 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-08-22 17:07:42 +0200 |
commit | 201d536ee90b4bd4af1cd8dc609fc6a15fe89a2a (patch) | |
tree | 831c2c3bdd528732ab37b5d49b181ab6987734ab | |
parent | 28a7e4a3e066d135b149f5e6a87faf5ba2b11e5e (diff) |
Reset RouteDialog: name edited by-user
* after each "Add" operation
* when cleaning the name field
-rw-r--r-- | gtk2_ardour/add_route_dialog.cc | 19 | ||||
-rw-r--r-- | gtk2_ardour/add_route_dialog.h | 2 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 1 |
3 files changed, 17 insertions, 5 deletions
diff --git a/gtk2_ardour/add_route_dialog.cc b/gtk2_ardour/add_route_dialog.cc index dbb1de5aae..378395de3a 100644 --- a/gtk2_ardour/add_route_dialog.cc +++ b/gtk2_ardour/add_route_dialog.cc @@ -280,7 +280,7 @@ AddRouteDialog::~AddRouteDialog () void AddRouteDialog::on_response (int r) { - name_edited_by_user = false; + reset_name_edited (); /* Don't call ArdourDialog::on_response() because that will automatically hide the dialog. */ @@ -421,13 +421,21 @@ AddRouteDialog::trk_template_row_selected () void AddRouteDialog::name_template_entry_insertion (Glib::ustring const &,int*) { - name_edited_by_user = true; + if (name_template ().empty ()) { + name_edited_by_user = false; + } else { + name_edited_by_user = true; + } } void AddRouteDialog::name_template_entry_deletion (int, int) { - name_edited_by_user = true; + if (name_template ().empty ()) { + name_edited_by_user = false; + } else { + name_edited_by_user = true; + } } void @@ -509,7 +517,8 @@ AddRouteDialog::maybe_update_name_template_entry () name_template_entry.set_text (VCA::default_name_template()); break; } - name_edited_by_user = false; + /* ignore programatic change, restore false */ + reset_name_edited (); } void @@ -698,7 +707,7 @@ void AddRouteDialog::on_show () { routes_spinner.grab_focus (); - name_edited_by_user = false; + reset_name_edited (); refill_route_groups (); diff --git a/gtk2_ardour/add_route_dialog.h b/gtk2_ardour/add_route_dialog.h index 01807ced6f..9fc0403b76 100644 --- a/gtk2_ardour/add_route_dialog.h +++ b/gtk2_ardour/add_route_dialog.h @@ -86,6 +86,8 @@ public: std::string get_template_path(); + void reset_name_edited () { name_edited_by_user = false; } + private: Gtk::Entry name_template_entry; Gtk::Adjustment routes_adjustment; diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 8953a95b3f..0ba520217f 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -4449,6 +4449,7 @@ ARDOUR_UI::add_route_dialog_response (int r) switch (r) { case AddRouteDialog::Add: + add_route_dialog->reset_name_edited (); break; case AddRouteDialog::AddAndClose: add_route_dialog->ArdourDialog::on_response (r); |