X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fardour_ui_dependents.cc;h=fbfc8c7afd844bd263d7350a320c517c75915a64;hb=49d939777056bf388841298e28494dad100d868e;hp=7438fab9f09d889c5abe96ef343cc2ebda92ac3c;hpb=ebb1271b6f666dadcaf6a73a6cb81231a70d8ad7;p=ardour.git diff --git a/gtk2_ardour/ardour_ui_dependents.cc b/gtk2_ardour/ardour_ui_dependents.cc index 7438fab9f0..fbfc8c7afd 100644 --- a/gtk2_ardour/ardour_ui_dependents.cc +++ b/gtk2_ardour/ardour_ui_dependents.cc @@ -50,14 +50,6 @@ namespace ARDOUR { using namespace ARDOUR; -void -ARDOUR_UI::shutdown () -{ - if (ui_config->dirty()) { - ui_config->save_state(); - } -} - void ARDOUR_UI::we_have_dependents () { @@ -78,6 +70,7 @@ ARDOUR_UI::connect_dependents_to_session (ARDOUR::Session *s) editor->set_session (s); BootMessage (_("Setup Mixer")); mixer->set_session (s); + meterbridge->set_session (s); /* its safe to do this now */ @@ -85,118 +78,6 @@ ARDOUR_UI::connect_dependents_to_session (ARDOUR::Session *s) s->restore_history (""); } -static bool -_hide_splash (gpointer arg) -{ - ((ARDOUR_UI*)arg)->hide_splash(); - return false; -} - -void -ARDOUR_UI::goto_editor_window () -{ - if (splash && splash->is_visible()) { - // 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 (); - flush_pending (); -} - -void -ARDOUR_UI::goto_mixer_window () -{ - if (!editor) { - return; - } - - Glib::RefPtr win = editor->get_window (); - Glib::RefPtr screen; - - if (win) { - screen = win->get_screen(); - } else { - screen = Gdk::Screen::get_default(); - } - - if (screen && screen->get_height() < 700) { - Gtk::MessageDialog msg (_("This screen is not tall enough to display the mixer window")); - msg.run (); - return; - } - - mixer->show_window (); - mixer->present (); - flush_pending (); -} - -void -ARDOUR_UI::toggle_mixer_window () -{ - Glib::RefPtr act = ActionManager::get_action (X_("Common"), X_("toggle-mixer")); - if (!act) { - return; - } - - Glib::RefPtr tact = Glib::RefPtr::cast_dynamic (act); - - if (tact->get_active()) { - goto_mixer_window (); - } else { - mixer->hide (); - } -} - -void -ARDOUR_UI::toggle_editor_mixer () -{ - if (editor && mixer) { - - if (editor->get_screen() != mixer->get_screen()) { - // different screens, so don't do anything - return; - } - - /* See if they are obscuring each other */ - - gint ex, ey, ew, eh; - gint mx, my, mw, mh; - - editor->get_position (ex, ey); - editor->get_size (ew, eh); - - mixer->get_position (mx, my); - mixer->get_size (mw, mh); - - GdkRectangle e; - GdkRectangle m; - GdkRectangle r; - - e.x = ex; - e.y = ey; - e.width = ew; - e.height = eh; - - m.x = mx; - m.y = my; - m.width = mw; - m.height = mh; - - if (!gdk_rectangle_intersect (&e, &m, &r)) { - /* they do not intersect so do not toggle */ - return; - } - } - - if (mixer && mixer->fully_visible()) { - goto_editor_window (); - } else { - goto_mixer_window (); - } -} - /** The main editor window has been closed */ gint ARDOUR_UI::exit_on_main_window_close (GdkEventAny * /*ev*/)