make config-window suitable for small[er] screens
[ardour.git] / gtk2_ardour / ardour_ui_ed.cc
index 9d1e8c3d8afce2d595a8270e1dc3e003a20a2c4d..6c050578ec0e9521fd91824cf4a85756527429bc 100644 (file)
@@ -137,7 +137,7 @@ ARDOUR_UI::install_actions ()
        ActionManager::session_sensitive_actions.push_back (act);
        act = ActionManager::register_action (main_actions, X_("CloseVideo"), _("Remove Video"),
                                              sigc::mem_fun (*this, &ARDOUR_UI::remove_video));
-       ActionManager::session_sensitive_actions.push_back (act);
+       act->set_sensitive (false);
        act = ActionManager::register_action (main_actions, X_("ExportVideo"), _("Export To Video File"),
                                              sigc::mem_fun (*editor, &PublicEditor::export_video));
        ActionManager::session_sensitive_actions.push_back (act);
@@ -229,6 +229,7 @@ ARDOUR_UI::install_actions ()
 
        ActionManager::register_toggle_action (common_actions, X_("toggle-mixer"), S_("Window|Mixer"),  sigc::mem_fun(*this, &ARDOUR_UI::toggle_mixer_window));
        ActionManager::register_action (common_actions, X_("toggle-editor-mixer"), _("Toggle Editor+Mixer"),  sigc::mem_fun(*this, &ARDOUR_UI::toggle_editor_mixer));
+       ActionManager::register_toggle_action (common_actions, X_("toggle-meterbridge"), S_("Window|Meterbridge"),  sigc::mem_fun(*this, &ARDOUR_UI::toggle_meterbridge));
 
        act = ActionManager::register_action (common_actions, X_("NewMIDITracer"), _("MIDI Tracer"), sigc::mem_fun(*this, &ARDOUR_UI::new_midi_tracer_window));
        ActionManager::session_sensitive_actions.push_back (act);
@@ -573,21 +574,28 @@ ARDOUR_UI::use_menubar_as_top_menubar ()
        Gtk::Widget* widget;
        Application* app = Application::instance ();
 
-       /* Quit will be taken of separately */
+        /* the addresses ("/ui/Main...") used below are based on the menu definitions in the menus file
+         */
+
+       /* Quit will be taken care of separately */
 
        if ((widget = ActionManager::get_widget ("/ui/Main/Session/Quit"))) {
                widget->hide ();
        }
 
+       /* Put items for About and Preferences into App menu (the
+        * ardour.menus.in file does not list them for OS X)
+        */
+
        GtkApplicationMenuGroup* group = app->add_app_menu_group ();
 
-       if ((widget = ActionManager::get_widget ("/ui/Main/Session/About"))) {
+       if ((widget = ActionManager::get_widget ("/ui/Main/Session/toggle-about"))) {
                app->add_app_menu_item (group, dynamic_cast<MenuItem*>(widget));
-       }
+        }
 
-       if ((widget = ActionManager::get_widget ("/ui/Main/Session/ToggleRCOptionsEditor"))) {
+       if ((widget = ActionManager::get_widget ("/ui/Main/Session/toggle-rc-options-editor"))) {
                app->add_app_menu_item (group, dynamic_cast<MenuItem*>(widget));
-       }
+        }
 
        app->set_menu_bar (*menu_bar);
 }
@@ -595,7 +603,7 @@ ARDOUR_UI::use_menubar_as_top_menubar ()
 void
 ARDOUR_UI::save_ardour_state ()
 {
-       if (!keyboard || !mixer || !editor) {
+       if (!keyboard || !mixer || !editor || !meterbridge) {
                return;
        }
 
@@ -612,7 +620,7 @@ ARDOUR_UI::save_ardour_state ()
 
        /* Windows */
 
-       WindowManager::instance().add_state (*window_node);
+       WM::Manager::instance().add_state (*window_node);
 
        /* tearoffs */
 
@@ -650,10 +658,12 @@ ARDOUR_UI::save_ardour_state ()
 
        XMLNode& enode (static_cast<Stateful*>(editor)->get_state());
        XMLNode& mnode (mixer->get_state());
+       XMLNode& bnode (meterbridge->get_state());
 
        if (_session) {
                _session->add_instant_xml (enode);
                _session->add_instant_xml (mnode);
+               _session->add_instant_xml (bnode);
                if (location_ui) {
                        _session->add_instant_xml (location_ui->ui().get_state ());
                }