Commit Graph

577 Commits

Author SHA1 Message Date
Yuri Sizov 008dc63fe6 Merge pull request #81344 from AThousandShips/folder_color_fix
Fix saving editor folder colors
2023-09-06 14:49:34 +02:00
A Thousand Ships 1083ce4466 Fix saving editor folder colors
Also clears setting if none are assigned
2023-09-05 16:57:15 +02:00
kobewi 6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
the-sink 95b0f28255 Add custom color support to project folders 2023-08-29 12:13:53 -07:00
Rémi Verschelde 0655a7d7d3
Merge pull request #80517 from YuriSizov/tsa-randomly-picked-you-for-mandatory-inspection-i-think-not
Avoid unnecessary inspector updates when loading or switching scenes
2023-08-28 12:05:06 +02:00
Yuri Sizov 6ab34005ad Extract editor scene tabs into their own component 2023-08-24 12:24:29 +02:00
Yuri Sizov 2445414aa0 Avoid unnecessary inspector updates when loading or switching scenes
This should result in some noticeable performance improvements,
aside from fixing bugs due to conflicts in logic.
This also simplifies some related code identified while debugging.
2023-08-12 13:32:59 +02:00
Tyler 98bdf279d7 Fixes Scene corruption when child scene is renamed in another directory
Fixes #80379
2023-08-10 21:38:31 -04:00
Rémi Verschelde bbfa74a991
Merge pull request #75137 from nongvantinh/implement-6320
Expose 'Reimport' on right-click context menu in the FileSystem panel
2023-08-07 14:43:44 +02:00
kobewi 1d970cd6ca Fix dropping files from res:// to res:// 2023-07-01 19:21:35 +02:00
kobewi 40d1791721 Fix moving directories in filesystem
Co-authored-by: Samuele Panzeri <samuele.panzeri@gmail.com>
2023-06-09 18:33:05 +02:00
Rémi Verschelde e3681eb05f
Merge pull request #77632 from Wiwip/inline-edit-fix
Inline edit for FileSystem dock in SPLIT_MODE
2023-06-05 13:42:11 +02:00
Wiwip 28038feb04 Permits the renaming of files and folders inline for items in the FileSystemDock.
This is a continuation of: https://github.com/godotengine/godot/pull/76794 which didn't consider  DISPLAY_MODE_SPLIT.
Fixes: https://github.com/godotengine/godot/issues/77527 and https://github.com/godotengine/godot-proposals/issues/4933
2023-06-02 16:29:07 -04:00
kobewi 5baebf75f2 Small rework of tooltip plugins 2023-05-30 23:13:50 +02:00
Yuri Sizov f1b4c3d6e1 Fix a crash when hovering over "Favorites" in the FileSystem dock 2023-05-24 14:22:03 +02:00
kobewi ab787fe4d2 Add scrolling to overwrite dialog 2023-05-18 00:09:44 +02:00
kobewi 27dccf1b5e Enhance filesystem dock tooltips 2023-05-12 19:28:34 +02:00
Rémi Verschelde 4020cc8acb
Merge pull request #76794 from Wiwip/inline-edit
Inline editor for the file system dock
2023-05-11 11:46:45 +02:00
Hendrik Brucker dc46163b12 Improve editor state persistence 2023-05-11 04:17:03 +02:00
Wiwip b08a6084af Modifies the file system dock to use the inline editor instead of a dialog.
*Bugsquad edit:* Closes https://github.com/godotengine/godot-proposals/issues/4933
2023-05-10 18:49:35 -04:00
Nong Van Tinh f40a5fc3f6 Expose 'Reimport' on right-click context menu in the FileSystem panel 2023-05-01 08:15:15 +07:00
Rémi Verschelde 7b2d142808
Merge pull request #76084 from timothyqiu/nested-folders
Make create folder popup support nested folders
2023-04-25 09:59:31 +02:00
Daylily-Zeleen b12ced0a26 Implement and expose OS::shell_show_in_file_manager() 2023-04-25 11:29:32 +08:00
Haoyu Qiu 9f38a68a59 Make create folder popup support nested folders 2023-04-23 21:10:04 +08:00
Yuri Sizov 4154039832 Improve includes of EditorNode (and everything else)
Also start organizing editor-specific GUI components
into a dedicated folder, `editor/gui`.
Also move `editor_file_server` next to the rest of debugger classes.
2023-04-07 18:59:49 +02:00
kobewi 4941d5f534 Improve file move and copy operations 2023-03-25 20:58:37 +01:00
Yuri Sizov f2ea991792 Reorganize context menu in FileSystem dock to put more used options higher 2023-03-16 12:26:47 +01:00
kobewi 84a5a3d38e Select the newly duplicated file 2023-03-09 21:31:12 +01:00
Marius Hanl 6b59c57f2a Fix rightclick on some files changes the 'New' menu entry to 'Show in File Manager' due to no fixed index for the 'New' menu 2023-02-02 09:41:06 +01:00
Rémi Verschelde 0a9e6e478e
Merge pull request #71800 from akien-mga/ci-codespell-action
CI: Add official codespell action with PR annotations
2023-02-01 13:25:23 +01:00
Hugo Locurcio 1108594e66
Hide non-functional "Show in File Manager" buttons in Android/web editor
The editor filesystem isn't readily accessible by OS applications
on those platforms.
2023-02-01 12:23:14 +01:00
Rémi Verschelde e52213e2fa
More codespell fixes, do more changes from previous ignore list 2023-02-01 12:11:36 +01:00
Rémi Verschelde 5743c17001
Merge pull request #71904 from Chaosus/vs_custom_nodes
Add handling of script creation/deletion for custom visual shader nodes
2023-01-25 09:20:26 +01:00
Yuri Rubinsky 6713e0fa5b Add handling of script creation/deletion for custom visual shader nodes 2023-01-23 15:30:17 +03:00
Rémi Verschelde 37205964b6
Merge pull request #71441 from KoBeWi/warp_2_scan
Improve performance of imported file scan
2023-01-23 11:07:44 +01:00
Geoffroy Warin 38ba085116 Add keyboard shortcut for "Open in External Program" action 2023-01-22 01:40:48 +01:00
kobewi 60ed7c5004 Add "Open in External Program" option 2023-01-21 18:33:32 +01:00
Marius Hanl 99507d734c Grouped all 'New XXX...' operations in a 'New...' sub menu
This will reduce the height of the rather large context menu and gives us the possibility to add more 'New XXX...' operations in the future without cluttering the menu and thus making it taller.
2023-01-20 13:08:55 +01:00
Rémi Verschelde bcaf048f33
Merge pull request #71379 from KoBeWi/destruction_of_compatibility_function
Remove set_drag_forwarding_compat()
2023-01-18 17:40:13 +01:00
Rémi Verschelde 9801bdb74a
Merge pull request #71025 from DarkMessiah/enable_column_clip_content
Enable column clip content in ConnectionDock and FilesystemDock
2023-01-18 08:36:10 +01:00
kobewi 2cfab94fef Improve performance of imported file scan 2023-01-15 00:53:41 +01:00
Paulb23 659d9b0fa3 Globalise path for New TextFile in FileSystemDock 2023-01-14 16:43:33 +00:00
kobewi 59ea36b87c Remove set_drag_forwarding_compat() 2023-01-14 15:16:51 +01:00
Rémi Verschelde 62525b7429
Merge pull request #71075 from Repiteo/open_in_file_manager_shortcut
Setup "Open in File Manager" as shortcut
2023-01-11 14:01:48 +01:00
Juan Linietsky e6a4debede Change set_drag_forwarding() to use callables.
* This solution is much cleaner than the one in 3.x thanks to the use of callables.
* Works without issues in any language (no need to worry about camel or snake case).
* Editor code uses a compatibility function (too much work to redo).

