Merge branch 'master' of github.com:Ultimaker/Cura

This commit is contained in:
Jack Ha 2018-03-22 14:51:14 +01:00
commit 3c7b28a144
2 changed files with 8 additions and 4 deletions

View file

@ -119,6 +119,7 @@ class CuraEngineBackend(QObject, Backend):
self._postponed_scene_change_sources = [] # scene change is postponed (by a tool) self._postponed_scene_change_sources = [] # scene change is postponed (by a tool)
self._slice_start_time = None self._slice_start_time = None
self._is_disabled = False
Preferences.getInstance().addPreference("general/auto_slice", True) Preferences.getInstance().addPreference("general/auto_slice", True)
@ -405,6 +406,7 @@ class CuraEngineBackend(QObject, Backend):
# - decorator isBlockSlicing is found (used in g-code reader) # - decorator isBlockSlicing is found (used in g-code reader)
def determineAutoSlicing(self): def determineAutoSlicing(self):
enable_timer = True enable_timer = True
self._is_disabled = False
if not Preferences.getInstance().getValue("general/auto_slice"): if not Preferences.getInstance().getValue("general/auto_slice"):
enable_timer = False enable_timer = False
@ -412,6 +414,7 @@ class CuraEngineBackend(QObject, Backend):
if node.callDecoration("isBlockSlicing"): if node.callDecoration("isBlockSlicing"):
enable_timer = False enable_timer = False
self.backendStateChange.emit(BackendState.Disabled) self.backendStateChange.emit(BackendState.Disabled)
self._is_disabled = True
gcode_list = node.callDecoration("getGCodeList") gcode_list = node.callDecoration("getGCodeList")
if gcode_list is not None: if gcode_list is not None:
self._scene.gcode_dict[node.callDecoration("getBuildPlateNumber")] = gcode_list self._scene.gcode_dict[node.callDecoration("getBuildPlateNumber")] = gcode_list
@ -524,6 +527,9 @@ class CuraEngineBackend(QObject, Backend):
## Convenient function: mark everything to slice, emit state and clear layer data ## Convenient function: mark everything to slice, emit state and clear layer data
def needsSlicing(self): def needsSlicing(self):
self.determineAutoSlicing()
if self._is_disabled:
return
self.stopSlicing() self.stopSlicing()
self.markSliceAll() self.markSliceAll()
self.processingProgress.emit(0.0) self.processingProgress.emit(0.0)

View file

@ -1,11 +1,10 @@
# Copyright (c) 2017 Ultimaker B.V. # Copyright (c) 2017 Ultimaker B.V.
# PluginBrowser is released under the terms of the LGPLv3 or higher. # PluginBrowser is released under the terms of the LGPLv3 or higher.
from PyQt5.QtCore import QUrl, QObject, Qt, pyqtProperty, pyqtSignal, pyqtSlot from PyQt5.QtCore import QUrl, QObject, pyqtProperty, pyqtSignal, pyqtSlot
from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkRequest, QNetworkReply from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkRequest, QNetworkReply
from UM.Application import Application from UM.Application import Application
from UM.Qt.ListModel import ListModel
from UM.Logger import Logger from UM.Logger import Logger
from UM.PluginRegistry import PluginRegistry from UM.PluginRegistry import PluginRegistry
from UM.Qt.Bindings.PluginsModel import PluginsModel from UM.Qt.Bindings.PluginsModel import PluginsModel
@ -20,7 +19,6 @@ import os
import tempfile import tempfile
import platform import platform
import zipfile import zipfile
import shutil
from cura.CuraApplication import CuraApplication from cura.CuraApplication import CuraApplication
@ -44,7 +42,7 @@ class PluginBrowser(QObject, Extension):
self._plugins_metadata = [] self._plugins_metadata = []
self._plugins_model = None self._plugins_model = None
# Can be 'installed' or 'availble' # Can be 'installed' or 'available'
self._view = "available" self._view = "available"
self._restart_required = False self._restart_required = False