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
2022-09-25Cleanup: remove redundant double parenthesisCampbell Barton
2022-09-24UI: Improved Font ThumbnailsHarley Acheson
Thumbnails of fonts that better show design, shapes, contents, intent, and intended language. Previews almost every known language - living and dead - and symbol, specialty fonts, etc. See D12032 for more details and samples. Differential Revision: https://developer.blender.org/D12032 Reviewed by Campbell Barton
2022-09-23Cleanup: replace int return value with boolCampbell Barton
2022-09-23Cleanup: spelling in commentsCampbell Barton
2022-09-21Fix compile error on (designated initializers in C++)Julian Eisel
2022-09-21Cleanup: Move file browser history handing to own fileJulian Eisel
Was placed in filelist.cc, which didn't make much sense since they deal with quite different things.
2022-09-21Refactor: Move file browser filelist.c to C++Julian Eisel
I'm adding some asset APIs/types in C++ that the file-listing code would use. I prefer porting this code to C++ over adding a C-API for the asset code. Includes some minor cleanups that shouldn't change behavior, like using `MEM_new()`/`MEM_cnew()`, C++ style C-library includes, `LISTBASE_FOREACH()`, removing unnecessary typedefs, etc.
2022-09-19Cleanup: spellingCampbell Barton
2022-09-16Cleanup: formatCampbell Barton
2022-09-16Make File Select dialog update operator's file & path propertiesColin Basnett
When an operator is attached to a file select dialog, the update callback function for the operator's directory, filename and filepath properties will be called as the user navigates through the dialog. This will allow add-on authors to make more interactive import operators. Differential Revision: https://developer.blender.org/D15543
2022-09-10Cleanup: replace strncpy with BLI_strncpyCampbell Barton
Also replace strncpy+strcat with BLI_string_join
2022-09-10Fix possible NULL pointer dereference in bookmark operatorsCampbell Barton
Although unlikely, the result of BKE_appdir_folder_id_create may be NULL. Check this for bookmark operators & move writing bookmarks into a shared utility function.
2022-09-10Cleanup: remove redundant NULL checksCampbell Barton
Checking if a property exists only makes sense for generic callbacks that apply to multiple operators.
2022-09-07Cleanup: factor out "set default filepath" into a ↵Aras Pranckevicius
ED_fileselect_ensure_default_filepath Follow up to D15904, a bunch of places had exact same logic for "is filepath set? if not, set some default one", so factor all that out into a separate ED_fileselect_ensure_default_filepath function.
2022-09-05GPU: convert 'GPU_SHADER_2D_IMAGE_COLOR' to 3DGermano Cavalcante
3D shaders work in both 2D and 3D viewports. This shader is a good candidate to be exposed in Python.
2022-09-05GPU: remove 'GPU_SHADER_2D_FLAT_COLOR'Germano Cavalcante
The only real difference between `GPU_SHADER_2D_FLAT_COLOR` and `GPU_SHADER_3D_FLAT_COLOR` is that in the vertex shader the 2D version uses `vec4(pos, 0.0, 1.0)` and the 3D version uses `vec4(pos, 1.0)`. But VBOs with 2D attributes work perfectly in shaders that use 3D attributes. Components not specified are filled with components from `vec4(0.0, 0.0, 0.0, 1.0)`. So there is no real benefit to having two different shader versions. This will simplify porting shaders to python as it will not be necessary to use a 3D and a 2D version of the shaders. In python the new name for '2D_FLAT_COLOR'' and '3D_FLAT_COLOR' is 'FLAT_COLOR', but the old names still work for backward compatibility.
2022-09-05GPU: remove 'GPU_SHADER_2D_UNIFORM_COLOR'Germano Cavalcante
The only real difference between `GPU_SHADER_2D_UNIFORM_COLOR` and `GPU_SHADER_3D_UNIFORM_COLOR` is that in the vertex shader the 2D version uses `vec4(pos, 0.0, 1.0)` and the 3D version uses `vec4(pos, 1.0)`. But VBOs with 2D attributes work perfectly in shaders that use 3D attributes. Components not specified are filled with components from `vec4(0.0, 0.0, 0.0, 1.0)`. So there is no real benefit to having two different shader versions. This will simplify porting shaders to python as it will not be necessary to use a 3D and a 2D version of the shaders. In python the new name for '2D_UNIFORM_COLOR'' and '3D_UNIFORM_COLOR' is 'UNIFORM_COLOR', but the old names still work for backward compatibility. Differential Revision: https://developer.blender.org/D15836
2022-08-27Cleanup: pass notifiers as constCampbell Barton
2022-08-15GPU: replace GLEW with libepoxyChristian Rauch
With libepoxy we can choose between EGL and GLX at runtime, as well as dynamically open EGL and GLX libraries without linking to them. This will make it possible to build with Wayland, EGL, GLVND support while still running on systems that only have X11, GLX and libGL. It also paves the way for headless rendering through EGL. libepoxy is a new library dependency, and is included in the precompiled libraries. GLEW is no longer a dependency, and WITH_SYSTEM_GLEW was removed. Includes contributions by Brecht Van Lommel, Ray Molenkamp, Campbell Barton and Sergey Sharybin. Ref T76428 Differential Revision: https://developer.blender.org/D15291
2022-08-15I18n: translate recent files and bookmarks in the file browserDamien Picard
This is not dynamic: it only happens when the dir is added to the list--automatically for recent files, and by the user for bookmarks. Entries can then be manually renamed like other dirs. They will keep the same name if the language is changed afterwards. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15629
2022-07-19UI: Port view item features to base class, merge view item button typesJulian Eisel
No user visible changes expected. Merges the tree row and grid tile button types, which were mostly doing the same things. The idea is that there is a button type for highlighting, as well as supporting general view item features (e.g. renaming, drag/drop, etc.). So instead there is a view item button type now. Also ports view item features like renaming, custom context menus, drag controllers and drop controllers to `ui::AbstractViewItem` (the new base class for all view items). This should be quite an improvement because: - Merges code that was duplicated over view items. - Mentioned features (renaming, drag & drop, ...) are much easier to implement in new view types now. Most of it comes "for free". - Further features will immediately become availalbe to all views (e.g. selection). - Simplifies APIs, there don't have to be functions for individual view item types anymore. - View item classes are split and thus less overwhelming visually. - View item buttons now share all code (drawing, handling, etc.) - We're soon running out of available button types, this commit merges two into one. I was hoping I could do this in multiple smaller commits, but things were quite intertwined so that would've taken quite some effort.
2022-07-11Cleanup: spelling in commentsCampbell Barton
2022-06-27File Browser UI: Use "Widget" font style instead of "Widget Label"Julian Eisel
It didn't make much sense to use the "Widget Label" font style here, since this is just regular text, not labels for widgets. Checked with @pablovazquez and we agreed on using the "Widget" font style instead. Also fixes a mismatch where we used the "Widget Label" font style for drawing, but the "Widget" font style for string width calculations. Fixes T99207.
2022-06-27Fix T98055: Library Filters do not work in Source FilesSonny Campbell
The fix is to ensure the filter for id type is run when displaying assets from an Asset Library. In the current implementation the id_type filter does not run if a blend file is opened that also happens to be in an Asset Library directory. If we have opened a blend file that is in an Asset Library directory, we now use the same filtering check as for the "Current File" asset library. Differential Revision: https://developer.blender.org/D15284 Reviewed by: Julian Eisel
2022-06-16UI: Add file browser operator to edit directory fieldDamien Picard
This allows using a shortcut from the file browser to edit the directory path. The shortcut Ctrl + L is quite standard and used in multiple GNU/Linux desktop desktop environments, Windows, as well as most web browsers. Safari on macOS uses Cmd + L. Reviewed by: Jacques Lucke, Julian Eisel Differential Revision: https://developer.blender.org/D15196
2022-06-16Cleanup: Use const in File Browser filtering operatorJulian Eisel
2022-06-16UI: Add initial "grid view"Julian Eisel
Part of T98560. See https://wiki.blender.org/wiki/Source/Interface/Views Adds all the basic functionality needed for grid views. They display items in a grid of rows and columns, typically with a preview image and a label underneath. Think of the main region in the Asset Browser. Current features: - Active item - Notifier listening (also added this to the tree view) - Performance: Skip adding buttons that are not scrolled into view (solves performance problems for big asset libraries, for example). - Custom item size - Preview items (items that draw a preview with a label underneath) - Margins between items scale so the entire region width is filled with column, rather than leaving a big empty block at the right if there's not enough space for another column (like the File and current Asset Browser does it). - "Data-View Item" theme colors. Not shown in the UI yet. No user visible changes expected since the grid views aren't used for anything yet. This was developed as part of a rewrite of the Asset Browser UI (`asset-browser-grid-view` branch), see T95653. There's no reason to keep this part in a branch, continuing development in master makes things easier. Grid and tree views have a lot of very similar code, so I'm planning to unify them to a degree. I kept things separate for the start to first find out how much and what exactly makes sense to override.
2022-06-15Assets: Don't show duplicated catalog name when dragging assetsKevin Curry
While dragging assets over a catalog, we would show both the name and the full catalog path in the drag tooltip. For catalogs at the root level (catalogs without parents) the name and the full path are the same, so it would just display the name twice. This is more confusing than helpful. Now skip displaying the full path in that case. Reviewed by: Julian Eisel Addresses T92855 Differential Revision: https://developer.blender.org/D15190
2022-06-06STL: Add new C++ based STL importerIyad Ahmed
A new experimentatl STL importer, written in C++. Roughly 7-9x faster than the Python based one. Reviewed By: Aras Pranckevicius, Hans Goudey. Differential Revision: https://developer.blender.org/D14941
2022-06-03Cleanup: spelling in commentsCampbell Barton
2022-05-17Cleanup: use term 'filepath' for full file pathsCampbell Barton
2022-05-10Fix T88570: Crash when saving after pressing ctrl+S twice.Julian Eisel
Existing code to replace the file operation was failing when done from the window for the file operation itself. Basically, this patch does two things: - Implement a well defined window context to use as the "owner" or "root" of the File Browser. This will be used for managing the File Browser and to execute the file operation, even after the File Browser was closed. - Ensure the context is valid when dealing with file File Browser event handlers. Previously the window context just wasn't well defined and just happened to work well enough in most cases. Addressing this may unveil further issues, see T88570#1355740. Differential Revision: https://developer.blender.org/D13441 Reviewed by: Campbell Barton
2022-05-07Fix T97751: New OBJ IO - File Browser doesn't filter by .obj/.mtlJulian Eisel
Makes the File Browser filter by .obj and .mtl files by default again. Note that this commit focuses on fixing this specific bug, further refactors/tweaks/fixes are planned (see D14863). Differential Revision: https://developer.blender.org/D14862 Reviewed by: Aras Pranckevicius
2022-04-28VSE: Add precise drag and drop and strip previewsSebastian Parborg
This patch adds the drag and drop strip previews in the VSE. It also adds two new functions to the drag and drop API. 1. "draw_in_view" for callbacks that wants to draw elements in local viewport coordinates 2. "on_drag_start" that can be used for prefetching data only once at the start of the drag. Reviewed By: Julian, Campbell Differential Revision: http://developer.blender.org/D14560
2022-04-14Cleanup: Further hair to curves renamingHans Goudey
These were missed in previous passes. Also remove some logic in `draw_hair.c` that was redundant after f31c3f8114616bb8964c8e7.
2022-04-13Cleanup: avoid redundant float/int conversions in BLFCampbell Barton
Internally many offsets for BLF were integers but exposed as floats, since these are used in pixel-space, many callers were converging them back to integers. Simplify logic by using ints.
2022-04-05Cleanup: use doxygen links to struct membersCampbell Barton
2022-03-30Fix T85689: Assume Win32 Volumes are ValidHarley Acheson
Skip validation when inserting items into the Win32 "Volumes" list. This fixes some long hangs when launching Blender with disconnected network shares. See D14506 for more details. Differential Revision: https://developer.blender.org/D14506 Reviewed by Brecht Van Lommel
2022-03-25Cleanup: use count or num instead of nbrCampbell Barton
Follow conventions from T85728.
2022-03-25ImBuf: Add support for WebP image formatAaron Carlisle
Currently only supports single image frames (no animation possible). If quality slider is set to 100 then lossless compression will be used, otherwise lossy compression is used. Gives about 35% reduction of filesize save when re-saving splash screens with lossless compression. Also saves much faster, up to 15x faster than PNG with a better compression ratio as a plus. Note, this is currently left disabled until we have WebP libs (see T95206) For testing precompiled libs can be downloaded from Google: https://storage.googleapis.com/downloads.webmproject.org/releases/webp/index.html Differential Revision: https://developer.blender.org/D1598
2022-03-19Fix T95257: Filter files on "name" and "relpath"Harley Acheson
When filtering File Browser items by name, use entry's "name" field as well as the "relpath" field since they can vary. See D13940 for details. Differential Revision: https://developer.blender.org/D13940 Reviewed by Bastien Montagne
2022-03-14Auto-generate RNA-structs declarations in `RNA_prototypes.h`Julian Eisel
So far it was needed to declare a new RNA struct to `RNA_access.h` manually. Since 9b298cf3dbec we generate a `RNA_prototypes.h` for RNA property declarations. Now this also includes the RNA struct declarations, so they don't have to be added manually anymore. Differential Revision: https://developer.blender.org/D13862 Reviewed by: brecht, campbellbarton
2022-03-14RNA: Generate property declerations header, solving msg-bus C++ incompatibilityJulian Eisel
Lets `makesrna` generate a `RNA_prototypes.h` header with declarations for all RNA properties. This can be included in regular source files when needing to reference RNA properties statically. This solves an issue on MSVC with adding such declarations in functions, like we used to do. See 800fc1736748. Removes any such declarations and the related FIXME comments. Reviewed By: campbellbarton, LazyDodo, brecht Differential Revision: https://developer.blender.org/D13837
2022-03-11Fix T94692: Show Cached OneDrive ThumbnailsHarley Acheson
When OneDrive files are offline, show preexisting thumbnails. See D13930 for details. Differential Revision: https://developer.blender.org/D13930 Reviewed by Julian Eisel
2022-03-11Fix T85689: Replace SHGetFileInfoW for Drive NameHarley Acheson
Win32: Replace SHGetFileInfoW as means to get friendly display names for volumes because it causes long pauses for disconnected remote drives. See D14305 for more details. Differential Revision: https://developer.blender.org/D14305 Reviewed by Brecht Van Lommel
2022-03-11Fix out of order event handling when calling operators from gizmosCampbell Barton
Activating a gizmo used the windows eventstate which may have values newer than the event used to activate the gizmo. This meant transforms check for the key that activated transform could be incorrect. Support passing an event when calling operators to avoid this problem.
2022-03-09Cleanup: use ELEM macroCampbell Barton
2022-03-08Cleanup: spelling in commentsCampbell Barton
2022-03-07Fix T95256: Crash when creating off-screen pose assetSybren A. Stüvel
Fix crash when creating a pose asset for which the file list entry in the asset browser is scrolled off-screen. Because of the off-screen-ness, it wasn't loaded into memory, which eventually caused an unexpected NULL pointer. The solution was to use a different function (`filelist_file_find_id`) that can reliably find the file list entry, after which the cache entry can be created. Reviewed by: Severin Differential Revision: https://developer.blender.org/D14265
2022-03-03File Browser UI: Allow dragging anywhere in a file preview tile to dragJulian Eisel
Previously you'd have to be careful to drag the image itself. Dragging anywhere else on the tile (e.g. between the preview and the text, or the text itself) would trigger border select. This often conflicts with user expectations and causes frustration when trying to work quick, I've seen many people complain about this. Note that the "hitbox" for dragging is a bit smaller than the tile, to not make border select by dragging from in-between the tiles too hard. Differential Revision: https://developer.blender.org/D14228