Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-26Cleanup: remove redundant BKE/BLI/BIF headersCampbell Barton
2019-01-15Cleanup: replace usages of deprecated BKE_libblock_free by BKE_id_free.Bastien Montagne
2018-11-28WM: remove tool initialization codeCampbell Barton
Area initialization handles these cases now.
2018-11-07Cleanup: remove some useless BKE_library and BKE_main includes.Bastien Montagne
Makes it simpler to make some changes... Also fix order of some includes (use alphabetical please).
2018-11-07UI: Use icons for some operators.Pablo Vazquez
* Area and Workspace duplicate. * Toggle Area Fullscreen * Operator Search * Workspace reorder to front/back (arrows help to know which direction means front/back)
2018-10-30Fix memory leak in workspace menuCampbell Barton
2018-09-18Application Templates: make templates more prominent in the UI.Brecht Van Lommel
The goal here is to make app templates usable for default templates that we can ship with Blender. These only have a custom startup.blend currently and so are quite limited compared to app templates that fully customize Blender. But still it seems like the same kind of concept where we should be sharing the code and UI. It is useful to be able to save a startup.blend per template, and I can imagine some scripting being useful in the future as well. Changes made: * File > New and Ctrl+N now list the templates, replacing a separate Application Templates menu that was not as easy to discover. * File menu now shows name of active template above Save Startup File and Load Factory Settings to indicate these are saved/loaded per template. * The "Default" template was renamed to "General". * Workspaces can now be added from any of the template startup.blend files when clicking the (+) button in the topbar. * User preferences are now fully shared between app templates, unless the template includes a custom userpref.blend. I think this will be useful in general, not all app templates need their own keymaps for example. * Previously Save User Preferences would save the current app template and then Blender would start using that template by default. I've disabled this, to me it seems it was unintentional, or at least not clear at all that saving user preferences also makes the current Differential Revision: https://developer.blender.org/D3690
2018-09-11Workspace: support reordering of workspaces from RMB menu.Brecht Van Lommel
Drag and drop will follow later, it's a bit complicated to make this work reliable in the current UI code.
2018-08-30Workspaces: switch object mode when switching workspaces.Brecht Van Lommel
In the workspace properties a mode can now be configured that is automatically enabled when switching to the workspace. This is a test to validate how well it works. The weak point is that if you don't have an appropriate object already select it will not switch modes. See T56475.
2018-08-23Workspaces: move delete to right click menu, instead of X on tab.Brecht Van Lommel
These are not intended to be closed as often as e.g. browser tabs, they are intended to be more persistent and accidental closing should be avoided.
2018-08-20Workspaces: remove separate workspaces.blend config file.Brecht Van Lommel
This is quite confusing in the current UI, with both startup.blend and workspaces.blend containing a list of workspaces. In practice you'd usually want to save workspaces to both files. The downside of having a single file may be that you then can't disable certain workspaces by default, but we could add a setting for that.
2018-08-20Workspaces: replace bundled workspace.blend with embedded startup.blend.Brecht Van Lommel
We want these to have the same workspaces in both, so there is no reason to have two files that are identical.
2018-08-20Fix system workspaces.blend not being found on some systems.Brecht Van Lommel
2018-07-04Workspaces: change behavior when window layout for workspace is missing.Brecht Van Lommel
When switching the workspace in a window that does not yet have a layout for the newly active workspace, we now duplicate the layout from the previously active workspace. Previously it duplicated the layout from the first window in the newly active workspace.
2018-07-04Workspaces: store view layer per main window, instead of per workspace.Brecht Van Lommel
It was a bit odd that the scene was stored per window but not the view layer. The reasoning was that you would use different view layers for different tasks. This is still possible, but it's more predictable to switch them both explicitly, and with child window support manually syncing the view layers between multiple windows is no longer needed as often.
2018-07-04Workspaces: add main and child windows.Brecht Van Lommel
* Main windows show a topbar and statusbar, and select a workspace and scene. They are created with Window > New Main Window. * Child windows do not show a topbar or statusbar. These follow the workspace and scene of their parent main window. Created with Window > New Window or View > Duplicate Area into New Window. * The purpose of this change is to support multi monitor setups where you just want to put more editors on the other monitors. Without multiple topbars and statusbars, working within a single workspace and scene. Creating multiple main windows is intended to be a concious choice to do different tasks in different workspaces and scenes. * Note these changes do not currently affect how the operating system treats the windows. * When changing the workspace, the layout in all child windows changes. This makes sense if we consider child windows to be just a way to extend the main window across more monitors. In some case it may be useful to keep the same layout though, we can add an option for this depending on user feedback.
2018-07-02Merge branch 'master' into blender2.8Campbell Barton
2018-06-06Cleanup: get rid of just-added G.main usage.Bastien Montagne
Was just added to ease merging of master, proper code now!
2018-05-25Fix T55183, fix T55174: crashes with workspace / view layer relation.Brecht Van Lommel
Don't store pointers to ViewLayer in the workspace, only names. Add specific relation type since the generic mechanism makes the code hard to follow. Integrate with pointer restore for undo and library remapping code to avoid data going out of sync. Also add relation automatically if there doesn't exists one yet in BKE_workspace_view_layer_get, because in general it's really hard to ensure it will exist when making arbitrary scene changes. Differential Revision: https://developer.blender.org/D3432
2018-05-23Cleanup: move toolsystem into own includeCampbell Barton
Many files using the window manager don't access the tool-system. This avoids rebuilding many files when the tool-system changes.
2018-05-18Fix tools not being initialized on startupCampbell Barton
2018-05-17Tool System: per space/mode tool supportCampbell Barton
This patch adds support for: - Per space-type tools (3D view and edit). - Per mode tools (object, edit, weight-paint .. etc). The top-bar shows the last activated tools options, this is a design issue with using a global topbar to show per-space settings. See D3395
2018-05-13Fix/workaround crash when appending workspace in edit modeJulian Eisel
Linking/appending in edit mode currently isn't supported. For workspaces it should probably be, but we can look into supporting this later. For now gray out buttons in "Add Workspace" menu while in edit mode.
2018-04-20UI: New Global Top-Bar (WIP)Julian Eisel
== Main Features/Changes for Users * Add horizontal bar at top of all non-temp windows, consisting out of two horizontal sub-bars. * Upper sub-bar contains global menus (File, Render, etc.), tabs for workspaces and scene selector. * Lower sub-bar contains object mode selector, screen-layout and render-layer selector. Later operator and/or tool settings will be placed here. * Individual sections of the topbar are individually scrollable. * Workspace tabs can be double- or ctrl-clicked for renaming and contain 'x' icon for deleting. * Top-bar should scale nicely with DPI. * The lower half of the top-bar can be hided by dragging the lower top-bar edge up. Better hiding options are planned (e.g. hide in fullscreen modes). * Info editors at the top of the window and using the full window width with be replaced by the top-bar. * In fullscreen modes, no more info editor is added on top, the top-bar replaces it. == Technical Features/Changes * Adds initial support for global areas A global area is part of the window, not part of the regular screen-layout. I've added a macro iterator to iterate over both, global and screen-layout level areas. When iterating over areas, from now on developers should always consider if they have to include global areas. * Adds a TOPBAR editor type The editor type is hidden in the UI editor type menu. * Adds a variation of the ID template to display IDs as tab buttons (template_ID_tabs in BPY) * Does various changes to RNA button creation code to improve their appearance in the horizontal top-bar. * Adds support for dynamically sized regions. That is, regions that scale automatically to the layout bounds. The code for this is currently a big hack (it's based on drawing the UI multiple times). This should definitely be improved. * Adds a template for displaying operator properties optimized for the top-bar. This will probably change a lot still and is in fact disabled in code. Since the final top-bar design depends a lot on other 2.8 designs (mainly tool-system and workspaces), we decided to not show the operator or tool settings in the top-bar for now. That means most of the lower sub-bar is empty for the time being. NOTE: Top-bar or global area data is not written to files or SDNA. They are simply added to the window when opening Blender or reading a file. This allows us doing changes to the top-bar without having to care for compatibility. == ToDo's It's a bit hard to predict all the ToDo's here are the known main ones: * Add options for the new active-tool system and for operator redo to the topbar. * Automatically hide the top-bar in fullscreen modes. * General visual polish. * Top-bar drag & drop support (WIP in temp-tab_drag_drop). * Improve dynamic regions (should also fix some layout glitches). * Make internal terminology consistent. * Enable topbar file writing once design is more advanced. * Address TODO's and XXX's in code :) Thanks @brecht for the review! And @sergey for the complaining ;) Differential Revision: D2758
2018-04-18Workspaces: remove workspace engine, use 3D viewport draw mode instead.Brecht Van Lommel
ViewRender was removed, which means we can't get the render engine for files saved in 2.8. We assume that any files saved in 2.8 were intended to use Eevee and set the engine to that. A fix included with this is that .blend thumbails now draw with Clay mode, and never Eevee or Cycles. These were drawn with solid mode in 2.7, and should be very fast and not e.g. load heavy image textures. Differential Revision: https://developer.blender.org/D3156
2018-04-18Move transform orientation to sceneCampbell Barton
This was stored in the workspace, selected from the view. Move both to scene since custom orientations are closely related to your scene data.
2018-04-12UI: Activate workspace after appending it using the '+' menuJulian Eisel
Could use an operator-macro if they'd support own RNA-properties. For now added a wrapper operator.
2018-04-09Fix crash and invalid context when changing workspaceJulian Eisel
Caused by 1c24c04e6023f2d2a3.
2018-04-05Remove workspace object mode, reverts changes w/ 2.8Campbell Barton
This caused too many problems syncing object modes with multiple objects/windows/workspaces, see: D3130 for details.
2018-03-21Fix crash when changing workspacesJulian Eisel
Steps to reproduce were: * Append a workspace (via '+' icon) - make sure its from the default workspaces.blend * Activate it * Should crash Was accessing data from view-layer which wasn't updated yet (and thus could be NULL). Crash occured after rB8153f89518b4a. @campbellbarton, you may want to check if all object-mode stuff still works as expected, not sure what's the state of it.
2018-03-03WorkSpace: use existing mode data w/ scene-switchCampbell Barton
Check if mode data exists before attempting to change the modes.
2018-03-03WorkSpace: avoid redundant notifiers w/ mode syncCampbell Barton
2018-03-03WorkSpace: always change modes w/ the same active objectCampbell Barton
2018-03-02WorkSpace: Simplify exiting mode after changesCampbell Barton
It was too tricky to know ahead of time if an object would still be visible in the new window/workspace/scene/layer combination, especially since other windows may share some of these data-blocks. So store the context, make the change, then check if the object is still visible, freeing mode data of it's not.
2018-03-02WorkSpace: move edit mode w/ sync into own funcCampbell Barton
2018-03-02WorkSpace: ED_workspace_object_mode_in_other_window check other windowsCampbell Barton
The same workspace can have different active objects depending on the window. So check other windows.
2018-03-02WorkSpace: object-sync when changing workspaces.Campbell Barton
2018-03-02Cleanup: rename 'screen_changed_update'Campbell Barton
Match 'workspace_change_update'.
2018-03-01WorkSpace: fix mode exiting w/ multi-windowCampbell Barton
Activating an object exited modes for all other objects in the layer. Now check these objects aren't active in other windows first.
2018-02-28WorkSpace: use existing objects mode on selectCampbell Barton
When selecting an object which is already visible in another window use the mode from that workspace without performing any mode switching.
2018-02-28Workspace: sync object-modes to other workspacesCampbell Barton
When changing the mode of an object, apply this to all other workspaces that share the same active object. Also use copy the object-mode when duplicating workspaces.
2018-02-22WorkSpace: object-mode switching supportCampbell Barton
When changing workspaces, existing object-mode data is freed the new workspaces mode is entered (if possible).
2018-02-08Object Mode: move to workspace structCampbell Barton
- Read-only access can often use EvaluationContext.object_mode - Write access to go to WorkSpace.object_mode. - Some TODO's remain (marked as "TODO/OBMODE") - Add-ons will need updating (context.active_object.mode -> context.workspace.object_mode) - There will be small/medium issues that still need resolving this does work on a basic level though. See D3037
2017-12-01Workspaces: Store an active view-layer per sceneJulian Eisel
Instead of storing a single active view-layer in the workspace, one is stored for each scene the workspace showed before. With this, some things become possible: * Multiple windows in the same workspace but showing different scenes. * Toggling back and forth scene keeps same active view-layer for each scene. * Activating workspace which didn't show current scene before, the current view-layer is kept. A necessary evil for this is that accessing view-layer and object mode from .py can't be done via workspace directly anymore. It has to be done through the window, so RNA can use the correct scene. So instead of `workspace.view_layer`, it's `window.view_layer` now (same with mode) even though it's still workspace data. Fixes T53432.
2017-11-27WM: don't change selection on workspace appendCampbell Barton
2017-11-27Tool System: show manipulators at startupCampbell Barton
Support duplicating, switching workspaces too.
2017-11-27Fix crash duplicating workspaceCampbell Barton
2017-11-23Rename any instance of scene layer or render layer in code with view layerDalai Felinto
The RenderResult struct still has a listbase of RenderLayer, but that's ok since this is strictly for rendering. * Subversion bump (to 2.80.2) * DNA low level doversion (renames) - only for .blend created since 2.80 started Note: We can't use DNA_struct_elem_find or get file version in init_structDNA, so we are manually iterating over the array of the SDNA elements instead. Note 2: This doversion change with renames can be reverted in a few months. But so far it's required for 2.8 files created between October 2016 and now. Reviewers: campbellbarton, sergey Differential Revision: https://developer.blender.org/D2927
2017-10-31Merge branch 'master' into blender2.8Campbell Barton