diff options
Diffstat (limited to 'gtk2_ardour/mixer_ui.cc')
-rw-r--r-- | gtk2_ardour/mixer_ui.cc | 143 |
1 files changed, 15 insertions, 128 deletions
diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc index 762e7599ae..d7a4fc7917 100644 --- a/gtk2_ardour/mixer_ui.cc +++ b/gtk2_ardour/mixer_ui.cc @@ -305,7 +305,6 @@ Mixer_UI::track_editor_selection () PublicEditor::instance().get_selection().TracksChanged.connect (sigc::mem_fun (*this, &Mixer_UI::follow_editor_selection)); } -void Gtk::Window* Mixer_UI::use_own_window (bool and_fill_it) { @@ -325,70 +324,29 @@ Mixer_UI::use_own_window (bool and_fill_it) return win; } +void Mixer_UI::show_window () { - if (_parent_window) { - _parent_window->present (); - } - - if (!_visible) { /* was hidden, update status */ - - set_window_pos_and_size (); - - /* show/hide group tabs as required */ - parameter_changed ("show-group-tabs"); + Tabbable::show_window (); - /* now reset each strips width so the right widgets are shown */ - MixerStrip* ms; + /* show/hide group tabs as required */ + parameter_changed ("show-group-tabs"); - TreeModel::Children rows = track_model->children(); - TreeModel::Children::iterator ri; + /* now reset each strips width so the right widgets are shown */ + MixerStrip* ms; - for (ri = rows.begin(); ri != rows.end(); ++ri) { - ms = (*ri)[track_columns.strip]; - ms->set_width_enum (ms->get_width_enum (), ms->width_owner()); - /* Fix visibility of mixer strip stuff */ - ms->parameter_changed (X_("mixer-element-visibility")); - } - } + TreeModel::Children rows = track_model->children(); + TreeModel::Children::iterator ri; - if (!_parent_window) { - /* not in its own window, just switch main tabs to show mixer */ - int pagenum = ARDOUR_UI::instance()->tabs().page_num (*this); - ARDOUR_UI::instance()->tabs().set_current_page (pagenum); + for (ri = rows.begin(); ri != rows.end(); ++ri) { + ms = (*ri)[track_columns.strip]; + ms->set_width_enum (ms->get_width_enum (), ms->width_owner()); + /* Fix visibility of mixer strip stuff */ + ms->parameter_changed (X_("mixer-element-visibility")); } /* force focus into main area */ scroller_base.grab_focus (); - _visible = true; -} - -bool -Mixer_UI::hide_window (GdkEventAny *ev) -{ - if (_parent_window) { - /* unpack Mixer_UI from parent, put it back in the main tabbed - * notebook - */ - - get_window_pos_and_size (); - - get_parent()->remove (*this); - ARDOUR_UI::instance()->tabs().insert_page (*this, _("Mixer"), 1); - ARDOUR_UI::instance()->tabs().set_tab_detachable (*this); - ARDOUR_UI::instance()->tabs().set_current_page (0); - - show_all (); - - delete_when_idle (_parent_window); - _parent_window = 0; - } - - ARDOUR_UI::instance()->tabs().set_current_page (0); - - _visible = false; - - return true; } void @@ -1002,31 +960,6 @@ Mixer_UI::fast_update_strips () } void -Mixer_UI::show_window () -{ - Tabbable::show_window (); - - /* show/hide group tabs as required */ - parameter_changed ("show-group-tabs"); - - /* now reset each strips width so the right widgets are shown */ - MixerStrip* ms; - - TreeModel::Children rows = track_model->children(); - TreeModel::Children::iterator ri; - - for (ri = rows.begin(); ri != rows.end(); ++ri) { - ms = (*ri)[track_columns.strip]; - ms->set_width_enum (ms->get_width_enum (), ms->width_owner()); - /* Fix visibility of mixer strip stuff */ - ms->parameter_changed (X_("mixer-element-visibility")); - } - - /* force focus into main area */ - scroller_base.grab_focus (); -} - -void Mixer_UI::set_all_strips_visibility (bool yn) { TreeModel::Children rows = track_model->children(); @@ -1351,7 +1284,7 @@ Mixer_UI::strip_property_changed (const PropertyChange& what_changed, MixerStrip } } -x error << _("track display list item for renamed strip not found!") << endmsg; + error << _("track display list item for renamed strip not found!") << endmsg; } bool @@ -1723,54 +1656,8 @@ int Mixer_UI::set_state (const XMLNode& node, int version) { const XMLProperty* prop; - XMLNode* geometry; - - m_width = default_width; - m_height = default_height; - m_root_x = 1; - m_root_y = 1; - - if ((geometry = find_named_node (node, "geometry")) != 0) { - /* if there's a geometry node, we have our own window */ - - create_own_window (); - Gtk::Notebook* notebook = (Gtk::Notebook*) _parent_window->get_child(); - Gtk::Widget* parent = get_parent(); - if (parent) { - ((Gtk::Container*)parent)->remove (*this); - } - notebook->append_page (*this, _("Mixer")); - - XMLProperty* prop; - - if ((prop = geometry->property("x_size")) == 0) { - prop = geometry->property ("x-size"); - } - if (prop) { - m_width = atoi(prop->value()); - } - if ((prop = geometry->property("y_size")) == 0) { - prop = geometry->property ("y-size"); - } - if (prop) { - m_height = atoi(prop->value()); - } - - if ((prop = geometry->property ("x_pos")) == 0) { - prop = geometry->property ("x-pos"); - } - if (prop) { - m_root_x = atoi (prop->value()); - - } - if ((prop = geometry->property ("y_pos")) == 0) { - prop = geometry->property ("y-pos"); - } - if (prop) { - m_root_y = atoi (prop->value()); - } - } + Tabbable::set_state (node, version); if ((prop = node.property ("narrow-strips"))) { if (string_is_affirmative (prop->value())) { |