Commit Graph

577 Commits

Author SHA1 Message Date
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
Rémi Verschelde 48ed841dd0 Signals: Fix some regressions from #36426
- Fix `callable_mp` bindings to methods which used to have default
  arguments passed to `bind_method`. We now have to re-specify them
  manually when connecting.
- Re-add `GroupsEditor::update_tree` binding.
- Misc code quality changes along the way.
2020-03-03 11:44:06 +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
Rémi Verschelde 65429f11a6 Signals: Make callbacks non-const, callable_mp can't handle it 2020-02-23 23:48:44 +01: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
Haoyu Qiu 9cff286de1 Fixes broken scene created via New Resource 2020-02-09 14:21:10 +08:00
Michael Alexsander 07a23e75fc Make some QOL improvements to move operations in the FileSystem dock 2020-02-04 19:31:48 -03:00
Gilles Roudière 76d87e6616 Fixes a memory leak in FileSystemDock
Co-authored-by: Rafał Mikrut <mikrutrafal54@gmail.com>
2020-01-15 21:45:13 +01:00
Michael Alexsander 8708d44a50 Add option to disable loading scripts in ScriptCreateDialog 2020-01-09 13:09:23 -03:00
volzhs 9495229315 Update file list in split view when setting main scene 2020-01-09 09:51:31 +09:00
Michael Alexsander f9d11120f7 Minor fixes for ScriptCreateDialog 2020-01-08 02:02:34 -03:00
volzhs a1ab8f8890 Show selected main scene in FileSystem split view 2020-01-08 02:19:54 +09: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
Rémi Verschelde f3f6268ee7
Merge pull request #34656 from volzhs/keep-selected-dir
Show selected directory in split mode when selecting a file
2019-12-30 17:58:20 +01:00
Rémi Verschelde ea3262ee9b
Merge pull request #34578 from timothyqiu/var-rename
Fixes variable naming in FileSystemDock
2019-12-30 17:11:42 +01:00
volzhs 4fb56d6694 Show selected directory in split mode when selecting a file 2019-12-29 04:07:56 +09:00
Haoyu Qiu 078c0d75f2 Cleans up headers included in editor_node.h 2019-12-24 21:46:05 +08:00
Haoyu Qiu 79a06e17bb Fixes variable naming in FileSystemDock 2019-12-24 14:51:33 +08:00
Tomasz Chabora 01d77842ee Unfold directories when showing in file system 2019-11-21 15:40:11 +01:00
Michael Alexsander 107c1969f5 Hide "Set As Main Scene" in FileSystem dock if the scene is already the main one 2019-11-11 12:41:46 -03:00
Andrii Doroshenko (Xrayez) 1f62318f92 Display icon for "Set As Main Scene" in filesystem popup 2019-11-11 12:58:15 +02:00
Silvano Cerza 469acbfd0c Folders in FileSystem are not expanded on project save anymore
If an item was selected in the FileSystem dock and its parent
was collapsed the folder would be expanded when saving the project.
2019-11-04 20:23:46 +01:00
volzhs bee6b94b77 Add "Set as main scene" on context menu in FileSystem panel 2019-10-30 03:31:33 +09:00
David Sichma f1265541ee Favorites dragable 2019-10-20 19:39:21 +02:00
Rémi Verschelde 7b433107f5
Merge pull request #32009 from Xrayez/fs-editor-icons
Display editor icons for filesystem dock popup menu options
2019-09-26 08:43:17 +02:00
Stefano Coratti d7b2ecacff Fixed Show in file system should clear current search 2019-09-25 16:07:46 +02:00
qarmin 17732fe698 Added some obvious errors explanations 2019-09-25 10:28:50 +02:00
Andrii Doroshenko (Xrayez) 407839daab Display editor icons for filesystem dock popup menu options 2019-09-06 14:57:51 +03:00
merumelu eac0af5892 Tree: fix and expose icon modulation 2019-08-24 17:37:22 +02:00
Michael Alexsander Silva Dias c5b45c9f09 Cleanup and minor changes in FileSystem Dock 2019-08-22 10:24:51 -03:00
Rémi Verschelde 4ab4d4a59b
Merge pull request #31489 from iwek7/removeRenameRootOption
Showing only working options in filesystem dock menu
2019-08-22 11:56:48 +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
iwek7 2b8d65761c Improvements and fixes of filesystem dock 2019-08-21 11:13:50 +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
Braden Bodily 71d71d55b5 Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in 'core/' and 'editor/'
Condensed some if and ERR statements. Added dots to end of error messages

Couldn't figure out EXPLAINC. These files gave me trouble: core/error_macros.h, core/io/file_access_buffered_fa.h (where is it?),
core/os/memory.cpp,
drivers/png/png_driver_common.cpp,
drivers/xaudio2/audio_driver_xaudio2.cpp (where is it?)
2019-08-17 12:33:15 +02:00
Tomasz Chabora cedee8281b Allow to create scene from FileSystem dock 2019-08-15 19:47:21 +02:00
Emmanuel Barroga 2350af5e70 Fix losing scene modifications when renaming file
Closes: #30436

