Commit: 892c438aa772d3436029cc90c265e5ba4881c8bd Author: Campbell Barton Date: Sun Apr 21 16:46:08 2019 +1000 Branches: temp-topbar-ui https://developer.blender.org/rB892c438aa772d3436029cc90c265e5ba4881c8bd
Remove topbar by default except for paint workpaces =================================================================== M source/blender/blenloader/intern/versioning_defaults.c =================================================================== diff --git a/source/blender/blenloader/intern/versioning_defaults.c b/source/blender/blenloader/intern/versioning_defaults.c index 25bd738ce45..74999cdff9a 100644 --- a/source/blender/blenloader/intern/versioning_defaults.c +++ b/source/blender/blenloader/intern/versioning_defaults.c @@ -143,6 +143,11 @@ static ID *rename_id_for_versioning(Main *bmain, * This function can be emptied each time the startup.blend is updated. */ void BLO_update_defaults_startup_blend(Main *bmain, const char *app_template) { + /* For all builtin templates shipped with Blender. */ + bool builtin_template = (!app_template || STREQ(app_template, "2D_Animation") || + STREQ(app_template, "Sculpting") || STREQ(app_template, "VFX") || + STREQ(app_template, "Video_Editing")); + /* For all startup.blend files. */ for (bScreen *screen = bmain->screens.first; screen; screen = screen->id.next) { for (ScrArea *sa = screen->areabase.first; sa; sa = sa->next) { @@ -189,31 +194,29 @@ void BLO_update_defaults_startup_blend(Main *bmain, const char *app_template) } } - if (app_template == NULL) { + if (builtin_template) { /* Name all screens by their workspaces (avoids 'Default.###' names). */ - { - /* Default only has one window. */ - wmWindow *win = ((wmWindowManager *)bmain->wm.first)->windows.first; - for (WorkSpace *workspace = bmain->workspaces.first; workspace; - workspace = workspace->id.next) { - WorkSpaceLayout *layout = BKE_workspace_hook_layout_for_workspace_get(win->workspace_hook, - workspace); - bScreen *screen = layout->screen; - BLI_strncpy(screen->id.name + 2, workspace->id.name + 2, sizeof(screen->id.name) - 2); - BLI_libblock_ensure_unique_name(bmain, screen->id.name); - } + /* Default only has one window. */ + wmWindow *win = ((wmWindowManager *)bmain->wm.first)->windows.first; + for (WorkSpace *workspace = bmain->workspaces.first; workspace; + workspace = workspace->id.next) { + WorkSpaceLayout *layout = BKE_workspace_hook_layout_for_workspace_get(win->workspace_hook, + workspace); + bScreen *screen = layout->screen; + BLI_strncpy(screen->id.name + 2, workspace->id.name + 2, sizeof(screen->id.name) - 2); + BLI_libblock_ensure_unique_name(bmain, screen->id.name); } + } - { - /* 'UV Editing' should use UV mode. */ - bScreen *screen = BLI_findstring(&bmain->screens, "UV Editing", offsetof(ID, name) + 2); - for (ScrArea *sa = screen->areabase.first; sa; sa = sa->next) { - for (SpaceLink *sl = sa->spacedata.first; sl; sl = sl->next) { - if (sl->spacetype == SPACE_IMAGE) { - SpaceImage *sima = (SpaceImage *)sl; - if (sima->mode == SI_MODE_VIEW) { - sima->mode = SI_MODE_UV; - } + if (app_template == NULL) { + /* 'UV Editing' should use UV mode. */ + bScreen *screen = BLI_findstring(&bmain->screens, "UV Editing", offsetof(ID, name) + 2); + for (ScrArea *sa = screen->areabase.first; sa; sa = sa->next) { + for (SpaceLink *sl = sa->spacedata.first; sl; sl = sl->next) { + if (sl->spacetype == SPACE_IMAGE) { + SpaceImage *sima = (SpaceImage *)sl; + if (sima->mode == SI_MODE_VIEW) { + sima->mode = SI_MODE_UV; } } } @@ -264,11 +267,6 @@ void BLO_update_defaults_startup_blend(Main *bmain, const char *app_template) } } - /* For all builtin templates shipped with Blender. */ - bool builtin_template = (!app_template || STREQ(app_template, "2D_Animation") || - STREQ(app_template, "Sculpting") || STREQ(app_template, "VFX") || - STREQ(app_template, "Video_Editing")); - if (builtin_template) { /* Clear all tools to use default options instead, ignore the tool saved in the file. */ for (WorkSpace *workspace = bmain->workspaces.first; workspace; @@ -293,6 +291,34 @@ void BLO_update_defaults_startup_blend(Main *bmain, const char *app_template) } } + /* Show toopbar for sculpt/paint modes. */ + for (bScreen *screen = bmain->screens.first; screen; screen = screen->id.next) { + bool show_tool_header = false; + if (app_template == NULL) { + if (STR_ELEM(screen->id.name + 2, "Sculpting", "Texture Paint")) { + show_tool_header = true; + } + } + else if (STREQ(app_template, "2D_Animation")) { + if (STR_ELEM(screen->id.name + 2, "Sculpting", "Texture Paint")) { + show_tool_header = true; + } + } + + if (show_tool_header == false) { + for (ScrArea *sa = screen->areabase.first; sa; sa = sa->next) { + for (SpaceLink *sl = sa->spacedata.first; sl; sl = sl->next) { + ListBase *regionbase = (sl == sa->spacedata.first) ? &sa->regionbase : &sl->regionbase; + for (ARegion *ar = regionbase->first; ar; ar = ar->next) { + if (ar->regiontype == RGN_TYPE_TOOL_HEADER) { + ar->flag &= ~(RGN_FLAG_HIDDEN | RGN_FLAG_HIDDEN_BY_USER); + } + } + } + } + } + } + for (Scene *scene = bmain->scenes.first; scene; scene = scene->id.next) { BLI_strncpy(scene->r.engine, RE_engine_id_BLENDER_EEVEE, sizeof(scene->r.engine)); @@ -328,8 +354,8 @@ void BLO_update_defaults_startup_blend(Main *bmain, const char *app_template) } /* Rename light objects. */ - rename_id_for_versioning(bmain, ID_OB, "Light", "Light"); - rename_id_for_versioning(bmain, ID_LA, "Light", "Light"); + rename_id_for_versioning(bmain, ID_OB, "Lamp", "Light"); + rename_id_for_versioning(bmain, ID_LA, "Lamp", "Light"); for (Mesh *mesh = bmain->meshes.first; mesh; mesh = mesh->id.next) { /* Match default for new meshes. */ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs