X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fardour_ui_dependents.cc;h=6f48bee04ba4952655f80e0be935f14d094e5743;hb=c2c224727eee4c16bd64ca4a5b5bb2d276f5afe3;hp=f81dc8d311bf90302ad5d5827edc22682202f499;hpb=8aa9508c82f32efcf9c7c00e2c9e76268d4dddce;p=ardour.git diff --git a/gtk2_ardour/ardour_ui_dependents.cc b/gtk2_ardour/ardour_ui_dependents.cc index f81dc8d311..6f48bee04b 100644 --- a/gtk2_ardour/ardour_ui_dependents.cc +++ b/gtk2_ardour/ardour_ui_dependents.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2000 Paul Davis + Copyright (C) 2000 Paul Davis This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -23,7 +23,9 @@ #include -#include +#include "pbd/error.h" + +#include "ardour/session.h" #include "ardour_ui.h" #include "public_editor.h" @@ -34,7 +36,6 @@ #include "opts.h" #include "i18n.h" -using namespace sigc; using namespace Gtk; using namespace PBD; @@ -48,12 +49,6 @@ using namespace ARDOUR; void ARDOUR_UI::shutdown () { - if (session) { - /* we're exiting cleanly, so remove any auto-save data */ - session->remove_pending_capture_state (); - session = 0; - } - ui_config->save_state(); } @@ -62,22 +57,21 @@ ARDOUR_UI::we_have_dependents () { install_actions (); ProcessorBox::register_actions (); - - Keyboard::setup_keybindings (); - - editor->UpdateAllTransportClocks.connect (mem_fun (*this, &ARDOUR_UI::update_transport_clocks)); + keyboard->setup_keybindings (); + editor->setup_tooltips (); + editor->UpdateAllTransportClocks.connect (sigc::mem_fun (*this, &ARDOUR_UI::update_transport_clocks)); } void ARDOUR_UI::connect_dependents_to_session (ARDOUR::Session *s) { BootMessage (_("Setup Editor")); - editor->connect_to_session (s); + editor->set_session (s); BootMessage (_("Setup Mixer")); - mixer->connect_to_session (s); + mixer->set_session (s); /* its safe to do this now */ - + BootMessage (_("Reload Session History")); s->restore_history (""); } @@ -93,12 +87,13 @@ void ARDOUR_UI::goto_editor_window () { if (splash && splash->is_visible()) { - // in 2 seconds, hide the splash screen - Glib::signal_timeout().connect (bind (sigc::ptr_fun (_hide_splash), this), 2000); + // in 2 seconds, hide the splash screen + Glib::signal_timeout().connect (sigc::bind (sigc::ptr_fun (_hide_splash), this), 2000); } editor->show_window (); editor->present (); + _mixer_on_top = false; flush_pending (); } @@ -107,12 +102,31 @@ ARDOUR_UI::goto_mixer_window () { mixer->show_window (); mixer->present (); + _mixer_on_top = true; flush_pending (); } +void +ARDOUR_UI::toggle_editor_mixer_on_top () +{ + if (_mixer_on_top) { + goto_editor_window (); + } else { + goto_mixer_window (); + } +} + +/** The main editor window has been closed */ gint -ARDOUR_UI::exit_on_main_window_close (GdkEventAny *ev) +ARDOUR_UI::exit_on_main_window_close (GdkEventAny * /*ev*/) { +#ifdef TOP_MENUBAR + /* just hide the window, and return - the top menu stays up */ + editor->hide (); + return TRUE; +#else + /* time to get out of here */ finish(); return TRUE; +#endif }