chiark / gitweb /
Add better about window with all parts and licenses shown.
authordaid <daid303@gmail.com>
Tue, 1 Oct 2013 12:18:53 +0000 (14:18 +0200)
committerdaid <daid303@gmail.com>
Tue, 1 Oct 2013 12:18:53 +0000 (14:18 +0200)
Cura/gui/aboutWindow.py [new file with mode: 0644]
Cura/gui/mainWindow.py

diff --git a/Cura/gui/aboutWindow.py b/Cura/gui/aboutWindow.py
new file mode 100644 (file)
index 0000000..d065faf
--- /dev/null
@@ -0,0 +1,79 @@
+from __future__ import absolute_import
+__copyright__ = "Copyright (C) 2013 David Braam - Released under terms of the AGPLv3 License"
+
+import wx
+import platform
+
+class aboutWindow(wx.Dialog):
+       def __init__(self):
+               super(aboutWindow, self).__init__(None, title="About")
+
+               wx.EVT_CLOSE(self, self.OnClose)
+
+               p = wx.Panel(self)
+               self.panel = p
+               s = wx.BoxSizer()
+               self.SetSizer(s)
+               s.Add(p, flag=wx.ALL, border=15)
+               s = wx.BoxSizer(wx.VERTICAL)
+               p.SetSizer(s)
+
+               title = wx.StaticText(p, -1, 'Cura')
+               title.SetFont(wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD))
+               s.Add(title, flag=wx.ALIGN_CENTRE|wx.EXPAND|wx.BOTTOM, border=5)
+
+               s.Add(wx.StaticText(p, -1, 'End solution for Open Source Fused Filament Fabrication 3D printing.'))
+               s.Add(wx.StaticText(p, -1, 'Cura is currently developed and maintained by Ultimaker.'))
+
+               s.Add(wx.StaticText(p, -1, 'Cura is build with the following components:'), flag=wx.TOP, border=10)
+               self.addComponent('Cura', 'Graphical user interface', 'AGPLv3', 'https://github.com/daid/Cura')
+               self.addComponent('CuraEngine', 'GCode Generator', 'AGPLv3', 'https://github.com/Ultimaker/CuraEngine')
+
+               self.addComponent('Python 2.7', 'Framework', 'Python', 'http://python.org/')
+               self.addComponent('wxPython', 'GUI Framework', 'wxWindows', 'http://www.wxpython.org/')
+               self.addComponent('PyOpenGL', '3D Rendering Framework', 'BSD', 'http://pyopengl.sourceforge.net/')
+               self.addComponent('PySerial', 'Serial communication library', 'Python license', 'http://pyserial.sourceforge.net/')
+               self.addComponent('NumPy', 'Support library for faster math', 'BSD', 'http://www.numpy.org/')
+               if platform.system() == "Windows":
+                       self.addComponent('VideoCapture', 'Library for WebCam capture on windows', 'LGPLv2.1', 'http://videocapture.sourceforge.net/')
+                       self.addComponent('ffmpeg', 'Support for making timelaps video files', 'GPL', 'http://www.ffmpeg.org/')
+                       self.addComponent('comtypes', 'Library to help with windows taskbar features on Windows 7', 'MIT', 'http://starship.python.net/crew/theller/comtypes/')
+                       self.addComponent('EjectMedia', 'Utility to safe-remove SD cards', 'Freeware', 'http://www.uwe-sieber.de/english.html')
+               self.addComponent('Pymclevel', 'Python library for reading Minecraft levels.', 'ISC', 'https://github.com/mcedit/pymclevel')
+
+               self.Fit()
+
+       def addComponent(self, name, description, license, url):
+               p = self.panel
+               s = p.GetSizer()
+               s.Add(wx.StaticText(p, -1, '* %s - %s' % (name, description)), flag=wx.TOP, border=5)
+               s.Add(wx.StaticText(p, -1, '   License: %s - Website: %s' % (license, url)))
+
+       def OnClose(self, e):
+               self.Destroy()
+
+#              info = wx.AboutDialogInfo()
+#              info.SetName("Cura")
+#              info.SetDescription("""
+# End solution for Open Source Fused Filament Fabrication 3D printing.
+# * Cura is the graphical User Interface.
+# * CuraEngine is the slicer/gcode generator.
+# Cura and the CuraEngine are licensed AGPLv3.
+#              """)
+#              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)
index 971c19aa142d7aa830393625dfcefcaef5355456..156f02078b579d5d801db38b8dcd024488a82b94 100644 (file)
@@ -14,6 +14,7 @@ from Cura.gui import configWizard
 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
@@ -526,31 +527,9 @@ class mainWindow(wx.Frame):
                        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.
-* Cura is the graphical User Interface.
-* CuraEngine is the slicer/gcode generator.
-Cura and the CuraEngine are licensed AGPLv3.
-               """)
-               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())