summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui_dialogs.cc
diff options
context:
space:
mode:
authorTaybin Rutkin <taybin@taybin.com>2005-12-07 22:57:47 +0000
committerTaybin Rutkin <taybin@taybin.com>2005-12-07 22:57:47 +0000
commit6039331bea9afb0ce8888659832a04b39ff6be7a (patch)
treecf22ad447eb565085d09849f8f4fed44973fad3b /gtk2_ardour/ardour_ui_dialogs.cc
parent03872f0916498ccaab0b9b2c73fdba5d21952b63 (diff)
Part one of the sfdb reworking.
git-svn-id: svn://localhost/trunk/ardour2@180 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/ardour_ui_dialogs.cc')
-rw-r--r--gtk2_ardour/ardour_ui_dialogs.cc32
1 files changed, 26 insertions, 6 deletions
diff --git a/gtk2_ardour/ardour_ui_dialogs.cc b/gtk2_ardour/ardour_ui_dialogs.cc
index 5f6459c041..3d6c9fd998 100644
--- a/gtk2_ardour/ardour_ui_dialogs.cc
+++ b/gtk2_ardour/ardour_ui_dialogs.cc
@@ -38,6 +38,7 @@
#include "i18n.h"
using namespace ARDOUR;
+using namespace Glib;
using namespace Gtk;
using namespace Gtkmm2ext;
@@ -225,7 +226,7 @@ ARDOUR_UI::toggle_options_window ()
{
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 (ptr_fun(&ActionManager::uncheck_toggleaction), X_("<Actions>/Common/ToggleOptionsEditor")));
option_editor->set_session (session);
}
@@ -294,14 +295,33 @@ ARDOUR_UI::toggle_route_params_window ()
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(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 ();
+ }
+ }
}