Browse Source

Added force layer view compatibility mode. CURA-3273

Jack Ha 8 years ago
parent
commit
1d77864915

+ 1 - 0
cura/CuraApplication.py

@@ -223,6 +223,7 @@ class CuraApplication(QtApplication):
         Preferences.getInstance().addPreference("mesh/scale_tiny_meshes", True)
         Preferences.getInstance().addPreference("cura/dialog_on_project_save", True)
         Preferences.getInstance().addPreference("cura/asked_dialog_on_project_save", False)
+        Preferences.getInstance().addPreference("view/force_layer_view_compatibility_mode", False)
 
         Preferences.getInstance().addPreference("cura/currency", "€")
         Preferences.getInstance().addPreference("cura/material_settings", "{}")

+ 1 - 2
plugins/LayerView/LayerView.py

@@ -65,7 +65,6 @@ class LayerView(View):
 
         Preferences.getInstance().addPreference("view/top_layer_count", 5)
         Preferences.getInstance().addPreference("view/only_show_top_layers", False)
-        Preferences.getInstance().addPreference("view/compatibility_mode", True)  # Default True for now, needs testing of different computers
 
         Preferences.getInstance().preferenceChanged.connect(self._onPreferencesChanged)
 
@@ -93,7 +92,7 @@ class LayerView(View):
             # Currently the RenderPass constructor requires a size > 0
             # This should be fixed in RenderPass's constructor.
             self._layer_pass = LayerPass.LayerPass(1, 1)
-            self._compatibility_mode = not self.getRenderer().getSupportsGeometryShader()
+            self._compatibility_mode = not self.getRenderer().getSupportsGeometryShader() or bool(Preferences.getInstance().getValue("view/force_layer_view_compatibility_mode"))
             self._layer_pass.setLayerView(self)
             self.getRenderer().addRenderPass(self._layer_pass)
         return self._layer_pass

+ 14 - 0
resources/qml/Preferences/GeneralPage.qml

@@ -265,6 +265,20 @@ UM.PreferencesPage
             }
         }
 
+        UM.TooltipArea {
+            width: childrenRect.width
+            height: childrenRect.height
+            text: catalog.i18nc("@info:tooltip", "Should layer be forced into compatibility mode?")
+
+            CheckBox
+            {
+                id: forceLayerViewCompatibilityModeCheckbox
+                text: catalog.i18nc("@option:check", "Force layer view compatibility mode (restart required)")
+                checked: boolCheck(UM.Preferences.getValue("view/force_layer_view_compatibility_mode"))
+                onCheckedChanged: UM.Preferences.setValue("view/force_layer_view_compatibility_mode", checked)
+            }
+        }
+
         Item
         {
             //: Spacer