353 Commits

Author SHA1 Message Date
Ghostkeeper
4c3d28709b
Add typing for all functions and fields
Lots of typing so that MyPy can then check whether the functions are safe to call.

Contributes to issue CURA-5330.
2018-06-15 14:07:33 +02:00
Ghostkeeper
8256788ed8
Use CuraApplication instead of Application
Because we need to call getExtruderManager which is only in CuraApplication.

Contributes to issue CURA-5330.
2018-06-15 13:40:43 +02:00
Lipu Fei
439ea79c60 Add message for unable to slice due to disabled extruders
CURA-5456
2018-06-13 11:09:20 +02:00
Diego Prado Gesto
43657010ba CURA-5164 The Preferences is not a singleton class anymore since in some point
several instances need to be created.

- In the ThreeMFWorkspaceReader we need to create some temporal
instances of Preferences that makes it not singleton anymore.

- The current preferences are kept in the Application class and so all
the calls to the preferences are changed to get the preferences from
Application.

- The method getInstance in Preferences is kept as deprecated since some
external plugins.
2018-05-11 08:50:42 +02:00
Lipu Fei
051dd7a6e9 WIP: Make application initialization and start up more clear
- Create SingleInstance class to handling single instance stuff.
 - Instead of calling getInstance() everywhere, initialize each object
   explicitly in order when application starts and getInstance()s do not
   create instances any more and they merely return the created
   instances.
 - Only set initial values in construtor functions __init__(). Move the
   initialization of context-aware (i.e. things that depend on other
   things) to separate functions.
 - Split application creation and initialziation into several steps and
   them should be called explicitly in the correct order.
2018-05-04 09:57:02 +02:00
Mark
b78b6b2c01 Change default auto_slice setting to False
CURA-5188
2018-04-17 10:37:07 +02:00
Diego Prado Gesto
1a6a39da93 CURA-5197 Add log output with number of models in the buildplate after
slice.
2018-04-12 16:53:00 +02:00
Jack Ha
283cbed1ad CURA-5130 move the part that determines if it should slice 2018-03-22 16:02:09 +01:00
Lipu Fei
0787f0b2ba Fix autoslice check so it doesn't slice if there is no need
CURA-5130
2018-03-22 14:46:19 +01:00
Jack Ha
10ba900449 CURA-5090 empty layer data when new sliced data is empty and prevent some layer data to be processed if it is outdated 2018-03-19 14:02:02 +01:00
Lipu Fei
934d297e6c Split error checking into smaller sub-tasks
CURA-5059

