summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/option_editor.cc11
-rw-r--r--gtk2_ardour/option_editor.h1
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/pathlist.h2
-rw-r--r--libs/gtkmm2ext/pathlist.cc6
4 files changed, 15 insertions, 5 deletions
diff --git a/gtk2_ardour/option_editor.cc b/gtk2_ardour/option_editor.cc
index fc4a412f9b..b7fc7e746e 100644
--- a/gtk2_ardour/option_editor.cc
+++ b/gtk2_ardour/option_editor.cc
@@ -20,6 +20,7 @@
#include <pbd/whitespace.h>
+#include <ardour/audio_library.h>
#include <ardour/session.h>
#include <ardour/audioengine.h>
#include <ardour/configuration.h>
@@ -161,7 +162,6 @@ OptionEditor::set_session (Session *s)
return;
}
-
click_path_entry.set_sensitive (true);
click_emphasis_path_entry.set_sensitive (true);
session_raid_entry.set_sensitive (true);
@@ -249,10 +249,19 @@ OptionEditor::setup_path_options()
path_table.attach(*label, 0, 1, 2, 3, FILL|EXPAND, FILL);
path_table.attach(sfdb_path_view, 1, 3, 2, 3, Gtk::FILL|Gtk::EXPAND, FILL);
+ sfdb_path_view.set_paths(Library->get_paths());
+ sfdb_path_view.PathsUpdated.connect (mem_fun(*this, &OptionEditor::sfdb_paths_changed));
+
path_table.show_all();
}
void
+OptionEditor::sfdb_paths_changed ()
+{
+ Library->set_paths (sfdb_path_view.get_paths());
+}
+
+void
OptionEditor::add_session_paths ()
{
click_path_entry.set_sensitive (true);
diff --git a/gtk2_ardour/option_editor.h b/gtk2_ardour/option_editor.h
index 68407246e0..1331d3126e 100644
--- a/gtk2_ardour/option_editor.h
+++ b/gtk2_ardour/option_editor.h
@@ -81,6 +81,7 @@ class OptionEditor : public Gtk::Dialog
void add_session_paths ();
void remove_session_paths ();
void raid_path_changed ();
+ void sfdb_paths_changed ();
/* fades */
diff --git a/libs/gtkmm2ext/gtkmm2ext/pathlist.h b/libs/gtkmm2ext/gtkmm2ext/pathlist.h
index 7b86e016f7..f4a5973d5a 100644
--- a/libs/gtkmm2ext/gtkmm2ext/pathlist.h
+++ b/libs/gtkmm2ext/gtkmm2ext/pathlist.h
@@ -36,7 +36,7 @@ class PathList : public Gtk::VBox
std::vector<std::string> get_paths ();
void set_paths (std::vector<std::string> paths);
- sigc::signal<void> paths_updated;
+ sigc::signal<void> PathsUpdated;
protected:
Gtk::Button add_btn;
diff --git a/libs/gtkmm2ext/pathlist.cc b/libs/gtkmm2ext/pathlist.cc
index 500cb8c23e..7b3448ed5f 100644
--- a/libs/gtkmm2ext/pathlist.cc
+++ b/libs/gtkmm2ext/pathlist.cc
@@ -72,7 +72,7 @@ PathList::get_paths ()
void
PathList::set_paths (vector<string> paths)
{
- _store.clear();
+ _store->clear();
for (vector<string>::iterator i = paths.begin(); i != paths.end(); ++i) {
Gtk::ListStore::iterator iter = _store->append();
@@ -99,7 +99,7 @@ PathList::add_btn_clicked ()
Gtk::ListStore::Row row = *iter;
row[path_columns.paths] = pathname;
- paths_updated (); // EMIT_SIGNAL
+ PathsUpdated (); // EMIT_SIGNAL
}
}
}
@@ -110,7 +110,7 @@ PathList::subtract_btn_clicked ()
Gtk::ListStore::iterator iter = _view.get_selection()->get_selected();
_store->erase (iter);
- paths_updated (); // EMIT_SIGNAL
+ PathsUpdated (); // EMIT_SIGNAL
}
void