#include "i18n.h"
using namespace ARDOUR;
+using namespace Glib;
using namespace Gtk;
using namespace Gtkmm2ext;
{
if (option_editor == 0) {
option_editor = new OptionEditor (*this, *editor, *mixer);
- option_editor->signal_unmap().connect(sigc::bind (ptr_fun(&ActionManager::uncheck_toggleaction), X_("<Actions>/Common/ToggleOptionsWindow")));
+ option_editor->signal_unmap().connect(sigc::bind (sigc::ptr_fun(&ActionManager::uncheck_toggleaction), X_("<Actions>/Common/ToggleOptionsEditor")));
option_editor->set_session (session);
}
if (location_ui == 0) {
location_ui = new LocationUI ();
location_ui->set_session (session);
- location_ui->signal_unmap().connect (sigc::bind (ptr_fun(&ActionManager::uncheck_toggleaction), X_("<Actions>/Common/ToggleLocations")));
+ location_ui->signal_unmap().connect (sigc::bind (sigc::ptr_fun(&ActionManager::uncheck_toggleaction), X_("<Actions>/Common/ToggleLocations")));
}
return 0;
}
if (route_params == 0) {
route_params = new RouteParams_UI (*engine);
route_params->set_session (session);
- route_params->signal_unmap().connect (sigc::bind(ptr_fun(&ActionManager::uncheck_toggleaction), X_("<Actions>/Common/ToggleInspector")));
+ route_params->signal_unmap().connect (sigc::bind(sigc::ptr_fun(&ActionManager::uncheck_toggleaction), X_("<Actions>/Common/ToggleInspector")));
}
return 0;
}
route_params->present ();
}
}
+
+int
+ARDOUR_UI::create_sound_file_browser ()
+{
+ if (sfdb == 0) {
+ sfdb = new SoundFileBrowser (_("Sound File Browser"));
+ sfdb->set_session (session);
+ sfdb->signal_unmap().connect (sigc::bind(sigc::ptr_fun(&ActionManager::uncheck_toggleaction), X_("<Actions>/Common/ToggleSoundFileBrowser")));
+ }
+ return 0;
+}
void
ARDOUR_UI::toggle_sound_file_browser ()
{
- using namespace Glib;
-
- SoundFileBrowser sfdb(_("Sound File Browser"));
- sfdb.run();
+ if (create_sound_file_browser()) {
+ return;
+ }
- ActionManager::uncheck_toggleaction(X_("<Actions>/Common/ToggleSoundFileBrowser"));
+ RefPtr<Action> act = ActionManager::ui_manager->get_action (X_("<Actions>/Common/ToggleSoundFileBrowser"));
+ if (act) {
+ RefPtr<ToggleAction> tact = RefPtr<ToggleAction>::cast_dynamic(act);
+
+ if (tact->get_active()) {
+ sfdb->present();
+ } else {
+ sfdb->hide ();
+ }
+ }
}