Commit Graph

467 Commits

Author SHA1 Message Date
Aaron Franke 141783d90f
[3.x] Expose `determinant` in Transform2D, rename internal method 2023-04-22 13:47:47 -05:00
Rémi Verschelde 1426cd3b3a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".

Backported from #70885.
2023-01-10 15:26:54 +01:00
foxydevloper 543e74a988 Improve tooltips for grouping/ungrouping nodes
(cherry picked from commit 1ff9a09e2c)
2022-08-08 09:40:48 +02:00
Yuri Sizov 842c3a644f Use FlowContainer to handle toolbar overflow more gracefully 2022-07-20 17:22:36 +03:00
kobewi 714891ace8 Properly release LMB even while panning 2022-06-09 14:02:58 +02:00
Rémi Verschelde 80b82e4e66 i18n: Misc fixes translation strings
Adds some translator comments to solve some questions raised on Weblate.
2022-06-08 12:56:42 +02:00
Haoyu Qiu 95c672e1b4 Separate 2D grid visibility and grid snap 2022-03-15 08:52:21 +08:00
Haoyu Qiu 36ec71bcef Hide smart snapping line when guideline dragging ends
(cherry picked from commit b255efba7c)
2022-03-12 15:10:28 +01:00
Haoyu Qiu 5514126234 Don't show Lock & Group buttons for nodes hidden by CanvasLayer
(cherry picked from commit fb999ebe22)
2022-03-10 17:18:41 +01:00
Rémi Verschelde 74b698b817
Merge pull request #58135 from timothyqiu/shortcut-zoom-mouse-pos-3.x 2022-02-23 13:26:21 +01:00
Rémi Verschelde 4e44a15176
Merge pull request #58386 from KoBeWi/fix3bility 2022-02-21 12:33:28 +01:00
kobewi fdded6b44d Fix 2D instance drop position
(cherry picked from commit 3a9fb3aff0)
2022-02-21 11:14:54 +01:00
kobewi 642591b6a9 Fix CanvasItem visibility propagation 2022-02-21 11:11:03 +01:00
Hugo Locurcio 3b25190494
Only store `_edit_use_anchors_` metadata if value is not the default
The default value is assumed to be `false`, so this metadata
only needs to be stored if the value is `true`.
2022-02-17 20:13:28 +01:00
Haoyu Qiu a25137c48e Utilize mouse position when zooming with shortcuts in 2D editor 2022-02-15 16:49:00 +08:00
Aaron Franke a672f0db17
[3.x] Fix CanvasItemEditor scale editor not using the editor methods 2022-02-10 04:04:53 -06:00
Rémi Verschelde ede7e68ab6
Merge pull request #56620 from timothyqiu/left-right-palette-3.x 2022-01-18 16:38:26 +01:00
Rémi Verschelde a627cdafc5
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-13 15:54:13 +01:00
Haoyu Qiu 37a38ece59 Allow showing both left and right side panels 2022-01-08 20:20:36 +08:00
LlamaLad7 a0cc90a908
Editor: Resolve being able to move control nodes in containers using arrow keys
Fixes #55260

(cherry picked from commit b5407f802f)
2022-01-06 00:35:44 +01:00
kobewi eef08ea3e0
Show mouse position when clicking ruler tool
(cherry picked from commit 0f7d7c9ffb)
2021-12-03 12:19:47 +01:00
kobewi 009e4a3d18
Mention that Ctrl+Alt with select tool will scale
(cherry picked from commit dc472622cc)
2021-12-01 14:25:55 +01:00
Hugo Locurcio 4d35049dc7
Add keyboard shortcuts for grouping and locking nodes, change grid toggle
- Locking nodes can now be done by pressing Ctrl + L, and unlocking with
  Ctrl + Shift + L.
- Grouping nodes is now done by pressing Ctrl + G, and ungrouping with
  Ctrl + Shift + G (similar to Inkscape).
- Toggling the grid is now done by pressing the `#` key
  (also similar to Inkscape). This change was needed as Ctrl + G
  now groups selected nodes.

Different shortcuts are used for the lock/unlock and group/ungroup
actions, so that the shortcuts are idempotent.
2021-11-08 23:38:54 +01:00
Rémi Verschelde 87c80f529f
clang-format: Enable `BreakBeforeTernaryOperators`
clang-format keeps breaking the way it handles break *after* ternary operators,
so I give up and go with the only style they seem to actually test.
2021-10-28 14:50:33 +02:00
Rémi Verschelde 1b65550ec7
clang-format: Various fixes to comments alignment from `clang-format` 13
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
2021-10-28 14:50:32 +02:00
Rémi Verschelde 42d385b312
clang-format: Disable alignment of operands, too unreliable
Sets `AlignOperands` to `DontAlign`.

