Commit graph

179 commits

Author SHA1 Message Date
Marc Gilleron
d3652887df Project manager improvements
- Faster launch time by loading icons in a coroutine
- Faster sorting, filtering, fav'ing etc
- Refactored project list with a proper structured class
2019-07-21 20:47:25 +01:00
gaisama
f3b95560f4 Set a default value for project name when installing a project.
If I download a template named KewlGame, we should not force the user to have to type that name in order to complete the installation process.  The user can still rename it if they wish to but we should be providing a default value.  This quality of life enhancement will improve the workflow for newcomers to Godot who typically attempt to install a template as their first action within the program.
2019-07-10 18:40:29 -04:00
Tomasz Chabora
39e5c510fc Properly sort projects by name 2019-06-18 15:51:58 +02:00
Hugo Locurcio
bf97247cec
Improve the default project naming in the Project Manager
The Project Manager will now infer a project name from the
project path if the name is empty or equal to the default value.
The project name will also be capitalized automatically.
2019-06-15 00:01:44 +02:00
Hugo Locurcio
c9bc807ce4
Dim the project manager window while it's quitting
This makes it clearer that the project manager window is busy
while it's quitting (which can take a while on slower PCs).
This also makes it feel more responsive to user input.
2019-06-09 22:48:12 +02:00
Hugo Locurcio
dc981d8af7
Display longer Git hashes in engine version dialogs
Due to the high number of commits in the Godot repository,
7-character hashes were starting to become occasionally ambiguous.

In contrast, 9-character hashes are currently unambiguous for
all commits.
2019-06-01 13:52:58 +02:00
Rémi Verschelde
0d3ae2a415
Merge pull request #29198 from NilsIrl/seg_fault
Fix Segmentation fault and reduce memory consumption
2019-05-27 11:59:38 +02:00
Nils ANDRÉ-CHANG
a156b7976d Fix Segmentation fault and reduce memory consumption 2019-05-26 20:32:09 +01:00
Hugo Locurcio
deb7152724
Quit the Project Manager when Command + Q is pressed
This uses the same shortcut as quitting Godot while in the editor.

This partially addresses #27251.
2019-05-13 22:17:16 +02:00
qarmin
d9eaa3e093 Fix Remove Missing Project projects on Windows 2019-05-01 14:36:04 +02:00
Rémi Verschelde
5902e15b9b
Merge pull request #27187 from IronicallySerious/add-new-folder-button
Add 'Create Folder' button in Install Project dialog
2019-04-30 18:32:42 +02:00
Rémi Verschelde
1b08ba1a48
Merge pull request #25713 from qarmin/remove_all_missing_projects
Add button in Project Manager to remove all missing projects
2019-04-30 13:56:29 +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
Twarit
0e62f5e6f7 Add 'Create Folder' button while installing templates
Fixes #25454
2019-04-10 11:23:13 +05:30
Rémi Verschelde
fc370b3feb Fix -Wimplicit-fallthrough warnings from GCC 8
Adds `FALLTHROUGH` macro to specify when a fallthrough is intentional.
Can be replaced by `[[fallthrough]]` if/when we switch to C++17.

