125 Commits

Author SHA1 Message Date
Ghostkeeper
b002e367e3
Only update bed temperature on switching to tab
The problem was that the bed temperature for pre-heat was being updated when focus was lost. It now only updates on component being completed. Since print monitor is a component that is switched out with a Loader, it is completed every time the monitor tab is clicked, thus causing this update. It is not pretty to be dependent on this, but it's quite practical considering the alternatives.

This causes the pre-heat temperature to not update when you switch machines. Whether this is desirable or not is up for debate. In any case the bed temperature is now always equal for all machines so it doesn't matter anyway.

Contributes to issue CURA-3161.
2017-02-16 12:58:39 +01:00
Ghostkeeper
d2fa6dbae2
Notify to update remaining time when it drastically changes
When the time passes normally it doesn't trigger this signal but just go on counting, but when the pre-heat starts or cancels it updates via this signal. This is handy for the future, when we want to update the remaining time from the printer information. However for now it is also nice because we can make the pre-heat timer dependent on this signal so we know when to have it running. This fixes the problem that the pre-heat seems to have been cancelled in the GUI when you switch away the tab, because the timer running is now dependent on the property rather than always false.

Contributes to issue CURA-3161.
2017-02-16 12:58:39 +01:00
Ghostkeeper
9a5b355f2b
Make countdown visibility dependent on its own text
No need to 'update' that in the update timer. We can just link it and it updates on its own.

Contributes to issue CURA-3161.
2017-02-16 12:58:39 +01:00
Ghostkeeper
d363736fdd
Rename preheatCountdownTimer to preheatUpdateTimer
It is a timer that triggers every 100ms to update the state of the pre-heating process, after all.

Contributes to issue CURA-3161.
2017-02-16 12:58:39 +01:00
Ghostkeeper
75a50b73c2
Move pre-heat timer into PrinterOutputDevice
If it's held inside the device that has two advantages: It's being held per-device, so switching connection doesn't stop the timer. And also, the logic is no longer in the GUI.

Contributes to issue CURA-3161.
2017-02-16 12:58:32 +01:00
fieldOfView
25fb3fed16 Add missing label color
One of the labels in the newly redesigned printmonitor is lacking a color, thus making the hotend temperature unstylable.
2017-02-14 10:38:33 +01:00
Ghostkeeper
2724af7508
Add lining between bottom of extruders and build plate boxes
Using margins for this is not applicable since it was the background of the rectangle around the flow that has the correct lining colour. So this is manually adding a line.

Contributes to issue CURA-3161.
2017-02-13 12:01:27 +01:00
Ghostkeeper
34dccfd6a6
Fix updating extruder names on machine switch
The extruder name is asked from the extruder manager, so that the signal from extruder manager properly updates it once the new name is available.

Contributes to issue CURA-3161.
2017-02-13 11:57:01 +01:00
Ghostkeeper
77f07bbc1d
Use Flow for extruder boxes instead of GridLayout
Flow makes things a lot more simple with the double-width item at the bottom.

Contributes to issue CURA-3161.
2017-02-13 11:54:12 +01:00
Ghostkeeper
adbcd874a8
Add SettingPropertyProvider for machineExtruderCount here too
It's not necessary, but this keeps it more localised.

Contributes to issue CURA-3161.
2017-02-13 11:52:46 +01:00
Ghostkeeper
40f32449c6
Remove unnecessary watched properties from machineExtruderCount
Since we don't change the colour of the input box right now, we won't need the warning values.

Contributes to issue CURA-3161.
2017-02-13 09:38:02 +01:00
Ghostkeeper
c2c61c4331
Improve condition for extruder name fallback
In effect this has no change. But semantically it is better: If there are no extruders or the extruders have no name, use 'hotend'. Otherwise use the available name. It has nothing to do with the amount of extruders.

Contributes to issue CURA-3161.
2017-02-13 09:35:09 +01:00
Ghostkeeper
2722ac5a8f
Re-use repeater count instead of listening to machineExtruderCount everywhere
Might be slightly more efficient and/or update stuff in the correct order.

Contributes to issue CURA-3161.
2017-02-13 09:32:16 +01:00
Ghostkeeper
a3170041f8
Fix typo of theme
This was giving a warning that we couldn't get a font from undefined.

