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-03-02Event System: remove tweak events in favor of click-dragCampbell Barton
Supporting two kinds of dragging is redundant, remove tweak events as they only supported 3 mouse buttons and added complexity from using the 'value' to store directions. Support only click-drag events (KM_CLICK_DRAG) which can be used with any keyboard or mouse button. Details: - A "direction" member has been added to keymap items and events which can be used when the event value is set to KM_CLICK_DRAG. - Keymap items are version patched. - Loading older key-maps are also updated. - Currently the key-maps stored in ./release/scripts/presets/keyconfig/ still reference tweak events & need updating. For now they are updated on load. Note that in general this wont impact add-ons as modal operators don't receive tweak events. Reviewed By: brecht Ref D14214
2022-03-01Cleanup: move Event.is_repeat & is_direction_inverted to flagsCampbell Barton
Use a flag for events to avoid adding struct members every time a new kind of tag is needed - so events remain small. This also simplifies copying settings as flags can be copied at once with a mask.
2022-02-25Cleanup: use flags for wmEvent modifier keysCampbell Barton
Using flags makes checking multiple modifiers at once more convenient and avoids macros/functions such as IS_EVENT_MOD & WM_event_modifier_flag which have been removed. It also simplifies checking if modifier keys have changed.
2022-02-11File headers: SPDX License migrationCampbell Barton
Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
2022-01-14Cleanup: spelling in comments, C++ style comments for disabled codeCampbell Barton
Also ensure space at end of comment.
2021-10-20Cleanup: use an array for wmEvent cursor position variablesAaron Carlisle
Use arrays for wmEvent coordinates, this quiets warnings with GCC11. - `x, y` -> `xy`. - `prevx, prevy` -> `prev_xy`. - `prevclickx, prevclicky` -> `prev_click_xy`. There is still some cleanup such as using `copy_v2_v2_int()`, this can be done separately. Reviewed By: campbellbarton, Severin Ref D12901
2021-10-18UI: expose additional cursors to the Python APICampbell Barton
2021-09-17WM: expose the "any" state of KeyMapItem modifiersCampbell Barton
Change KeyMapItem.alt/ctrl/shift/oskey to integer types, where -1 is used to ignore the modifier when matching key-map items. It was only possible to set all modifiers to -1 at once from RNA using the 'any' property. Afterwards individual modifiers could be set back to true/false. Although these key-map items could not be exported/imported. Exposing the values directly avoids the need for cumbersome workarounds.
2021-09-17Cleanup: remove KM_MOD_SECOND & KM_SHIFT2, KM_CTRL2.. etcCampbell Barton
These were added in a1c8543f2acd7086d412cb794b32f96794b00659 (2007) but never used. Nor did they have any meaning in practice. Note that versioning keymap items isn't needed as these values were never set. The code-paths that set these values also set KM_MOD_FIRST causing `keymap_event_set` to only ever assign values of 0 or 1. These flags complicate further exposing KM_ANY (-1) which is also a valid value for modifiers.
2021-08-12Cleanup: use C++ style comments for disabled codeCampbell Barton
2021-07-03Cleanup: consistent use of tags: NOTE/TODO/FIXME/XXXCampbell Barton
Also use doxy style function reference `#` prefix chars when referencing identifiers.
2021-03-09Cleanup: Document `ensure()`-like behaviour of `KeyMaps.new()`Sybren A. Stüvel
Document the fact that `bpy.types.KeyMaps.new()` will not create a new keymap but instead return an existing one, if one with the given name/space/region already exists. No functional changes.
2021-02-27Fix error converting simulated events press/release to clicksCampbell Barton
Move logic that sets previous event state into WM_event_add_simulate.
2021-02-05Cleanup: correct spelling in commentsCampbell Barton
2021-02-04Cleanup: pass keymap items as const where possibleCampbell Barton
2021-01-13Cleanup: rename enum for event value itemsCampbell Barton
This contains all value items (with overlapping values), name this to make it clear it contains all items.
2020-10-22Keymap: disable 'repeat' by default for keymap itemsCampbell Barton
In practice, there are only a limited number of operations we need to use repeat such as navigation, stepping operations that cycle states and text input. Now we don't need to disable repeat explicitly when a modal operator uses checks for a key being held as was needed for 17cb2a6da0c88. Repeat is now included in exported keymaps. Use versioning so existing exported keymaps are loaded properly.
2020-10-22WM: ensure is_repeat isn't set for mouse-move eventsCampbell Barton
Follow up to d782bad62dc53373bb28811c0672da81924371d6 Also clear this for simulated events.
2020-09-30Cleanup: convert gforge task ID's to phabricator formatValentin
Cleanup old tracker task format to the new. e.g: [#34039] to T34039 Ref D8718
2020-09-14Fix T80694: Crash reloading scripts from the Python consoleCampbell Barton
Running `bpy.ops.script.reload()` from Python was crashing since the operator being called was it's self freed. Change the reload operator to defer execution - as supporting re-registration during execution is quite involved for a corner-case.
2020-05-13Fix zero tablet pressure for simulated eventsCampbell Barton
Impacted sculpt/paint tests.
2020-03-27Cleanup: rename WM_modalkeymap API names, matching WM_keymapCampbell Barton
Rename: - WM_modalkeymap_add to WM_modalkeymap_ensure - WM_modalkeymap_get to WM_modalkeymap_find
2020-03-26Keymap: disallow modal key-maps in add-ons keyconfigCampbell Barton
Disable functionality reported in T60766 & only partially worked. This could be used if the key-map was added after Blender started as a way to customize modal key-maps, however it didn't work with the add-on enabled on startup. Add-on key-maps are intended to extend existing key-maps so they can call the add-on, not as a way to change modal key-maps for Blender's built-in functionality. Disable this since it's not needed as add-ons can't yet define modal key-maps.
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-06Cleanup: Reduce context usage in UI functionsJulian Eisel
Part of https://developer.blender.org/T74429. There's a chance that this causes some issues becaue in some cases we change from getting the window from context to getting it from somewhere else.
2020-03-06GHOST/Keymap: support for detecting repeat eventsCampbell Barton
- Keymap items now have 'repeat' boolean which can be set to make keymap items respond to key repeat events or not. - Support for X11 & WIN32 (not macOS currently). This allows for the possibility to perform actions while a key is held and finish the action upon release. Thanks to @Severin for review and WIN32 support.
2020-02-17Cleanup: Remove period from RNA description.OmarSquircleArt
2020-02-17Fix T68749: BPY: Deprecate height of popupJeroen Bakker
`invoke_props_dialog` and `invoke_popup` had a width and a height field. The height field was ignored as the height is determined based on the content. This change removes the field from the BPY + WM_api Reviewed By: Campbell Barton, Jacques Lucke Differential Revision: https://developer.blender.org/D6694
2020-02-17Python: Expose WM is_interface_locked to python.OmarSquircleArt
This patch exposes the Window Manager `is_interface_locked` as a read only property to python. This property is needed to allow script writers to detect if a job is running with locked interface like the Alembic exporter. Reviewed By: Brecht Differential Revision: https://developer.blender.org/D6749
2020-02-17Fix many typos and other issues in UI messages.Bastien Montagne
2019-11-18Python API: assume that a crashed Python operator returned FINISHED.Alexander Gavrilov
The CANCELLED return value from an operator is intended for signaling that the operator aborted execution without changing anything, and an Undo stack entry should not be created. When a Python operator crashes, it is not safe to assume that it did nothing, so it should interpret it as FINISHED instead. Otherwise, the undo system behavior after an operator failure feels broken. Differential Revision: https://developer.blender.org/D6241
2019-10-27WM: add utility to lookup a keymap item from an eventCampbell Barton
Useful for modal operators to be able to match events against regular keymaps.
2019-10-01UI: Changes to Paint CursorsHarley Acheson
Changes to cursors that can be used for painting and sculpting. Differential Revision: https://developer.blender.org/D5951 Reviewed by Brecht Van Lommel
2019-09-30UI: Use paint crosshair cursor in all paint & sculpt modesWilliam Reynish
Currently, we use the crosshair cursor in Sculpt mode, but not in the other paint modes. - Sculpt Mode: This crosshair cursor is too weighty. - Texture, Weight, Vertex Paint: Using the arrow cursor for painting is not right. This commit makes the following changes: - Use the new special paint crosshair instead - Use this cursor in all paint modes, not just Sculpt Reviewed by: Brecht Differential Revision: https://developer.blender.org/D5940
2019-09-26Grease Pencil: use standard eraser and paint brush cursorsHarley Acheson
Ref D5197
2019-09-26WM: clean up cursors constants and codeBrecht Van Lommel
There was a mix of old and new constants. Now have one list of WM_CURSOR_* cursor types, using GHOST standard cursors when available and otherwise falling back to our custom cursors. Ref D5197
2019-09-09Fix T69633: weird behavior of operator_menu_enum tooltips.Alexander Gavrilov
For operators with dynamic tooltips the tooltip calculation is deferred until the moment it is actually shown for performance reasons, with the tooltip field left blank for the time being. Enum menu code shouldn't jump in and assign a tooltip either. The menu button itself can't show a dynamic tooltip because it does not actually call the operator, and has no reference to it. As a side change, allow returning None from the python callback as the most natural way to fall back to the default tooltip.
2019-09-06Python API: implement an Operator callback for dynamic description.Alexander Gavrilov
Blender UI Layout API allows supplying parameters to operators via button definitions. If an operator behavior strongly depends on its parameters, it may be difficult to write a tooltip that covers all of its operation modes. Thus it is useful to provide a way for the operator to produce different descriptions based on the input info. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D5709
2019-07-30UI: add use_button option to popoversCampbell Barton
This is useful when popovers are launched from operators instead of as button popover types. Where the connection between the button and the popover is useful to keep.
2019-06-16Revert new grease pencil cursor for paint modesBrecht Van Lommel
This reverts commit a412f49e7580a and 873c756e5dd73. The change was only supposed to affect grease pencil, but also changed the cursor for sculpt mode, where it's not clearly visible. Since this has not been quickly resolved I'm reverting the commit. Ref D5036.
2019-06-07GPencil: Create new CURSOR for paint modesAntonio Vazquez
This new cursor is used instead of the ARROW because it was too disruptive while you are drawing. The change affects all paint modes that are used Brushes. See D5036 for details. Reviewers: @brecht @billreynish @mendio Cursor designed by: @billreynish
2019-06-03Cleanup: style, use braces in RNACampbell Barton
2019-05-02Cleanup: use WM_keymap_item_* prefixCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-08WM: init simulated event from win->eventstateCampbell Barton
Ghost event handling code works this way.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-04Undo System: add function to print undo stepsCampbell Barton
Useful for debugging.
2019-02-03Cleanup: trailing commasCampbell Barton
Needed for clan-format not to wrap onto one line.
2019-02-02WM: Event simulation support for PythonCampbell Barton
This feature is intended only for testing, to automate simulating user input. - Enabled by '--enable-event-simulate'. - Disables handling all real input events. - Access by calling `Window.event_simulate(..)` - Disabling `bpy.app.use_event_simulate` to allow handling real events (can only disable). Currently only mouse & keyboard events work well, NDOF, IME... etc could be added as needed. See D4286 for example usage.