diff options
author | Taybin Rutkin <taybin@taybin.com> | 2006-01-13 22:46:04 +0000 |
---|---|---|
committer | Taybin Rutkin <taybin@taybin.com> | 2006-01-13 22:46:04 +0000 |
commit | 9747fa891093251d1c828cd9acadebc4a432d6cf (patch) | |
tree | 36d348cd9fe8d37858fa008c5b59a8a6cfb94f72 /gtk2_ardour/sfdb_ui.cc | |
parent | 6817b59169b2c334245f8018d7e3f2235e195aa0 (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.cc | 25 |
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: |