961 Commits

Author SHA1 Message Date
Remco Burema
abe7c1bf7f
Search/replace Qt5->Qt6.
part of upgrading Qt to v6.2: CURA-8591
2021-12-28 14:46:02 +01:00
Jaime van Kessel
998ba3631c Add missing format to error log 2021-12-15 12:03:55 +01:00
Ghostkeeper
ca942a15e8
Don't use infinite lifetimes lightly
This is very annoying if switching profiles. This is not a critical message. The message should disappear after the default amount of time.

Discovered while working on CURA-8584.
2021-11-09 14:45:40 +01:00
Jaime van Kessel
c7c052e51c Fix crash when profile referenced unavailable extruder
CURA-8584
2021-11-05 15:50:24 +01:00
Ghostkeeper
58f4d44694
Don't crash when switching to printer with fewer extruders
This seems to have happened with an UM2+C.

Fixes Sentry issue CURA-2R5.
2021-09-21 13:40:40 +02:00
luz paz
d68f375e38 Fix various typos
Found via `codespell -q 3 -S *.po,*.pot -L childs,initialy,lod,ned,te,slicable,sur,tutoriels,wont`
2021-09-07 11:33:54 -04:00
Jelle Spijker
2263969d5f
Updated message with message types
Contributes to CURA-8418
2021-07-28 08:45:42 +02:00
Kostas Karmas
4b35bd1724 Correct the print sequence when discarding the current changes
CURA-7827
2020-11-09 18:10:50 +01:00
Kostas Karmas
fab2c31b4f Cover the last remaining case when setting the print sequence
If for some reason the print sequence is set to one-at-a-time be default in the printer definition
and the number of extruders of the printer is set to >=2, then the print_sequence won't show up in
neither the quality changes nor the user changes, yet it will still have "one-at-a-time" as a
value. In a such case, it will still need to be set to "all-at-once" in the user changes.

This is a theoretical case, as it is very unlikely for a printer to have "one-at-a-time" set by
default in its definition (.def.json) file and still be able to support more than one extruders.
But it is a world full of possibilities out there, so you never know...

CURA-7827
2020-11-09 16:55:43 +01:00
Kostas Karmas
07453e101e Add detailed documentation for _correctPrintSequence function
CURA-7827
2020-11-09 16:32:05 +01:00
Kostas Karmas
2ccdd11098 Properly set the print sequence in the correct container
Previously, the print sequence would be always set to all-at-once in the user container whenever
the second extruder would be enabled. This was causing an interface issue, where the circular
reset-setting arrow would appear next to the setting, even if the quality changes already had the
correct value ("all-at-once").

This is now fixed by checking the following:
- If print_sequence == "one_at_a_time" in the quality (so it is already saved in a quality profile)
then set the print_sequence to "all_at_once" in the user changes so that it will be displayed as
an unsaved change
- If print_sequence == "one_at_a_time" in the user changes container only, meaning that it is not
saved in any quality profiles, then just reset the print_sequence in the user changes, so that it
will have the correct value ("all-at-once") without the reset-setting arrow appearing next to it.

CURA-7827
2020-11-09 16:20:13 +01:00
Kostas Karmas
a1c7ebe1c3 Fix mypy complaints
CURA-7827
2020-11-05 19:04:29 +01:00
Kostas Karmas
845c994cbc Replace f string since it's not available in Python3.5
That should fix the failing test which produces a SyntaxError.

CURA-7827
2020-11-05 17:38:34 +01:00
Kostas Karmas
1a759f81df Change print sequence when the number of enabled extruders changes
Fixes https://github.com/Ultimaker/Cura/issues/8682 while still maintaining the correct behavior for CURA-6914.

CURA-7827
2020-11-05 16:58:47 +01:00
Jaime van Kessel
50ae33c42d
Force an re-evaluation of a setting when extruder has been disabled
CURA-7770
2020-10-16 10:50:05 +02:00
Kostas Karmas
f25bfd717e Recalculate the number of user settings after setting the quality group
So that the dialog ensures actually knows that there are no changed settings and will not show up.