Split stack error checking into smaller sub-tasks so running them on the Qt
thread will not block GUI updates from happening for too long.
2018-03-13 13:21:44 +01:00
Jack Ha
3b8d470323 Merge branch 'master' into feature_enable_disable_extruder 2018-03-08 09:35:49 +01:00
ChrisTerBeke
cd01b096b5 Emit backend errors so we can process them differently than through a qml notification 2018-03-05 14:33:13 +01:00
Jack Ha
53ec846436 CURA-4400 introduced value -1 for extruder number setting (not optional_extruder); this one takes the defaultExtruderPosition in MachineManager 2018-03-01 17:21:35 +01:00
Lipu Fei
9a354efd19 Merge remote-tracking branch 'origin/master' into refactoring_machine_manager 2018-02-21 14:05:19 +01:00
Lipu Fei
c432d4ffbb WIP: Simplify global stack and extruder stack activation and fixes 2018-02-20 11:16:51 +01:00
Jack Ha
2c689ef03f Log markup 2018-02-19 09:14:04 +01:00
Lipu Fei
495fc8bbd7 WIP: Refactor BuildPlateModel and split MultiBuildPlateModel 2018-02-17 22:24:05 +01:00
Jaime van Kessel
2dee2ce5d9 Fixed issue where optimized layer data could be empty 2018-02-05 13:16:39 +01:00
Jaime van Kessel
e01c8218fa Removed uneeded checks if a node was a SceneNode
The "isSlicable" decorator already took care of this
2018-02-05 13:02:30 +01:00
Jaime van Kessel
516d7015e4 Fixed some issues caused by the multi buildplate system 2018-02-05 11:37:36 +01:00
Jack Ha
4c474c9619 Merge branch '3.2' 2018-01-22 12:58:16 +01:00
Jack Ha
8d8fa0269a CURA-4821 loading gcode will now delete all existing models from all build plates and delete existing layer data to be processed 2018-01-22 12:57:50 +01:00
Diego Prado Gesto
0fbcd2d2ec Merge branch '3.2' 2018-01-19 13:50:30 +01:00
Diego Prado Gesto
f25aad8091 CURA-4821 Remove debug output 2018-01-19 11:18:46 +01:00
Diego Prado Gesto
1f4e7421c1 Revert "CURA-4821 Remove debug info"
This reverts commit d03ecf3cba84d1551d6cb979ef0fb094da92a3e2.
2018-01-19 11:17:42 +01:00
ChrisTerBeke
fb8aa08c6a
Merge pull request #3031 from Ultimaker/feature_headless_docker
Feature headless
2018-01-19 10:31:20 +01:00
Diego Prado Gesto
d03ecf3cba CURA-4821 Remove debug info 2018-01-19 09:16:22 +01:00
Diego Prado Gesto
ece63bfea8 CURA-4821 The previous cached layer data is removed when a GCode is loaded. Temporary solution for one buildplate. 2018-01-18 15:47:01 +01:00
ChrisTerBeke
422d047317 Merge branch 'master' into feature_headless_docker 2018-01-17 17:02:04 +01:00
Jack Ha
a0738c2977 CURA-4808 fix extruder setting change trigger slice. re-introduce extrudersAdded signal, probably needed because of timing issues (extruder added after loading global container). it's the inversion of 225b03e98ee1d92467176a1fd1ef3605ce0999c7 2018-01-16 11:49:45 +01:00
ChrisTerBeke
d19b2fb8d9 Fix merge conflicts with master 2018-01-16 09:11:30 +01:00
ChrisTerBeke
41dec889ac Also emit a back-end slicing error when the job result is an actual error 2018-01-15 11:52:15 +01:00
Lipu Fei
b54b075cc9 Use isinstance() instead or issubclass()
CURA-4525
2018-01-12 16:42:34 +01:00
Lipu Fei
225b03e98e No need for the extra extrudersAdded signal
CURA-4784
2018-01-12 09:58:07 +01:00
Lipu Fei
8b3bd71b36 Get extruders list from GlobalStack itself
CURA-4784
2018-01-12 09:57:34 +01:00
Aleksei S
3f4a2c565c Fix: after extruders switch do not trigger slicing, provided a new signal
which is triggered after adding extruder and it subscribers for property changes
2018-01-11 13:32:05 +01:00
Jack Ha
d91a2e1ca3 CURA-4525 move reset print information to a better place to prevent it sending info of non existent build plates 2018-01-10 16:04:56 +01:00
Jack Ha
6262003069 CURA-4525 reset the print information for build plates that are marked for slicing 2018-01-10 16:01:26 +01:00
Jack Ha
0fdb470ec7 CURA-4525 only try to slice next build plate if there are actually build plates to slice 2018-01-10 14:39:26 +01:00
Jack Ha
80aaad83e1 CURA-4525 fix manual slice slicing more than one build plate at a time 2018-01-10 14:12:21 +01:00
Lipu Fei
c8cef9583e rename scene.gcode_list to gcode_dict
CURA-4741

With the multi build plate feature, scene.gcode_list is now a dict which
stores a list of gcode for a build plate, so it makes more sense to have
it renamed to "gcode_dict" because it's not a list.
2018-01-08 16:18:41 +01:00
Jack Ha
c1cb86a334 CURA-4525 remove initial 'Unable to slice' 2018-01-08 14:00:06 +01:00
Jack Ha
86eb9c73ba CURA-4525 do not send empty build plates gcode; direct calling slice when skipping empty build plate 2018-01-08 13:41:58 +01:00
Jack Ha
52b75b58e7 CURA-4525 allow for empty build plates between filled build plates 2018-01-08 13:25:39 +01:00
Aleksei S
784a17149f Don't show save to file if not possible to slice
CURA-4525
2018-01-05 15:20:42 +01:00
Aleksei S
5dad6cab2c If the model is:some per mesh settings or outside of the buildplate show message,
CURA-4525
2018-01-05 14:00:23 +01:00
Ghostkeeper
a8ad956c92
Erase gcode of build plates that are determined to be empty
You don't want to start a new slice, but you should still erase the g-code there.

Contributes to issue CURA-4525.
2018-01-05 13:34:39 +01:00
Ghostkeeper
fefb20deb7
Don't start slicing again if you can't slice
Contributes to issue CURA-4766.
2018-01-05 13:33:40 +01:00
Jack Ha
62487e8ea2 CURA-4525 cleanups and change comment and added new-lines 2018-01-03 15:41:08 +01:00