Fixes #59899
2023-01-10 14:09:24 +01:00
Thaddeus Crews 4245417ab2 Setup "open in file manager" as shortcut 2023-01-09 08:29:46 -06:00
Stanislav Labzyuk 86d61a99fb Enable column clip content in ConnectionDock and FilesystemDock 2023-01-07 14:07:33 +01:00
Rémi Verschelde d95794ec8a
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".
2023-01-05 13:25:55 +01:00
kobewi 05993e8a35 Fix dependency reload triggered too early 2022-12-04 17:28:30 +01:00
Rémi Verschelde 994c935d97
Merge pull request #63601 from YeldhamDev/tooltip_stuff
Small changes to some tooltips
2022-11-17 13:48:46 +01:00
Rémi Verschelde 6d2a7cb46d
Merge pull request #68709 from MewPurPur/instance-begone-part3
Remove more instances of 'instance' being used as a verb
2022-11-16 14:41:42 +01:00
VolTer 3b4f5f8a04 Remove more instances of 'instance' being used as a verb 2022-11-16 14:01:53 +01:00
cespeute 4b00c2ec57 Add EditorInterface.get_selected_paths()
Exposes the selected paths in the editor filesystem dock.
Implements this proposal : https://github.com/godotengine/godot-proposals/issues/2424

