Commit graph

825 commits

Author SHA1 Message Date
joeydelarago
abb6d20beb Remove enum, python has no build in support for getting enum from string value. This will be in Python 3.11 though.
CURA-9221
2022-08-24 14:06:30 +02:00
joeydelarago
17e6bccf51 Create abstract printers when adding lan printers.
CURA-9514
2022-08-24 10:07:17 +02:00
jspijker
54e9dbf827 Show device name of failed machine creation in log
CURA-9277 Detect and Load Specific printers and Cloud Printer Types
2022-08-22 14:57:37 +02:00
Casper Lamboo
12f3581337
Assign result of createAbstractMachine to a variable
With prepended underscore to highlight the result of the function is not being used.

CURA-9277
2022-08-22 14:44:45 +02:00
c.lamboo
d7f119415f Use pretty-printed string for the AbstractMachine name
Cura-9277

Co-authored-by: joeydelarago <joeydelarago@gmail.com>
2022-08-19 16:35:00 +02:00
c.lamboo
761bf3b8fa Fix creating abstract machines on account sync
Cura-9277

Co-authored-by: joeydelarago <joeydelarago@gmail.com>
2022-08-19 14:44:19 +02:00
joeydelarago
b82f1f4a8c Add new Abstract machine stack type. This represents a type of printers (ultimaker_s3 etc).
These are created whenever a cloud printer of a new printer type is added.

CURA-9277

Co-authored-by: casperlamboo <c.lamboo@ultimaker.com>
2022-08-19 13:53:43 +02:00
joeydelarago
ad70566dc6 Added a message for pending approval status.
Updated CloudPrintJobResponse to use an enum for status

CURA-9221
2022-08-10 17:34:48 +02:00
Ghostkeeper
8a55a2aff6
Further review suggestions
Contributes to issue CURA-9220.
2022-08-01 10:49:29 +02:00
Ghostkeeper
19ba092340
Add property of whether the printer details can be read
We'd assume so, but there is a permissions node for it. If it can't be read by the user, they can't navigate to the printer's overview page. So we should hide the button then.

Contributes to issue CURA-9220.
2022-07-26 16:56:19 +02:00
Ghostkeeper
5eb340e3f0
Check permissions before showing abort/pause/delete context buttons
The user needs permissions to do these things, so don't show them if the user can't use them.

Contributes to issue CURA-9220.
2022-07-25 17:34:34 +02:00
Ghostkeeper
99d93fa58a
Check if the user can change the queue before showing option
If the user can't change the queue of other prints, then it can't move prints to the top.

Contributes to issue CURA-9220.
2022-07-25 17:07:52 +02:00
Ghostkeeper
9e1940dd4b
Move default behaviour up in inheritance hierarchy
This way, any new printer types we define will automatically get these properties that are used by the monitor stage anyway.

Contributes to issue CURA-9220.
2022-07-25 16:55:05 +02:00
Ghostkeeper
b4c4371929
Add properties of whether the queue can be manipulated
Not all printers can do that.

Contributes to issue CURA-9220.
2022-07-25 16:51:13 +02:00
Ghostkeeper
483911dc4a
Fix error of undefined property when using LAN printers
This property was defined for Cloud printers, but not for Network printers. In QML this then resulted in an error saying that null cannot be assigned to a bool (for the 'visible' property). The visible property then defaulted to its default, true. And so it was always visible, but still had an error.
The error is now solved so that I can also check for other properties in this visible check.

Contributes to issue CURA-9220.
2022-07-25 16:49:48 +02:00
Ghostkeeper
fb3f065fe0
Catch ValueErrors from removing callbacks that were already removed
This can happen from asynchronous access.

Fixes Sentry issue CURA-3YV.
2022-06-07 13:55:56 +02:00
Jelle Spijker
334fca6691
Merge remote-tracking branch 'origin/gracefully_fail_cloud_printer' into 5.0 2022-05-09 10:54:07 +02:00
Jaime van Kessel
0c98ce2384 Use correct role for standardbutton
Otherwise the no won't register...

CURA-9229
2022-05-04 11:09:49 +02:00
Jaime van Kessel
e4e993a44e Fail gracefully when adding unknown cloud printer 2022-04-19 15:43:31 +02:00
Jaime van Kessel
c9e625767b Use right enum for message dialog 2022-04-13 16:40:14 +02:00
Ghostkeeper
70fdffb1c9
Allow redirects when talking with printer API
Because newer firmware will redirect this API call.

Contributes to issue CURA-9119.
2022-04-11 13:23:03 +02:00
Ghostkeeper
0deac84ec2
NetworkError is an enum, no longer comparable as int
With the Qt6 upgrade, we have to treat enums as full enums, within their normal class namespace and such. They are no longer just integer-globals static in the QtCore.Qt class. They are no longer treated as integers by PyQt.
Other places that checked for such errors were already doing it like this.

