Commit Graph

117 Commits

Author SHA1 Message Date
bruvzg
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
reduz
127458ed17 Reorganized core/ directory, it was too fatty already
-Removed FuncRef, since Callable makes it obsolete
-Removed int_types.h as its obsolete in c++11+
-Changed color names code
2020-11-07 20:17:12 -03:00
Duroxxigar
4834e14493 Updated getters and setters names for toplevel 2020-10-02 19:09:01 -04:00
Michael Alexsander
5643d2e3fe Small naming and tooltip tweaks 2020-07-23 20:17:43 -03:00
Stijn Hinlopen
526e060b73 Resize dialogs (FileDialog, EditorFileDialog, Reparent, SceneTreeDialog and resource depency dialogs). 2020-07-14 14:35:22 +02:00
Stijn Hinlopen
929b98d24b Remove String::find_last (same as rfind) 2020-07-03 15:26:22 +02:00
Hugo Locurcio
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
Michael Alexsander
637927f803 Add generic file icon and its modulation to the 'FileDialog' 2020-06-08 10:31:45 -03:00
Rémi Verschelde
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
Rémi Verschelde
07bc4e2f96 Style: Enforce separation line between function definitions
I couldn't find a tool that enforces it, so I went the manual route:
```
find -name "thirdparty" -prune \
  -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \
  -o -name "*.glsl" > files
perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files)
misc/scripts/fix_style.sh -c
```

This adds a newline after all `}` on the first column, unless they
are followed by `#` (typically `#endif`). This leads to having lots
of places with two lines between function/class definitions, but
clang-format then fixes it as we enforce max one line of separation.

This doesn't fix potential occurrences of function definitions which
are indented (e.g. for a helper class defined in a .cpp), but it's
better than nothing. Also can't be made to run easily on CI/hooks so
we'll have to be careful with new code.

Part of #33027.
2020-05-14 16:54:55 +02:00
Rémi Verschelde
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
Rémi Verschelde
e956e80c1f Style: clang-format: Disable AllowShortIfStatementsOnASingleLine
Part of #33027, also discussed in #29848.

Enforcing the use of brackets even on single line statements would be
preferred, but `clang-format` doesn't have this functionality yet.
2020-05-10 13:12:16 +02:00
Rémi Verschelde
3586f21519
Merge pull request #37591 from Anutrix/remove_reduntant_class
Removed redundant class LineEditFileChooser from file_dialog
2020-04-07 09:14:53 +02:00
qarmin
5cbab81564 Fixes leaks when running editor 2020-04-06 20:07:08 +02:00
unknown
0fa7703565 Removed reduntant class LineEditFileChooser. 2020-04-05 02:50:32 +05:30
unknown
4413c562d6 Fix file dialog not showing icons 2020-04-04 17:18:43 +05:30
unknown
7e4db6174d Remove redundant vbx variable in FileDialog 2020-04-04 14:58:57 +05:30
lupoDharkael
95a1400a2a Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
Juan Linietsky
441f1a5fe9 Popups are now windows also (broken!) 2020-03-26 15:49:42 +01:00
Juan Linietsky
4758057f20 Working multiple window support, including editor 2020-03-26 15:49:40 +01:00
Pedro J. Estébanez
aee586553a Improve UX of drive letters
Namely, move the drive dropdown to just the left of the path text box and don't include the former
in the latter.

This improves the UX on Windows.

