Commit Graph

10770 Commits

Author SHA1 Message Date
bruvzg
f13db28a5c [Editor] Do not update editor help theme, if calculated margin hasn't changed. 2022-01-24 09:51:35 +02:00
Rémi Verschelde
eb5aa3218f Merge pull request #57029 from timothyqiu/disable-script-editor-menu 2022-01-23 16:04:46 +01:00
kobewi
98692d68c3 Minor tweaks and fixes to panning 2022-01-23 13:49:53 +01:00
Rémi Verschelde
c3d28ffa74 Merge pull request #57012 from Calinou/editor-add-new-script-textfile-shortcuts 2022-01-23 12:55:58 +01:00
bruvzg
3940bf586b [Editor] Disable contextual alternates (coding ligatures) outside of code editor. 2022-01-23 11:09:10 +02:00
Ryan Roden-Corrent
58e8e5f219 Implement blender-style 3D transform tools.
See godotengine/godot-proposals#1215.

This adds shortcuts for blender-inspired transforms, where you can press
the key and immediately be transforming an object without holding the
mouse. Clicking commits the transformation, ESC aborts it.

This is inspired by Blender's G(rab)/R(otate)/S(cale) shortcuts, but I
decided not to add default bindings as `S` is already bound to the
regular scale tool, and it might be confusing to only bind some of them.

While actively using a transform tool, you can press X/Y/Z to lock the
transform to an axis or (shift)+X/Y/Z to constrain the transform to a
plane. These keys are only processed if you have a transform tool
(translate/rotate/scale) active _and_ the mouse button is held.

Pressing XX/YY/ZZ will lock the transform to a local (rather than
global) axis.

This is achieved by temporarily toggling the local transform button. I
did this (vs handling it in the transform functions) for 3 reasons:

- Transform logic for translate/rotate (but not scale) appears to be
  tightly coupled to the gizmo
- This ensures the gizmo changes to indicate we're transforming
  locally/globally
- Toggling the button state in the UI also gives the user feedback about
  the nature of the transform.

The original state of the button is reset when the transform completes.

Pressing the `spatial_editor/cancel_transform` shortcut key during a
transform operation will cancel the transform and reset the objects back
to their original transforms.

This functionality was already accessible by pressing RMB during a
transform, however:

- ESC is more familiar to blender users, and a more common "cancel" key
  in general.
- Given you must hold LMB during a transform, pressing RMB as well is
  clumsy if not impossible (on a laptop trackpad).
