Commit Graph

83 Commits

Author SHA1 Message Date
fa3a32a2d6 Use Key enum instead of plain integers 2021-08-10 16:26:55 -05:00
b27989ff67 Improve user communications in the theme editor 2021-08-04 18:26:36 +03:00
969ba687ef Put multiple colons back into translated strings 2021-07-31 20:08:07 +03:00
92299989bd Use Ref<T> references as iterators where relevant
And const when possible.
2021-07-26 19:27:11 +02:00
ff0b5f8fa1 Merge pull request #50809 from akien-mga/iterators-const-references 2021-07-25 12:52:58 +02:00
ac3322b0af Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
3564c16cb8 Fix various typos with codespell
Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
2021-07-25 11:21:51 +02:00
4e6efd1b07 Use C++ iterators for Lists in many situations 2021-07-23 17:38:28 -04:00
4501df3727 Improve add item type UI in theme editor 2021-07-20 16:56:52 +08:00
6631f66c2a Optimize StringName usage
* Added a new macro SNAME() that constructs and caches a local stringname.
* Subsequent usages use the cached version.
* Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time.
* Replaced all theme usages by this new macro.
* Replace all signal emission usages by this new macro.
* Replace all call_deferred usages by this new macro.

This is part of ongoing work to optimize GUI and the editor.
2021-07-18 21:20:02 -03:00
4bcdbf1280 Fix focus behavior in the Add Item Type dialog of the Theme editor 2021-07-17 13:20:10 +03:00
d82ec336d9 Fix control picker in the Theme editor 2021-07-16 21:32:58 +03:00
f4b361dd15 Add header theme type variations to labels 2021-07-13 15:42:09 +02:00
b44b277f6f Merge pull request #50169 from pycbouh/theme-type-variations 2021-07-13 15:13:00 +02:00
aab6dc301c Merge pull request #50086 from Geometror/label-improve-layout-options
Improvements to Label's layout options
2021-07-13 13:10:42 +02:00
4ee0e6ddf5 Add type variations to Theme 2021-07-13 02:26:28 +03:00
f4379cbc82 Clean up Tree
Fixes some problems introduced by #49917

* Tree used minimum size as a stretch ratio, so it forced a minimum size of 1.
* Minimum size redone, stretch ratio moved to a separate setting
* Fitting to contents was enforced, this is more intuitive, but in many situations this is undesired.
* Added a clip content option for situations where fit to contents does not apply.
* Icon would scroll with the item, making it invislbe if the item is too long.
* Made icon always appear to the right (or left if RTL is enabled) of the visible item space.
2021-07-04 13:13:53 -03:00
56a8d3f30c Improvements to Label's layout options
- Added options to trim the text in case it overruns
- Added more autowrap modes
- Improved line breaking, which ignores trailing spaces
2021-07-04 16:43:55 +02:00
d7d32ced5b Implement Tree's internal minimum width calculation 2021-06-28 15:54:31 +02:00
304c9b995b Fix pinned StyleBox incorrectly reacting to several actions in the new Theme editor 2021-06-20 23:04:56 +03:00
0943ec632c ThemeEditor: Fix text_submitted connections after #49258 2021-06-17 13:14:06 +02:00
d0e86c7afc Overhaul the theme editor and improve user experience 2021-06-14 21:46:30 +03:00
12e0f10c74 Merge pull request #49227 from pycbouh/editor-theme-freeze-changes
Prevent `Theme` resource from emitting changes during bulk operations
2021-06-13 15:44:32 +02:00
9e328bb5b7 Core: Move DirAccess and FileAccess to core/io
File handling APIs are typically considered part of I/O, and we did have most
`FileAccess` implementations in `core/io` already.
2021-06-11 14:52:39 +02:00
9cd96ebe0e Prevent Theme resource from emitting changes during bulk operations 2021-05-31 17:40:45 +03:00
bca0d36fe6 Improve TreeItem API and allow to move nodes 2021-05-17 22:06:46 +02:00
3a66c22e71 Add outlines and contrasting backgrounds to the editor UI elements 2021-05-12 01:45:56 +03:00
912420b078 Refactor Create Theme menu in Theme Editor 2021-05-09 03:13:19 +03:00
2524238bb3 Refactor Edit Theme menu in Theme Editor 2021-04-18 17:55:49 +03:00
b5334d14f7 Update copyright statements to 2021
Happy new year to the wonderful Godot community!

