Commit Graph

66 Commits

Author SHA1 Message Date
Hugo Locurcio a4a0295154
Improve sorting options in the asset library
The reverse sorting options are now integrated in the list of
sorting options, making the "Reverse" button unnecessary.
This pattern tends to be easier to discover by users.

The "Downloads" sorting option was also removed as it's not
implemented in the backend.
2019-09-03 15:16:58 +02:00
Hugo Locurcio 6f915d386a
Refresh the asset library only once on startup
This avoids unnecessary calls to the API when switching between tabs
in the editor or project manager.
2019-09-02 20:08:55 +02:00
Hugo Locurcio d6984f7311
Increase line spacing in the editor help and asset library descriptions
This makes for more readable text.
2019-08-30 15:08:24 +02:00
Michael Alexsander Silva Dias edc3600560 Minor cleanup of the AssetLib's asset dialog 2019-08-29 02:37:44 -03:00
Michael Alexsander Silva Dias 6ce2701abe AssetLib minor fixes and enhancements 2019-08-28 01:36:09 -03:00
Rémi Verschelde d8de8d5e34
Merge pull request #31722 from Calinou/assetlib-improve-image-loading-speed
Improve image loading performance in the asset library
2019-08-27 20:19:17 +02:00
Hugo Locurcio 89c13c3ae9
Display a "broken file" icon for missing images in the asset library
This partially addresses #31683.
2019-08-27 19:45:25 +02:00
Hugo Locurcio 2ed7bf58ba
Improve image loading performance in the asset library
This closes #31614.
2019-08-27 19:41:49 +02:00
Hugo Locurcio f524dc5da6
Improve loading UX in the asset library
The asset library will now fade when loading pages instead
of displaying a progress bar, which is a more common design pattern
when browsing an online resource's pages.

A "Loading..." text will be displayed before the first page loads.
2019-08-24 03:08:52 +02:00
Davide Busterna 7434966f10 Automatically select the first image of the assets page 2019-08-15 13:43:00 +02:00
Hugo Locurcio 8f2bcfd909
Use Lanczos filtering for variable-sized images such as project icons
This results in better-looking icons with less artifacts
induced by downscaling.
2019-08-13 22:08:23 +02:00
Rémi Verschelde 37a16fee05 Export: Remove temp files from cache after export
So far we left most temporary files lying around, so this attempts to
fix that.

I added a helper method to DirAccess to factor out the boilerplate of
creating a DirAccess, checking if the file exists, remove it or print
an error on failure.
2019-08-12 13:31:59 +02:00
Michael Alexsander Silva Dias eeb9268800 Minor cosmetic changes in some editor plugins 2019-08-08 23:22:33 -03:00
Bojidar Marinov 2b08cc16f1
Handle all download errors in the asset library
Addresses part of #31115
2019-08-08 10:06:26 +03:00
Hugo Locurcio ddf83d93b3
Improve preview and screenshot display in the asset library
Images are now resized with Lanczos interpolation for higher quality.
Video thumbnails now display a "pointing hand" cursor when hovered
as they will open in an external browser.
2019-07-18 20:10:30 +02:00
Michael Alexsander Silva Dias 19d261336b Minor improvements to the AssetLib 2019-07-17 12:35:57 -03:00
Rémi Verschelde 1e5a02f006
Merge pull request #29599 from Calinou/assetlib-project-icon-loading
Display a "loading" placeholder while icons are loading in the assetlib
2019-06-12 13:36:06 +02:00
Hugo Locurcio 75f1e93ac0
Remove some references to unimplemented features in the assetlib
This removes rating icons and the associated sorting option as
this feature wasn't implemented (and is unlikely to be in the
near future).