2022-01-22 20:55:39 -05:00
Rémi Verschelde
e363f404a5 Merge pull request #57000 from KoBeWi/UNLIMITED_PANNING 2022-01-23 00:47:52 +01:00
Rémi Verschelde
5e26a275bb Merge pull request #56474 from brennengreen/keying-bounds 2022-01-23 00:33:28 +01:00
Rémi Verschelde
f63457814f Merge pull request #35508 from Calinou/editor-help-references-use-code-font 2022-01-23 00:29:00 +01:00
Rémi Verschelde
ee253163ab Merge pull request #57056 from Chaosus/vs_fix_defaults 2022-01-23 00:27:48 +01:00
Rémi Verschelde
649aa547a3 Merge pull request #57060 from KoBeWi/you_have_1_completion_request 2022-01-23 00:26:35 +01:00
kobewi
b86e3dbe7b Add usage of indeterminate checkboxes to editor 2022-01-22 21:12:06 +01:00
kleonc
c635ab914d SpriteFramesEditor Show AtlasTexture's source texture path in the frame's tooltip 2022-01-22 17:03:37 +01:00
Yuri Roubinsky
56a6e95d6a Remove transform input from fog mode in visual shaders 2022-01-22 16:31:06 +03:00
kobewi
1422c756ed Rename request_code_completion signal 2022-01-22 14:04:35 +01:00
Yuri Roubinsky
538cff1351 Fix default input port hints for some modes in visual shader 2022-01-22 11:12:56 +03:00
Hugo Locurcio
5e901c5807 Fix missing VoxelGI 3D editor gizmo icon 2022-01-22 00:41:56 +01:00
Hugo Locurcio
8cc9ff4f5b Use a fixed-width font for internal references in the editor help
Since internal references are often written in scripts, it makes sense
to use a fixed-width font for them.
2022-01-21 20:05:11 +01:00
kobewi
74bfe88267 Add ViewPanner to 2D editor 2022-01-21 18:35:06 +01:00
Michael Alexsander
8383115666 Fix icon in drag preview of scripts/docs 2022-01-21 13:00:02 -03:00
Rémi Verschelde
a257ceb53d Merge pull request #57036 from timothyqiu/groups-editor 2022-01-21 13:05:52 +01:00
Haoyu Qiu
c0b3af8688 Improve Groups dock panel and the Group Editor 2022-01-21 18:34:46 +08:00
Rémi Verschelde
ffc4d62e60 Merge pull request #57032 from timothyqiu/assetlib-network-settings 2022-01-21 11:32:46 +01:00
Haoyu Qiu
575cd3645c Update AssetLib network settings when Editor Settings change 2022-01-21 15:42:05 +08:00
Silc 'Tokage' Renew
b3a800b1e2 Fixed target which connected animation player, follow up #55066 2022-01-21 15:31:16 +09:00
Haoyu Qiu
e461e28c70 Disable ScriptEditor's menu items when they do nothing 2022-01-21 12:12:48 +08:00
Hugo Locurcio
990586b06b Add shortcuts for New Script and New Text File in the script editor
These default to Ctrl + N and Ctrl + Shift + N respectively,
and will only work while the script editor is focused.
When the script editor is not focused, a new scene
(or inherited scene) will be created instead.
2022-01-20 23:10:42 +01:00
Rémi Verschelde
cfb986c631 Merge pull request #51452 from omar-polo/fix-macros 2022-01-20 22:50:39 +01:00
Rémi Verschelde
e6170aae39 Merge pull request #55066 from trollodel/less_singletons_in_editornode 2022-01-20 22:29:17 +01:00
Rémi Verschelde
d681d99e12 Merge pull request #52134 from RandomShaper/fix_naming 2022-01-20 22:01:37 +01:00
Rémi Verschelde
04d283dc23 Merge pull request #36198 from Calinou/code-font-jetbrains-mono 2022-01-20 21:43:17 +01:00
Rémi Verschelde
8bb98ad743 Merge pull request #52690 from nsrCodes/batch-rename-preview-wrap 2022-01-20 21:04:42 +01:00
Omar Polo
bd448e5535 Rename or refactor macros to avoid leading underscores
These are not used consistently and some can conflict with
system-specific defines.  While here, also delete some unused macros.
2022-01-20 20:29:15 +01:00
Rémi Verschelde
880855264f Merge pull request #56980 from KoBeWi/handled_key_input 2022-01-20 20:25:01 +01:00
trollodel
aa1102fc53 Store panels and docks singletons in their own classes 2022-01-20 20:13:26 +01:00
Pedro J. Estébanez
7b0ed2aa5e Rename Variant::is_ref() to is_ref_counted() 2022-01-20 18:46:25 +01:00
Rémi Verschelde
7e3b92f81f Merge pull request #55360 from Calinou/rename-bake-mode-properties 2022-01-20 17:35:32 +01:00
Rémi Verschelde
eacde082a5 Merge pull request #53276 from Phischermen/propagate_check 2022-01-20 16:37:16 +01:00
Rémi Verschelde
9e0973ca23 Merge pull request #56972 from lawnjelly/warn_unused 2022-01-20 15:34:41 +01:00
kobewi
b4ad04078c Fix unhandled_key_input() in Script Editor 2022-01-20 15:11:44 +01:00
lawnjelly
b411a731fe Add nodiscard to core math classes to catch c++ errors.
A common source of errors is to call functions (such as round()) expecting them to work in place, but them actually being designed only to return the processed value. Not using the return value in this case in indicative of a bug, and can be flagged as a warning by using the [[nodiscard]] attribute.
2022-01-20 13:07:49 +00:00
Michael Alexsander
b3a82f8310 Make Scene dock menu button an actual MenuButton 2022-01-20 08:54:36 -03:00
fire540
f8dde5871c Fix Create Root Node dialog expanding in favorites tab 2022-01-19 16:05:02 -06:00
Rémi Verschelde
c13319db8d Merge pull request #56967 from pycbouh/assetlib-ux-in-progress
Fix Asset Library UX when an asset is being downloaded
2022-01-19 22:55:36 +01:00
Rémi Verschelde
d661835a18 Merge pull request #54729 from Paulb23/text-edit-callable 2022-01-19 21:36:56 +01:00
Paulb23
f43f68f605 Convert TextEdit callbacks to Callable 2022-01-19 17:26:22 +00:00
Yuri Sizov
01845510f6 Fix Asset Library UX when an asset is being downloaded 2022-01-19 19:16:17 +03:00
Hugo Locurcio
84a69d7429 Improve the default project theme
The new default project theme uses StyleBoxFlat extensively for
a more modern design and better scalability to multiple resolutions.

SVG icons are now used in place of PNG icons. While this does not
allow for true vector-based icon drawing (icons are still rasterized
at load-time), this makes the design work easier for contributors
and opens the door to vector drawing in the future (e.g. with polygons
or SDFs).

Like for editor icons, the SVG header file is now built automatically
when a SVG file is changed. This removing the need for running
`make_header.py` manually (TODO).

The "Use Hidpi" project setting has been removed in favor of a
"Default Theme Scale" project setting, which allows creating the
default theme at a higher/lower scale than the default.
This can be used when designing GUIs with a high base resolution
to ensure crisp visuals.

Co-authored-by: Yuri Sizov <yuris@humnom.net>
2022-01-19 18:46:01 +03:00
bruvzg
de48d5101b Fix locale always selecting translation instead of "en", when no match found. 2022-01-19 16:46:48 +02:00
Rémi Verschelde
d80dbcaef0 Merge pull request #56926 from V-Sekai/show_in_file_manager 2022-01-19 14:00:30 +01:00