From 8e444ba45d25a22eea7b4c95b7036a444ca0c08a Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 29 Jan 2025 01:45:43 +0100 Subject: [PATCH] Correctly set sidebar tab selection for new users --- gtk2_ardour/editor.cc | 8 +++++--- gtk2_ardour/mixer_ui.cc | 8 +++++--- gtk2_ardour/trigger_page.cc | 8 +++++--- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index 87fdcbd476..767cb7362c 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -2254,10 +2254,12 @@ Editor::set_state (const XMLNode& node, int version) int32_t el_page; if (node.get_property (X_("editor-list-page"), el_page)) { _the_notebook.set_current_page (el_page); - std::string label (_the_notebook.get_tab_label_text (*_the_notebook.get_nth_page (el_page))); - _notebook_tab1.set_active (label); - _notebook_tab2.set_active (label); + } else { + el_page = _the_notebook.get_current_page (); } + std::string label (_the_notebook.get_tab_label_text (*_the_notebook.get_nth_page (el_page))); + _notebook_tab1.set_active (label); + _notebook_tab2.set_active (label); yn = false; node.get_property (X_("show-marker-lines"), yn); diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc index 34b8e6301c..aac4496a97 100644 --- a/gtk2_ardour/mixer_ui.cc +++ b/gtk2_ardour/mixer_ui.cc @@ -2663,10 +2663,12 @@ Mixer_UI::set_state (const XMLNode& node, int version) int32_t sidebar_page; if (node.get_property (X_("mixer-sidebar-page"), sidebar_page)) { _sidebar_notebook.set_current_page (sidebar_page); - std::string label (_sidebar_notebook.get_tab_label_text (*_sidebar_notebook.get_nth_page (sidebar_page))); - _sidebar_pager1.set_active (label); - _sidebar_pager2.set_active (label); + } else { + sidebar_page = _sidebar_notebook.get_current_page (); } + std::string label (_sidebar_notebook.get_tab_label_text (*_sidebar_notebook.get_nth_page (sidebar_page))); + _sidebar_pager1.set_active (label); + _sidebar_pager2.set_active (label); float fract; if (!node.get_property ("mixer-inner-pane-pos", fract) || fract > 1.0) { diff --git a/gtk2_ardour/trigger_page.cc b/gtk2_ardour/trigger_page.cc index f7631de68c..b3e3298ed2 100644 --- a/gtk2_ardour/trigger_page.cc +++ b/gtk2_ardour/trigger_page.cc @@ -291,10 +291,12 @@ TriggerPage::set_state (const XMLNode& node, int version) int32_t sidebar_page; if (node.get_property (X_("triggerpage-sidebar-page"), sidebar_page)) { _sidebar_notebook.set_current_page (sidebar_page); - std::string label (_sidebar_notebook.get_tab_label_text (*_sidebar_notebook.get_nth_page (sidebar_page))); - _sidebar_pager1.set_active (label); - _sidebar_pager2.set_active (label); + } else { + sidebar_page = _sidebar_notebook.get_current_page (); } + std::string label (_sidebar_notebook.get_tab_label_text (*_sidebar_notebook.get_nth_page (sidebar_page))); + _sidebar_pager1.set_active (label); + _sidebar_pager2.set_active (label); XMLNode* mn = node.child (_midi_editor->editor_name().c_str()); if (mn) {