2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.

We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)

Here's to a great year 2021 for all Godot users 🎆
2021-01-01 20:19:21 +01:00
8509c8c8fc Rename AcceptDialog get_ok() to get_ok_button()
Also renames:
- AcceptDialog add_cancel() to add_cancel_button()
- ConfirmationDiaglog get_cancel() to get_cancel_button()
2020-12-14 18:43:52 +00:00
2c048ea164 Cleanup unused engine code 2020-12-09 12:12:36 +01:00
99666de00f [Complex Text Layouts] Refactor Font class, default themes and controls to use Text Server interface.
Implement interface mirroring.
Add TextLine and TextParagraph classes.
Handle UTF-16 input on macOS and Windows.
2020-11-26 14:25:48 +02:00
ecd6a893b4 Change Color HTML conversion from ARGB to RGBA
Also add support for 3 and 4 digit values in C#. Now it actually matches the HTML/CSS spec.
2020-09-01 02:07:35 -04:00
d602be077d Gives the theme editor a horizontal scrollbar
Fixes #34509 where the theme editor would push away the inspector
if something like "hseperation" is really high.
Now `set_enable_h_scroll` is true which fixes this.
2020-08-26 01:48:46 +02:00
5643d2e3fe Small naming and tooltip tweaks 2020-07-23 20:17:43 -03:00
31b7f02a29 Remove ToolButton in favor of Button
ToolButton has no redeeming differences with Button;
it's just a Button with the Flat property enabled by default.
Removing it avoids some confusion when creating GUIs.

Existing ToolButtons will be converted to Buttons, but the Flat
property won't be enabled automatically.

This closes https://github.com/godotengine/godot-proposals/issues/1081.
2020-06-19 20:49:49 +02:00
0ee0fa42e6 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
2020-05-14 21:57:34 +02:00
0be6d925dc Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
Which means that reduz' beloved style which we all became used to
will now be changed automatically to remove the first empty line.

This makes us lean closer to 1TBS (the one true brace style) instead
of hybridating it with some Allman-inspired spacing.

There's still the case of braces around single-statement blocks that
needs to be addressed (but clang-format can't help with that, but
clang-tidy may if we agree about it).

Part of #33027.
2020-05-14 16:54:55 +02:00
69de7ce38c Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine
Part of #33027.
2020-05-10 13:13:54 +02:00
441f1a5fe9 Popups are now windows also (broken!) 2020-03-26 15:49:42 +01:00
cb282c6ef0 Style: Set clang-format Standard to Cpp11
For us, it practically only changes the fact that `A<A<int>>` is now
used instead of the C++03 compatible `A<A<int> >`.

Note: clang-format 10+ changed the `Standard` arguments to fully
specified `c++11`, `c++14`, etc. versions, but we can't use `c++17`
now if we want to preserve compatibility with clang-format 8 and 9.
`Cpp11` is still supported as deprecated alias for `Latest`.
2020-03-17 07:36:24 +01:00
01afc442c7 Signals: Port connect calls to use callable_mp
Remove now unnecessary bindings of signal callbacks in the public API.
There might be some false positives that need rebinding if they were
meant to be public.

No regular expressions were harmed in the making of this commit.
(Nah, just kidding.)
2020-02-28 14:24:09 +01:00
69c95f4b4c Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
3f335ce3d4 Texture refactor
-Texture renamed to Texture2D
-TextureLayered as base now inherits 2Darray, cubemap and cubemap array
-Removed all references to flags in textures (they will go in the shader)
-Texture3D gone for now (will come back later done properly)
-Create base rasterizer for RenderDevice, RasterizerRD
2020-02-11 11:53:26 +01:00
a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
e1e2ffcfa1 Merge pull request #34613 from timothyqiu/edscale-again
Fixes Theme Editor minimum height on HiDPI monitor
2019-12-30 16:39:41 +01:00
7f18560f3c Fixes Theme Editor minimum height on HiDPI monitor
* Applies `EDSCALE` to the minimum size
2019-12-26 15:51:23 +08:00
078c0d75f2 Cleans up headers included in editor_node.h 2019-12-24 21:46:05 +08:00
7a9c337dfe Makes more strings in editor translatable
* File type names in file dialogs
* Layout option names
* Visual shader editor UI
2019-12-16 16:41:07 +08:00