mirror of https://github.com/godotengine/godot
Fix `TabContainer`'s minimum size ignoring the popup button
This commit is contained in:
parent
24333c4e3d
commit
4383cd06f1
|
|
@ -64,7 +64,7 @@ void EditorBottomPanel::_on_tab_changed(int p_idx) {
|
|||
|
||||
void EditorBottomPanel::_theme_changed() {
|
||||
int icon_width = get_theme_constant(SNAME("class_icon_size"), EditorStringName(Editor));
|
||||
int margin = bottom_hbox->get_minimum_size().x;
|
||||
int margin = bottom_hbox->get_minimum_size().width;
|
||||
if (get_popup()) {
|
||||
margin -= icon_width;
|
||||
}
|
||||
|
|
@ -128,12 +128,6 @@ void EditorBottomPanel::_repaint() {
|
|||
}
|
||||
}
|
||||
|
||||
Size2 EditorBottomPanel::get_minimum_size() const {
|
||||
Size2 min_size = TabContainer::get_minimum_size();
|
||||
min_size.x += bottom_hbox->get_combined_minimum_size().x;
|
||||
return min_size;
|
||||
}
|
||||
|
||||
void EditorBottomPanel::save_layout_to_config(Ref<ConfigFile> p_config_file, const String &p_section) const {
|
||||
Dictionary offsets;
|
||||
for (const KeyValue<String, int> &E : dock_offsets) {
|
||||
|
|
|
|||
|
|
@ -67,8 +67,6 @@ protected:
|
|||
void _notification(int p_what);
|
||||
|
||||
public:
|
||||
virtual Size2 get_minimum_size() const override;
|
||||
|
||||
void save_layout_to_config(Ref<ConfigFile> p_config_file, const String &p_section) const;
|
||||
void load_layout_from_config(Ref<ConfigFile> p_config_file, const String &p_section);
|
||||
|
||||
|
|
|
|||
|
|
@ -1031,15 +1031,13 @@ Size2 TabContainer::get_minimum_size() const {
|
|||
ms.width += theme_cache.tabbar_style->get_margin(SIDE_LEFT) + theme_cache.tabbar_style->get_margin(SIDE_RIGHT);
|
||||
ms.height += theme_cache.tabbar_style->get_margin(SIDE_TOP) + theme_cache.tabbar_style->get_margin(SIDE_BOTTOM);
|
||||
|
||||
if (!get_clip_tabs()) {
|
||||
if (get_popup()) {
|
||||
ms.width += theme_cache.menu_icon->get_width();
|
||||
}
|
||||
if (get_popup()) {
|
||||
ms.width += theme_cache.menu_icon->get_width();
|
||||
}
|
||||
|
||||
if (theme_cache.side_margin > 0 && get_tab_alignment() != TabBar::ALIGNMENT_CENTER &&
|
||||
(get_tab_alignment() != TabBar::ALIGNMENT_RIGHT || !get_popup())) {
|
||||
ms.width += theme_cache.side_margin;
|
||||
}
|
||||
if (theme_cache.side_margin > 0 && get_tab_alignment() != TabBar::ALIGNMENT_CENTER &&
|
||||
(get_tab_alignment() != TabBar::ALIGNMENT_RIGHT || !get_popup())) {
|
||||
ms.width += theme_cache.side_margin;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1078,9 +1076,7 @@ void TabContainer::set_popup(Node *p_popup) {
|
|||
if (had_popup != bool(popup)) {
|
||||
queue_redraw();
|
||||
_update_margins();
|
||||
if (!get_clip_tabs()) {
|
||||
update_minimum_size();
|
||||
}
|
||||
update_minimum_size();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue