summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-08-22 17:07:42 +0200
committerRobin Gareus <robin@gareus.org>2017-08-22 17:07:42 +0200
commit201d536ee90b4bd4af1cd8dc609fc6a15fe89a2a (patch)
tree831c2c3bdd528732ab37b5d49b181ab6987734ab
parent28a7e4a3e066d135b149f5e6a87faf5ba2b11e5e (diff)
Reset RouteDialog: name edited by-user
* after each "Add" operation * when cleaning the name field
-rw-r--r--gtk2_ardour/add_route_dialog.cc19
-rw-r--r--gtk2_ardour/add_route_dialog.h2
-rw-r--r--gtk2_ardour/ardour_ui.cc1
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);