The warning is now enabled by default for GCC on `extra` warnings level
(part of GCC's `-Wextra`). It's not enabled in Clang's `-Wextra` yet,
but we could enable it manually once we switch to C++11. There's no
equivalent feature in MSVC for now.

Fixes #26135.
2019-04-05 15:14:53 +02:00
marxin
8d51618949 Add -Wshadow=local to warnings and fix reported issues.
Fixes #25316.
2019-02-20 19:44:12 +01:00
Michael Alexsander Silva Dias
0de15955ad Add small spacing between top bars in main editor and project manager 2019-02-20 12:08:52 -03:00
Kārlis Seņko
bb3429c1c5 Fix project opening while filter is applied.
Fixes #25268
2019-02-19 00:06:20 +02:00
Michael Alexsander Silva Dias
da45f1bf85 Minor cleanup in the Project Manager 2019-02-12 08:25:09 -02:00
qarmin
a14733be3f Add button in Project Manager to remove all missing projects 2019-02-11 17:44:23 +01:00
Rémi Verschelde
da18307a53
Merge pull request #25562 from IronicallySerious/fix-empty-project
Fix prompt for empty project files when loaded
2019-02-08 12:16:01 +01:00
Twarit
56f4d59962 Fix prompt for empty project files when loaded
Fixes #25541
2019-02-06 17:21:19 +05:30
Leon Krause
12bdb46706 Add renderer selection to New Project dialog 2019-01-25 01:49:55 +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
Rémi Verschelde
616beb1041 ProjectManager: Warn when projects have different config_version
When opening projects for edition through the project manager, the
following checks are now done:

1. If the config_version is lower than the one used by the current
   engine version, users are asked if they want to convert to the new
   format or abort editing. Fixes #20626.
2. If the config_version is higher than the expected one (project
   from a more recent and incompatible engine version), projects are
   grayed out and can't be edited. Fixes #18758.

When editing from the command line, the behaviour is unchanged:
projects in situation (1) are automatically converted, while projects
in situation (2) show an error message (made more explicit).

The "Run" option from the project manager was not changed, so it will
still run (1) projects without converting them, and fail running (2)
projects.

Co-authored-by: groud <gilles.roudiere@gmail.com>
2018-12-21 12:45:27 +01:00
Gleb Mineev
b675a3f745 24303: remember sorting order in the project manager 2018-12-15 17:38:49 +01:00
Rémi Verschelde
17c3c64a80 i18n: Sync translation template with current source
Also French translation update and misc fixes to source strings.
2018-12-13 14:47:24 +01:00
Rémi Verschelde
c084340216
Merge pull request #23935 from helenaMontenegro/master
Add sorting to the project manager
2018-12-06 14:14:08 +01:00
qichunren
1986cc1118 Fixed project name line edit focus lost when open project-create dialog.
This also select default project name text for convenience.
2018-11-26 15:56:34 +08:00
helenaMontenegro
911cf63eb8 Add sorting to project manager. Fixes #8794. 2018-11-23 23:53:21 +00:00
Michael Alexsander Silva Dias
f3835282c4 Small capitalization fixes across the editor 2018-10-26 16:11:36 -03:00
lupoDharkael
006021236a Project manager: remove projects with delete key 2018-10-02 11:28:18 +02:00
Fabio Alessandrelli
d2b38aabec Bundle SSL certs with the templates.
If this is undesired it can be avoided by specifying builtin_certs=no .
Bundled SSL certs will be used unless you specify an override in:
Project Settings -> SSL -> Certificates .
2018-09-15 10:54:00 +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
Hugo Locurcio
9c5ce5cf58
Fix the project manager window size on hiDPI displays on macOS
This closes #21525.
2018-09-02 11:52:26 +02:00
Rémi Verschelde
52466d57e9 Make some debug prints verbose-only, remove others 2018-08-24 14:59:01 +02:00
Rémi Verschelde
8c38bab6d7
Merge pull request #20831 from Calinou/project-manager-window-size-hidpi
Scale the project manager window size with the editor scale
2018-08-14 15:45:48 +02:00
Ivan Vodopiviz
f6a250adf8 Always show "Open in File Manager"
Now this button is always shown in the project manager. Fixes #20799.
2018-08-14 14:17:55 +02:00
Rémi Verschelde
68ab428d4d
Merge pull request #20155 from Tunous/line-edit-clear
Add clear button to search fields
2018-08-13 12:54:57 +02:00
Łukasz Rutkowski
81fb81de9d Do not use theme to set LineEdit right_icon 2018-08-11 12:04:26 +02:00
Łukasz Rutkowski
e8a435c8cd Add clear text button to LineEdit
- Add pressed state to clear button
- Enable clear button on all inputs with search icon
- Remove duplicate clear buttons
- Fix rendering of icon for center and right alignments
- Add clear button to more search fields
- Add clear icon to default theme
- Add method to control enabled state of clear button
- Add property to enable clear button from inspector
2018-08-11 12:04:26 +02:00
Hugo Locurcio
cd29cdab15
Scale the project manager window size with the editor scale
This also makes the project search field slightly larger.
2018-08-09 11:10:48 +02:00
Ibrahn Sahir
62f0dd9d57 removed some surplus null appends that got typoed in 0e29f7974b
A couple of null appends got typoed to append a '0' character instead.
Removed them here since String already takes care of the null terminator for us.
2018-08-07 03:30:14 +01:00
Hein-Pieter van Braam
0e29f7974b Reduce unnecessary COW on Vector by make writing explicit
This commit makes operator[] on Vector const and adds a write proxy to it.  From
now on writes to Vectors need to happen through the .write proxy. So for
instance:

Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;

Failing to use the .write proxy will cause a compilation error.

In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.

_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
2018-07-26 00:54:16 +02:00
Nathan Harrell
6831bc422b Add ability to import projects via ZIP archive. 2018-06-22 00:55:16 -04:00
Ibrahn Sahir
8afb00a8ec fixup project_manager and find_in_files for text_changed signal change.
Background:
Commit 2abec59db9 removing text_changed
signal emmision from LineEdit::set_text broke the project manager and
find_in_files.
2018-05-20 16:45:22 +01:00
DmitryKrutskikh
965b6ac273 Disable 'run' button if any project not selected and tiny refactoring 2018-05-09 19:13:53 +03:00
Felix Yang
164dceab28 Fix for Issue#18457 - Folder name with trailing space on Windows 2018-05-03 10:19:43 +02:00
Hugo Locurcio
61bf0d10d5
Overhaul the display scaling editor settings
This adds more scaling options, in addition to a custom scaling option
which allows any scale between 0.75 and 3.0 to be used.
2018-03-23 14:04:39 +01:00
Emanuele Fornara
0071c04dcb skip demo download prompt if ssl is unavailable 2018-03-05 17:08:39 +01:00
Rémi Verschelde
23ebae01dc Refactor version macros and fix related bugs
The previous logic with VERSION_MKSTRING was a bit unwieldy, so there were
several places hardcoding their own variant of the version string, potentially
with bugs (e.g. forgetting the patch number when defined).

The new logic defines:

- VERSION_BRANCH, the main 'major.minor' version (e.g. 3.1)
- VERSION_NUMBER, which can be 'major.minor' or 'major.minor.patch',
  depending on whether the latter is defined (e.g. 3.1.4)
- VERSION_FULL_CONFIG, which contains the version status (e.g. stable)
  and the module-specific suffix (e.g. mono)
- VERSION_FULL_BUILD, same as above but with build/reference name
  (e.g. official, custom_build, mageia, etc.)
  Note: Slight change here, as the previous format had the build name
  *before* the module-specific suffix; now it's after
- VERSION_FULL_NAME, same as before, so VERSION_FULL_BUILD prefixed
  with "Godot v" for readability

Bugs fixed thanks to that:

- Export templates version matching now properly takes VERSION_PATCH
  into account by relying on VERSION_FULL_CONFIG.
- ClassDB hash no longer takes the build name into account, but limits
  itself to VERSION_FULL_CONFIG (build name is cosmetic, not relevant
  for the API hash).
- Docs XML no longer hardcode the VERSION_STATUS, this was annoying.
- Small cleanup in Windows .rc file thanks to new macros.
2018-02-23 20:15:29 +01:00
Bernhard Liebl
1d2d08da5b Add show path button to project manager 2018-02-19 21:56:28 +01:00
Rémi Verschelde
7839076f95 Improve error reporting of ProjectSettings::setup()
And use it to better report errors in the console and project manager
when a project.godot file is corrupted.

Fixes #14963.
2018-02-19 16:41:43 +01:00
Poommetee Ketson
499a0b77dc ProjectManager: prevent installing project template in non-empty dir 2018-01-28 21:48:27 +07:00
Rémi Verschelde
9f479f096c Fix typos in code and docs with codespell
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
2018-01-18 22:01:42 +01:00
Rémi Verschelde
7b4e45b794
Merge pull request #15803 from Noshyaar/pm
ProjectManager: show error/warning by default
2018-01-18 14:30:18 +01:00
Poommetee Ketson
61d1604da2 ProjectManager: show error/warning by default
Deprecate "That's a BINGO" message
2018-01-18 19:11:58 +07:00
bruvzg
2317364ac6
Disallow creating new projects in a non-empty folder. 2018-01-18 12:29:31 +02: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
Bernhard Liebl
25c5848e7e Project Manager: fix random breaking of scrolling 2018-01-04 15:24:20 +01:00
Rémi Verschelde
0b235a5efa
Merge pull request #15102 from YeldhamDev/project_manager_changes
Changes to the Project Manager's New Project/Export dialogs
2018-01-03 11:06:37 +01:00
Rémi Verschelde
9821562b30
Merge pull request #15230 from RyanStein/bugfix-14989
Move Project Manager favorite icon back to center.
2018-01-02 11:34:30 +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
Ryan Stein
67c158fe9f Move Project Manager favorite icon back to center. 2017-12-31 19:58:17 -05:00
Michael Alexsander Silva Dias
0930f4cbcb Changes to the Project Manager's New Project/Export dialogs. 2017-12-27 16:13:13 -02:00
Poommetee Ketson
9fd7aec2b4 ProjectManager: enhance dialog ok button text 2017-12-23 09:06:03 +07:00
Rémi Verschelde
d5ca9e2f6f Style: Apply clang-format again on all files
Fixes issues introduced by newer clang-format versions or commits
pushed directly without using the clang-format pre-commit hook.
2017-12-07 08:02:00 +01:00
qichunren
7d1c3b5391 Fixed project name line edit lost input focus. 2017-12-06 11:24:01 +08:00
volzhs
216baf1c47 Unnecessary use of TTR 2017-12-02 08:35:28 +09:00
Juan Linietsky
c6f2db393e Ask users to explore official projects when none is loaded. 2017-11-26 15:31:48 -03:00
Juan Linietsky
bc2e8d99e5 Made Vector::ptrw explicit for writing, compiler was sometimes using the wrong function,
leading to unnecesary copy on writes and reduced performance.
2017-11-25 00:09:40 -03:00
Rémi Verschelde
6947bed015 Pass engine name and version parts as proper strings
Removes the need for _MKSTR all over the place which has the drawback of
converting _MKSTR(UNKNOWN_DEFINE) to "UKNOWN_DEFINE" instead of throwing
a compilation error.
2017-11-20 00:51:14 +01:00
Leon Krause
9b7b46143d Move singleton management from ProjectSettings to Engine 2017-11-14 15:15:13 +01:00
Daniel J. Ramirez
e524cc7135 Fixed project manager and dialog fonts. 2017-11-09 19:38:48 -06:00
Rémi Verschelde
277e730d34 Fix typo in project manager
[ci skip]
2017-10-29 18:48:42 +01:00
sheepandshepherd
53188abed0 Add language option button to project manager
Closes #4901
2017-10-26 14:40:07 -05:00
Rémi Verschelde
8ed5e64656 Merge pull request #11998 from DmitryKrutskikh/filter-input-events-in-project-manager-3-0
Skip unhandled input events on asset library tab. (3.0)

[ci skip]
2017-10-11 22:31:46 +02:00
DmitryKrutskikh
3df42cdefb Skip unhandled input events on asset library tab. 2017-10-10 18:23:11 +03:00
Rémi Verschelde
2e0c7bb22a Merge pull request #11718 from poke1024/retina
Fixes some retina problems on multi monitor setups
2017-10-09 11:04:46 +02:00
Juan Linietsky
3d87b70f7a Added the set/get_setting function in Editor/Project settings. Renamed has() to has_setting. Fixes #11844 2017-10-05 15:34:34 -03:00
Bernhard Liebl
a7f18798aa fixes several scaling problems on multi monitor retina/non-retina setups on OS X 2017-10-05 08:12:17 +02:00
Andreas Haas
20eb17a685
EditorSettings: Move interface/ properties to interface/editor
Fixes inconsistent behaviour where clicking on the "Interface"
in the Editor Settings wouldn't collapse the category as is the
case for all the other categories.
2017-09-29 18:52:56 +02:00
Rémi Verschelde
f577efd47e Merge pull request #11424 from groud/control_node_presets
Implements set_margins_preset(...)
2017-09-26 00:11:46 +02:00
Daniel J. Ramirez
de3018703f Improved New Project and Import project experience 2017-09-23 22:50:37 -05:00
Gilles Roudiere
05bb8e0c10 Remove set_area_as_parent_rect and replace it by set_anchors_and_margins_preset(PRESET_WIDE) 2017-09-22 11:39:44 +02:00
letheed
5ad9be4c24 Rename pos to position in user facing methods and variables
Rename user facing methods and variables as well as the corresponding
C++ methods according to the folloming changes:

* pos -> position
* rot -> rotation
* loc -> location

C++ variables are left as is.
2017-09-20 13:11:10 +02:00
Hein-Pieter van Braam
bdb07fcf4d Merge pull request #11031 from nabor/rename-dialog
Added support to rename projects on manager
2017-09-14 09:01:29 +02:00
Nabor Erices
b79ec86b64 Deleted unnecessary print 2017-09-13 18:43:37 -03:00
Marcelo Fernandez
83fe937362 Added a crash handler to dump the backtrace on Windows, Linux and OS X 2017-09-13 10:07:23 -03:00
Rémi Verschelde
84ccda4e1d Merge pull request #11058 from hpvb/fix-11043
Don't set editor_hint true for project manager
2017-09-12 11:41:44 +02:00
Marcelo Fernandez
dcdcf358db Not found projects are grayed instead of removed at the Project Manager 2017-09-11 02:01:20 -03:00
Hein-Pieter van Braam
390a2025fe Don't set editor_hint true for project manager
Due to this setting several callbacks get initialized but never used.
For instance void discoverer_callback(). This callback only initializes
the GDNativeSingletonDiscover *discoverer when called. This doesn't
happen in project manager and this in turn causes a call to
memdelete(NULL) which is invalid. This also seems to speed up startup a
little.

This fixes #11043 and fixes #10992
2017-09-10 23:59:22 +02:00
Nabor Erices
1c8cc1ab50 Added support to rename projects on manager 2017-09-06 21:10:30 -03:00
Juan Linietsky
caf1447bef Contributors missing in project manager title 2017-08-31 09:50:35 -03:00
Juan Linietsky
9ff19951e2 Fixed problem with non triplanar UV2 mode as described in issue. Closes #9979 2017-08-31 09:44:37 -03:00
Rémi Verschelde
bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
Hein-Pieter van Braam
a276320329 Always size project icons to default icon size
I wasn't able to reproduce the issue, but this should fix #10620
2017-08-27 00:27:10 +02:00
Andreas Haas
6134d8741d Editor: Add some more translatable strings. 2017-08-25 18:49:45 +02:00
Hein-Pieter van Braam
cacced7e50 Convert Object::cast_to() to the static version
Currently we rely on some undefined behavior when Object->cast_to() gets
called with a Null pointer. This used to work fine with GCC < 6 but
newer versions of GCC remove all codepaths in which the this pointer is
Null. However, the non-static cast_to() was supposed to be null safe.

This patch makes cast_to() Null safe and removes the now redundant Null
checks where they existed.

It is explained in this article: https://www.viva64.com/en/b/0226/
2017-08-24 23:08:24 +02:00
Rémi Verschelde
e9c43cecbf Merge pull request #10433 from djrm/pr_svg_support
SVG support
2017-08-21 23:49:07 +02:00