When renaming/moving a file in the filesystem docker, changes on a scene that has dependencies on the file being renamed/moved are lost.

To resolve this, this patch saves the scenes that depend on the file first, to save its current state.
2019-07-15 20:50:03 -07:00
qarmin 01cc7a996b Use reference to constant in functions 2019-07-10 11:54:12 +02:00
Rémi Verschelde c5ea4b27f9 FileSystem dock: Improve duplicate check for directory paths
Supersedes and closes #30225.
2019-07-04 11:42:40 +02:00
Rémi Verschelde d17eac735c
Merge pull request #29815 from NilsIrl/plus_file_1
Replace ` + "/" + ` with `String::file_add()`
2019-07-01 12:06:35 +02:00
qarmin 4e5310cc60 Some code changed with Clang-Tidy 2019-06-26 15:08:25 +02:00
Nils ANDRÉ-CHANG d2833d4f4d Replace ` + "/" + ` with `String::file_add()` 2019-06-23 13:33:50 +01:00
Rémi Verschelde 6d16f2f053 Fix error macro calls not ending with semicolon
It's not necessary, but the vast majority of calls of error macros
do have an ending semicolon, so it's best to be consistent.
Most WARN_DEPRECATED calls did *not* have a semicolon, but there's
no reason for them to be treated differently.
2019-06-11 14:49:34 +02:00
Hein-Pieter van Braam-Stewart 0ac7715a27 Fix moving and renaming files
This commit fixes several issues related to moving scenes and resources
in an open project.

