7988 Commits

Author SHA1 Message Date
Jaime van Kessel
f4f1dce941
Merge branch '4.9' of github.com:Ultimaker/Cura 2021-04-12 11:21:22 +02:00
Jaime van Kessel
43cc5fbca9
Add constant marker to supportsPrintJobQueue 2021-04-12 10:14:44 +02:00
Remco Burema
e2135088b9
Merge branch '4.9' 2021-04-09 09:49:44 +02:00
Remco Burema
7f6133ca94
Merge pull request #9535 from Ultimaker/CURA-8093_Check_client_scope_when_upgrading_from_4.8
CURA-8093: Check client scope when upgrading from 4.8
2021-04-09 09:48:55 +02:00
Kostas Karmas
dca0612ee7 Add descriptive comment for deleting the user auth data
CURA-8093
2021-04-08 12:49:33 +02:00
Kostas Karmas
72080a3cca Delete the auth data on upgrade from 4.8 if the scope doesn't match
If the user account scope is outdated, delete it when upgrading from 4.8 to 4.9. This means that
the user will have to log in again, to make sure they get the correct account scope.

CURA-8093
2021-04-08 12:46:52 +02:00
Jaime van Kessel
8e106b2f5b
Merge branch '4.9' of github.com:Ultimaker/Cura 2021-04-08 12:05:26 +02:00
Jaime van Kessel
d49a90029f
Fix final set of typing issues 2021-04-07 14:03:35 +02:00
Jaime van Kessel
00a360aca6
Don't overload types in AMFReader
The typing really doesn't like it if we first let a variable be a list and then
an numpy array
2021-04-07 11:32:09 +02:00
Kostas Karmas
39e9dcd4f5 Fix VersionUpgrade48to49 crashing if there is no "categories_expanded"
If the 4.8 is started from a clean install and no category gets expanded in the settings panel,
then the "categories_expanded" key will not exist in the [cura] preferences in cura.cfg.
As a result, when the 4.9 gets started in this specific case, the version upgrade 48 to 49 will
produce a crash and will be considered as "failed", which will then lead to cura requesting from
the user to go from the entire onboarding flow instead of landing on the "What's new" pages (even
though everything else has been properly updated).

This commit fixes that by checking whether the "categories_expanded" key exists in the cura.cfg.
2021-04-06 16:37:06 +02:00
Kostas Karmas
b2b258d357 Fix add script button list not working in MacOS
Fixed by using the qt quick controls 2

CURA-8127
2021-04-06 14:53:20 +02:00
Ghostkeeper
95297f0410
Merge branch '4.9' 2021-04-06 13:30:03 +02:00
Ghostkeeper
08be77adad
Increment SDK version to 7.5.0
The Cura 4.9 release will have expanded functionality. If you have a plug-in that uses this functionality, marking it as using SDK 7.5.0 will notify older Cura releases that they can't use that plug-in.
2021-04-06 13:28:08 +02:00
Kostas Karmas
081b0b23a4 Fix setting the time_remaining_method in the versionUpgrader
The DisplayProgressOnLCD script was changed and the "time_remaining" was split into two settings:
the "time_remaining" and the "time_remaining_method". If the "time_remaining" was enabled, the
"time_remaining_method" should be set to "m117".

The VersionUpgrader48to49 was changing the "time_remaining" to "m117" instead of changing the
"time_remaining_method", which was leading to the "time_remaining" having a wrong value and not
being interpreted as a boolean.

This commit fixes that by setting the "time_remaining_method" into "m117" when the "time_remaining"
was True.

