chiark / gitweb /
Save the quickprint settings in the profile
authorYouness Alaoui <kakaroto@kakaroto.homelinux.net>
Thu, 29 Jan 2015 17:42:35 +0000 (12:42 -0500)
committerYouness Alaoui <kakaroto@kakaroto.homelinux.net>
Thu, 29 Jan 2015 17:42:35 +0000 (12:42 -0500)
This helps avoid frustration if you want to keep your settings
the same (especially material choice).
Fixes issue #69

Cura/gui/simpleMode.py
Cura/util/profile.py

index 7e529082f37ad8ece434451022ced2e8870f31b5..0343c81e850f7b45cbd17517de8f43de2a980ddc 100644 (file)
@@ -3,6 +3,7 @@ __copyright__ = "Copyright (C) 2013 David Braam - Released under terms of the AG
 import wx
 
 from Cura.util import profile
+import cPickle as pickle
 
 class simpleModePanel(wx.Panel):
        "Main user interface window for Quickprint mode"
@@ -83,7 +84,34 @@ class simpleModePanel(wx.Panel):
                self.printSupport.Bind(wx.EVT_CHECKBOX, lambda e: self._callback())
                self.printBrim.Bind(wx.EVT_CHECKBOX, lambda e: self._callback())
 
+               self.loadSettings()
+
+       def getSavedSettings(self):
+               try:
+                       return pickle.loads(str(profile.getProfileSetting('simpleModeSettings')))
+               except:
+                       return {}
+
+       def loadSettings(self):
+               settings = self.getSavedSettings()
+               for item in settings.keys():
+                       if getattr(self, item, None):
+                               getattr(self, item).SetValue(settings[item])
+
+       def saveSettings(self):
+               settings = {}
+               settingItems = ['printTypeHigh', 'printTypeNormal', 'printTypeLow', 'printTypeJoris',
+                                               'printMaterialHIPS', 'printMaterialABS', 'printMaterialPLA',
+                                               'printSupport', 'printBrim']
+
+               for item in settingItems:
+                       if getattr(self, item, None):
+                               settings[item] = getattr(self, item).GetValue()
+
+               profile.putProfileSetting('simpleModeSettings', pickle.dumps(settings))
+
        def setupSlice(self):
+               self.saveSettings()
                put = profile.setTempOverride
                get = profile.getProfileSetting
                for setting in profile.settingsList:
index 437a58752099fdf3d2c4a4f091986beae0678ac2..2cc65c4d56c60c1cfc0a8ce39f7b7cf144576799 100644 (file)
@@ -258,6 +258,8 @@ setting('plugin_config', '', str, 'hidden', 'hidden')
 setting('object_center_x', -1, float, 'hidden', 'hidden')
 setting('object_center_y', -1, float, 'hidden', 'hidden')
 
+setting('simpleModeSettings', '', str, 'hidden', 'hidden')
+
 setting('start.gcode', """;Sliced at: {day} {date} {time}
 ;Basic settings: Layer height: {layer_height} Walls: {wall_thickness} Fill: {fill_density}
 ;Print time: {print_time}