In the UNIX case, since its concept of drives is (ab)used to provide shortcuts to useful paths, its
dropdown is kept at the original location.
2020-03-03 10:38:34 +01:00
Rémi Verschelde
e2b66cacf7
Merge pull request #18020 from bruvzg/input_fix_non_latin_and_add_hw_scancodes
Fix non-latin layout scancodes on Linux, adds access to physical scancodes.
2020-03-01 23:00:42 +01:00
Gil Arasa Verge
c27811ee68 Double click on a folder didn't open it
There is a deferred call to _update_file_list inside _tree_item_activated but it was not bound.
2020-02-29 21:11:03 +01:00
Rémi Verschelde
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
bruvzg
1af06d3d46
Rename scancode to keycode.
Add `physical_keycode` (keyboard layout independent keycodes) to InputEventKey and InputMap.
Fix non-latin keyboard layout keycodes on Linux/X11 (fallback to physical keycodes).
2020-02-25 12:30:33 +02:00
Juan Linietsky
69c95f4b4c Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
Juan Linietsky
3205a92ad8 PoolVector is gone, replaced by Vector
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are
sugar for `Vector<Type>`.
2020-02-18 10:10:36 +01:00
Juan Linietsky
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
Rémi Verschelde
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
Michael Alexsander
d057007541 Add spaces after commas and strip extra ones in *FileDialog filter menu 2019-12-06 22:40:59 -03:00
Michael Alexsander
80dcd4423a Remove extra spaces from parenthesis in *FileDialog's filter menu 2019-12-06 07:31:42 -03:00
Rémi Verschelde
948a2a03d2
Merge pull request #33091 from MCrafterzz/fix10567
Improved project creation UX
2019-10-29 13:27:41 +01:00
MCrafterzz
336e61b36a Improved UX of selecting directories in (Editor)FileDialog by hiding unused gui elements and moving the drive selection 2019-10-29 11:36:09 +01:00
Hugo Locurcio
c3b9319d78
Scroll back to the top after opening a directory in FileDialog
This also changes the behavior in EditorFileDialog.

This closes #26041.
2019-10-24 15:40:47 +02:00
Yuri Roubinsky
0a0c3f7fe0 Fix color of FileDialog icons 2019-10-14 16:23:56 +03:00
qarmin
17344337a9 Fix crash in Control functions 2019-10-05 19:17:07 +02:00
merumelu
eac0af5892 Tree: fix and expose icon modulation 2019-08-24 17:37:22 +02:00
Hugo Locurcio
e1b9004b0f
Rename FileDialog's folder icon custom color to folder_icon_modulate
The custom color introduced in be8d569744
had the same name as the "folder" icon, which could cause conflicts
in the generated documentation.

The new name is also more self-explanatory.
2019-08-21 18:43:01 +02:00
Hugo Locurcio
be8d569744
Use a different color for folder icons in file dialogs
This makes them easier to distinguish from files for quick
visual grepping.

This can also be used in projects by setting the FileDialog "folder"
color. The default value (`Color(1, 1, 1)`) has no visual impact,
for compatibility with existing projects.
2019-08-20 00:10:27 +02:00
Michael Alexsander Silva Dias
e8fc875619 Small adjustments to tooltips in '(Editor)FileDialog' 2019-07-26 11:11:09 -03:00
Rémi Verschelde
43238bb59a DirAccess: Drop compat get_next(bool *is_dir) which was hidden
Fixes this warning:
```
./core/os/dir_access.h:74:17: warning: 'virtual String DirAccess::get_next(bool*)' was hidden [-Woverloaded-virtual]
```

Part of #30790.
2019-07-25 11:09:57 +02:00
Chaosus
eeabb132ec Auto-change file extension in EditorFileDialog when filter changes 2019-06-28 18:35:24 +03:00
qarmin
4e5310cc60 Some code changed with Clang-Tidy 2019-06-26 15:08:25 +02:00
Michael Alexsander Silva Dias
be6d48fcad Add toggle for hidden file visibility in FileDialog 2019-06-10 00:20:24 -03:00
James Buck
4f4513f99c Remove some redundant lines 2019-05-29 15:20:39 -05:00
Rémi Verschelde
c8994b56f9 Style: Apply new changes from clang-format 8.0
It seems to stay compatible with formatting done by clang-format 6.0 and 7.0,
so contributors can keep using those versions for now (they will not undo those
changes).
2019-04-09 17:09:48 +02:00
Michael Alexsander Silva Dias
a292d1fefb Fix general issues with filesystem-related UI components in the editor 2019-03-05 10:12:06 -03:00
Rémi Verschelde
b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Kanabenki
cfb89b672e Prevent FileDialog from stealing focus when setting current file in editor 2018-12-14 22:58:01 +01:00
Rémi Verschelde
7b081a7fc8 Fix warnings about unhandled enum value in switch [-Wswitch]
Fixes GCC 5 warnings of the form:

core/io/http_client.cpp:288:9: warning: enumeration value 'STATUS_SSL_HANDSHAKE_ERROR' not handled in switch [-Wswitch]
core/io/marshalls.cpp:806:9: warning: enumeration value 'AABB' not handled in switch [-Wswitch]

Those can be trivial cases where adding a default fallback is the solution,
or more complex issues/hidden bugs where missed values are actually meant
to be handled.
2018-09-27 18:34:30 +02:00