chiark / gitweb /
Merge branch 'SteamEngine' of github.com:daid/Cura into SteamEngine 13.05
authordaid303 <daid303@gmail.com>
Tue, 21 May 2013 08:07:17 +0000 (10:07 +0200)
committerdaid303 <daid303@gmail.com>
Tue, 21 May 2013 08:07:17 +0000 (10:07 +0200)
Cura/gui/expertConfig.py
Cura/gui/mainWindow.py
Cura/gui/sceneView.py
Cura/util/removableStorage.py

index 624be95413ab1eee72f629aa1fdd0e73e12be34a..e82ae710b77575548d4a49e1c63244f40cbd63ef 100644 (file)
@@ -22,11 +22,11 @@ class expertConfigWindow(wx.Dialog):
                                if s.checkConditions():
                                        configBase.SettingRow(p, s.getName())
 
-       def __init__(self):
+       def __init__(self, callback):
                super(expertConfigWindow, self).__init__(None, title='Expert config', style=wx.DEFAULT_DIALOG_STYLE)
 
                wx.EVT_CLOSE(self, self.OnClose)
-               self.panel = configBase.configPanelBase(self)
+               self.panel = configBase.configPanelBase(self, callback)
 
                left, right, main = self.panel.CreateConfigPanel(self)
                self._addSettingsToPanels('expert', left, right)
index d6005c3cd76ec984905b0b960cfcfef76a1e1b8a..8a35c2f776272cd07de2d6a598cafc463607d6db 100644 (file)
@@ -388,10 +388,9 @@ class mainWindow(wx.Frame):
                configWizard.headOffsetWizard()
 
        def OnExpertOpen(self, e):
-               ecw = expertConfig.expertConfigWindow()
+               ecw = expertConfig.expertConfigWindow(lambda : self.scene.sceneUpdated())
                ecw.Centre()
-               ecw.ShowModal()
-               self.scene.sceneUpdated()
+               ecw.Show()
 
        def OnMinecraftImport(self, e):
                mi = minecraftImport.minecraftImportWindow(self)
index 9c950903fce6298350f64ced7558b0893f8137d9..df87676dcbb16126d95d4bff8b57d8a86cba5614 100644 (file)
@@ -443,6 +443,8 @@ class SceneView(openglGui.glGuiPanel):
                        return True
                if len(self._gcode.layerList) % 5 == 0:
                        time.sleep(0.1)
+               if self._gcode is None:
+                       return True
                if self.layerSelect.getValue() == self.layerSelect.getMaxValue():
                        self.layerSelect.setRange(1, len(self._gcode.layerList) - 1)
                        self.layerSelect.setValue(self.layerSelect.getMaxValue())
index daf5dbb5e76e69fe7e8ec8a08eafa78365f637d7..1eb807d9a02717b0b30ded376e0a052896ca1633 100644 (file)
@@ -88,6 +88,21 @@ def getPossibleSDcardDrives():
                                        if 'mount_point' in vol:
                                                volume = vol['mount_point']
                                                drives.append((os.path.basename(volume), volume, os.path.basename(volume)))
+
+               p = subprocess.Popen(['system_profiler', 'SPCardReaderDataType', '-xml'], stdout=subprocess.PIPE)
+               xml = ElementTree.fromstring(p.communicate()[0])
+               p.wait()
+
+               xml = _parseStupidPListXML(xml)
+               for entry in xml:
+                       if '_items' in entry:
+                               for item in entry['_items']:
+                                       for dev in item['_items']:
+                                               if 'removable_media' in dev and dev['removable_media'] == 'yes' and 'volumes' in dev and len(dev['volumes']) > 0:
+                                                       for vol in dev['volumes']:
+                                                               if 'mount_point' in vol:
+                                                                       volume = vol['mount_point']
+                                                                       drives.append((os.path.basename(volume), volume, os.path.basename(volume)))
        else:
                for volume in glob.glob('/media/*'):
                        drives.append((os.path.basename(volume), volume, os.path.basename(volume)))