CURA-8110
2021-04-06 11:38:28 +02:00
Ghostkeeper
71b217c624
Fix colour calculations if spectrum is entirely one value
If the range of the colour spectrum is 0, i.e. there is only one value for the current colour spectrum, then this would previously give a division by 0 in the shader, causing the final colour to become black. This is unexpected and makes the layer view hard to read. Instead, we'll now use the middle of the range then.
This was likely a problem for a long time but only really became visible due to the colour spectrum now showing only the range of values for the visible structures. Previously it was a problem e.g. for layer thickness if all layers had the same thickness (i.e. initial layer height == layer height).
2021-04-03 17:29:33 +02:00
Ghostkeeper
6209a08121
Fix accidentally always taking 0th line along
The input array here is 2D, but always 1 by N long. The output of where then gives a tuple of two arrays, one indicating the Y positions and the other the X positions. The X positions were therefore always 0. The amin and amax functions were then always taking this index 0 along in their results, regardless of whether the line at that index was visible at all or not.
This will also improve performance since it's checking the limits now only for half as many indices.
2021-04-03 17:19:24 +02:00
Ghostkeeper
9b1941a4a2
Don't crash if there are no visible lines in a polyline 2021-04-03 17:07:01 +02:00
Ghostkeeper
b5bc4aecd5
Reset color scheme limits before every recalculation
This prevents previous measurements from influencing the colour scheme. Essentially previously it was showing the colour scheme based on all lines you had ever seen, rather than just the line types you were currently seeing.
2021-04-03 16:56:36 +02:00
Ghostkeeper
9f902f7a7a
Update colour scheme limits if visibility changed the limits
If the user makes certain structures visible or invisible, and this then causes the limits of the colour scheme to change, this now triggers the layer view to be re-rendered and updates the legend in the simulation view menu component.
2021-04-03 16:49:04 +02:00
Ghostkeeper
424f037dca
Trigger recalculation of colour scheme limits when visibility changes
While it's now correctly triggered to recalculate, it doesn't correctly update yet in the interface. We'll need to resolve that next.
2021-04-03 16:30:10 +02:00
Ghostkeeper
28f8da8f7b
Move calculation of simulation spectrum limits to separate function
This is just a refactor that shouldn't have any influence on the behaviour.
It is a necessary prerequisite to be able to trigger the updating of the layer view colour spectrum more frequently, i.e. if the visible line types change.
2021-04-03 16:16:02 +02:00
Ghostkeeper
8d13cfb5d6
Make limits in colour scheme depend on the visible line types
This way, if travel moves are not currently visible in the layer view, the travel moves don't get counted with the limits to determine the colour spectrum to grade each line with. Quite often, travel moves had a much greater speed than other moves, like 120mm/s instead of the fastest printed line 60mm/s. This caused all of the layer view to be pushed into the lower end of the spectrum. It makes it hard to distinguish the differences in speed and line width because travel moves influence the spectrum so much. This way, the travel moves only influence the spectrum if they are visible. If they are visible, it might be relevant to the user. Otherwise, the user gets the full spectrum to differentiate between all the line widths and speeds.

This currently doesn't update correctly yet. That is something we'll need to fix.
2021-04-03 16:03:20 +02:00
Ghostkeeper
fd6dbd3ede
Draw simulation view lines with a constant colour for the entire line
All of our current layer view colour schemes are properties of a line, not of a vertex. The line has a single feedrate, a single line type, a single layer thickness, a single material colour and a single width. This is even limited by the g-code specification itself, which is unable to represent lines with varying line width. However, we store this information in the vertices, the vertex data being the only data sent to layer view since layer view is sent as polylines to the shader.

This change makes the entire line take on the colour scheme of the vertex where its representative data is stored. This data is intended for the line, not just for that vertex, so it makes sense that the entire line listens to the data of the correct vertex, not just the nearest vertex of the line's endpoint.
2021-04-03 15:40:14 +02:00
jelle Spijker
27fc435724
Bumped up stack version to 5
CURA-8110_upgrader
2021-04-02 15:02:38 +02:00
jelle Spijker
ebc4f45da6
Revert "Removed the upgrader for the machine and extruder stack"
This reverts commit 4707560d
2021-04-02 14:45:16 +02:00
jelle Spijker
72478994ec
Bumped up the Preference version to 7
reverted the SettingVersion to 16

CURA-8110_upgrader
2021-04-02 14:41:52 +02:00
jelle Spijker
4707560dcb
Removed the upgrader for the machine and extruder stack
It is known that will cause some user scripts to default behaviour.
But this is accepted behaviour, and the benefits of not upgrading
the Cura Application version outweigh this.
2021-04-02 14:03:37 +02:00
Jaime van Kessel
67e03e8763
Merge branch '4.9' of github.com:Ultimaker/Cura into CURA-8110_upgrader 2021-04-02 13:48:39 +02:00
jelle Spijker
33e345d1bc
Removed upgrader for instance containers
CURA-8810_version_upgrade
2021-04-02 10:41:14 +02:00
jelle Spijker
5885c5afee
Fixed documentation of upgradeSettingVisibility
CURA-8810_version_upgrade
2021-04-02 09:44:56 +02:00
jelle Spijker
51efeb9767
Upgrade expanded categories as well
CURA-8810_version_upgrade
2021-04-01 16:47:43 +02:00
jelle Spijker
77ea5e5e89
Allow setting visibilities to be upgraded
CURA-8810_version_upgrade
2021-04-01 16:15:47 +02:00
jelle Spijker
85fa07f6dd
Add top_bottom category to visible settings in preference
CURA-8810_version_upgrade
2021-04-01 14:22:32 +02:00
Ghostkeeper
27185c268d
Strip whitespace around package name for display
The actual package name internally will still have the spaces.
People were using this to get ahead in the sorting of packages, which is a little unfair. This doesn't make that impossible, but prevents it for the most part.
2021-03-31 16:10:36 +02:00
jelle Spijker
b05b36ae56
Added the VersionUpgrade48to49 plugin to bundled packages
CURA-8810_version_upgrade
2021-03-31 15:14:18 +02:00
Ghostkeeper
c85cf7b9cb
Add version upgrade plug-in for 4.9
Needed to happen at some point...

Contributes to issue CURA-7787.
2021-03-31 15:08:47 +02:00
Ghostkeeper
0787594a3d
Accept Griffin-style time estimation header
Otherwise it doesn't work for those printers.

