Make summary display optional.
authorCarl Hetherington <carl@carlh.net>
Sun, 14 Jun 2009 18:54:38 +0000 (18:54 +0000)
committerCarl Hetherington <carl@carlh.net>
Sun, 14 Jun 2009 18:54:38 +0000 (18:54 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@5191 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/ardour.menus.in
gtk2_ardour/editor.cc
gtk2_ardour/editor.h
gtk2_ardour/editor_actions.cc
libs/ardour/ardour/session_configuration_vars.h

index b3dcd867801d1f81b7e9a827938d4b24dbfd4c92..e965f0dee63b0560b38cf9ec446e9ba741b97429 100644 (file)
               <menuitem action='show-editor-list'/>
                <menuitem action='ToggleMeasureVisibility'/>
                <menuitem action='ToggleWaveformsWhileRecording'/>
+               <menuitem action='ToggleSummary'/>
         </menu>
         <menu name='JACK' action='JACK'>
                <menuitem action='JACKDisconnect'/>
index cb7dcd0a4647c6015f526bc5493b53ff39cbd788..bb27a4a7ec5517ed07f048f2ba2be384a8b86bd3 100644 (file)
@@ -933,8 +933,11 @@ Editor::show_window ()
        if (! is_visible ()) {
                show_all ();
 
-                /* re-hide editor list if necessary */
-                editor_list_button_toggled ();
+               /* re-hide editor list if necessary */
+               editor_list_button_toggled ();
+
+               /* re-hide summary widget if necessary */
+               parameter_changed ("show-summary");
 
                /* now reset all audio_time_axis heights, because widgets might need
                   to be re-hidden
@@ -1317,6 +1320,7 @@ Editor::connect_to_session (Session *t)
        }
 
        Config->map_parameters (mem_fun (*this, &Editor::parameter_changed));
+       session->config.map_parameters (mem_fun (*this, &Editor::parameter_changed));
        
        session->StateSaved.connect (mem_fun(*this, &Editor::session_state_saved));
        
index 24d43c1b44f1a781c3ce432124d1ca5091e758e6..fcfcd4bdb9af853007ecc15536d508673a9f423d 100644 (file)
@@ -341,6 +341,7 @@ class Editor : public PublicEditor
 
        void toggle_zero_line_visibility ();
        void toggle_waveforms_while_recording ();
+       void set_summary ();
        void toggle_measure_visibility ();
        void toggle_logo_visibility ();
 
index 585eff23e702179c188bdffbd0a484220509303c..f3a3fac2e3b161fe48eb53f6fd58df000a0f3243 100644 (file)
@@ -806,6 +806,9 @@ Editor::register_actions ()
        ActionManager::register_action (editor_actions, X_("importFromSession"), _("Import From Session"), mem_fun(*this, &Editor::session_import_dialog));
 
        ActionManager::register_toggle_action (editor_actions, X_("ToggleWaveformsWhileRecording"), _("Show Waveforms While Recording"), mem_fun (*this, &Editor::toggle_waveforms_while_recording));
+
+       ActionManager::register_toggle_action (editor_actions, X_("ToggleSummary"), _("Show Summary"), mem_fun (*this, &Editor::set_summary));
+       
        ActionManager::register_toggle_action (editor_actions, X_("ToggleMeasureVisibility"), _("Show Measures"), mem_fun (*this, &Editor::toggle_measure_visibility));
        
        /* if there is a logo in the editor canvas, its always visible at startup */
@@ -882,6 +885,16 @@ Editor::toggle_waveforms_while_recording ()
        }
 }
 
+void
+Editor::set_summary ()
+{
+       Glib::RefPtr<Action> act = ActionManager::get_action (X_("Editor"), X_("ToggleSummary"));
+       if (act) {
+               Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
+               session->config.set_show_summary (tact->get_active ());
+       }
+}
+
 void
 Editor::toggle_measure_visibility ()
 {
@@ -1260,6 +1273,22 @@ Editor::parameter_changed (std::string p)
                update_just_smpte ();
        } else if (p == "show-track-meters") {
                toggle_meter_updating();
+       } else if (p == "show-summary") {
+               
+               bool const s = session->config.get_show_summary ();
+               if (s) {
+                       _summary->show ();
+               } else {
+                       _summary->hide ();
+               }
+
+               Glib::RefPtr<Action> act = ActionManager::get_action (X_("Editor"), X_("ToggleSummary"));
+               if (act) {
+                       Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
+                       if (tact->get_active () != s) {
+                               tact->set_active (s);
+                       }
+               }
        }
 }
 
index 51dbc3dad90564dc25d65ce81682134884a85e39..e3bb7283cbc35941f035c7aebeba3984a8fe1a0a 100644 (file)
@@ -45,3 +45,4 @@ CONFIG_VARIABLE (bool, timecode_source_is_synced, "timecode-source-is-synced", t
 CONFIG_VARIABLE (bool, jack_time_master, "jack-time-master", true)
 CONFIG_VARIABLE (bool, use_video_sync, "use-video-sync", false)
 CONFIG_VARIABLE (float, video_pullup, "video-pullup", 0.0f)
+CONFIG_VARIABLE (bool, show_summary, "show-summary", true)