summaryrefslogtreecommitdiff
path: root/gtk2_ardour/sfdb_ui.cc
diff options
context:
space:
mode:
authorTaybin Rutkin <taybin@taybin.com>2006-01-13 22:46:04 +0000
committerTaybin Rutkin <taybin@taybin.com>2006-01-13 22:46:04 +0000
commit9747fa891093251d1c828cd9acadebc4a432d6cf (patch)
tree36d348cd9fe8d37858fa008c5b59a8a6cfb94f72 /gtk2_ardour/sfdb_ui.cc
parent6817b59169b2c334245f8018d7e3f2235e195aa0 (diff)
All useage of ArdourPrompter checks for a valid result.
Gtkmm2ext::Prompter set as WINDOW_TYPE_HINT_DIALOG. Adding fields to the sfdb works. git-svn-id: svn://localhost/trunk/ardour2@271 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/sfdb_ui.cc')
-rw-r--r--gtk2_ardour/sfdb_ui.cc25
1 files changed, 16 insertions, 9 deletions
diff --git a/gtk2_ardour/sfdb_ui.cc b/gtk2_ardour/sfdb_ui.cc
index 891a8dad19..d737d409fd 100644
--- a/gtk2_ardour/sfdb_ui.cc
+++ b/gtk2_ardour/sfdb_ui.cc
@@ -74,6 +74,7 @@ SoundFileBox::SoundFileBox ()
main_box.pack_start(top_box, false, false);
main_box.pack_start(bottom_box, false, false);
+ field_view.set_model (fields);
field_view.set_size_request(200, 150);
field_view.append_column (_("Field"), label_columns.field);
field_view.append_column_editable (_("Value"), label_columns.data);
@@ -161,6 +162,8 @@ SoundFileBox::setup_fields ()
{
ENSURE_GUI_THREAD(mem_fun (*this, &SoundFileBox::setup_fields));
+ fields->clear ();
+
vector<string> field_list;
Library->get_fields(field_list);
@@ -168,12 +171,15 @@ SoundFileBox::setup_fields ()
Gtk::TreeModel::iterator iter;
Gtk::TreeModel::Row row;
for (i = field_list.begin(); i != field_list.end(); ++i) {
- string value = Library->get_field(path, *i);
- iter = fields->append();
- row = *iter;
-
- row[label_columns.field] = *i;
- row[label_columns.data] = value;
+ if (!(*i == _("channels") || *i == _("samplerate") ||
+ *i == _("resolution") || *i == _("format"))) {
+ iter = fields->append();
+ row = *iter;
+
+ string value = Library->get_field(path, *i);
+ row[label_columns.field] = *i;
+ row[label_columns.data] = value;
+ }
}
}
@@ -244,10 +250,11 @@ SoundFileBox::add_field_clicked ()
switch (prompter.run ()) {
case Gtk::RESPONSE_ACCEPT:
- cout << name << endl;
prompter.get_result (name);
- Library->add_field (name);
- Library->save_changes ();
+ if (name.length()) {
+ Library->add_field (name);
+ Library->save_changes ();
+ }
break;
default: