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);
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 ();
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 ()
{