Commit Graph

160 Commits

Author SHA1 Message Date
Rémi Verschelde 90019676b0 Code quality: Fix header guards consistency
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 11:17:40 +02:00
kobewi a08d930740 Rework scene creation dialog 2022-06-21 15:42:56 +02: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
kobewi 7f183d0361 Add Copy UID option to filesystem dock 2022-05-02 11:51:23 +02:00
Rémi Verschelde f8ab79e68a Zero initialize all pointer class and struct members
This prevents the pitfall of UB when checking if they have been
assigned something valid by comparing to nullptr.
2022-04-04 19:49:50 +02:00
Aaron Franke 918b09cabc
Initialize bools in the headers in editor 2022-03-12 13:34:06 -06:00
Yuri Roubinsky 073abe4b9c Add "Add Script" option to project autoload settings 2022-03-12 12:57:05 +03: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
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
trollodel aa1102fc53 Store panels and docks singletons in their own classes 2022-01-20 20:13:26 +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
Yuri Roubinsky 771491d358 Add `New Shader` option to the FileSystemDock popup menu. 2021-12-03 19:42:58 +03:00
Marcel Admiraal 87a4ba492e Remove unimplemented methods 2021-10-21 18:44:25 +01:00
Paulb23 6596c7bdc2 Add TextFile support across the editor 2021-09-30 13:29:29 +01: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
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
fox 22e2e4334e Make shortcut for focusing searchbar in filesystem dock 2021-05-13 20:13:17 -04: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 7dc41ff310
FileSystemDock: List conflicting files on move
Fixes #24167.
2020-12-10 12:53:56 +01:00
Rafał Mikrut e1811b689b Initialize class/struct variables with default values in platform/ and editor/ 2020-12-02 16:09:11 +01: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
geekrelief ec33280809 Modified FileSystemDock so folders can be selected for reimport. 2020-08-14 00:04:37 -07: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
Rémi Verschelde 1f6f364a56 Port member initialization from constructor to declaration (C++11)
Using `clang-tidy`'s `modernize-use-default-member-init` check and
manual review of the changes, and some extra manual changes that
`clang-tidy` failed to do.

