diff options
author | RĂ©mi Verschelde <remi@verschelde.fr> | 2022-03-08 14:28:39 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-08 14:28:39 +0100 |
commit | 45fa14e1ae2740cef7c9396e671c0754191c7117 (patch) | |
tree | b41712161244dc6987eb2e61989ef43448679fd6 | |
parent | f470979732513436124c01a465b22f948637b5fa (diff) | |
parent | c0381594c35885c3cb8aa595e72518fe4fc47b41 (diff) |
Merge pull request #58850 from YeldhamDev/more_tab_regressions
-rw-r--r-- | doc/classes/TabContainer.xml | 2 | ||||
-rw-r--r-- | scene/gui/tab_bar.cpp | 6 | ||||
-rw-r--r-- | scene/gui/tab_container.cpp | 5 |
3 files changed, 6 insertions, 7 deletions
diff --git a/doc/classes/TabContainer.xml b/doc/classes/TabContainer.xml index 3ff4dffe65..bdc73ee3c4 100644 --- a/doc/classes/TabContainer.xml +++ b/doc/classes/TabContainer.xml @@ -121,7 +121,7 @@ <argument index="0" name="tab_idx" type="int" /> <argument index="1" name="title" type="String" /> <description> - Sets a custom title for the tab at index [code]tab_idx[/code] (tab titles default to the name of the indexed child node). Set it to blank to make it the child's name again. + Sets a custom title for the tab at index [code]tab_idx[/code] (tab titles default to the name of the indexed child node). Set it back to the child's name to make the tab default to it again. </description> </method> </methods> diff --git a/scene/gui/tab_bar.cpp b/scene/gui/tab_bar.cpp index a11248ec6b..2f5df9b756 100644 --- a/scene/gui/tab_bar.cpp +++ b/scene/gui/tab_bar.cpp @@ -71,7 +71,7 @@ Size2 TabBar::get_minimum_size() const { Ref<Texture2D> tex = tabs[i].icon; if (tex.is_valid()) { - ms.height = MAX(ms.height, tex->get_size().height); + ms.height = MAX(ms.height, tex->get_size().height + y_margin); ms.width += tex->get_size().width + hseparation; } @@ -91,13 +91,13 @@ Size2 TabBar::get_minimum_size() const { ms.width += button_highlight->get_margin(SIDE_LEFT) + rb->get_width() + hseparation; } - ms.height = MAX(rb->get_height() + style->get_minimum_size().height, ms.height); + ms.height = MAX(ms.height, rb->get_height() + y_margin); } if (close_visible) { ms.width += button_highlight->get_margin(SIDE_LEFT) + close->get_width() + hseparation; - ms.height = MAX(close->get_height() + style->get_minimum_size().height, ms.height); + ms.height = MAX(ms.height, close->get_height() + y_margin); } if (ms.width - ofs > style->get_minimum_size().width) { diff --git a/scene/gui/tab_container.cpp b/scene/gui/tab_container.cpp index 6e1f506e58..ee61c862b7 100644 --- a/scene/gui/tab_container.cpp +++ b/scene/gui/tab_container.cpp @@ -635,14 +635,13 @@ void TabContainer::set_tab_title(int p_tab, const String &p_title) { Control *child = get_tab_control(p_tab); ERR_FAIL_COND(!child); - if (p_title.is_empty()) { - tab_bar->set_tab_title(p_tab, String(child->get_name())); + tab_bar->set_tab_title(p_tab, p_title); + if (p_title == child->get_name()) { if (child->has_meta("_tab_name")) { child->remove_meta("_tab_name"); } } else { - tab_bar->set_tab_title(p_tab, p_title); child->set_meta("_tab_name", p_title); } |