diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2007-09-27 16:17:21 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2007-09-27 16:17:21 +0000 |
commit | dfa476334a5498bb287d519e4519f5f46706cf9a (patch) | |
tree | 48a9f7d6abe67b56ad3e75f5d49a7d859b5732ab /gtk2_ardour/sfdb_ui.cc | |
parent | e79a7e8ff95d50fec527e6f6381cd30bcf57c8f8 (diff) |
2 patches from jdavisp3; remove some debugging output from generic MIDI; rationalize string usage in SoundFileOmega; allow "mode hint" when using SoundFileOmega; restore context menu import functionality; bump to v2.1
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2490 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/sfdb_ui.cc')
-rw-r--r-- | gtk2_ardour/sfdb_ui.cc | 66 |
1 files changed, 48 insertions, 18 deletions
diff --git a/gtk2_ardour/sfdb_ui.cc b/gtk2_ardour/sfdb_ui.cc index 82c5823fd9..489fb59fcc 100644 --- a/gtk2_ardour/sfdb_ui.cc +++ b/gtk2_ardour/sfdb_ui.cc @@ -31,6 +31,7 @@ #include <pbd/convert.h> #include <pbd/tokenizer.h> +#include <pbd/enumwriter.h> #include <gtkmm2ext/utils.h> @@ -64,6 +65,39 @@ using Glib::ustring; ustring SoundFileBrowser::persistent_folder; +static ImportMode +string2importmode (string str) +{ + if (str == "as new tracks") { + return ImportAsTrack; + } else if (str == "to selected tracks") { + return ImportToTrack; + } else if (str == "to region list") { + return ImportAsRegion; + } else if (str == "as new tape tracks") { + return ImportAsTapeTrack; + } + + warning << string_compose (_("programming error: unknown import mode string %1"), str) << endmsg; + + return ImportAsTrack; +} + +static string +importmode2string (ImportMode mode) +{ + switch (mode) { + case ImportAsTrack: + return _("as new tracks"); + case ImportToTrack: + return _("to selected tracks"); + case ImportAsRegion: + return _("to region list"); + case ImportAsTapeTrack: + return _("as new tape tracks"); + } +} + SoundFileBox::SoundFileBox () : _session(0), table (6, 2), @@ -663,7 +697,7 @@ SoundFileOmega::reset_options () switch (id) { case Editing::ImportDistinctFiles: if (selected_track_cnt == paths.size()) { - action_strings.push_back (_("to selected tracks")); + action_strings.push_back (importmode2string (ImportToTrack)); } break; @@ -675,15 +709,15 @@ SoundFileOmega::reset_options () break; default: - action_strings.push_back (_("to selected tracks")); + action_strings.push_back (importmode2string (ImportToTrack)); break; } } } - action_strings.push_back (_("as new tracks")); - action_strings.push_back (_("to the region list")); - action_strings.push_back (_("as new tape tracks")); + action_strings.push_back (importmode2string (ImportAsTrack)); + action_strings.push_back (importmode2string (ImportAsRegion)); + action_strings.push_back (importmode2string (ImportAsTapeTrack)); resetting_ourselves = true; @@ -930,7 +964,7 @@ SoundFileChooser::get_filename () return paths.front(); } -SoundFileOmega::SoundFileOmega (Gtk::Window& parent, string title, ARDOUR::Session* s, int selected_tracks) +SoundFileOmega::SoundFileOmega (Gtk::Window& parent, string title, ARDOUR::Session* s, int selected_tracks, Editing::ImportMode mode_hint) : SoundFileBrowser (parent, title, s), copy_files_btn ( _("Copy files to session")), selected_track_cnt (selected_tracks) @@ -972,7 +1006,7 @@ SoundFileOmega::SoundFileOmega (Gtk::Window& parent, string title, ARDOUR::Sessi */ str.clear (); - str.push_back (_("as new tracks")); + str.push_back (importmode2string (mode_hint)); set_popdown_strings (action_combo, str); action_combo.set_active_text (str.front()); action_combo.set_sensitive (false); @@ -1057,20 +1091,16 @@ SoundFileOmega::SoundFileOmega (Gtk::Window& parent, string title, ARDOUR::Sessi chooser.signal_selection_changed().connect (mem_fun (*this, &SoundFileOmega::file_selection_changed)); } +void +SoundFileOmega::set_mode (ImportMode mode) +{ + action_combo.set_active_text (importmode2string (mode)); +} + ImportMode SoundFileOmega::get_mode () const { - ustring str = action_combo.get_active_text(); - - if (str == _("as new tracks")) { - return ImportAsTrack; - } else if (str == _("to the region list")) { - return ImportAsRegion; - } else if (str == _("to selected tracks")) { - return ImportToTrack; - } else { - return ImportAsTapeTrack; - } + return string2importmode (action_combo.get_active_text()); } void |