summaryrefslogtreecommitdiff
path: root/editor/editor_settings.cpp
AgeCommit message (Collapse)Author
2021-12-09Replace String comparisons with "", String() to is_empty()Nathan Franke
Also: - Adds two stress tests to test_string.h - Changes to .empty() on std::strings
2021-11-12Use "enum class" for input enumsAaron Franke
2021-11-03Rename `PROPERTY_USAGE_NOEDITOR` to `PROPERTY_USAGE_NO_EDITOR`Hugo Locurcio
This is consistent with other constants that include `NO`, such as `PROPERTY_HINT_COLOR_NO_ALPHA`.
2021-10-19Merge pull request #52940 from groud/toast_notificationRémi Verschelde
2021-10-15Fixed shortcut saving and 'original' comparisonsEric M
2021-10-14Implement toast notifications in the editorGilles Roudière
2021-10-04Merge pull request #51413 from KoBeWi/🚗Rémi Verschelde
2021-10-01Allow shortcuts to have any number of bindings. Updated UI as required.Eric M
2021-09-30Use range iterators for `Map`Lightning_A
2021-09-30Add TextFile support across the editorPaulb23
2021-09-25Add history navigation in the script editor using extra mouse buttonsHugo Locurcio
This feature is enabled by default, but it can be disabled in the editor settings in case it interferes with other uses of the extra buttons (such as push-to-talk in a VoIP program).
2021-09-21Merge pull request #52901 from nonunknown/masterRémi Verschelde
2021-09-21Fix alpha typo in code completion colornonunknown
2021-09-22Added ability to override shortcut definitions for OSX (remove preprocessor ↵Eric M
defines)
2021-09-21Improve implementation of builtin action overridesEric M
2021-09-20Tweak the 3D editor inertia defaults for better responsivenessHugo Locurcio
The default orbit sensitivity was decreased to account for this change. Rotational inertia (orbit + freelook) was disabled by default due to known issues. This also removes the need for separate manipulation inertia settings, as the default settings are more responsive.
2021-09-15Add and use macros for defining editor settings with hint informationAaron Franke
2021-08-23Rename polygon editor settings for better display in the Editor SettingsHugo Locurcio
2021-08-16Reorganise text editor settingsPaulb23
2021-08-12Expose and cleanup TextEdit line wrap APIPaulb23
2021-08-12Cleanup and rename caret operationsPaulb23
2021-08-12Add option to not expand tree on node selectkobewi
2021-08-10Use Key enum instead of plain integersAaron Franke
2021-08-08Merge pull request #51395 from angad-k/pseudolocalization-squashedRémi Verschelde
Add pseudolocalization to Godot. (GSoC'21)
2021-08-08add pseudolocalization to GodotAngad Kambli
2021-08-05Shortcut: Rename `shortcut` property to `event`Rémi Verschelde
Having a property which has the same name as its class leads to confusing situations (e.g. `BaseButton` has a `shortcut` property of type `Shortcut` which has a `shortcut` property of type `InputEvent`). Also renames `is_event` to `matches_event`, and `is_valid` to `has_valid_event` to better reflect what the methods check.
2021-07-26Use Ref<T> references as iterators where relevantRémi Verschelde
And const when possible.
2021-07-25Merge pull request #50809 from akien-mga/iterators-const-referencesRémi Verschelde
2021-07-25Use const references where possible for List range iteratorsRémi Verschelde
2021-07-25Fix various typos with codespellluz paz
Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-07-18Optimize StringName usagereduz
* 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-13Implement the ability to disable classesreduz
* This PR adds the ability to disable classes when building. * For now it's only possible to do this via command like: `scons disable_classes=RayCast2D,Area3D` * Eventually, a proper UI will be implemented to create a build config file to do this at large scale, as well as detect what is used in the project.
2021-07-02Add numpad emulation in 3D viewportHaoyu Qiu
2021-07-01Use PROPERTY_USAGE_NONE instead of 0 for no property usageAaron Franke
Also use const more often.
2021-06-19Rename `instance()`->`instantiate()` when it's a verbLightning_A
2021-06-20Merge pull request #48696 from madmiraal/fix-48692Rémi Verschelde
Fix `InputMap.action_erase_event()` failing to erase events correctly.
2021-06-17Merge pull request #47813 from Calinou/editor-decrease-unfocused-fps-limitRémi Verschelde
Decrease the editor FPS limit when unfocused from 20 to 10
2021-06-16EditorSettings: Factor code to compute auto display scaleRémi Verschelde
Also fixes typo introduced in https://github.com/godotengine/godot/pull/48597/files#r652636544.
2021-06-15Merge pull request #48597 from Calinou/editor-scale-auto-portraitRémi Verschelde
Handle portrait mode monitors in the automatic editor scale detection
2021-06-14Refactor editor paths validation in EditorPaths and EditorSettingsRémi Verschelde
- EditorSettings: Ensure that `create()` makes a valid singleton. Fixes #49179, fixes #49450. - EditorPaths: Cleanup code, properly set `paths_valid`. - EditorPaths: Move more paths validation (check, mkdir) from EditorSettings for a better separation of concerns. - EditorPaths: Move EditorFileSystem creation of `.godot/imported` next to other paths.
2021-06-11Core: Move DirAccess and FileAccess to `core/io`Rémi Verschelde
File handling APIs are typically considered part of I/O, and we did have most `FileAccess` implementations in `core/io` already.
2021-06-05New and improved IK system for Skeleton2DTwistedTwigleg
This PR and commit adds a new IK system for 2D with the Skeleton2D node that adds several new IK solvers, a way to control bones in a Skeleton2D node similar to that in Skeleton3D. It also adds additional changes and functionality. This work was sponsored by GSoC 2020 and TwistedTwigleg. Full list of changes: * Adds a SkeletonModifier2D resource * This resource is the base where all IK code is written and executed * Has a function for clamping angles, since it is so commonly used * Modifiers are unique when duplicated so it works with instancing * Adds a SkeletonModifierStack2D resource * This resource manages a series of SkeletonModification2Ds * This is what the Skeleton2D directly interfaces with to make IK possible * Adds SkeletonModifier2D resources for LookAt, CCDIK, FABRIK, Jiggle, and TwoBoneIK * Each modification is in its own file * There is also a SkeletonModifier2D resource that acts as a stack for using multiple stacks together * Adds a PhysicalBone2D node * Works similar to the PhysicalBone3D node, but uses a RigidBody2D node * Changes to Skeleton2D listed below: * Skeleton2D now holds a single SkeletonModificationStack2D for IK * Skeleton2D now has a local_pose_override, which overrides the Bone2D position similar to how the overrides work in Skeleton3D * Changes to Bone2D listed below: * The default_length property has been changed to length. Length is the length of the bone to its child bone node * New bone_angle property, which is the angle the bone has to its first child bone node * Bone2D caches its transform when not modified by IK for IK interpolation purposes * Bone2D draws its own editor gizmo, though this is stated to change in the future * Changes to CanvasItemEditor listed below: * Bone2D gizmo drawing code removed * The 2D IK code is removed. Now Bone2D is the only bone system for 2D * Transform2D now has a looking_at function for rotating to face a position * Two new node notifications: NOTIFICATION_EDITOR_PRE_SAVE and NOTIFICATION_EDITOR_POST_SAVE * These notifications only are called in the editor right before and after saving a scene * Needed for not saving the IK position when executing IK in the editor * Documentation for all the changes listed above.
2021-06-03Replace get_settings_dir with get_config_dir when fetching configuration pathsYuri Sizov
2021-06-01Merge pull request #45393 from Paulb23/code_edit_autocompleteRémi Verschelde
2021-06-01Move and expose Code Hint in CodeEditPaulb23
2021-05-31Merge pull request #49132 from Calinou/editor-syntax-themes-rename-defaultRémi Verschelde
Rename the bundled text editor themes for consistency with themes
2021-05-31Rename the bundled text editor themes for consistency with themesHugo Locurcio
The Adaptive text editor theme is the default, and has therefore been renamed Default for consistency with the Default theme preset. It keeps its automatic dark/light switch status. The Default text editor theme was actually a legacy Godot 2-style theme, so it has been renamed to Godot 2 to match the theme preset. Its background color has been changed to be a constant opaque color, since the new editor theme made the theme look less good on a translucent background. The previous background color on light theme also lacked contrast.
2021-05-31Merge pull request #49178 from YeldhamDev/remove_dim_optionRémi Verschelde
2021-05-31Implement shader cachingreduz
* Shader compilation is now cached. Subsequent loads take less than a millisecond. * Improved game, editor and project manager startup time. * Editor uses .godot/shader_cache to store shaders. * Game uses user://shader_cache * Project manager uses $config_dir/shader_cache * Options to tweak shader caching in project settings. * Editor path configuration moved from EditorSettings to new class, EditorPaths, so it can be available early on (before shaders are compiled). * Reworked ShaderCompilerRD to ensure deterministic shader code creation (else shader may change and cache will be invalidated). * Added shader compression with SMOLV: https://github.com/aras-p/smol-v