Add bottom dock tab style setting

This commit is contained in:
kobewi 2025-11-22 18:40:57 +01:00
parent 369afc7b46
commit 92ce6c7b75
10 changed files with 56 additions and 20 deletions

View file

@ -540,25 +540,33 @@ void EditorDockManager::_update_tab_style(EditorDock *p_dock) {
tab_container->get_tab_bar()->set_font_color_override_all(index, p_dock->title_color);
const TabStyle style = (TabStyle)EDITOR_GET("interface/editor/dock_tab_style").operator int();
const TabStyle style = (tab_container == EditorNode::get_bottom_panel())
? (TabStyle)EDITOR_GET("interface/editor/bottom_dock_tab_style").operator int()
: (TabStyle)EDITOR_GET("interface/editor/dock_tab_style").operator int();
const Ref<Texture2D> icon = _get_dock_icon(p_dock, callable_mp((Control *)tab_container, &Control::get_editor_theme_icon));
bool assign_icon = p_dock->force_show_icon;
switch (style) {
case TabStyle::TEXT_ONLY: {
tab_container->set_tab_title(index, p_dock->get_display_title());
tab_container->set_tab_icon(index, Ref<Texture2D>());
tab_container->set_tab_tooltip(index, String());
} break;
case TabStyle::ICON_ONLY: {
tab_container->set_tab_title(index, icon.is_valid() ? String() : p_dock->get_display_title());
tab_container->set_tab_icon(index, icon);
tab_container->set_tab_tooltip(index, p_dock->get_display_title());
assign_icon = true;
} break;
case TabStyle::TEXT_AND_ICON: {
tab_container->set_tab_title(index, p_dock->get_display_title());
tab_container->set_tab_icon(index, icon);
tab_container->set_tab_tooltip(index, String());
assign_icon = true;
} break;
}
if (assign_icon) {
tab_container->set_tab_icon(index, icon);
} else {
tab_container->set_tab_icon(index, Ref<Texture2D>());
}
}
void EditorDockManager::save_docks_to_config(Ref<ConfigFile> p_layout, const String &p_section) const {