merge with master, primarily for adrian's maximise-mixer change

This commit is contained in:
Paul Davis 2014-03-22 10:58:26 -04:00
commit 86343b6c15
9 changed files with 66 additions and 0 deletions

View File

@ -341,6 +341,7 @@
<menu name='View' action = 'View'>
<menuitem action='ToggleMaximalEditor'/>
<menuitem action='ToggleMaximalMixer'/>
<menuitem action='KeepTearoffs'/>
<separator/>

View File

@ -174,6 +174,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
void new_midi_tracer_window ();
void toggle_editing_space();
void toggle_mixer_space();
void toggle_keep_tearoffs();
Gtk::Tooltips& tooltips() { return _tooltips; }

View File

@ -574,3 +574,18 @@ ARDOUR_UI::editor_meter_peak_button_release (GdkEventButton* ev)
}
return true;
}
void
ARDOUR_UI::toggle_mixer_space()
{
Glib::RefPtr<Action> act = ActionManager::get_action ("Common", "ToggleMaximalMixer");
if (act) {
Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic(act);
if (tact->get_active()) {
mixer->maximise_mixer_space ();
} else {
mixer->restore_mixer_space ();
}
}
}

View File

@ -191,6 +191,7 @@ ARDOUR_UI::install_actions ()
/* windows visibility actions */
ActionManager::register_toggle_action (common_actions, X_("ToggleMaximalEditor"), _("Maximise Editor Space"), sigc::mem_fun (*this, &ARDOUR_UI::toggle_editing_space));
ActionManager::register_toggle_action (common_actions, X_("ToggleMaximalMixer"), _("Maximise Mixer Space"), sigc::mem_fun (*this, &ARDOUR_UI::toggle_mixer_space));
act = ActionManager::register_toggle_action (common_actions, X_("KeepTearoffs"), _("Show Toolbars"), mem_fun (*this, &ARDOUR_UI::toggle_keep_tearoffs));
ActionManager::session_sensitive_actions.push_back (act);

View File

@ -167,6 +167,7 @@
<Binding action="Editor/pitch-shift-region" key="F5"/>
<Binding action="Editor/select-range-between-cursors" key="F6"/>
<Binding action="Common/ToggleMaximalEditor" key="F11"/>
<Binding action="Common/ToggleMaximalMixer" key="F12"/>
<Binding action="Editor/save-visual-state-1" key="Primary-F1"/>
<Binding action="Editor/save-visual-state-2" key="Primary-F2"/>
<Binding action="Editor/save-visual-state-3" key="Primary-F3"/>

View File

@ -163,6 +163,7 @@
; (gtk_accel_path "<Actions>/Snap/snap-to-eighths" "")
(gtk_accel_path "<Actions>/Editor/select-all-after-playhead" "<@TERTIARY@><@PRIMARY@>p")
(gtk_accel_path "<Actions>/Common/ToggleMaximalEditor" "F11")
(gtk_accel_path "<Actions>/Common/ToggleMaximalMixer" "F12")
; (gtk_accel_path "<Actions>/RegionList/SortBySourceFileLength" "")
; (gtk_accel_path "<Actions>/Editor/Timecode" "")
; (gtk_accel_path "<Actions>/Transport/PlaySelection" "")

View File

@ -240,6 +240,7 @@ Mixer_UI::Mixer_UI ()
group_display.show();
_in_group_rebuild_or_clear = false;
_maximised = false;
MixerStrip::CatchDeletion.connect (*this, invalidator (*this), boost::bind (&Mixer_UI::remove_strip, this, _1), gui_context());
@ -1559,6 +1560,19 @@ Mixer_UI::set_state (const XMLNode& node)
}
}
if ((prop = node.property ("maximised"))) {
bool yn = string_is_affirmative (prop->value());
Glib::RefPtr<Action> act = ActionManager::get_action (X_("Common"), X_("ToggleMaximalMixer"));
assert (act);
Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic(act);
bool fs = tact && tact->get_active();
if (yn ^ fs) {
ActionManager::do_action ("Common",
"ToggleMaximalMixer");
}
}
return 0;
}
@ -1601,6 +1615,8 @@ Mixer_UI::get_state (void)
node->add_property ("show-mixer", _visible ? "yes" : "no");
node->add_property ("maximised", _maximised ? "yes" : "no");
return *node;
}
@ -1942,3 +1958,26 @@ Mixer_UI::toggle_midi_input_active (bool flip_others)
_session->set_exclusive_input_active (rl, onoff, flip_others);
}
void
Mixer_UI::maximise_mixer_space ()
{
if (_maximised) {
return;
}
fullscreen ();
_maximised = true;
}
void
Mixer_UI::restore_mixer_space ()
{
if (!_maximised) {
return;
}
unfullscreen();
_maximised = false;
}

View File

@ -80,6 +80,9 @@ class Mixer_UI : public Gtk::Window, public PBD::ScopedConnectionList, public AR
void show_strip (MixerStrip *);
void hide_strip (MixerStrip *);
void maximise_mixer_space();
void restore_mixer_space();
void ensure_float (Gtk::Window&);
MonitorSection* monitor_section() const { return _monitor_section; }
@ -279,6 +282,9 @@ class Mixer_UI : public Gtk::Window, public PBD::ScopedConnectionList, public AR
bool _following_editor_selection;
void monitor_section_going_away ();
/// true if we are in fullscreen mode
bool _maximised;
};
#endif /* __ardour_mixer_ui_h__ */

View File

@ -189,6 +189,7 @@ This mode provides many different operations on both regions and control points,
@trans|Editor/toggle-follow-playhead|<@PRIMARY@>f|toggle playhead tracking
@trans|Transport/ToggleFollowEdits|<@TERTIARY@>f|toggle playhead follows edits
@wvis|Common/ToggleMaximalEditor|<@PRIMARY@><@SECONDARY@>f|maximise editor space
@wvis|Common/ToggleMaximalMixer|F12|maximise mixer space
@wvis|Region/show-rhythm-ferret|<@WINDOW@>f|show rhythm ferret window
@mmode|MouseMode/set-mouse-mode-gain|g|region gain mode
@epp|Region/play-selected-regions|h|play selected region(s)