X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=Cura%2Fgui%2FmainWindow.py;h=590252a53d3bc4adfbe1d1751e5894bcd36ce187;hb=6208201bafdeaf82883181471c6da3a41283cfe7;hp=c6af67b7b9e88fdb8054def7467f8b69499f5ce0;hpb=b516dfb498ef355336ae65bbbe0b5e1593de905f;p=cura.git diff --git a/Cura/gui/mainWindow.py b/Cura/gui/mainWindow.py index c6af67b7..590252a5 100644 --- a/Cura/gui/mainWindow.py +++ b/Cura/gui/mainWindow.py @@ -122,6 +122,17 @@ class mainWindow(wx.Frame): i = toolsMenu.Append(-1, _("Copy profile to clipboard")) self.Bind(wx.EVT_MENU, self.onCopyProfileClipboard,i) + + toolsMenu.AppendSeparator() + self.allAtOnceItem = toolsMenu.Append(-1, _("Print all at once"), kind=wx.ITEM_RADIO) + self.Bind(wx.EVT_MENU, self.onOneAtATimeSwitch, self.allAtOnceItem) + self.oneAtATime = toolsMenu.Append(-1, _("Print one at a time"), kind=wx.ITEM_RADIO) + self.Bind(wx.EVT_MENU, self.onOneAtATimeSwitch, self.oneAtATime) + if profile.getPreference('oneAtATime') == 'True': + self.oneAtATime.Check(True) + else: + self.allAtOnceItem.Check(True) + self.menubar.Append(toolsMenu, _("Tools")) #Machine menu for machine configuration/tooling @@ -245,6 +256,7 @@ class mainWindow(wx.Frame): self.Centre() self.updateSliceMode() + self.scene.SetFocus() def onTimer(self, e): #Check if there is something in the clipboard @@ -310,6 +322,13 @@ class mainWindow(wx.Frame): self.headOffsetWizardMenuItem.Enable(False) self.scene.updateProfileToControls() + def onOneAtATimeSwitch(self, e): + profile.putPreference('oneAtATime', self.oneAtATime.IsChecked()) + if self.oneAtATime.IsChecked() and profile.getMachineSettingFloat('extruder_head_size_height') < 1: + wx.MessageBox(_('For "One at a time" printing, you need to have entered the correct head size and gantry height in the machine settings'), _('One at a time warning'), wx.OK | wx.ICON_WARNING) + self.scene.updateProfileToControls() + self.scene.sceneUpdated() + def OnPreferences(self, e): prefDialog = preferencesDialog.preferencesDialog(self) prefDialog.Centre() @@ -396,8 +415,9 @@ class mainWindow(wx.Frame): self.Bind(wx.EVT_MENU, lambda e: self.OnSelectMachine(e.GetId() - 0x1000), i) self.machineMenu.AppendSeparator() - i = self.machineMenu.Append(-1, _("Add new machine...")) - self.Bind(wx.EVT_MENU, self.OnAddNewMachine, i) + + i = self.machineMenu.Append(-1, _("Machine settings...")) + self.Bind(wx.EVT_MENU, self.OnMachineSettings, i) #Add tools for machines. self.machineMenu.AppendSeparator() @@ -482,14 +502,6 @@ class mainWindow(wx.Frame): self.Show() self.reloadSettingPanels() - def OnAddNewMachine(self, e): - self.Hide() - profile.setActiveMachine(profile.getMachineCount()) - configWizard.configWizard(True) - self.Show() - self.reloadSettingPanels() - self.updateMachineMenu() - def OnSelectMachine(self, index): profile.setActiveMachine(index) self.reloadSettingPanels() @@ -563,7 +575,7 @@ class mainWindow(wx.Frame): #HACK: Set the paint function of the glCanvas to nothing so it won't keep refreshing. Which can keep wxWidgets from quiting. print "Closing down" self.scene.OnPaint = lambda e : e - self.scene._slicer.cleanup() + self.scene._engine.cleanup() self.Destroy() def OnQuit(self, e):