diff --git a/gtk2_ardour/library_ui.cc b/gtk2_ardour/library_ui.cc index 7873765594..99dcd9e546 100644 --- a/gtk2_ardour/library_ui.cc +++ b/gtk2_ardour/library_ui.cc @@ -725,7 +725,7 @@ LibraryTree::file_ok_clicked () progress_win->show_all(); clone_ftw((void*)file); - + delete progress_win; } @@ -748,6 +748,8 @@ clone_ftw(void* ptr) warning << string_compose(_("%1 not added to database"), *file) << endmsg; } + Library->save_changes(); + delete old_parent; delete old_parent_uri; @@ -778,6 +780,7 @@ LibraryTree::folder_btn_clicked () if (name.length()) { Library->add_group(name, current_group); + Library->save_changes(); } } } @@ -838,6 +841,8 @@ LibraryTree::remove_btn_clicked () error << _("Should not be reached") << endmsg; } + Library->save_changes(); + current_member = ""; current_group = ""; @@ -1233,6 +1238,7 @@ SoundFileBox::add_field_clicked () if (name.length()) { Library->add_field(name); + Library->save_changes(); } } } @@ -1241,6 +1247,7 @@ void SoundFileBox::remove_field_clicked () { Library->remove_field(selected_field); + Library->save_changes(); selected_field = ""; remove_field_btn.set_sensitive(false); } @@ -1285,6 +1292,7 @@ SoundFileBox::field_selected (Gtkmm2ext::Selector *selector, Gtkmm2ext::Selectio prompter.get_result(data); Library->set_field(uri, field_name, data); + Library->save_changes(); } fields.rescan(); diff --git a/libs/.cvsignore b/libs/.cvsignore index e69de29bb2..e43b0f9889 100644 --- a/libs/.cvsignore +++ b/libs/.cvsignore @@ -0,0 +1 @@ +.DS_Store diff --git a/libs/ardour/ardour/audio_library.h b/libs/ardour/ardour/audio_library.h index 3aab3993b9..00c833a6c8 100644 --- a/libs/ardour/ardour/audio_library.h +++ b/libs/ardour/ardour/audio_library.h @@ -65,6 +65,8 @@ class AudioLibrary string get_label (string uri); void set_label (string uri, string label); + void save_changes(); + sigc::signal added_group; // group, parent sigc::signal added_member;// member, parent sigc::signal removed_group; @@ -72,7 +74,6 @@ class AudioLibrary sigc::signal fields_changed; private: - void save_changes (); string field_uri (string name); bool is_rdf_type (string uri, string type); diff --git a/libs/ardour/audio_library.cc b/libs/ardour/audio_library.cc index f49fb4e280..03bde67459 100644 --- a/libs/ardour/audio_library.cc +++ b/libs/ardour/audio_library.cc @@ -147,7 +147,6 @@ AudioLibrary::remove_group (string uri) } lrdf_remove_uri_matches(uri.c_str()); - save_changes (); removed_group(uri); /* EMIT SIGNAL */ } @@ -206,9 +205,7 @@ AudioLibrary::add_member (string member, string parent_uri) parent_uri.c_str(), lrdf_uri); } - save_changes (); - - added_member (local_member, parent_uri); /* EMIT SIGNAL */ + added_member (local_member, parent_uri); /* EMIT SIGNAL */ return local_member; } @@ -218,8 +215,6 @@ AudioLibrary::remove_member (string uri) { lrdf_remove_uri_matches (uri.c_str()); - save_changes (); - removed_member(uri); /* EMIT SIGNAL */ } @@ -376,8 +371,6 @@ AudioLibrary::add_field (string name) set_label (local_field, name); - save_changes(); - fields_changed(); /* EMIT SIGNAL */ } @@ -410,7 +403,6 @@ void AudioLibrary::remove_field (string name) { lrdf_remove_uri_matches(field_uri(name).c_str()); - save_changes(); fields_changed (); /* EMIT SIGNAL */ } @@ -459,8 +451,6 @@ AudioLibrary::set_field (string uri, string field, string literal) lrdf_add_triple(src.c_str(), uri.c_str(), local_field.c_str(), literal.c_str(), lrdf_literal); - save_changes(); - fields_changed(); /* EMIT SIGNAL */ }