Contributes to issue CURA-3161.
2017-02-13 09:15:58 +01:00
Ghostkeeper
d3147a6e97
Add font for extruder name label
This allows it to get stylised.

Contributes to issue CURA-3161.
2017-02-10 16:07:16 +01:00
Ghostkeeper
440508f002
Don't display material if an unknown material is given
This makes it more clear for the cases other than UM3.

Contributes to issue CURA-3161.
2017-02-10 16:05:18 +01:00
Ghostkeeper
6629c8d0cf
Anchor last-row extruder box to left and right to stretch it
Layout.fillwidth seems to only stretch the box to full width on the first row, but without it the entire thing doesn't stretch. Leaving the width out will make the entire left column stretch so that the right column is no longer visible. It's all a bit weird, this QML stuff.

Contributes to issue CURA-3161.
2017-02-10 15:29:58 +01:00
Ghostkeeper
b69ec56f66
Make extruder name recover if it returns null
If it returns null, you'd get an error that it can't assign [undefined] to a text field.

Contributes to issue CURA-3161.
2017-02-10 14:55:06 +01:00
Ghostkeeper
2f8fc05181
Fix button enabled state depending on printer connection
I think I made a mistake when I removed one of the global variables here.

Contributes to issue CURA-3161.
2017-02-10 14:43:31 +01:00
Ghostkeeper
b3bd488c07
Use stylised tooltip for pre-heat button
Took some figuring out, this one... But it works.

Contributes to issue CURA-3161.
2017-02-10 14:40:31 +01:00
Ghostkeeper
be5b656ef7
Hide extruder information when hotend/material is not provided
This happens when there is no extruder in the machine or the machine simply doesn't provide enough information.

Contributes to issue CURA-3161.
2017-02-10 13:28:59 +01:00
Ghostkeeper
f6fe4f9fd3
Use Label for all text, not just labels
The fonts use better fallbacks if they fail to load for labels.

Contributes to issue CURA-3161.
2017-02-10 11:56:37 +01:00
Ghostkeeper
6ed0e81492
Remove unnecessary alignment
It is single-line text and already aligned to the right side via the anchors.

Contributes to issue CURA-3161.
2017-02-10 11:30:05 +01:00
Ghostkeeper
60812139b7
Use global margins instead of specific per cardinal direction
Makes it a bit shorter. But also makes it use the width of the margins for vertical margin, which is unintuitive.

Contributes to issue CURA-3161.
2017-02-10 11:27:45 +01:00
Ghostkeeper
17a03d777c
No longer use printerAcceptsCommands
It's an external variable we don't need. Just ask the currently connected printer.

Contributes to issue CURA-3161.
2017-02-10 11:14:28 +01:00
Ghostkeeper
4ce755021a
Don't use printerConnected from Sidebar.qml
We don't need it if we just check for connectedPrinter to not be null each time.

Contributes to issue CURA-3161.
2017-02-10 11:11:39 +01:00
Ghostkeeper
45c045131b
Fix rendering pre-heat button text twice
It was rendered by the button and again by the style for the button. I'm just using the style since it has the proper styling. Thanks, fieldOfView.

Contributes to issue CURA-3161.
2017-02-10 09:38:38 +01:00
Ghostkeeper
e37d8b949e
Add fallback in PrinterOutputDevice for getting address
The fallback gives a warning that it's not implemented.

Contributes to issue CURA-3161.
2017-02-09 10:31:35 +01:00
Ghostkeeper
4013b50063
Only allow pre-heating if authenticated
Contributes to issue CURA-3161.
2017-02-08 14:01:07 +01:00
Ghostkeeper
bcab0d7be9
Add unit to maximum temperature indication
Contributes to issue CURA-3161.
2017-02-08 14:00:45 +01:00
Ghostkeeper
2a114f1e53
Display last item with double width if there's room on the right side
If it's on the left side and it's the last item, it gets the entire width.

Contributes to issue CURA-3161.
2017-02-08 11:59:19 +01:00
Ghostkeeper
9f66ad1132
Remove superfluous empty item
Don't know where that came from.