CURA-7728
2020-10-06 09:55:11 +02:00
Jaime van Kessel
dd359da1cf
Prevent crash when material is unknown
Fixes CURA-GV
2020-09-16 16:37:09 +02:00
Jelle Spijker
0725bdcd64
Merge pull request #8335
Speed up disable extruder
2020-09-09 09:42:36 +02:00
Ghostkeeper
6e2738a254
Don't update extruders that Cura doesn't have
This is a bit of defensive coding. If the position is out of bounds for Cura it should now ignore those extruders.
This could be due to broken firmware, or maybe someone MITM-ing the connection and changing it, or perhaps because the printer was changed while the sync was ongoing? Whatever the cause, it now puts a warning in the log about it and doesn't crash any more.

Fixes Sentry issue CURA-156.
2020-09-08 12:53:30 +02:00
Jaime van Kessel
175244fdc8
No longer spam the GUI with hasUserSettingsUpdates
The QML profiler showed me that it was causing a *lot* of issues
when switching between extruders. More than 10% of the time in QML
was spent on just updating ine property in the workspace summary dialog.
There were other properties that were also being updated without there being a point.

Contributes to #8250
2020-09-04 17:23:52 +02:00
Jaime van Kessel
6dbdee8d98
Don't switch away from disabled extruder
In some situations this could cause a slowdown, since halfway through
calculating the values the extruder switch would happen. If this is
split up a bit, it's at least less noticeable

Contributes to #8250
2020-09-04 16:43:53 +02:00
Jaime van Kessel
c383fe9656
Don't force an update when disabling an extruder
All the settings that are changed get a notification from the settingRelation.
There should be no need to re-fire all of those settings again!

Contributes to #8250
2020-09-04 16:39:06 +02:00
Jaime van Kessel
8ecdce3b26
Remove postponeEmit that didn't do anything
The signals it was postponing weren't ever being triggered
2020-09-04 16:38:15 +02:00
Jaime van Kessel
1097dbdfa5
Fix copypaste mistake 2020-08-24 10:11:49 +02:00
Jaime van Kessel
13600504d4
Fix mypy failure 2020-08-24 09:33:56 +02:00
Jaime van Kessel
87fb495e07
Add some property tests for MachineManager 2020-08-21 16:36:04 +02:00
Jaime van Kessel
4a47606176
Fix mypy issue 2020-08-21 15:52:13 +02:00
Jaime van Kessel
ce930220e9
Add tests for SetActiveMachine 2020-08-21 15:14:44 +02:00
Jaime van Kessel
907caa53f0
Ensure that changing material type results in profile re-evaluation
CURA-7657
2020-08-18 13:54:21 +02:00
Jaime van Kessel
724498cba7
Reset quality if none was found
CURA-7589
2020-08-06 17:12:14 +02:00
Kostas Karmas
d0d7e671ed Make the deletion of the definitionChanges safer
Just in case findContainerStacks returns an empty list
2020-06-23 10:56:48 +02:00
Kostas Karmas
364769d821 Remove only the hidden printers when removing a printers
When printers share the same group_id, they are removed, regardless if
they are hidden or not. This was resulting in sometimes removing
multiple printers when removing a printer that was created by a project
file.
This PR fixes that by actually checking whether the printer to be
removed is hidden.