This also renames "Cost" to "License", as the "cost" field refers
to SPDX license names on the Godot Asset Library.
2019-06-12 12:26:37 +02:00
Hugo Locurcio 7fd7dac69c
Add spacing between the icon and details in the assetlib list
This also scales margin and separation values on hiDPI displays.
2019-06-12 01:14:29 +02:00
Hugo Locurcio 9f6b470ea8
Display a "loading" placeholder while icons are loading in the assetlib 2019-06-08 11:18:52 +02:00
qarmin 53c0a29fb0 Fix memory leak after closing files 2019-06-05 09:34:16 +02:00
gdupr b89d8bb56c Separated description from the preview content and centered the playbutton for video thumbnails in the Asset Library Editor 2019-04-23 21:53:15 +02:00
Rémi Verschelde c8994b56f9 Style: Apply new changes from clang-format 8.0
It seems to stay compatible with formatting done by clang-format 6.0 and 7.0,
so contributors can keep using those versions for now (they will not undo those
changes).
2019-04-09 17:09:48 +02:00
Fabio Alessandrelli 37c0ac1d6d Enabled logging of failed image download. 2019-03-16 10:58:07 +01:00
merumelu e4b20a9a51 AssetLib: convert video thumbnails to RGBA
Image::blend_rect only works with images that have the same format.
2019-03-05 21:02:56 +01:00
Fabio Alessandrelli 1aa1f42963 Fix uninitialized value 2019-02-16 16:01:20 +01:00
Juan Linietsky a089061120 Fix pixelized previews, but also instances of breaking ImageTexture cache. Closes #25378. 2019-01-27 13:41:47 -03: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
Erik cd759c773d Hide header and footer in AssetLib when not necessary
Reduces visual clutter by hiding pages navigator header and footer in AssetLib if no results are
found or when results fit on one page one page.

Fix for issue #23036
2018-10-15 19:26:57 +02:00
Hugo Locurcio dd4fe8588b
Fix occasional crash when downloading assets from the Asset Library
This is caused by GitHub not publishing a Content-Length header in
all cases (it only does so if the file was requested recently),
which in turn made `String.humanize_size()` try to humanize a size of
-1 byte (as returned by HTTPRequest when no Content-Length
is contained in the response).
This crashed the editor due to a division by zero.

This closes #21200.
2018-08-20 20:21:56 +02:00
Rémi Verschelde 22c3fcb20b
Merge pull request #20760 from Calinou/improve-assetlib-download-ux
Improve the asset library download UX
2018-08-14 15:48:31 +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 c1108a4d17
Improve the asset library download UX
The progress bar is now correctly set to 0% while initiating
the download and is hidden once the download is completed.
2018-08-06 21:37:59 +02: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
Guilherme Felipe 7a3882723c Fix #16069, #19292, #19267 and #18940 2018-06-06 13:16:52 -03:00
Karolis K 1a92906fe0 Fix AssetLib image loading 2018-05-21 21:09:09 +03:00
Karolis K 8694f98170 AssetLib pagination modifications 2018-05-16 17:06:15 +03:00
Rémi Verschelde 8c71cbbe3f
Merge pull request #18797 from TailyFair/assetlib-video-overlay
Added video thumbnail overlay in asset description
2018-05-14 08:39:27 +02:00
Karolis K 0711d865e2 Thumbnail overlay for videos in AssetLib 2018-05-11 23:43:59 +03:00
Karolis K c3e921fba3 Fix icon if remote icon load fails 2018-05-10 18:45:22 +03:00
Rémi Verschelde de97339a2d
Merge pull request #18291 from akien-mga/coverity-uninitialized-scalar-var
Fix Coverity reports of uninitialized scalar variable
2018-05-01 19:14:07 +02:00
Hugo Locurcio 1c419531a0 Change ".." punctuation for "..." in editor strings (#16507) 2018-04-22 19:36:01 +02:00
Rémi Verschelde bf7ca623a6 Fix Coverity reports of uninitialized scalar variable
Fixes most current reports on Coverity Scan of uninitialized scalar
variable (CWE-457): https://cwe.mitre.org/data/definitions/457.html

These happen most of the time (in our code) when instanciating structs
without a constructor (or with an incomplete one), and later returning
the instance. This is sometimes intended though, as some parameters are
only used in some situations and should not be double-initialized for
performance reasons (e.g. `constant` in ShaderLanguage::Token).
2018-04-19 15:20:45 +02:00
Pedro J. Estébanez 00e98458ba Revert "Unify http- and percent- encode/decode"
This reverts commit b76ee30917.
2018-04-12 21:12:34 +02:00
Pedro J. Estébanez b76ee30917 Unify http- and percent- encode/decode
There was a percent-prefixed version, which was exposed, and a http-prefixed version which was not (only to GDNative).
This commit keeps the percent-prefixed versions, but with the http-prefixed implementations.
2018-03-27 19:18:30 +02:00
Rémi Verschelde 535205196f
Merge pull request #17013 from Noshyaar/theme
Update icons when theme changed
2018-03-13 13:48:37 +01:00
Fabio Alessandrelli 3a25415a1c More threading in AssetLib
AssetLib now uses thread as requested to download previews and items
2018-02-28 15:08:17 +01:00
Poommetee Ketson 2de1dfa42f Update icons when theme changed 2018-02-25 23:04:16 +07: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