Contributes to issue CURA-9100.
2022-04-11 10:00:32 +02:00
Remco Burema
20b435af76
Qt5->Qt6: More renamed stuff.
part of CURA-8591
2021-12-29 11:18:49 +01:00
Remco Burema
abe7c1bf7f
Search/replace Qt5->Qt6.
part of upgrading Qt to v6.2: CURA-8591
2021-12-28 14:46:02 +01:00
Ghostkeeper
9674c54efb
Better type checking and handling of optionals
Adds type checking here and there to catch such errors in the future.
This makes it handle the optional fields of this model better.

Contributes to issue CURA-8730.
2021-12-08 17:36:09 +01:00
Ghostkeeper
770adb2c02
Don't store None as capabilities, but empty list
This makes a few things easier. You could see None as being a signalling value to indicate that we don't know capabilities, but this signalling would get lost anyway in the serialising to the metadata. So just an empty list is fine for now.

Contributes to issue CURA-8671.
2021-12-03 13:36:06 +01:00
Ghostkeeper
6d9142579a
Add debuging repr to print more nicely
Otherwise you just see <CloudClusterResponse object> when you try to print this.

Contributes to issue CURA-8671.
2021-12-03 13:26:29 +01:00
Ghostkeeper
0477ba44b2
Encode capabilities as comma-separated list
Previously it was encoded as a stringified Python list of strings, which is much harder to parse.
This would go wrong if any of these capabilities have a comma in them, but I think that would be bad practice for keywords like this anyway.

Contributes to issue CURA-8671.
2021-12-03 13:25:41 +01:00
Remco Burema
1253b41537
Only perform materials-sync-job for capable printers.
part of CURA-8671
2021-12-02 12:22:55 +01:00
Ghostkeeper
8234276204
Add log entry when syncing with cloud printers
Not only do I now have an interface where the user doesn't get any feedback when syncing happens, but even in the log there was nothing shown when it happens.

Contributes to issue CURA-8609.
2021-10-08 14:13:54 +02:00
Ghostkeeper
93953630ec
Update online status when updating account printer status
This updates the metadata entries. Naturally this updates every 60 seconds in Cura, but it could also manually be triggered by the refresh button.

Contributes to issue CURA-8609.
2021-10-08 14:08:02 +02:00
Jelle Spijker
501b4c4fde
Spaces around assignment operator
According to UM codestyle

Contributes to CURA-8601
2021-10-05 13:54:13 +02:00
Jaime van Kessel
527de2b6ef Use image instead of custom message type
CURA-8601
2021-10-05 10:20:52 +02:00
Jaime van Kessel
6bc9aaa4bf Add message type to cloud
CURA-8601
2021-10-01 11:54:27 +02:00
Jaime van Kessel
d4c4b11927 Update the copy of the connect to cloud message
CURA-8601
2021-10-01 11:38:13 +02:00
Ghostkeeper
426e3064d2
Don't crash when material file can't be opened for sending to printer
It seems that due to the threaded nature, the limit to the number of open file handlers could be reached here. Or it could just be locked or something of course.

Fixes Sentry issue CURA-2V2.
2021-09-22 14:59:27 +02:00
Konstantinos Karmas
bbada73550 Remove outdated image from "new printers added" message
CURA-8497
2021-08-25 15:32:42 +02:00
Konstantinos Karmas
f5bf88e546 Fix crashing when clicking the "Manage in browser"
The parenthesis should be placed at the end.
2021-08-12 09:51:27 +02:00
Jaime van Kessel
57e66a5796 Add campaign links
CURA-8441
2021-08-05 15:42:23 +02:00
jelle Spijker
b6665f1142
Applied review comments
Contributes to CURA-8418
2021-07-28 11:32:29 +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
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
Jaime van Kessel
2b5747f3ee
Update plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py
Co-authored-by: Ghostkeeper <Ghostkeeper@users.noreply.github.com>
2021-07-12 17:13:32 +02:00
Jaime van Kessel
b4a8cb1b82
Add monitor print button for cloud print
The button redirects the user to the cloud page

CURA-8018
2021-07-08 17:01:03 +02:00
Ghostkeeper
788efcc83e
Prevent crash when cloud printer gets added while trying to connect to active printers
The cloud printers get added asynchronously, which could lead to a crash because the dict gets modified while we're iterating over it.

Fixes Sentry issue CURA-2EN.
2021-06-17 13:35:15 +02:00
Jelle Spijker
2813ae62b2
Merge pull request #9781 from Ultimaker/CURA-8146_Fix_getting_PyCapsule_error_on_import
CURA-8146: Fix getting PyCapsule error on import
2021-05-10 11:21:55 +02:00
Ghostkeeper
16c5fdd798
Code style: Spaces around binary operators
Contrbutes to issue CURA-8224.
2021-05-06 16:27:09 +02:00