`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 13:23:38 +02:00
Yuri Sizov 8fe6fceb02 Safeguard against BitMap fonts in the CanvasItem editor
Co-authored-by: ArrowInAKnee <gatexxl@gmail.com>
2021-10-04 22:54:04 +03:00
Hugo Locurcio c1d13df0ef
Enable Pixel Snap by default in the 2D editor
Since this avoids accidentally placing 2D nodes at subpixel positions,
this results in more crisp visuals by default, even when pixel snapping
is disabled in the project settings.

(cherry picked from commit c03e7c2dde)
2021-09-21 17:14:59 +02:00
kobewi 6611d24e74 Include locked nodes on selection list 2021-08-18 13:27:33 +02:00
Rémi Verschelde 53cc7a9be9
Merge pull request #51648 from pycbouh/editor-merge-custom-theme-3.x
[3.x] Add support for partial custom editor themes
2021-08-17 13:12:49 +02:00
Danil Alexeev 1372ba681b
[3.x] Fix "Property not found: editor/node_naming/name_casing" 2021-08-15 16:54:19 +03:00
Yuri Sizov ab25266213 Add support for partial custom editor themes 2021-08-14 02:11:54 +03:00
foxydevloper f807c7e569
Name nodes added from drag & drop by `name_casing`
(cherry picked from commit 07a8f0fe38)
2021-08-03 10:18:04 +02:00
Yuri Roubinsky 4fef6b9cbc
Prevent warning spam to console when dragging a CanvasItem in container
(cherry picked from commit bb5729fd35)
2021-08-03 09:33:25 +02:00
Hugo Locurcio bcd3c9a285
Improve the 2D editor ruler display
- Use the ° symbol instead of "deg" to reduce clutter.
- Round the displayed lengths to only one decimal instead of two
  to further reduce clutter.
- Don't make the `px` suffix localizable, as it isn't localizable
  anywhere else in the editor.

(cherry picked from commit 026aea681d)
2021-08-03 09:15:33 +02:00
Hugo Locurcio 1ed24ca548
Highlight context menu items at the top of the 2D/3D viewports
This makes it easier to notice that some menu items only appear when
specific nodes are selected.

This change applies to both 2D and 3D editors, including both plugin-based
menus and the hardcoded 2D layout/animation contextual menus.
2021-07-31 01:50:50 +02:00
foxydevloper f2cdacd3a6
Improve select tool's tooltip
- Makes tips clearer and more consistent.
- Removes outdated "shift+v" that doesn't work
- Adds Ctrl+RMB for adding nodes at position
- Removes tip for non-existent Alt+Drag in 3D select tool

(cherry picked from commit 6b90e2df6c)
2021-07-26 13:30:56 +02:00
Rémi Verschelde f9707e1a28
Merge pull request #50499 from LightningAA/zoom-out-alt-3.x
[3.x] Add shift + [1-5] keyboard shortcuts to zoom out
2021-07-20 09:17:52 +02:00
Lightning_A c4ff3ef891 Add shift + [1-5] keyboard shortcuts to zoom out 2021-07-16 12:15:44 -06:00
Hugo Locurcio 44b01751e6
Prevent accidental drags by adding drag distance threshold
Co-authored-by: fox <12120644+foxydevloper@users.noreply.github.com>
2021-07-16 06:04:25 +02:00
Hugo Locurcio 477dfc5174
Improve 2D editor zoom logic
- Add 1-5 shortcuts to zoom between 100% and 1600% quickly
  (similar to GIMP).
- When holding down Alt, go through integer zoom values if above 100%
  or fractional zoom values with integer denominators if below 100%
  (50%, ~33.3%, 25%, …).
2021-07-15 17:15:02 +02:00
kobewi ff7cae4c4c Allow to create a node at specific position 2021-07-07 13:19:59 +02:00
Hugo Locurcio 65063dbe0a
Tweak the 2D game camera override tooltips to match 3D
(cherry picked from commit bdca0daadc)
2021-07-06 11:10:44 +02:00
Hugo Locurcio b268fdc980
Use Ctrl + G to toggle the 3D editor grid visibility by default
The 2D editor grid toggle shortcut has been changed to use
`KEY_MASK_CMD` for consistency. This means it will now use Cmd
on macOS instead of Ctrl.

(cherry picked from commit 2cc053c64b)
2021-06-29 14:02:23 +02:00
bruvzg 36ca3fea96
[3.x] Fix visibility issue with zoom label 2021-06-03 12:32:11 +03:00
nobuyuki_nyuu 057c9f601b
Bind CanvasItemEditor::_zoom_on_position and CanvasItemEditor::get_state to ClassDB
(cherry picked from commit a715887299)
2021-06-01 12:53:31 +02:00
Rémi Verschelde 140350d767
Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2021-05-05 15:02:01 +02:00
Rémi Verschelde a828398655
Style: Replaces uses of 0/NULL by nullptr (C++11)
Using clang-tidy's `modernize-use-nullptr`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
2021-05-04 16:30:23 +02:00
Rémi Verschelde b5e1e05ef2
Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
Rémi Verschelde 64a63e0861
Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine 2021-05-04 14:45:15 +02:00