8099 Commits

Author SHA1 Message Date
jelle Spijker
b6665f1142
Applied review comments
Contributes to CURA-8418
2021-07-28 11:32:29 +02:00
jelle Spijker
2e6a488c98
Set "Unable to slice" msgs to warning types
Contributes to CURA-8418
2021-07-28 09:47:14 +02:00
Jelle Spijker
2263969d5f
Updated message with message types
Contributes to CURA-8418
2021-07-28 08:45:42 +02:00
Jaime van Kessel
900db57f0f
Update messages to use the message_types
CURA-8418
2021-07-27 11:54:43 +02:00
Remco Burema
170572fc47
Add Readme's to plugins and resources folders.
This will hopefully prevent people from messing with the installed files (and then getting confused when they upgrade) when they should be using the configuration (sub-)folder(s) instead. If I read cura-build correctly, just placing the files here will already copy them to the right directory, since that happens for all folders (and hopefully files) for those directories anyway.
2021-07-27 11:08:01 +02:00
Jaime van Kessel
fc10c10906
Merge branch 'CURA-8411_Simplify_open_from_DF_menu' of github.com:Ultimaker/Cura 2021-07-22 14:57:32 +02:00
Konstantinos Karmas
f611dd603d Remove the "Open file" label from the open file dropdown menu
This will make the translations more reasonable (instead of translating "open file" and "from Disk" separately, which could make the some translation results making less sense.

CURA-8411
2021-07-21 14:13:50 +02:00
Ghostkeeper
50e0885b55
Apply clipping paths in this image
QtSVG doesn't support clipping paths. QtSVG only supports the SVG 1.2 Tiny specification. See https://doc.qt.io/qt-5/svgrendering.html for more information on exact support.
2021-07-21 13:10:14 +02:00
Remco Burema
86d104afe7
DL: Allow 1 char filenames (not counting extension).
CURA-8395
2021-07-20 18:01:44 +02:00
Remco Burema
71937bf828
DL: Align with online backend on allowed characters.
CURA-8395
2021-07-20 17:58:29 +02:00
Remco Burema
f9557295fa
Allow non-ASCII characters for DL project names.
CURA-8395
2021-07-16 12:39:41 +02:00
Ghostkeeper
503293fbeb
Revert "Also show error message if connection got reset without error code"
This reverts commit 40fe8b577d004d1357235e931ee7344b013d96ad.
2021-07-16 10:15:40 +02:00
Ghostkeeper
cc82ff97a7
Merge branch 'CURA-8112_Inform_the_user_about_their_subscription_limits' 2021-07-16 10:04:43 +02:00
Ghostkeeper
6f6d8d0f93
Override all settings that might influence infill mesh shells to 0
If the user had specialised settings fixing the number of walls or skin layers to an integer number, this fixed value would get copied over from the extruder settings, causing infill meshes to have walls by default.
This is unintuitive. We want infill meshes to behave like it's only infill by default. So remove all of those overrides so that only infill gets printed there, by default.

The user may still change the number of walls or skin layers or their parent settings. But by default it should now behave like infill within infill, regardless of the user's setting overrides.

Fixes issue CURA-8393 and fixes #9815.
2021-07-15 18:46:20 +02:00
Ghostkeeper
40fe8b577d
Also show error message if connection got reset without error code
When working with --external-backend, the engine just stops responding, and the operating system cleans up its socket connection. From Cura's front-end we then just see the socket reset. So we should interpret a reset socket to mean that the slicing process was halted.
When not working with an external backend, a crash would always give a response code and we can base it on that instead (as previously implemented).

Contributes to issue CURA-6568.
2021-07-15 17:01:07 +02:00
Ghostkeeper
623b59d0e8
Set self to be in an error state if backend crashed
Contributes to issue CURA-6568.
2021-07-15 16:52:35 +02:00
Ghostkeeper
e127f7e4b6
Move construction of slicing error message to constructor
This way we could re-use it in other places.

Contributes to issue CURA-6568.
2021-07-15 16:45:50 +02:00
Konstantinos Karmas
82c189327d Change link of "Upgrade plan" button
CURA-8112
2021-07-15 16:36:49 +02:00
Ghostkeeper
26487c5b31
Stop slicing if an error occurred
If the user has auto-slicing enabled, this causes the indeterminate progress bar to appear.
If the user doesn't have auto-slicing enabled, this causes the slice button to reappear.

Both of these indicate that something has caused slicing to be interrupted. The message should make clear why.

Contributes to issue CURA-6568.
2021-07-14 17:05:45 +02:00
Ghostkeeper
399b378ba6
Show message when slicing failed with nonzero exit code
The slicing engine should never crash. If it does though, it's best to show something to the user. Otherwise the slicing process just halts and the user will wait a long time for it to never finish.

Contributes to issue CURA-6568.
2021-07-14 17:05:44 +02:00
Jaime van Kessel
e9ecba1374
Remove bindingloop in project selector 2021-07-14 16:03:06 +02:00
Konstantinos Karmas
11d86b98ef Merge branch 'master' into CURA-8112_Inform_the_user_about_their_subscription_limits 2021-07-14 15:52:27 +02:00
Ghostkeeper
610582bab7
Merge branch 'CURA-8009_search_digital_library_projects' 2021-07-14 15:40:54 +02:00
Konstantinos Karmas
fd322c0512 Fix having no "load more projects" available when using the search
When the `_onGetProjectsFirstPageFinished` is reached, the pagination manager already contains the correct pagination metadata and links, so calling `clear()` there resets them giving the impression that there is no next page.

This commit fixed that by calling the `clear()` function should when the search filter is applied, instead.

CURA-8009
2021-07-14 15:32:57 +02:00
Konstantinos Karmas
016371d771 Add the external link icon to the Upgrade plan button
CURA-8112
2021-07-14 14:34:00 +02:00
Konstantinos Karmas
7027a8f904 Fix mypy complaint again
Mypy doesn't recognize that the check for `None` has happened before calling the `callbackWrap` (before the get request has been made).

CURA-8112
2021-07-14 13:08:51 +02:00
Konstantinos Karmas
300176cdc6 Check for the maximum **private** projects
When checking whether the user is allowed to create a new library project, we need to retrieve the **private** (aka non-shared) projects that are linked to the user's account. If the user has reached the maximum private projects, then they are no longer allowed to create new ones.

**Note**: We need to set the `pagination_manager` to `None` when doing this get request, or else the next/previous links of the pagination will become mixed up with the pagination links of the list of projects shown to the user, corrupting them and creating the wrong "get more projects" link.

CURA-8112
2021-07-14 13:03:03 +02:00
Konstantinos Karmas
3dbbe7276b Remove check for account subscriptions
Since the variable `self._user_has_access` already contains the information on whether the user can access the Digital Library.

CURA-8112
2021-07-14 12:55:28 +02:00
Konstantinos Karmas
2961d20c04 Fix mypy complaint
CURA-8112
2021-07-13 17:38:15 +02:00
Konstantinos Karmas
f643f19af6 Fix tooltip not shown when the tooltip text is too long
When the tooltip text is too long and the tooltip width ends up being longer than the window it is supposed to be drawn into, the tooltip is not drawn at all. This commit fixed that by allowing the tooltip width of the ActionButton to be changed within QML, limiting it to a certain size that fits the purpose.

CURA-8112
2021-07-13 17:30:30 +02:00
Konstantinos Karmas
2d45b8c2cd Show an "Upgrade plan" button to users that have reached maximum projects
Instead of letting users go through the project creation process only to get rejected with a "subscription limits reached" message, now the "New Library project" button is being replaced with an "Upgrade plan" button when the maximum allowed projects have been reached for the specific amount. The button is accompanied by a tooltip that explains the situation to the user. Once clicked, the user is redirected to the subscriptions page.

CURA-8112
2021-07-13 17:28:38 +02:00
Jaime van Kessel
888f62a9ea
Add missing typing
CURA-8009
2021-07-13 16:55:28 +02:00
Konstantinos Karmas
9d8286d90c Set the correct initial value in the feature budget attributes
They were defined as `Optional[int]` but started with the default value as `False`.

CURA-8112
2021-07-13 16:52:36 +02:00
Ghostkeeper
7f2e951b9c
Update tests to test filter too
Contributes to issue CURA-8009.
2021-07-13 16:24:21 +02:00
Ghostkeeper
72eb839d07
Add missing search filter parameter to refresh query
Thank you, automated tests.

Contributes to issue CURA-8009.
2021-07-13 16:18:36 +02:00
Ghostkeeper
eb2a315e42
Specify spacing between search bar and button
Instead of using the default of 5 pixels, we should use this element from the theme to match the margin around the page.

Contributes to issue CURA-8009.
2021-07-13 16:09:02 +02:00
Ghostkeeper
7fdf1dbdd4
Fix height of search bar
Because this item is in a layout, the height gets overridden. We should use the preferredHeight, or the one it defaults to, implicitHeight.

Contributes to issue CURA-8009.
2021-07-13 16:02:29 +02:00
Ghostkeeper
bec83920e4
Keep showing search icon while typing search query
This adds an option to the TextField element to show an icon on the left side in the text field. The icon remains visible when the user types in something (it's not part of the placeholder string).
Then we use that optional icon for the search bar in the Digital Library.

Contributes to issue CURA-8009.
2021-07-13 15:47:21 +02:00
Jaime van Kessel
d4f249277e
Change icon in simulation view to rectangle
CURA-8379
2021-07-13 15:20:41 +02:00
Ghostkeeper
1566a282dc
Replace text and image if there's no projects due to search
It's a bit weird if it shows that you didn't add any projects yet if you just type in a gibberish search keyword.

Contributes to issue CURA-8009.
2021-07-13 15:16:09 +02:00
Ghostkeeper
13ca30ed98
Stylise search bar
This is the standard style for text fields in Cura. The spacing around the search icon is customised with the best approximation I could get using a simple string of placeholderText.

Contributes to issue CURA-8009.
2021-07-13 14:40:04 +02:00
Konstantinos Karmas
bde44d2c08
Merge pull request #10105 from Ultimaker/CURA-8018_add_monitor_print_button_to_cloud_print
Add monitor print button for cloud print
2021-07-13 10:29:37 +02:00
Konstantinos Karmas
329973adfb Capitalize only the first word in the message action
CURA-8018
2021-07-13 10:00:27 +02:00
Konstantinos Karmas
e31ec31f34 Make the lifetime of the "print job sent" message 30s
Previously it was 5s and the message would disappear before the user had a chance to press the "Monitor print" button.

CURA-8018
2021-07-13 09:59:05 +02:00
Jaime van Kessel
e8fc88e6b0
Use f-string formatting instead of %
CURA-8018

Co-authored-by: Konstantinos Karmas <konskarm@gmail.com>
2021-07-13 09:45:00 +02:00
Ghostkeeper
1269c28d0a
Reduce wait time before sending query
Most people should be able to type 5 characters per second. And those that can't will just have to see it refresh after every stroke.

Contributes to issue CURA-8009.
2021-07-12 18:46:54 +02:00
Ghostkeeper
94e229aa44
Clear list of projects every time we load the first page
Otherwise when we refresh the project list after searching it would put the new results at the end. That's not what we want.

Contributes to issue CURA-8009.
2021-07-12 18:44:11 +02:00
Ghostkeeper
02932a1f62
Add filter to API call for project list
This passes the filter on to the API call and causes the API call, so that we only get the projects that the user searched for.

Contributes to issue CURA-8009.
2021-07-12 18:43:15 +02:00
Ghostkeeper
65f7eb5ea8
Add function to update search filter when the user types
Seems to work fine.
The pyqtSignal is not technically necessary unless we display this filter in the interface anywhere. We don't currently. If the signal is not present it would complain about non-notifyable properties. And making it a slot instead of a signal seems a bit unintuitive to me in how the field is being used.

Contributes to issue CURA-8009.
2021-07-12 17:41:10 +02:00
Ghostkeeper
22826bc4d8
Add text field in a layout for search
The text field is not stylised yet, so far. Will do, but let's first make it functional.

Contributes to issue CURA-8009.
2021-07-12 17:16:16 +02:00