remove debugging output
[ardour.git] / gtk2_ardour / export_preset_selector.cc
index 551dbf58ad77ba2872119c1963c10c3a68f359ae..3898916bc05899d767ec871c5a8accf20ad62f97 100644 (file)
@@ -31,6 +31,7 @@ ExportPresetSelector::ExportPresetSelector () :
   new_button (Gtk::Stock::NEW)
 {
        list = Gtk::ListStore::create (cols);
+        list->set_sort_column (cols.label, Gtk::SORT_ASCENDING);
        entry.set_model (list);
        entry.set_text_column (cols.label);
 
@@ -51,7 +52,7 @@ ExportPresetSelector::ExportPresetSelector () :
 
        select_connection = entry.signal_changed().connect (sigc::mem_fun (*this, &ExportPresetSelector::update_selection));
        save_button.signal_clicked().connect (sigc::mem_fun (*this, &ExportPresetSelector::save_current));
-       new_button.signal_clicked().connect (sigc::mem_fun (*this, &ExportPresetSelector::save_current));
+       new_button.signal_clicked().connect (sigc::mem_fun (*this, &ExportPresetSelector::create_new));
        remove_button.signal_clicked().connect (sigc::mem_fun (*this, &ExportPresetSelector::remove_current));
 
        show_all_children ();
@@ -127,6 +128,16 @@ ExportPresetSelector::update_selection ()
        new_button.set_sensitive (!current && !text.empty() && !preset_name_exists);
 }
 
+void
+ExportPresetSelector::create_new ()
+{
+       if (!profile_manager) { return; }
+
+       previous = current = profile_manager->new_preset (entry.get_entry()->get_text());
+       sync_with_manager ();
+       update_selection (); // Update preset widget states
+}
+
 void
 ExportPresetSelector::save_current ()
 {