CURA-7522
2020-06-18 13:49:50 +02:00
Jaime van Kessel
466ec7c42a
Remove duplicated variable
It was holding the same data as extruders_to_disable
2020-06-18 11:08:17 +02:00
Jaime van Kessel
930d92869a
Fix syncing empty material with cloud
For some reason the cloud gives a 0000 guid when the material is empty.
2020-06-18 11:03:40 +02:00
Kostas Karmas
984426fabb Merge branch 'master' into CURA-7454_Add_remove_printers_button_in_removed_printers_from_account_message 2020-06-10 12:06:41 +02:00
Nino van Hooff
feeeb972f7
Merge pull request #7873 from Ultimaker/CURA-7438_Show_cloud_connection_not_available_printer_removed_from_account
CURA-7438 Handle the case when a cloud printer is removed from the account
2020-06-10 11:46:10 +02:00
Jaime van Kessel
ed53557044
Merge branch 'master' of github.com:Ultimaker/Cura 2020-06-09 16:53:33 +02:00
Kostas Karmas
8c6a7d3098 Remove definitionChanges before removing a printer
When removing a printer, the files in %appdata%/cura/<version>/
/definition_changes/ remained intact. This commit fixes that by
making sure that the definitionChanges are removed before removing
the machine.
2020-06-09 15:56:13 +02:00
Kostas Karmas
5c898b8c57 Allow the machine manager to set an empty active machine
Gracefully handle the case where the machine manager is requested to
delete the last machine in Cura. In this case, instead of deleting
everything of this machine and still keep it as an active machine,
the machine manager will set the active machine to None.

The QML files which depend on the active machine were changed to
properly handle themselves when there is no active machine.

CURA-7454
2020-06-09 15:33:22 +02:00
Nino van Hooff
1024879f9d Process Review feedback for CURA-7438
Renames UltimakerCloudAuthentication to UltimakerCloudConstants

Cura-7438
2020-06-09 13:41:30 +02:00
Kostas Karmas
458b439a9a Rename META_REMOVED_FROM_ACCOUNT to META_LINKED_TO_ACCOUNT
The meta data entry was rename to be more representative of its
function. In addition, the bool metadata entry is now properly
handled using the parseBool function.

CURA-7438
2020-06-04 16:14:09 +02:00
Kostas Karmas
4bebaaaddb Display an appropriate tooltip when device is removed from the account
The tooltip is updated to reflect the case where a cloud printer is
removed from the users account.

CURA-7438
2020-06-04 15:08:27 +02:00
Nino van Hooff
80a5b53aad Store the printer cluster size as a metadata entry on the machine
This makes the cluster size also available when the machine is offline.
Also fixes an issue where the cluster size is improperly restored
once the internet connection comes back online, resulting in the printer
showing as a single printer until next sync

CURA-7347
2020-06-03 13:59:51 +02:00
Nino van Hooff
89f0970a88 Remove trailing whitespace from Python files 2020-05-29 14:30:33 +02:00
Nino van Hooff
58ffc9dcae Merge remote-tracking branch 'origin/master' into doxygen_to_restructuredtext_comments
# Conflicts:
#	cura/API/__init__.py
#	cura/Settings/CuraContainerRegistry.py
#	cura/Settings/ExtruderManager.py
#	plugins/PostProcessingPlugin/scripts/PauseAtHeight.py
#	plugins/UM3NetworkPrinting/src/Cloud/CloudApiClient.py
#	plugins/UM3NetworkPrinting/src/Cloud/ToolPathUploader.py
#	plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDeviceManager.py
2020-05-28 17:31:24 +02:00
Nino van Hooff
c2c96faf5f Convert remaining doxygen to rst 2020-05-28 17:13:44 +02:00
Nino van Hooff
eef347ed6c Add an cloud unavailable icon to the active printer icon
CURA-7437
2020-05-20 17:20:40 +02:00
Ghostkeeper
d499c6fdfe
Keep this position a string
We've set up enough defensive coding that this kept working, but the typing checker fails on it.
2020-05-15 18:50:20 +02:00
Ghostkeeper
acc8e24cb4
Use extruderList rather than extruders dictionary
The extruders dictionary has been deprecated.

Done during Turbo Testing and Tooling to reduce the amount of warnings in our log.
2020-05-15 16:07:19 +02:00
Ghostkeeper
17762cb431
Use extruderList rather than extruders to switch userChanges over
It's a bit weird that it switches the user changes over though. Won't it be a different printer type then?
2020-05-15 16:04:42 +02:00