Also renamed the old `get_selected_path` to `get_selected_directory` to
better match the already existing get_current_path function.
2022-11-14 22:46:27 +01:00
Michael Alexsander 39e6beed98 Small changes to some tooltips 2022-11-12 22:01:09 -03:00
trollodel ba9e619b51 Use forward-declarations in EditorPlugin where possible 2022-11-11 20:25:51 +01:00
Rémi Verschelde 9ba778e6f2
Merge pull request #66706 from PucklaMotzer09/fix_duplicate_uid
Make uids of duplicated items unique in FileSystemDock
2022-11-02 14:19:54 +01:00
PucklaMotzer09 2ac177c3b6 Use ResourceLoader::save to duplicate resources
Also recursively duplicate files of a directory tree
2022-10-22 11:44:48 +02:00
kobewi e48c5daddf Unify usage of GLOBAL/EDITOR_GET 2022-10-18 19:01:48 +02:00
meap 09b9d864a7 Fix signature for 'folder_moved' signal of FileSystemDock 2022-10-07 13:38:29 -03:00
bruvzg 0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4. 2022-10-07 11:32:33 +03:00
Ninni Pipping df9eaf5f47 Tree recursive folding 2022-09-21 13:28:29 +02:00
bruvzg 6f4d233062
Fix key mapping changes when moving from macOS to other platform
Removes separate `Command` key (use `Meta` instead).
Adds an event flag to automatically remap `Command` <-> `Control` (cannot be set alongside `Control` or `Meta`).
2022-09-07 18:45:35 +02:00
Yuri Sizov 43f03e2ce6 Improve naming of theme properties throughout GUI code
Rename ItemList's bg -> panel
Rename ItemList's bg_focus -> focus
Rename ProgressBar's bg -> background
Rename ProgressBar's fg -> fill
Rename Tree's bg -> panel
Rename Tree's bg_focus -> focus
Rename ScrollContainer's bg -> panel
Rename FileDialog's *_icon_modulate -> *_icon_color
Rename FileDialog's files_disabled -> file_disabled_color
Rename CheckButton's on/off -> checked/unchecked
Rename check_v_adjust -> check_v_offset
2022-09-06 22:53:17 +03:00
Rémi Verschelde ebe4f8d3a4
Merge pull request #65039 from Mickeon/rename-treeitem-tooltip 2022-08-30 14:05:08 +02:00
Micky 97f8c9b97c Rename TreeItem's `set_tooltip` to `set_tooltip_text`
`set_tooltip` -> `set_tooltip_text`
`get_tooltip` -> `get_tooltip_text`

For consistency:
`get_button_tooltip` -> `get_button_tooltip_text`
And the `tooltip` parameter in `add_button` was renamed to `tooltip_text`
2022-08-30 11:16:23 +02:00
Aaron Franke 10a56981dc
Rename String `plus_file` to `path_join` 2022-08-29 19:38:13 -05:00
Micky ef5b9a06a9 Rename `hint_tooltip` to `tooltip_text` & setget
`hint_tooltip` -> `tooltip_text`
`set_tooltip` -> `set_tooltip_text`
`_get_tooltip` -> `get_tooltip_text`

Updates documentation, too.
2022-08-27 01:35:01 +02:00
kleonc 25ce459fc5 `FileSystemDock` Fix crash when renaming a file in split mode 2022-08-07 02:47:02 +02:00
Juan Linietsky d4433ae6d3 Remove Signal connect binds
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind().
Changed all uses of it to Callable.bind()
2022-07-29 16:26:13 +02:00
Rémi Verschelde a5bc65bbad
Merge pull request #63265 from reduz/stream-bpm-support
Implement BPM support in AudioStream files.
2022-07-23 11:21:14 +02:00
reduz d1ddee2258 Implement BPM support
Based on #62896, only implements the BPM support part.

