diff options
author | Severin <eiseljulian@gmail.com> | 2019-01-04 23:40:16 +0300 |
---|---|---|
committer | Julian Eisel <eiseljulian@gmail.com> | 2019-01-05 00:18:23 +0300 |
commit | a77b63c56943ebd0046f738e6abbea4c85dc65b6 (patch) | |
tree | 173dddb28838298d2319f4f062586ba8985728c1 /source/blender/blenloader | |
parent | 4b486eaec9763108fd471b7705133c45116df966 (diff) |
UI: Preferences Redesign Part 2
(Part 1 was 00963afc14978b)
Does the following changes visible to users:
* Use panels and sub-panels for more structured & logical grouping
* Re-organized options more logically than before (see images in D4148)
* Use flow layout (single column by default).
* New layout uses horizontal margin if there's enough space.
* Change size of Preferences window to suit new layout.
* Move keymap related options from "Input" into own section.
* Own, left-bottom aligned region for Save Preferences button.
* Adjustments of names, tooltips & icons.
* Move buttons from header into the main region (except editor switch).
* Hide Preferences header when opened in temporary window.
* Use full area width for header.
* Don't use slider but regular number widget for UI scale.
* Gray out animation player path option if player isn't "Custom"
Internal changes:
* Rearrange RNA properties to match changed UI structure.
* Introduces new "EXECUTE" region type, see reasoning in D3982.
* Changes to panel layout and AZone code for dynamic panel region.
* Bumps subversion and does versioning for new regions.
RNA changes are documented in the release notes:
https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Python_API/Preferences_API
Design & implementation mostly done by @billreynish and myself.
I recommend checking out the screenshots posted by William:
https://developer.blender.org/D4148#93787
Reviewed By: brecht
Maniphest Tasks: T54115
Differential Revision: https://developer.blender.org/D4148
Diffstat (limited to 'source/blender/blenloader')
-rw-r--r-- | source/blender/blenloader/intern/versioning_280.c | 36 | ||||
-rw-r--r-- | source/blender/blenloader/intern/versioning_userdef.c | 5 |
2 files changed, 37 insertions, 4 deletions
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c index 3b2950891f7..bf416fd2c02 100644 --- a/source/blender/blenloader/intern/versioning_280.c +++ b/source/blender/blenloader/intern/versioning_280.c @@ -2382,12 +2382,13 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain) ARegion *navigation_region = BKE_spacedata_find_region_type(slink, area, RGN_TYPE_NAV_BAR); if (!navigation_region) { + ARegion *main_region = BKE_spacedata_find_region_type(slink, area, RGN_TYPE_WINDOW); ListBase *regionbase = (slink == area->spacedata.first) ? &area->regionbase : &slink->regionbase; navigation_region = MEM_callocN(sizeof(ARegion), "userpref navigation-region do_versions"); - BLI_addhead(regionbase, navigation_region); /* order matters, addhead not addtail! */ + BLI_insertlinkbefore(regionbase, main_region, navigation_region); /* order matters, addhead not addtail! */ navigation_region->regiontype = RGN_TYPE_NAV_BAR; navigation_region->alignment = RGN_ALIGN_LEFT; } @@ -2691,9 +2692,7 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain) } } - { - /* Versioning code until next subversion bump goes here. */ - + if (!MAIN_VERSION_ATLEAST(bmain, 280, 40)) { if (!DNA_struct_elem_find(fd->filesdna, "ToolSettings", "char", "snap_transform_mode_flag")) { for (Scene *scene = bmain->scene.first; scene; scene = scene->id.next) { scene->toolsettings->snap_transform_mode_flag = @@ -2748,5 +2747,34 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain) ca->gpu_dof.ratio = 0.01f; } } + + for (bScreen *screen = bmain->screen.first; screen; screen = screen->id.next) { + for (ScrArea *area = screen->areabase.first; area; area = area->next) { + for (SpaceLink *sl = area->spacedata.first; sl; sl = sl->next) { + if (sl->spacetype == SPACE_USERPREF) { + ARegion *execute_region = BKE_spacedata_find_region_type(sl, area, RGN_TYPE_EXECUTE); + + if (!execute_region) { + ListBase *regionbase = (sl == area->spacedata.first) ? &area->regionbase : &sl->regionbase; + ARegion *ar_navbar = BKE_spacedata_find_region_type(sl, area, RGN_TYPE_NAV_BAR); + + execute_region = MEM_callocN(sizeof(ARegion), "execute region for properties"); + + BLI_assert(ar_navbar); + + BLI_insertlinkafter(regionbase, ar_navbar, execute_region); + + execute_region->regiontype = RGN_TYPE_EXECUTE; + execute_region->alignment = RGN_ALIGN_BOTTOM | RGN_SPLIT_PREV; + execute_region->flag |= RGN_FLAG_DYNAMIC_SIZE; + } + } + } + } + } + } + + { + /* Versioning code until next subversion bump goes here. */ } } diff --git a/source/blender/blenloader/intern/versioning_userdef.c b/source/blender/blenloader/intern/versioning_userdef.c index bb0ad9d3ce5..de5a1c8a79e 100644 --- a/source/blender/blenloader/intern/versioning_userdef.c +++ b/source/blender/blenloader/intern/versioning_userdef.c @@ -106,6 +106,11 @@ static void do_versions_theme(UserDef *userdef, bTheme *btheme) copy_v4_v4_char(btheme->tclip.metadatabg, U_theme_default.tima.metadatabg); copy_v4_v4_char(btheme->tclip.metadatatext, U_theme_default.tima.metadatatext); } + + if (!USER_VERSION_ATLEAST(280, 40)) { + copy_v4_v4_char(btheme->tuserpref.execution_buts, btheme->tuserpref.navigation_bar); + } + #undef USER_VERSION_ATLEAST } |