6290 Commits

Author SHA1 Message Date
Remco Burema
09dc6ae44a Scouting: Try not to spam signals or errors as much.
nominally part of CURA-6863
2019-10-14 01:03:41 +02:00
Remco Burema
4277ede64f Fix 1/2 of the duplication material bug.
The material is added multiple times to the variant nodes, and overwriting it with the eventual right one was going wrong.
This does not solve it entirely (because the less specific one still ends up selected _initially_ because it gets added first, and the order can't be guaranteed.
part of CURA-6863
2019-10-14 01:01:19 +02:00
Jaime van Kessel
bba43fafcc
Remove another unused signal 2019-10-11 14:35:44 +02:00
Jaime van Kessel
be675d9343
Remove unused signal 2019-10-11 14:33:08 +02:00
Jaime van Kessel
05a6c9c3cf
Make code a bit smarter about reusing ExtruderConfigurationModels
This prevents a lot of unneeded signal noise
2019-10-11 11:04:16 +02:00
Ghostkeeper
f6d83d7a6b
Fix sign of __contains__
Should've been the other way around!

Contributes to issue CURA-6793.
2019-10-10 16:10:19 +02:00
Ghostkeeper
ab4fade017
Fix check if definition with ID exists
It's not an InstanceContainer but a DefinitionContainer.
Also, when checking with the ID, it'll short circuit to the dictionary look up by ID. Then it's faster to directly check without specifying what type of container it is to prevent another nested function call.

Contributes to issue CURA-6793.
2019-10-10 15:36:19 +02:00
Ghostkeeper
38e723b51c
Fix loading GlobalStacks on different thread
The findContainerStacks() will list all container stacks and lazily load them. However this lazy loading is done on the thread that's calling it. The lazy loading will create GlobalStack objects, which are QObjects. The QML code then can't access those QObjects because they are created on different threads. So now instead we'll do the find query on the main thread but all the rest on the background thread.

Contributes to issue CURA-6973.
2019-10-10 15:32:14 +02:00
Ghostkeeper
c698938c60
Remove debug print 2019-10-10 15:22:52 +02:00
Ghostkeeper
9323ed5d04
Add implementation of get() for the pretend-dict
Some places are using this.

Contributes to issue CURA-6973.
2019-10-10 14:56:00 +02:00
Ghostkeeper
268da885ee
Remove unused _loadAll function
This one is no longer used since we no longer load all stacks upon start-up.

Contributes to issue CURA-6793.
2019-10-10 14:48:46 +02:00
Jaime van Kessel
ee25c4b94c
Merge branch 'CURA-6873_fix_um2_crash' of github.com:Ultimaker/Cura 2019-10-10 13:32:05 +02:00
Jaime van Kessel
ec4817db87
Fix crash when syncing with configuration that has no printcores active
CURA-6826
2019-10-10 09:55:17 +02:00
Nino van Hooff
d60b26db15 None-check for material diameter.
Fixes a crash for materials which don't have that metadata-entry,
such as an empty material (UM2)

CURA-6873
2019-10-10 09:27:23 +02:00
Lipu Fei
44cb810c85 If None crash
CURA-6869
2019-10-09 22:28:58 +02:00
Ghostkeeper
c5b957d0b1
Remove debug code
Contributes to issue CURA-6793.
2019-10-09 16:45:43 +02:00
Ghostkeeper
5199e3e6db
Add background job to pre-load other added printers
Not just the active one.

Contributes to issue CURA-6793.
2019-10-09 16:44:00 +02:00
Lipu Fei
e5b90ee306 Fix is_experimental flag update
CURA-6869
2019-10-09 12:52:49 +02:00
Ghostkeeper
4ffda015db
Implement lazy loading for machine nodes
Should be completely transparent. It'll fail the unit tests though because it now pretends that all printers have machine nodes.

Contributes to issue CURA-6793.
2019-10-09 10:53:58 +02:00
Ghostkeeper
0238f65e6a
Remove double call of _onGlobalContainerChanged and activeExtruderChanged on switching
When switching printers, it would first emit the global container changed signal which connects to _onGlobalContainerChanged, then update stuff in the extruder manager, then manually call _onGlobalContainerChanged again to update some other stuff with the new data from the extruder manager. This was prohibitively expensive, so this prevents that.
Another double or triple emit of the activeExtruderChanged was removed in the extruder manager when creating the extruders for a printer: It would first set the extruder number to 0, possibly emitting the signal, then emit the signal just to be sure since the extruder itself changed (rather than just the number), and then change the extruder number to the preferred extruder, possibly again emitting a signal. Now it just sets the extruder number to the preferred extruder and always emits the signal once (either through setting the extruder number or manually afterwards).

Contributes to issue CURA-6793.
2019-10-08 16:32:20 +02:00
Jaime van Kessel
987ccd28ba
Merge branch 'feature_intent' of github.com:Ultimaker/Cura 2019-10-08 16:23:03 +02:00
Jaime van Kessel
11f9992ebb
Merge pull request #6473 from Ultimaker/CURA-6632_intent_in_stats
CURA-6632 Add intent into stats
2019-10-08 16:19:19 +02:00
Ghostkeeper
dd8ee2e3d8
Switch early fail around to reduce indentation
Makes this more readable.

Contributes to issue CURA-6793.
2019-10-08 15:22:12 +02:00
Ghostkeeper
b137e6a36d
Don't add extruders twice upon start-up
The extruders are added when changing printers anyway, and we call this change signal upon start-up. So one of them is going to do unnecessary work.

Contributes to issue CURA-6793.
2019-10-08 15:21:19 +02:00
Lipu Fei
fb368a4788 Remove MachineManager.activeVariantNames
CURA-6865
2019-10-08 15:16:27 +02:00
Ghostkeeper
23904e1dca
Don't cache machine manager and application
This makes testing harder. Also fixed the typing of the application this way.

Contributes to issue CURA-6793.
2019-10-08 14:16:19 +02:00
Ghostkeeper
44a59a7f3b
Fix typing
Discovered during work on CURA-6793.
2019-10-08 12:44:10 +02:00
Jaime van Kessel
17ce0f5eb1
Remove unused imports 2019-10-08 10:59:37 +02:00
Jaime van Kessel
58fec04650
Don't emit a globalcontainer changed signal when only the name changed
Apart form it being way to agressive (and thus, slowing things down), it
also caused a re-slice to be done when a printer was connected with another printer.
2019-10-08 10:53:58 +02:00
Lipu Fei
8940097265 Separate black and grey text for quality menu
CURA-6846
2019-10-07 21:35:31 +02:00
Lipu Fei
32747d2abe Merge remote-tracking branch 'origin/master' into feature_intent 2019-10-07 21:20:54 +02:00
Lipu Fei
74e7de1b54 Add intent into stats
CURA-6632
2019-10-07 21:11:40 +02:00
Jaime van Kessel
cb526f0f31
Merge branch 'CURA-6706_intents_on_quality_mgr_page' of github.com:Ultimaker/Cura into feature_intent 2019-10-07 16:14:24 +02:00
Lipu Fei
121315cbf2
Merge pull request #6456 from Ultimaker/CURA-6824
Consider user preference when opening project files from cli.
2019-10-07 13:46:44 +02:00
Lipu Fei
757b02ec42 Simply and fix quality name generation
CURA-6846
2019-10-07 13:30:33 +02:00
Lipu Fei
e4fa89ea4b Simplify quality display name (label name) generation
CURA-6706
2019-10-07 13:28:12 +02:00
Lipu Fei
d99386cf2e Fix recommended mode
CURA-6706
2019-10-07 12:58:41 +02:00
Lipu Fei
2033f24a17 Use catalog to translate intent category name
CURA-6706
2019-10-07 12:41:52 +02:00
Nino van Hooff
11d0462c7a Fix recent files python function calls 2019-10-07 10:44:30 +02:00
Lipu Fei
c42feae11c Make intents work on quality management page
CURA-6706
2019-10-07 09:22:47 +02:00
Lipu Fei
1981a7c65b
Merge pull request #6479 from Ultimaker/CURA-6840_intent_profile_visibility
Cura 6840 intent profile visibility
2019-10-07 08:18:28 +02:00
Lipu Fei
1967dd8404 Fix code style
CURA-6840
2019-10-07 08:12:54 +02:00
Ghostkeeper
54c1980f78
Fix preferring correct diameter over correct preference
If the diameter doesn't match up, then the print fails. If the preference is not held up, then it chooses some random material and the user will understand what it chose.

Done during Turbo Testing and Tooling because a test was failing.
2019-10-04 17:35:38 +02:00
Jaime van Kessel
b3b28bc330
Merge branch 'feature_intent' of github.com:Ultimaker/Cura into feature_intent 2019-10-04 15:46:41 +02:00
Ghostkeeper
05801bb623
Directly ask metadata from node instead of container
We only need the metadata, so far. Found with a test that got broken because I wasn't mocking out the entire container.

Done during Turbo Testing and Tooling.
2019-10-04 15:35:33 +02:00
Ghostkeeper
faa32ed33e
Remove another workaround in construction of QualityGroup
Like the previous commit.

Done during Turbo Testing and Tooling.
2019-10-04 15:35:32 +02:00
Ghostkeeper
6c0772cd4a
Provide activeQualityGroupName instead of QualityGroup(QObject)
We don't need to inherit from QObject if we expose the name elsewhere. This prevents having workarounds for C++ vs QML ownership, and also allows us to test this while mocking out CuraApplication.

Done during Turbo Testing and Tooling.
2019-10-04 15:35:32 +02:00
Ghostkeeper
6f2f15c74f
Use pre-cached quality type from node rather than re-requesting it
Minor performance increase.

Done during Turbo Testing and Tooling.
2019-10-04 15:35:32 +02:00
Ghostkeeper
0a6842703c
Update documentation
This class no longer applies to quality changes. Quality changes groups don't exist any more.

Done during Turbo Testing and Tooling.
2019-10-04 15:35:24 +02:00
Lipu Fei
4579b06f6d Fix typing 2019-10-04 15:10:42 +02:00