Also went manually through all of `core` to find occurrences that
`clang-tidy` couldn't handle, especially all initializations done
in a constructor without using initializer lists.
2020-05-14 10:01:56 +02: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 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 65429f11a6 Signals: Make callbacks non-const, callable_mp can't handle it 2020-02-23 23:48:44 +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
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
volzhs bee6b94b77 Add "Set as main scene" on context menu in FileSystem panel 2019-10-30 03:31:33 +09:00
Michael Alexsander Silva Dias c5b45c9f09 Cleanup and minor changes in FileSystem Dock 2019-08-22 10:24:51 -03:00
iwek7 2b8d65761c Improvements and fixes of filesystem dock 2019-08-21 11:13:50 +02:00
Tomasz Chabora cedee8281b Allow to create scene from FileSystem dock 2019-08-15 19:47:21 +02:00
qarmin 01cc7a996b Use reference to constant in functions 2019-07-10 11:54:12 +02:00
qarmin 4e5310cc60 Some code changed with Clang-Tidy 2019-06-26 15:08:25 +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
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
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
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
Michael Alexsander Silva Dias a292d1fefb Fix general issues with filesystem-related UI components in the editor 2019-03-05 10:12:06 -03: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
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
groud c6329b4569 Add signals for files move/delete/rename to FileSystemDock 2018-12-06 21:35:21 +01: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
Chaosus 3af11ff3d8 Update filesystem dock when theme changed 2018-10-23 12:37:00 +03:00
groud 8f3becafeb Remove the thumnail-only view from the filesystem dock 2018-10-16 22:08:00 +02: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 76b2ae8dc6 Fixes favorites not updating and rename favorite_dirs to favorites 2018-09-18 14:02:59 +02:00
groud 59536b98b9 Bugfixes on the filesystem dock 2018-09-14 13:59:19 +02:00
groud 028813fb9c Add a display mode toggle button 2018-09-14 10:22:13 +02:00
groud 4ef4df54d0 Store tree collapse when searching 2018-09-14 10:22:13 +02:00
groud a5fba2aa79 Allow dragging files into the favorites section 2018-09-14 10:22:13 +02:00
groud 4731745deb Adds a filter in the tree view 2018-09-14 10:22:13 +02:00
groud d7b638ed32 Replace the -show in filesystem- button by a RMB entry 2018-09-14 10:22:13 +02:00
groud bc5dfdde78 Replace the favorite button by a RMB menu entry 2018-09-14 10:22:13 +02:00
groud 796418aa11 Merge the disable_split and show_files_in_tree settings 2018-09-14 10:22:07 +02:00
groud b2633a97b9 Add thumnails to the tree view 2018-09-14 10:14:33 +02:00
groud 5f3bbbdc81 Add support for files in the tree view 2018-09-14 10:14:33 +02:00
Rémi Verschelde 277b24dfb7 Make core/ includes absolute, remove subfolders from include path
This allows more consistency in the manner we include core headers,
where previously there would be a mix of absolute, relative and
include path-dependent includes.
2018-09-12 09:52:22 +02:00
groud b3f02d0840 Add a way to disable the split view
Also add a parameter as the max height before split
2018-08-14 10:17:51 +02:00
steincodes a1dee44e21 Ability to add Resource from FileSystem Dock 2018-07-22 21:23:40 +05:30
Max Hilbrunner c41d322e11
Merge pull request #19183 from Nallebeorn/rename-main-scene
Update resource file project settings after renaming/moving the files
2018-07-05 00:44:23 +02:00
Max Hilbrunner 4f39d330cf
Merge pull request #19245 from swarnimarun/overwrite_fix
Fix overwrite of file/folder of same name without warning
2018-07-05 00:30:06 +02:00
Benjamin 4cd69e91fc Update resource file project settings on rename 2018-07-03 18:08:41 +02:00
volzhs a9acb95ef4 Show current scene file in FileSystem dock 2018-07-01 11:47:34 +09:00
steincodes 8ae652bd59 Fix for overwriting files and folders on move 2018-06-12 21:54:43 +05:30
Eoin O'Neill af1e2c7b21 Basic 'new script' feature added to File System browser 2018-04-27 22:55:48 -07:00
Jason0214 bfae02c4ce update favorite_dirs list after move or rename a dir 2018-02-28 15:14:12 -08:00
Rémi Verschelde eb2b04c6eb
Merge pull request #15379 from ianb96/delete_key_fix
Filesystem and Visual Script Members delete key fix
2018-02-14 17:06:31 +01:00
volzhs 127d1241bd Expand project root directory on editor start
close #16232
Option for expanding all directories on start up is a bit tricky and buggy.
2018-02-01 11:24:40 +09:00
Ian bce2d2c297 Filesystem and Visual Script Members keyboard shortcuts fix 2018-01-06 15:46:32 -05:00
Rémi Verschelde e4213e66b2 Add missing copyright headers and fix formatting
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
Rémi Verschelde b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
Juan Linietsky 57061413eb Properly rename scenes and resources after renaming or moving files, should fix #13976
It's not tested, so please test.
2017-12-26 16:32:12 -03:00
Rémi Verschelde 5b54690323
Merge pull request #13446 from gad-o/duplicate_file
Add  duplicate option to filesystem dock
2017-12-09 16:34:35 +01:00
Rémi Verschelde 13c2ff9320 Style: Apply new clang-format 5.0 style to all files 2017-12-07 08:02:00 +01:00
Orkun 3e50748972 Add duplice option to filesystem dock
Add duplice option to filesystem dock based move option
2017-12-01 14:13:50 +03:00
Dmitry Koteroff d67b602f2f Add "New Folder.." to right mouse button click on project fileslist panel _WHEN_ no any file/folder is under mouse cursor. 2017-11-20 21:25:13 +03:00
Rémi Verschelde b44cb4e3b9
Merge pull request #12583 from volzhs/select-multiple-files
Not to be slow when select multiple files
2017-11-17 00:37:01 +01:00
MillionOstrich 9c65924b3d Don't try to move if dragging a folder into itself
If a folder would be moved to an invalid location disallow the drag
Don't treat dragging a file/folder to its current location as invalid
Allow dragging onto empty space / files in the files list
Fix dragging a folder onto "Favourites" starting an invalid move
2017-11-03 20:49:36 +00:00
volzhs 3babb19515 Not to be slow when select multiple files 2017-11-02 23:47:07 +09:00
Cradmon 2aef4ce0fe Make file system dock more user friendly.
Edited files:
editor/filesystem_dock.h
editor/filesystem_dock.cpp
2017-10-22 15:41:52 +01:00
MillionOstrich 0939c0a9ce Add right click option to create folders. 2017-10-09 15:11:44 +01:00
MillionOstrich 40d1866b05 Rework DependencyRemoveDialog for deleting folders
DependencyRemoveDialog now takes two lists (files and folders) to delete.
Sort the folders above files in DependencyRemoveDialog & use some more icons.
Stop files which will be deleted from also being listed as having broken dependencies.
Add right-click option for removing folder to filesystem folder tree.
2017-10-09 15:10:40 +01:00