fix logic error that prevent input monitoring during slave wait states
[ardour.git] / gtk2_ardour / save_template_dialog.cc
index 721c9c18ee2ed0a292b322c8562828b9b47ca65a..f14466500d95d34adcbd3619fee4cfe65f58a95d 100644 (file)
@@ -34,7 +34,8 @@ using namespace ARDOUR;
 SaveTemplateDialog::SaveTemplateDialog (const std::string& name, const std::string& desc)
        : ArdourDialog (_("Save as template"))
 {
-       _name_editor.get_buffer()->set_text (name + _("-template"));
+       _name_entry.get_buffer()->set_text (name);
+       _description_editor.get_buffer()->set_text (desc);
        _description_editor.set_wrap_mode (Gtk::WRAP_WORD);
        _description_editor.set_size_request(400, 300);
 
@@ -42,7 +43,7 @@ SaveTemplateDialog::SaveTemplateDialog (const std::string& name, const std::stri
        hb->set_spacing (8);
        Label* lb = manage (new Label(_("Template name:")));
        hb->pack_start (*lb, false, true);
-       hb->pack_start (_name_editor, true, true);
+       hb->pack_start (_name_entry, true, true);
 
        Frame* fd = manage (new Frame(_("Description:")));
        fd->add (_description_editor);
@@ -61,11 +62,17 @@ SaveTemplateDialog::SaveTemplateDialog (const std::string& name, const std::stri
 std::string
 SaveTemplateDialog::get_template_name () const
 {
-       return _name_editor.get_buffer()->get_text();
+       return _name_entry.get_buffer()->get_text();
 }
 
 std::string
 SaveTemplateDialog::get_description () const
 {
-       return _description_editor.get_buffer()->get_text();
+       std::string desc_txt = _description_editor.get_buffer()->get_text ();
+       std::string::reverse_iterator wss = desc_txt.rbegin();
+       while (wss != desc_txt.rend() && isspace (*wss)) {
+               desc_txt.erase (--(wss++).base());
+       }
+
+       return desc_txt;
 }