summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/ardour_ui.h7
-rw-r--r--gtk2_ardour/ardour_ui2.cc16
-rw-r--r--gtk2_ardour/ardour_ui_options.cc12
-rw-r--r--gtk2_ardour/editor.cc27
-rw-r--r--gtk2_ardour/editor.h6
-rw-r--r--gtk2_ardour/public_editor.h5
6 files changed, 39 insertions, 34 deletions
diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h
index b022c13ba4..c5d9dc1003 100644
--- a/gtk2_ardour/ardour_ui.h
+++ b/gtk2_ardour/ardour_ui.h
@@ -166,7 +166,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
void new_midi_tracer_window ();
void toggle_route_params_window ();
void toggle_editing_space();
- void toggle_editing_space_force(bool force);
void toggle_keep_tearoffs();
Gtk::Tooltips& tooltips() { return _tooltips; }
@@ -241,8 +240,10 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
gint exit_on_main_window_close (GdkEventAny *);
- void maximise_editing_space (bool force);
- void restore_editing_space (bool force);
+ void maximise_editing_space ();
+ void restore_editing_space ();
+
+ void update_tearoff_visibility ();
void setup_profile ();
void setup_tooltips ();
diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc
index b16c466f19..c8b0f673be 100644
--- a/gtk2_ardour/ardour_ui2.cc
+++ b/gtk2_ardour/ardour_ui2.cc
@@ -606,18 +606,26 @@ ARDOUR_UI::editor_realized ()
}
void
-ARDOUR_UI::maximise_editing_space (bool force)
+ARDOUR_UI::update_tearoff_visibility ()
{
if (editor) {
- editor->maximise_editing_space (force);
+ editor->update_tearoff_visibility ();
}
}
void
-ARDOUR_UI::restore_editing_space (bool force)
+ARDOUR_UI::maximise_editing_space ()
{
if (editor) {
- editor->restore_editing_space (force);
+ editor->maximise_editing_space ();
+ }
+}
+
+void
+ARDOUR_UI::restore_editing_space ()
+{
+ if (editor) {
+ editor->restore_editing_space ();
}
}
diff --git a/gtk2_ardour/ardour_ui_options.cc b/gtk2_ardour/ardour_ui_options.cc
index ea299b2f04..232c41b0c7 100644
--- a/gtk2_ardour/ardour_ui_options.cc
+++ b/gtk2_ardour/ardour_ui_options.cc
@@ -52,7 +52,7 @@ ARDOUR_UI::toggle_keep_tearoffs ()
{
ActionManager::toggle_config_state ("Common", "KeepTearoffs", &RCConfiguration::set_keep_tearoffs, &RCConfiguration::get_keep_tearoffs);
- ARDOUR_UI::toggle_editing_space_force (true);
+ ARDOUR_UI::update_tearoff_visibility();
}
void
@@ -277,20 +277,14 @@ ARDOUR_UI::toggle_video_sync()
void
ARDOUR_UI::toggle_editing_space()
{
- toggle_editing_space_force(false);
-}
-
-void
-ARDOUR_UI::toggle_editing_space_force(bool force)
-{
Glib::RefPtr<Action> act = ActionManager::get_action ("Common", "ToggleMaximalEditor");
if (act) {
Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic(act);
if (tact->get_active()) {
- maximise_editing_space (force);
+ maximise_editing_space ();
} else {
- restore_editing_space (force);
+ restore_editing_space ();
}
}
}
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index e096968b87..939c05b1e8 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -3929,36 +3929,35 @@ Editor::session_state_saved (string)
}
void
-Editor::maximise_editing_space (bool force)
+Editor::update_tearoff_visibility()
{
- if (_maximised && !force) {
- return;
- }
-
- fullscreen ();
-
bool visible = Config->get_keep_tearoffs();
_mouse_mode_tearoff->set_visible (visible);
_tools_tearoff->set_visible (visible);
_zoom_tearoff->set_visible (visible);
+}
+
+void
+Editor::maximise_editing_space ()
+{
+ if (_maximised) {
+ return;
+ }
+
+ fullscreen ();
_maximised = true;
}
void
-Editor::restore_editing_space (bool force)
+Editor::restore_editing_space ()
{
- if (!_maximised && !force) {
+ if (!_maximised) {
return;
}
unfullscreen();
- bool visible = Config->get_keep_tearoffs();
- _mouse_mode_tearoff->set_visible (visible);
- _tools_tearoff->set_visible (visible);
- _zoom_tearoff->set_visible (visible);
-
_maximised = false;
}
diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h
index af0863f263..5134b6a7a1 100644
--- a/gtk2_ardour/editor.h
+++ b/gtk2_ardour/editor.h
@@ -397,8 +397,10 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void prepare_for_cleanup ();
void finish_cleanup ();
- void maximise_editing_space(bool force);
- void restore_editing_space(bool force);
+ void maximise_editing_space();
+ void restore_editing_space();
+
+ void update_tearoff_visibility();
void reset_x_origin (framepos_t);
void reset_x_origin_to_follow_playhead ();
diff --git a/gtk2_ardour/public_editor.h b/gtk2_ardour/public_editor.h
index c660b3b5b6..b5d2cd7b6e 100644
--- a/gtk2_ardour/public_editor.h
+++ b/gtk2_ardour/public_editor.h
@@ -272,8 +272,9 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible {
virtual void finish_cleanup () = 0;
virtual void reset_x_origin (framepos_t frame) = 0;
virtual void remove_last_capture () = 0;
- virtual void maximise_editing_space (bool force) = 0;
- virtual void restore_editing_space (bool force) = 0;
+ virtual void maximise_editing_space () = 0;
+ virtual void restore_editing_space () = 0;
+ virtual void update_tearoff_visibility () = 0;
virtual framepos_t get_preferred_edit_position (bool ignore_playhead = false, bool from_context_menu = false) = 0;
virtual void toggle_meter_updating() = 0;
virtual void split_region_at_points (boost::shared_ptr<ARDOUR::Region>, ARDOUR::AnalysisFeatureList&, bool can_ferret, bool select_new = false) = 0;