* Don't try to reload scenes while not all scenes are updated yet.
* Don't use the UndoRedo system to update non-user initiated editor
state.
* Resave scenes after moving files and updating resource path(s).
2019-06-04 16:24:32 +02:00
qarmin 392f6f89cd Fix memory leak in Text Editor and FileSystem Dock 2019-05-30 21:31:05 +02:00
Rémi Verschelde 8384582828
Merge pull request #27836 from turtletooth/right-click
Allow Right Click in Empty Space on FileSystemDock
2019-05-28 12:07:06 +02:00
Rémi Verschelde 2bf28f58ac
Merge pull request #28702 from Lisapple/fs-show-path-tooltip
Show file path in FileSystem dock tooltip
2019-05-24 16:22:45 +02:00
Rémi Verschelde e0574e1d98 Fix typos with codespell
Using codespell 1.15.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
doubleclick
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2019-05-19 13:10:35 +02:00
Michael Alexsander Silva Dias dcf27c71b7 Make possible to create inherited scenes via the RMB menu in the FileSystem dock 2019-05-11 05:13:29 -03:00
Rémi Verschelde 89c37dae49
Merge pull request #28807 from bojidar-bg/28798-open-filesystem
Open selected folder when pressing the "Open" option in the menu
2019-05-11 09:49:34 +02:00
Bojidar Marinov fedf9cd379
Open selected folder when pressing the "Open" option in the menu
An attempt to fix #28798
2019-05-10 18:55:50 +03:00
volzhs 920403c489 Scroll back to top when changing directory in FileSystem dock
Fix #26041
2019-05-09 04:00:40 +09:00
Lisapple 182a04b1da Replacing filename with path in tooltip into FileSystem dock 2019-05-08 17:15:21 +02:00
Rémi Verschelde 36d4f86ed9
Merge pull request #27707 from Calinou/tweak-message-wording
Improve wording of various messages and make casing more consistent
2019-04-30 11:10:36 +02:00
Hugo Locurcio 35a0162167
Improve wording of various messages and make casing more consistent
This also adds the number of selected projects to the confirmation
dialog that appears before removing projects.
2019-04-21 14:37:14 +02:00
Juan Linietsky 04847ef5f9 Added ability for multiple images to be imported as an atlas
This adds support for groups in the import system, which point to a single file.
Add property hint for saving files in file field
2019-04-19 15:56:34 -03:00
Tomasz Chabora 331f922359 Save opened scenes when necessary 2019-04-15 22:17:49 +02:00
Jeremy Bullock 36bdf78927 Allow Right Click in Empty Space on FileSystemDock 2019-04-09 11:22:14 -06:00
Rémi Verschelde 3da2894d82 FS dock: Allow deselecting items by clicking empty space
Fixes #27546.
2019-04-09 14:54:41 +02:00
Juan Linietsky a20235aeb0 Add ability to edit editor feature profiles
Allows enabling/disabling parts of the editor and storing/loading profiles for that.
2019-04-08 19:18:51 -03:00
Daniel Kulas 22b861ad97 Fix "Show in File Manager" option 2019-04-06 23:01:59 +02:00
Michael Alexsander Silva Dias d819ad6f78 Small tooltip changes to filesystem-related UI componentes in editor 2019-03-27 01:50:50 -03:00
qarmin 8c4051819e Fix error when trying to enter to folder/node directly via address bar 2019-03-08 06:15:42 +01:00
Michael Alexsander Silva Dias 20b479aaef Fix FileSystem dock's item view button starting with the wrong icon 2019-03-05 15:05:53 -03: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
Bruno Lourenço ed7534a6aa Fix grid view button icon not showing on filesystem dock. 2019-03-03 15:02:51 +00:00
Gilles Roudiere 04fb1069cd Fixes layout loading 2019-02-27 21:36:12 +01:00
Gilles Roudiere de95493de2 Move the FileSystem dock layout properties to the per-project layout file 2019-02-25 23:39:49 +01:00
Rémi Verschelde 5fc86026ca Fix typos with codespell
Using codespell 1.14.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
doubleclick
lod
nd
numer
que
te
unselect
EOF
$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2019-02-13 09:23:29 +01:00
groud d4de7cf186 Fixes crash in the Filesystem dock 2019-01-17 20:48:46 +01: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
Michael Alexsander Silva Dias b86b497cec General fixes for the AnimationTree editor 2018-12-17 21:03:58 -02:00
groud c6329b4569 Add signals for files move/delete/rename to FileSystemDock 2018-12-06 21:35:21 +01:00
Mintormo 69bca28271 (#23480) Wrong directory path in filesystem dock when creating script.
When creating script and file selected in filesystem dock,
between file name and directory path there is no "/" symbol.
This commit fix that bug.
2018-11-05 17:27:48 +03:00
groud a821de2275 Hide some RMB options in the filesystem dock when files are searched 2018-11-03 18:37:57 +01:00
Juan Linietsky 03563c8ddf
Merge pull request #23061 from groud/remove_thumbnail_view
Remove the thumnail-only view from the filesystem dock
2018-11-02 13:09:09 -03:00
Rémi Verschelde 91e5782795
Merge pull request #23311 from YeldhamDev/editor_capitalization_fix
Small capitalization fixes across the editor
2018-11-01 21:37:33 +01:00
Chaosus 4f4bbfbb85 Fix small visual bug in filesystem dock 2018-10-29 16:21:55 +03:00
Michael Alexsander Silva Dias f3835282c4 Small capitalization fixes across the editor 2018-10-26 16:11:36 -03:00
Chaosus ba9d29ec62 Fix segfault on editor close up 2018-10-25 13:33:46 +03:00
Chaosus 3af11ff3d8 Update filesystem dock when theme changed 2018-10-23 12:37:00 +03:00
Rémi Verschelde 16b0191173
Merge pull request #23160 from groud/filesystem_favorites_fix
Make folders clicked in the filesystem dock open the selected folder
2018-10-20 11:15:38 +02:00
groud c029e82761 Make folders clicked in the filesystem dock open the selected folder 2018-10-19 22:43:48 +02:00
Silvano Cerza 0759760856 Enhanced error message on folder creation with invalid chars on Windows
If the user tried to create folder with *, | or > in its name it would
return a generic error "Could not create folder."
Now the same message is shown when creating a folder with /, \\, :, *,
|, > or ending with . or an empty space.
2018-10-18 21:19:16 +02:00
Zaven Muradyan ee74c7808b Update autoload references when moving files.
Prior to this, file references in autoload were not updated when a
script was moved or renamed. This adds extra logic to update the
autoload references when updating project settings.

Fixes #22995.
2018-10-16 18:57:21 -07:00
groud 8f3becafeb Remove the thumnail-only view from the filesystem dock 2018-10-16 22:08:00 +02:00
Dualtagh Murray fc0ae1d94d 22586: Dragging file icon on to another file causes "Error Moving" in FileSystem dock 2018-10-04 20:38:36 +01:00
groud 0829fdafb0 Adds the display of the favorites into the file list 2018-09-30 15:32:57 +02:00
groud 7d59e05ae8 Add thumbnails to the FileSystem file list 2018-09-28 13:26:36 +02:00
groud 4f998faa2d Fixes drag & drop in the file list 2018-09-27 13:54:09 +02:00
Rémi Verschelde 1f18a85ea1
Merge pull request #22398 from groud/fix_import_tab_update
Fix import tab not updating when selecting in the tree view
2018-09-24 15:26:23 +02:00
groud ed516a11ca Fix import tab not updating when selecting in the tree view 2018-09-24 14:26:26 +02:00
groud 43beed489a Allow the tree view of FileSystem to take more space 2018-09-24 12:01:20 +02:00
DualMatrix 6dc0120c60 Prevent built-in-scripts from being made from FileSystem dock
Prevent built-in-scripts from being made from FileSystem dock
2018-09-23 17:38:59 +02:00
groud f19dfc1aa8 Remove auto disabling of the split-view in the FileSystem dock 2018-09-21 12:19:50 +02:00
Rémi Verschelde f22f83f2df
Merge pull request #22308 from groud/fix_filesystem_setting
Fixes filesystem display mode not updating at startup
2018-09-21 10:28:05 +02:00
groud 77a6a467b3 Fixes filesystem display mode not updating at startup 2018-09-21 09:42:41 +02:00
Michael Alexsander Silva Dias ab2eac8e3f Make filesystem dock's path bar start with said path written 2018-09-21 04:05:50 -03:00
groud 76b2ae8dc6 Fixes favorites not updating and rename favorite_dirs to favorites 2018-09-18 14:02:59 +02:00