from Cura.gui import firmwareInstall
from Cura.gui import simpleMode
from Cura.gui import sceneView
+from Cura.gui import aboutWindow
from Cura.gui.util import dropTarget
#from Cura.gui.tools import batchRun
from Cura.gui.tools import pidDebugger
wx.EVT_CLOSE(self, self.OnClose)
- self.SetDropTarget(dropTarget.FileDropTarget(self.OnDropFiles, meshLoader.loadSupportedExtensions() + ['.g', '.gcode', '.ini']))
+ # allow dropping any file, restrict later
+ self.SetDropTarget(dropTarget.FileDropTarget(self.OnDropFiles))
self.normalModeOnlyItems = []
# Model MRU list
modelHistoryMenu = wx.Menu()
- self.fileMenu.AppendMenu(wx.NewId(), _("&Recent Model Files"), modelHistoryMenu)
+ self.fileMenu.AppendMenu(wx.NewId(), '&' + _("Recent Model Files"), modelHistoryMenu)
self.modelFileHistory.UseMenu(modelHistoryMenu)
self.modelFileHistory.AddFilesToMenu()
self.Bind(wx.EVT_MENU_RANGE, self.OnModelMRU, id=self.ID_MRU_MODEL1, id2=self.ID_MRU_MODEL10)
# Profle MRU list
profileHistoryMenu = wx.Menu()
- self.fileMenu.AppendMenu(wx.NewId(), _("&Recent Profile Files"), profileHistoryMenu)
+ self.fileMenu.AppendMenu(wx.NewId(), _("Recent Profile Files"), profileHistoryMenu)
self.profileFileHistory.UseMenu(profileHistoryMenu)
self.profileFileHistory.AddFilesToMenu()
self.Bind(wx.EVT_MENU_RANGE, self.OnProfileMRU, id=self.ID_MRU_PROFILE1, id2=self.ID_MRU_PROFILE10)
self.fileMenu.AppendSeparator()
i = self.fileMenu.Append(wx.ID_EXIT, _("Quit"))
self.Bind(wx.EVT_MENU, self.OnQuit, i)
- self.menubar.Append(self.fileMenu, _("&File"))
+ self.menubar.Append(self.fileMenu, '&' + _("File"))
toolsMenu = wx.Menu()
#self.normalModeOnlyItems.append(i)
if minecraftImport.hasMinecraft():
- i = toolsMenu.Append(-1, _("Minecraft import..."))
+ i = toolsMenu.Append(-1, _("Minecraft map import..."))
self.Bind(wx.EVT_MENU, self.OnMinecraftImport, i)
if version.isDevVersion():
profileString = do.GetText()
wx.TheClipboard.Close()
- if "CURA_PROFILE_STRING:" in profileString:
+ startTag = "CURA_PROFILE_STRING:"
+ if startTag in profileString:
#print "Found correct syntax on clipboard"
- profileString = profileString.replace("\n","")
- profileString = profileString.replace("CURA_PROFILE_STRING:", "")
+ profileString = profileString.replace("\n","").strip()
+ profileString = profileString[profileString.find(startTag)+len(startTag):]
if profileString != self.lastTriedClipboard:
+ print profileString
self.lastTriedClipboard = profileString
profile.setProfileFromString(profileString)
- print "changed profile"
+ self.scene.notification.message("Loaded new profile from clipboard.")
self.updateProfileToAllControls()
except:
print "Unable to read from clipboard"
#Add a menu item for each machine configuration.
for n in xrange(0, profile.getMachineCount()):
- i = self.machineMenu.Append(n, profile.getMachineSetting('machine_name', n), kind=wx.ITEM_RADIO)
+ i = self.machineMenu.Append(n, profile.getMachineSetting('machine_name', n).title(), kind=wx.ITEM_RADIO)
if n == int(profile.getPreferenceFloat('active_machine')):
i.Check(True)
self.Bind(wx.EVT_MENU, lambda e: self.OnSelectMachine(e.GetId()), i)
+ self.machineMenu.AppendSeparator()
+ i = self.machineMenu.Append(-1, _("Add new machine..."))
+ self.Bind(wx.EVT_MENU, self.OnAddNewMachine, i)
+
#Add tools for machines.
self.machineMenu.AppendSeparator()
i = self.machineMenu.Append(-1, _("Install custom firmware"))
self.Bind(wx.EVT_MENU, self.OnCustomFirmware, i)
-
i = self.machineMenu.Append(-1, _("Install default Marlin firmware"))
self.Bind(wx.EVT_MENU, self.OnDefaultMarlinFirmware, i)
- self.machineMenu.AppendSeparator()
- i = self.machineMenu.Append(-1, _("Add new machine..."))
- self.Bind(wx.EVT_MENU, self.OnAddNewMachine, i)
-
def OnLoadProfile(self, e):
dlg=wx.FileDialog(self, _("Select profile file to load"), os.path.split(profile.getPreference('lastFile'))[0], style=wx.FD_OPEN|wx.FD_FILE_MUST_EXIST)
dlg.SetWildcard("ini files (*.ini)|*.ini")
wx.MessageBox(_("You are running the latest version of Cura!"), _("Awesome!"), wx.ICON_INFORMATION)
def OnAbout(self, e):
- info = wx.AboutDialogInfo()
- info.SetName("Cura")
- info.SetDescription(_("End solution for Open Source Fused Filament Fabrication 3D printing."))
- info.SetWebSite('http://software.ultimaker.com/')
- info.SetCopyright(_("Copyright (C) David Braam"))
- info.SetLicence("""
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-""")
- wx.AboutBox(info)
+ aboutBox = aboutWindow.aboutWindow()
+ aboutBox.Centre()
+ aboutBox.Show()
def OnClose(self, e):
profile.saveProfile(profile.getDefaultProfilePath())
self.normalSashPos = self.splitter.GetSashPosition()
profile.putPreference('window_normal_sash', self.normalSashPos)
- #HACK: Set the paint function of the glCanvas to nothing so it won't keep refreshing. Which keeps wxWidgets from quiting.
+ #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()
n += 1 + len(profile.getSettingsForCategory(category, title))
if n > count / 2:
p = right
- configBase.TitleRow(p, title)
+ configBase.TitleRow(p, _(title))
for s in profile.getSettingsForCategory(category, title):
configBase.SettingRow(p, s.getName())