* Implements BPM support in the AudioStreamOGG/MP3 importers.
* Can select BPM/Bar Size and total beats in a song file, as well as edit looping points.
* Looping is now BPM aware
* Added a special importer UI for configuring this.
* Added a special preview showing the audio waveform as well as the playback position in the resource picker.
* Renamed `AudioStream::instance` to `instantiate` for correctness.
2022-07-23 07:31:17 +02:00
Yuri Roubinsky 7b94603baa Adding shader preprocessor support
Co-authored-by: TheOrangeDay <6472143+TheOrangeDay@users.noreply.github.com>
2022-07-22 22:51:57 +02:00
FireForge e4067064ce Add ok_button_text to AcceptDialog and cancel_button_text to ConfirmationDialog 2022-07-09 10:47:08 -05:00
kobewi a08d930740 Rework scene creation dialog 2022-06-21 15:42:56 +02:00
FireForge 7f7244f04a Use consistent casing in editor filter/search bars 2022-05-28 18:43:16 -05:00
trollodel 307427af89 Add the button pressed to some signals in Tree 2022-05-21 17:16:52 +02:00
reduz 45af29da80 Add a new HashSet template
* Intended to replace RBSet in most cases.
* Optimized for iteration speed
2022-05-20 22:40:38 +02:00
reduz 746dddc067 Replace most uses of Map by HashMap
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
  (order matters) but use is discouraged.