Contributes to issue CURA-3161.
2017-02-08 11:40:40 +01:00
Ghostkeeper
98e3e2a25a
Allow pre-heating bed while pausing
It is allowed during the pause. So it should also be allowed when transitioning towards the pause.

Contributes to issue CURA-3161.
2017-02-08 10:19:20 +01:00
Ghostkeeper
34f929c9df
Disable preheat button if printer is busy
It is allowed to preheat the bed if the printer is waiting for the bed to clean up or for stuff to cool down after a print.

Contributes to issue CURA-3161.
2017-02-08 10:18:21 +01:00
Ghostkeeper
2cdf06413b
Remove margin on the left of print monitor
For the other side bar objects this margin was applied doubly, so that makes it very easy to remove.

Contributes to issue CURA-3161.
2017-02-08 09:41:42 +01:00
Ghostkeeper
be9823e94f
Hide maximum bed temperature if there is no maximum
Instead of the ugly 'None' it would display.

Contributes to issue CURA-3161.
2017-02-07 17:39:45 +01:00
Ghostkeeper
0b10df01b0
Don't check for min/max temperature if we have no min/max
If we have no minimum/maximum bed temperature, the property returns 'None'.

Contributes to issue CURA-3161.
2017-02-07 17:33:59 +01:00
Ghostkeeper
e9b30daad6
Write out pre-heat button enabled condition
It should be equivalent. This needs to be done because the line is getting long and I need to add additional checks for if the properties are even set.

Contributes to issue CURA-3161.
2017-02-07 17:30:15 +01:00
Ghostkeeper
b05697b0d5
Also cancel pre-heating bed from Cura after time-out
Printers that don't automatically turn off their heated bed will get the task to do so by Cura then.

Contributes to issue CURA-3161.
2017-02-07 17:21:14 +01:00
Ghostkeeper
57ec987cd9
Disable pre-heat if temperature is invalid
Contributes to issue CURA-3161.
2017-02-07 17:13:36 +01:00
Ghostkeeper
8d09c53896
Make pre-heat button cancel if currently heating
This is based on the timer, which is locally. Eventually we'd want to make the timer update every now and then or so.

Contributes to issue CURA-3161.
2017-02-07 16:46:22 +01:00
Ghostkeeper
9b235aebf2
Add clock icon to pre-heat countdown
It's aligned left of the pre-heat countdown and only visible if the countdown is visible.

Contributes to issue CURA-3161.
2017-02-07 16:38:28 +01:00
Ghostkeeper
8e25a1c73f
Also use central pre-heat time when sending time to printer
Oops.

Contributes to issue CURA-3161.
2017-02-07 16:32:36 +01:00
Ghostkeeper
1a902b21bb
Store default pre-heat time in central location
Its default is 900s or 15 minutes. QML now requests the time-out time and sends it on to the printer.

Contributes to issue CURA-3161.
2017-02-07 16:29:41 +01:00
Ghostkeeper
d705fb1d76
Document why we set endTime to the current date initially
Contributes to issue CURA-3161.
2017-02-07 16:24:28 +01:00
Ghostkeeper
d3d36d47eb
Add countdown timer for pre-heat time
Not happy with how there is '900' in multiple places in the code. I might do something about that later.

Contributes to issue CURA-3161.
2017-02-07 16:22:47 +01:00
Ghostkeeper
559b40867e
Call pre-heat if pre-heat button is pressed
Contributes to issue CURA-3161.
2017-02-07 13:29:57 +01:00
Ghostkeeper
f24d778cc5
Disable pre-heat button when not connected
This covers the case when there is no printer added as well as the case where a printer is added but not connected.

Contributes to issue CURA-3161.
2017-02-07 12:51:02 +01:00
Ghostkeeper
b1448887ba
Add button to pre-heat build plate
This is the one. The actual commit that implements the issue. It doesn't do anything yet, this button, but it's how it should look.

Contributes to issue CURA-3161.
2017-02-06 16:45:52 +01:00
Ghostkeeper
b1a8b28e87
Bind default pre-heat temperature to current build plate temperature
Currently the setting 'resets' when you go out of the print monitor mode. That wasn't the original intention but it works kind of nicely. We'll bring it up in a meeting whether this needs to be changed.

Contributes to issue CURA-3161.
2017-02-06 15:44:40 +01:00