33 Commits

Author SHA1 Message Date
079689a532 Client-side sorting of nodes.
The sorting happens after obtaining the individual nodes, as this is done
in parallel in unpredictable order.
2016-05-18 15:13:44 +02:00
597ba6de1c Use project name in download path, rather than UUID.
Filenames are now also sanitized.
2016-05-18 15:13:29 +02:00
8201ba7691 Fix node type name 2016-05-18 14:12:21 +02:00
33b52cc8a9 CPU-friendlier by lowering fixed redraw rate.
The GUI is still redrawn on other events, such as mouse move, so it still
responds quickly to that. This is just regarding background updates of the
data model, such as when loading thumbnails.
2016-05-18 13:01:48 +02:00
be46b9cf81 Handling more cases of login/credentials issues 2016-05-18 13:01:04 +02:00
ba4c951d32 Use /bcloud/texture-library end point to fetch texture library projects. 2016-05-18 12:50:51 +02:00
5c7343f8c9 Make sure we can always go up again (except at top level) 2016-05-18 12:17:07 +02:00
64d36818fe Start browsing at project overview, instead of inside one project.
Also moved from using project_uuid and node_uuid to using CloudPath
objects.
2016-05-18 11:57:36 +02:00
48ca91a364 Skip nodes of unsupported node_type (instead of raising exception) 2016-05-17 17:30:57 +02:00
5eaee872bf Added check for user's roles -- disallow usage by non-subscribers.
This makes it clear from the get-go that users need to subscribe. Otherwise
they'll get unexpected errors once they try to download something.
2016-05-10 14:52:51 +02:00
6ce4399407 Show default mouse cursor, instead of the one belonging to the editor. 2016-05-10 14:33:02 +02:00
92e27914d1 Refuse to start if the file hasn't been saved. 2016-05-04 14:30:54 +02:00
1d662a0314 Automatic refresh of subclient token. 2016-05-04 14:30:47 +02:00
602260329e Don't show the addon in the add->mesh menu 2016-05-03 18:30:06 +02:00
29230f09e7 More streamlined interface with Pillar.
Using a semaphore to ensure requests to Pillar aren't too parallel,
so that we can cancel requests faster.
2016-04-01 18:47:06 +02:00
5396fd765d Better reporting when the user is not logged in. 2016-04-01 14:11:30 +02:00
afbc36a70a Use addon pref to store default texture dir, allowing per-scene override. 2016-03-31 11:54:27 +02:00
c10107b887 Some drawing tweaks 2016-03-23 16:54:08 +01:00
8274745b84 Don't stop browsing when someone mis-clicks an item. 2016-03-23 16:54:02 +01:00
0974c460e8 Added exception drawing code.
It's rather primitive, but at least the GUI reflects that something has
gone wrong.
2016-03-23 13:46:19 +01:00
ac29d49450 Per-BlenderID-user cache.
Different users might have different access rights, and thus access
to different information.
2016-03-22 15:20:22 +01:00
fb84b2892e Store UUIDs in the image data block 2016-03-22 14:49:03 +01:00
c2ee865cff Always clear images before stopping the GUI operator 2016-03-22 14:35:33 +01:00
6b84dcf282 Added downloading of all files belonging to one texture. 2016-03-22 14:31:29 +01:00
7df27426ef Caching of texture thumbnails.
Based on HTTP headers stored in sidecar files.
2016-03-21 17:21:51 +01:00
5c2beaf7b2 Browsing now uses node objects, instead of just node UUID
This made the browsing code slightly simpler, and reduces the number
of Pillar queries. The list of nodes visited to end up at the current node
is also stored, so that we can easily go back up.
2016-03-21 11:46:47 +01:00
aeae24e6bc Allow the Blender Cloud browser to run full-screen
It no longer requires a 3D View, but can be run everywhere.
2016-03-15 17:09:27 +01:00
e16f069eb3 Added downloading of textures when clicking on a menu item
For this I made the operator a state machine; when its state is set to
'QUIT' it'll quit. Different states can have different OpenGL drawing
functions.

For now, to help development, the state is drawn in the bottom left corner.
2016-03-15 15:44:19 +01:00
fc0fe9f651 Added TODO note. 2016-03-15 14:07:25 +01:00
5e237bea22 Explicitly support cancelling tasks.
The 'cancelled' status is now tracked by a Future that's passed to
different asychronous tasks. That way it is possible to cancel all
running tasks before browsing another Pillar node.
2016-03-15 14:05:54 +01:00
0174c28075 Setting up and using Python's logging framework.
It's dubious whether logging.basicConfig() should be called here, so
that call will probably be moved somewhere else.
2016-03-15 13:47:21 +01:00
e32d7de7a6 Earlier calling of thumbnail_loading callback
This means that some information isn't available to the callback yet,
but it can show the filename & spinner logo much sooner.
2016-03-14 18:12:29 +01:00
59401d9c41 Moved GUI to 3D viewport
We now draw the GUI using OpenGL in Python. This allows for much more
control on the Python side. It's still a prototype, and allows us to
test the features without depending on C support in Blender itself.
GUI code was taken from the Asset Flinger addon.
2016-03-14 17:23:56 +01:00