There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
Aleksey Smirnov 81520be31d Cleanups after changes in ItemList signals 2022-05-10 13:26:16 +03:00
Vitika9 aef3b5681d Changed signals of ItemList 2022-05-06 13:09:04 +05:30
Hugo Locurcio 180e5d3028
Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`
These typedefs don't save much typing compared to the full `Ref<Resource>`
and `Ref<RefCounted>`, yet they sometimes introduce confusion among
new contributors.
2022-05-03 01:43:50 +02:00
kobewi 7f183d0361 Add Copy UID option to filesystem dock 2022-05-02 11:51:23 +02:00
bruvzg be611c1c05
Implement Label3D node.
Add "generate_mipmap" font import option.
Add some missing features to the Sprite3D.
Move BiDi override code from Control to TextServer.
Add functions to access TextServer font cache textures.
Add MSDF related flags and shader to the standard material.
Change standard material cache to use HashMap instead of Vector.
2022-04-22 12:08:46 +03:00
reduz 66009318e0 Import scenes as AnimationLibrary
Added the ability to import scenes as AnimationLibrary

* Completes implementation of https://github.com/godotengine/godot-proposals/issues/4296
* Helps if you want to export animations to a separate file (say a GLTF) to avoid re-importing/exporting them every time the model changes.
* Helps if you simply want to have animations using a dummy model, which can be shared across multiple models.

Creates a secondary scene importer used only for animations.

**NOTE**: A new flag for scene importer: EditorSceneFormatImporter.IMPORT_DISCARD_MESHES_AND_MATERIALS has been added, to hint importers that they should skip meshes and animations (and hence make importing faster). It is not implemented in any importer yet, this should be done in a separate PR.
2022-04-13 15:06:56 +02:00
bruvzg 9381acb6a4
Make FileAccess and DirAccess classes reference counted. 2022-04-11 13:28:51 +03:00
Daniel Kříž cbe363d716 Fix missing favorite files in filesystem dock 2022-04-06 22:49:50 +02:00
Aleksey Smirnov 6edbbf3a94 Fix false warning folder already exists 2022-04-06 21:01:00 +03:00
Marios Staikopoulos da2b5da0c5 Fix Project Manager hard crashes due to invalid access to Editor Nodes 2022-04-05 11:40:47 -07:00
Rémi Verschelde 8e7d2826d8
Merge pull request #59453 from DanielKriz/master 2022-03-28 12:20:15 +02:00
Daniel Kříž 0535ef549a Fix persistent favorites after rename
Signed-off-by: Daniel Kříž <Daniel.kriz@protonmail.com>
2022-03-25 09:32:10 +01:00
Daniel Kříž 2a6cb29a0f Add better alert dialogs if directory already exists
Signed-off-by: Daniel Kříž <Daniel.kriz@protonmail.com>
2022-03-25 09:07:24 +01:00
Aaron Franke 918b09cabc
Initialize bools in the headers in editor 2022-03-12 13:34:06 -06:00
Rémi Verschelde 38122b8d85
Merge pull request #59050 from KoBeWi/tsal_eht_morf_ssecca 2022-03-12 14:50:56 +01:00
Yuri Roubinsky 073abe4b9c Add "Add Script" option to project autoload settings 2022-03-12 12:57:05 +03:00
kobewi 42078dec9f Allow negative indexes in ItemList and PopupMenu 2022-03-12 01:14:03 +01:00
Rémi Verschelde 768f9422bc Convert uses of `DirAccess *` to `DirAccessRef` to prevent memleaks
`DirAccess *` needs to be deleted manually, and this is often forgotten
especially when doing early returns with `ERR_FAIL_COND`.
`DirAccessRef` is deleted automatically when it goes out of scope.

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2022-03-11 09:13:11 +01:00
Rémi Verschelde 1fbd498307
Merge pull request #58842 from IgorKordiukiewicz/save-as-scene-visual-feedback
Added visual feedback when drag and dropping from scene tree to filesystem
2022-03-06 23:25:39 +01:00
Igor Kordiukiewicz 2ed334f95f Added visual feedback when drag and dropping from scene tree to file system 2022-03-06 21:36:15 +01:00
kobewi 73fdb22668 Improve some DirAccess usage 2022-03-06 15:01:13 +01:00
Rémi Verschelde 11572c6e30
Editor: Cleanup some includes dependencies
Removes some unnecessary includes from `editor_node.h`, and instead add
those where they're used.

Removes unnecessary `editor_node.h` includes in various editor classes.

Renames `dynamicfont` to `dynamic_font` in a couple files.

Misc cleanup while jumping through that rabbit hole.
2022-02-15 14:54:15 +01:00
trollodel 05b56f316d Remove most EditorNode constructor parameters and fields 2022-02-14 14:16:24 +01:00
Hendrik Brucker b396fd4eef Improve compilation speed (forward declarations/includes cleanup) 2022-02-12 02:46:22 +01:00
kobewi 4397109aab Fix uid conflict when duplicating resource 2022-02-08 18:04:19 +01:00
Rémi Verschelde a66e55069e
Merge pull request #57796 from akien-mga/revert-sname-theme-setters 2022-02-08 11:13:24 +01:00
Rémi Verschelde fc076ece3d
Revert "Add missing SNAME macro optimization to all theme methods call"
This reverts commit a988fad9a0.

As discussed in #57725 and clarified in #57788, `SNAME` is not meant to be used
everywhere but only in critical code paths. For theme methods specifically, it
was by design that only getters use `SNAME` and not setters.
2022-02-08 10:17:25 +01:00
Rémi Verschelde 317cd0b19a
Refactor some object type checking code with `cast_to`
Less stringly typed logic, and less String allocations and comparisons.
2022-02-08 10:08:34 +01:00
jmb462 a988fad9a0 Add missing SNAME macro optimization to all theme methods call 2022-02-06 23:06:11 +01:00
Anilforextra adbe948bda String: Add contains(). 2022-02-04 01:28:02 +05:45
Anilforextra fc27636999 Vectors: Use clear() and has().
Use clear() instead of resize(0).

Use has() instead of "find(p_val) != -1".
2022-02-02 00:11:09 +05:45
trollodel aa1102fc53 Store panels and docks singletons in their own classes 2022-01-20 20:13:26 +01:00
SaracenOne b7348419a3 Allow selection of option 'Open in File Manager' even when a file/folder is not explicitly selected. 2022-01-19 01:08:20 +00:00
jmb462 c24433f500 Prevent renaming to an unkown extension from FileSystem dock. 2022-01-17 20:03:51 +01:00
Rémi Verschelde fe52458154
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
Rémi Verschelde 1032c2c434
Merge pull request #55487 from YeldhamDev/scroll_bikeshedding 2022-01-03 14:10:41 +01:00
Nathan Franke 49403cbfa0
Replace String comparisons with "", String() to is_empty()
Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
2021-12-09 04:48:38 -06:00
Nathan Franke 41a20171eb
align to horizontal_alignment, valign to vertical_alignment, related 2021-12-09 01:38:46 -06:00
jmb462 81efebb3a1
Fix bad popups offset in editor with single window off
Co-authored-by: Gil Arasa Verge <gilarasaverge@gmail.com>
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2021-12-06 14:29:48 +01:00
Yuri Roubinsky 771491d358 Add `New Shader` option to the FileSystemDock popup menu. 2021-12-03 19:42:58 +03:00
Michael Alexsander ec4f4c6cda Rename all methods that return `ScrollBar` nodes to `get_*_scroll_bar()` 2021-11-30 13:46:36 -03:00
Lightning_A e078f970db Rename `remove()` to `remove_at()` when removing by index 2021-11-23 18:58:57 -07:00
Yuri Roubinsky eabf8f5edf Added `reset_size` method to `Control` and `Window` classes 2021-11-22 16:55:21 +03:00
Aaron Franke 3c0fdcc8ac
Use "enum class" for input enums 2021-11-12 15:37:54 -06:00
Hugo Locurcio 7cc33b14c9
Use Enter instead of F2 as an editor renaming shortcut on macOS 2021-11-12 20:50:23 +01:00
Rémi Verschelde 3b11e33a09
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 15:19:35 +02:00
Robin Arys e69d40cad9 Fix newly created files not sorted correctly 2021-10-23 10:50:05 +02:00
Lightning_A c63b18507d Use range iterators for `Map` 2021-09-30 15:09:12 -06:00
Rémi Verschelde 3e1b630461
Merge pull request #53025 from Paulb23/textfile-ux 2021-09-30 23:00:07 +02:00
Hugo Locurcio 570cdc128f
Rename Node's `filename` property to `scene_file_path` for clarity 2021-09-30 16:50:25 +02:00
Paulb23 6596c7bdc2 Add TextFile support across the editor 2021-09-30 13:29:29 +01:00
kobewi d4f4cfbb40 Save branch as scene by dropping to filesystem 2021-09-09 00:59:10 +02:00
Rémi Verschelde 92299989bd
Use Ref<T> references as iterators where relevant
And const when possible.
2021-07-26 19:27:11 +02:00
Rémi Verschelde ac3322b0af
Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
Aaron Franke 4e6efd1b07
Use C++ iterators for Lists in many situations 2021-07-23 17:38:28 -04:00
reduz 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
Rémi Verschelde bc75fd509a
Merge pull request #42745 from Pineapple/search-results-limit
Remove search results limit in FileSystem dock
2021-07-06 13:37:25 +02:00
Rémi Verschelde 661d7c01b8
Merge pull request #49295 from foxydevloper/fix-focus-filter
Fix "Filter Files" shortcut by merging duplicate functions
2021-06-29 17:23:45 +02:00
Lightning_A e28fd07b2b Rename `instance()`->`instantiate()` when it's a verb 2021-06-19 20:49:18 -06:00
Gregory Basile 8ab13f8ace Documentation search fixes
Updates rich_text_label so that the built-in documentation can be searched
Previously, it would only find the first result and would not select other results
Renames "_entered" functions to "_submitted"
2021-06-16 09:43:34 -07:00
Rémi Verschelde 6d98f84abb
Merge pull request #48746 from KoBeWi/bane_of_all_virtual_compatibility
Consistently prefix bound virtual methods with _
2021-06-12 23:00:40 +02:00
kobewi 7ff135b015 Consistently prefix bound virtual methods with _ 2021-06-12 00:55:52 +02:00
Rémi Verschelde 1b943dbea1
Merge pull request #49519 from Xrayez/filesystem-delete-for-everyone
Use "Delete" in FileSystemDock on all platforms
2021-06-11 23:35:45 +02:00
Andrii Doroshenko (Xrayez) 77daadac1d Use "Delete" in FileSystemDock on all platforms
The consensus is that the per-platform strings are not so useful in the
first place, so it's better to revert back to "Delete" for every platform.
2021-06-11 20:35:10 +03:00
Rémi Verschelde 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
fox 50d14ae975 Fix "Filter Files" shortcut by merging duplicate functions 2021-06-03 19:22:50 -04:00
reduz d95bc3fa67 Use bold fonts in editor
* Labels are now bold
* Categories in trees are bold
* Main editor buttons are bold
* Fixed section folding arrows in inspector
2021-06-02 12:47:57 -03:00
Rémi Verschelde 35edb77d1f
Merge pull request #37796 from Gogsi/master
Improve consistency in file order
2021-05-18 11:45:05 +02:00
Georgi Genkov a8c83a7b35 Change EditorFileSystem and ScriptEditor file sorting order to improve consistency.
Fixes #37721.
2021-05-18 10:42:06 +02:00
trollodel bca0d36fe6 Improve TreeItem API and allow to move nodes 2021-05-17 22:06:46 +02:00
Rémi Verschelde 6c367f8e0d
Merge pull request #48168 from LightningAA/control-to-ctrl-4.0 2021-05-17 17:38:02 +02:00
fox 0e3c05e157 Make Sort by X translatable 2021-05-15 12:59:57 -04:00
fox 22e2e4334e Make shortcut for focusing searchbar in filesystem dock 2021-05-13 20:13:17 -04:00
Lightning_A 97fecd1b69 Rename "Control" key to "Ctrl" and add "_pressed" suffix to all InputEventWithModifiers properties/methods 2021-05-07 14:00:50 -06:00
Rémi Verschelde 6e621441ca
Merge pull request #45607 from Calinou/improve-editor-theme
Improve the editor theme
2021-05-06 16:45:07 +02:00
Mateo Kuruk Miccino dc76938679 FileSystem: Force update when we delete a folder from the editor and searching changes only if we change the directory successfully in the scan_fs_changes 2021-05-01 22:12:02 -03:00
Hugo Locurcio 60b70c77e0
Improve the editor theme
The editor theme now makes use of rounded corners and less borders
to follow modern visual trends.

The default theme's colors were also tweaked to make the blue hue
more subtle (similar to the Arc theme, which was removed as a
consequence). The Alien theme was replaced by a Breeze Dark theme,
which should blend in well with the KDE theme.
2021-04-27 22:38:26 +02:00
Rémi Verschelde d83761ba80
Style: Apply clang-tidy's `readability-braces-around-statements` 2021-04-05 14:09:59 +02:00
Rémi Verschelde 4b6e9f3157
Merge pull request #46991 from madmiraal/rename-invert-reverse
Rename Array.invert() to Array.reverse()
2021-04-01 13:32:22 +02:00
James Castanho babaddbdec edit if statement in FileSystemDock::_select_file() 2021-03-24 16:10:41 -05:00
Juan Linietsky 4706297356 Remove FileSystem dock errors on unimported files
* Removes error shown when file is in 'keep' mode
* Display a warning when attempting to open the file
* Closes #47296
2021-03-23 11:33:07 -03:00
Bartłomiej T. Listwon 5aa88afa5d Change search results limit in FileSystem dock from 128 to 10000 2021-03-22 18:11:36 +01:00
Juan Linietsky 97a3a66220 Improved 3D Scene Importer
* Added option for importers to show an Advanced settings dialog
* Created advanced settings dialog for Scene Importer
* Cleaned up importers (remove many old/unused options)
* Added the ability to customize every node, material, mesh and animation individually
* Saving to animations and meshes to files is now a manual process, making it more predictable
* Added the ability for materials to be replaced by external files (or to be made external, up to you).
* When doubleclicking an impoted scene in the filesystem dock, it automatically shows the import settings instead of asking to open it.

WARNING: Lightmap UV unwrap is not working, it needs to be re-made.
2021-03-22 12:16:40 -03:00
Marcel Admiraal 755c70b871 Rename Array.invert() to Array.reverse()
Does the same internally for List and Vector<>, which includes all
PackedArray types.
2021-03-21 10:20:08 +00:00
Hugo Locurcio 79e31efd40
Use OS-specific terminology for "Move to Trash" in the editor filesystem
This closes https://github.com/godotengine/godot-proposals/issues/2460.
2021-03-14 21:18:58 +01:00
Michael Alexsander cf9d5cec22 Make FileSystem dock set its path to the base folder of files after changes 2021-02-09 12:57:36 -03:00
Rémi Verschelde 9c50d0ee0a
Merge pull request #44887 from gongpha/crash!-on-expand-or-collapse-folder-in-filesystem-tree
Fix crash on FileSystemDock's tree when trying to collapse or expand folder
2021-01-26 15:32:15 +01:00
Michael Alexsander b3b455c167 Update path in the FileSystem dock after doing file operations 2021-01-16 12:30:56 -03:00
Pedro J. Estébanez 6fbe0a494b Fix cases of resources destroyed too early 2021-01-06 23:40:50 +01:00
gongpha e6145027ef Fix crash on FileSystemDock's tree when trying to collapse or expand folder 2021-01-04 00:50:18 +07:00
Rémi Verschelde 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
Rémi Verschelde feb4e5ed2c
Merge pull request #44569 from madmiraal/rename-unselect-deselect
Rename unselect to deselect
2020-12-28 14:53:43 +01:00
Marcel Admiraal 5b937d493f Rename empty() to is_empty() 2020-12-28 10:39:56 +00:00
Marcel Admiraal 7b293eddfb Rename unselect to deselect 2020-12-21 10:26:41 +00:00
Marcel Admiraal 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
Rémi Verschelde 7dc41ff310
FileSystemDock: List conflicting files on move
Fixes #24167.
2020-12-10 12:53:56 +01:00
Eric M ef5c720b73 Made keyboard shortcuts for FileSystemDock visible in popup 2020-12-03 18:10:35 +10:00
Eric M 5a3952fe64 Added F2 shortcuts for renaming files & folders. 2020-12-03 08:15:33 +10:00
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
Rémi Verschelde 54baa7fa80
Merge pull request #41263 from Calinou/filesystem-dock-rename-delete-option
Rename the "Delete" option in the FileSystem dock to "Move to Trash"
2020-11-16 15:05:45 +01:00
Hugo Locurcio 5b40f9fddc
Use Ctrl+Shift+C as the default FileSystem dock Copy Path shortcut
This closes #43396.
2020-11-08 19:44:52 +01: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
Gilles Roudière 6f696a5927 Improve file sorting 2020-10-26 09:22:35 +01:00
Gilles Roudière f7a8cd882a Allow sorting files by type 2020-10-19 23:22:08 +02:00
Eric M 54bef223fd Fixed expand/collapse folder option not showing in FileSystemDock 2020-09-07 22:09:53 +10:00
Hugo Locurcio e7ed287fda
Rename the "Delete" option in the FileSystem dock to "Move to Trash"
It actually moves files to the system trash instead of removing them
completely.
2020-08-14 20:43:31 +02:00
geekrelief ec33280809 Modified FileSystemDock so folders can be selected for reimport. 2020-08-14 00:04:37 -07:00
Stijn Hinlopen 929b98d24b Remove String::find_last (same as rfind) 2020-07-03 15:26:22 +02:00
Juan Linietsky f0e320decf Fix some popups menu missing screen transform.
Closes #38591
2020-07-01 14:44:19 -03:00
Rémi Verschelde 372136fe75 Environment: Refactor code for readability + more
- Makes all boolean setters/getters consistent.
- Fixes bug where `glow_hdr_bleed_scale` was not used.
- Split CameraEffects to their own source file.
- Reorder all Environment method and properties declarations,
  definitions and bindings to be consistent with each other
  and with the order of property bindings.
- Bind missing enum values added with SDFGI.
- Remove unused SDFGI enhance_ssr boolean.
- Sync doc changes after SDFGI merge and other misc changes.
2020-07-01 14:44:45 +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
Tomasz Chabora b426d11d86 Allow duplicating files when holding Control 2020-06-07 21:36:48 +02: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 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
lupoDharkael 95a1400a2a Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
Juan Linietsky c7b4dcae2f Open sub-windows as embedded if the OS does not support them 2020-03-26 15:49:43 +01: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
Juan Linietsky 9e08742de8 Added a Window node, and made it the scene root.
Still a lot of work to do.
2020-03-26 15:49:38 +01:00
Juan Linietsky f8a79a97c7 Effective DisplayServer separation, rename X11 -> LinuxBSD 2020-03-26 15:49:34 +01:00
Ignacio Etcheverry fe0b783e70 Expose FileSystemDock to the scripting API and fixed signals
Fixed FileSystemDock's `file_removed` and `folder_removed` signals not being
emitted because the emitted was using the wrong signal name.
2020-03-18 15:06:07 +01:00
Rémi Verschelde 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