Contributes to issue CURA-7787.
2021-03-31 15:08:33 +02:00
Jaime van Kessel
aed653546a
Merge branch 'CURA-8126_Fix_Toolbox_not_closing_instantly_after_quitting' of github.com:Ultimaker/Cura 2021-03-30 14:26:47 +02:00
Kostas Karmas
54b30f20a3 Fix Toolbox window not closing instantly after pressing "Quit Cura"
After installing a package and hitting the "Close Ultimaker Cura" button, the Toolbox window
was remaining open for a few seconds, even though the Cura window was instantly closing.

This is not fixed by explicitly hiding the Toolbox dialog once that button is pressed.

CURA-8126
2021-03-30 11:49:56 +02:00
Kostas Karmas
6abb029afd Fix marketplace button not directing to the web marketplace
We generally disabled the clicks in the mouseArea of the tooltips.
In this case though it should still accept the left click since it acts as a button.

CURA-8125
2021-03-30 11:40:03 +02:00
Kostas Karmas
189d00c3ed Fix toolbox not initializing due to enabledChanged signal
The Connections in qml is a QObject and it has an enabledChanged signal by default.
Therefore, we cannot really use the Connections to connect to the enabledChanged signal of e.g.
a python class, because qml complains that there is already a function named enabledChanged() in
the Connections.

To circumvent that, we can simply rename the enabledChanged() signal of the Toolbox to
toolboxEnabledChanged().
2021-03-30 09:02:56 +02:00
Kostas Karmas
7827b36ab7 Fix QML warnings due to depricated on<signal> calls in Connections
As of 5.12, the signals used in connections should not be declared as on<signal>, but as
function on<signal>(arguments).
2021-03-30 09:02:48 +02:00
pnt103
2ed40fe2c6
Get last position from previous layer instead.
Old code was next-next layer, which is actually the layer _after_ the one that is meant.

Fixes #9430
CURA-8116
2021-03-25 09:19:45 +01:00
Ghostkeeper
91fe9e8ebf
Merge branch 'patch-1' of https://github.com/EGOiST1991/Cura into EGOiST1991-patch-1 2021-03-23 13:57:00 +01:00
Ghostkeeper
2c33ebdd05
Document part of the vertex positions generated here
Encountered as I made a failed attempt at solving the issue with rendering transparent support. I tried to order vertices appropriately but failed miserably.
2021-03-21 23:15:15 +01:00
Ghostkeeper
bcf180985d
Fix crash when adding USB device before global stack is created
Like when you plug in a 3D printer via USB while still in the welcome screen.

Fixes Sentry issue CURA-1ZR.
2021-03-18 16:17:09 +01:00
Jelle Spijker
2e3d85b9d0
Merge pull request #9377 from Ultimaker/fix_layer_view_greyout_on_model_switch
Fix layer view being greyed out after reslicing gives same current layer
2021-03-10 07:49:24 +01:00
Ghostkeeper
a379e01f1d
Fix layer view being greyed out after reslicing gives same current layer
This fixes a very old bug in Cura where sometimes after re-slicing it would display the layer as if you've been going horizontal through the path slider, even if you never touched the horizontal path slider.
This was caused by a tracking flag in the SimulationPass, _switching_layers. This bit of state in the SimulationPass was tracking whether the user is going through the vertical layer slider (True) or the horizontal path slider (False). If False, the nozzle mesh is drawn and lower layers get drawn in a shadowy shader. The state of this flag was being updated on every render by looking at whether the previous render has the same current layer number but a different path index. If so, it changed to False, meaning that it assumes you're going through the paths on a layer and things get shadowy.
However if you slice a different object such that the number of layers stay the same (or at least the current layer) but the number of paths on a layer change (e.g. by reducing Maximum Resolution, or by loading a different model that happens to be equally tall) then it would falsely think you were going through the horizontal path slider.

This change effectively resets this state flag when any layer data is changed in the scene. So if you re-slice, it always goes back to _switching_layers = True.

The side effect is that if you were going through the paths of a layer and you re-slice, you won't end up on the same path even if the number of paths on your current layer didn't change due to the reslice. But I think that is more towards what the user would accept a re-slice to do anyway.

I decided to take a look into this bug because I'm making a script to automatically refresh the screenshots of the Settings Guide plug-in. This script frequently hits cases like this, and it's easier to fix this bug than to work around it in my script.
2021-03-06 15:48:32 +01:00
Ghostkeeper
2cdb025adb
Document layer view navigation functions 2021-03-06 14:21:38 +01:00
Ghostkeeper
e9d3ba9b74
Simplify limits on [minimum] layer/path number
Just a few calls to min() or max() do the trick, rather than if statements.
I consider this more semantic, because we just intend to clamp values here, and min() and max() are commonly used to do that.
It should also be slightly faster because it's less Python and more internal in CPython, but considering that this happens at best like 60 times per second the performance impact of this will be practically nil.
2021-03-06 14:15:48 +01:00