make name entry activation close dialog (potentially)
authorPaul Davis <paul@linuxaudiosystems.com>
Sun, 7 Oct 2018 16:36:04 +0000 (12:36 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Sun, 7 Oct 2018 16:36:04 +0000 (12:36 -0400)
gtk2_ardour/transport_masters_dialog.cc

index ec2a028ba477d1adc6791c0a161f6176fdb51ef4..3cb7233f17eeea5b3f3609d4ed3ed5db58ca4f74 100644 (file)
@@ -119,16 +119,22 @@ TransportMastersWidget::add_master ()
        AddTransportMasterDialog d;
 
        d.present ();
-       int r = d.run ();
+       string name;
 
-       switch (r) {
-       case RESPONSE_ACCEPT:
-               break;
-       default:
-               return;
+       while (name.empty()) {
+
+               int r = d.run ();
+
+               switch (r) {
+               case RESPONSE_ACCEPT:
+                       name = d.get_name();
+                       break;
+               default:
+                       return;
+               }
        }
 
-       TransportMasterManager::instance().add (d.get_type(), d.get_name());
+       TransportMasterManager::instance().add (d.get_type(), name);
 }
 
 void
@@ -612,6 +618,8 @@ TransportMastersWidget::AddTransportMasterDialog::AddTransportMasterDialog ()
        type_label.show ();
        name_hbox.show ();
        type_hbox.show ();
+
+       name_entry.signal_activate().connect (sigc::bind (sigc::mem_fun (*this, &Gtk::Dialog::response), Gtk::RESPONSE_ACCEPT));
 }
 
 string