chiark / gitweb /
Update the statistics upload with preferences and version info. 13.03
authordaid303 <daid303@gmail.com>
Fri, 8 Mar 2013 13:13:54 +0000 (14:13 +0100)
committerdaid303 <daid303@gmail.com>
Fri, 8 Mar 2013 13:13:54 +0000 (14:13 +0100)
Cura/gui/preview3d.py
Cura/gui/util/openglGui.py
Cura/resources/images/glButtons.png
Cura/slice/__main__.py
Cura/util/profile.py

index df36953e962502f1b5bf5ec440903f6af27a9c0c..77b8bdc27cc77156dadc9195299a1c9da6db878d 100644 (file)
@@ -98,6 +98,10 @@ class previewPanel(wx.Panel):
                self.sliceButton         = openglGui.glButton(self.glCanvas, 5, 'Prepare', (1,0), lambda : self.GetParent().GetParent().GetParent().OnSlice(None))
                self.printButton         = openglGui.glButton(self.glCanvas, 6, 'Print', (2,0), lambda : self.GetParent().GetParent().GetParent().OnPrint(None))
 
+               self.rotateToolButton.setExpandArrow(True)
+               self.scaleToolButton.setExpandArrow(True)
+               self.mirrorToolButton.setExpandArrow(True)
+
                extruderCount = int(profile.getPreference('extruder_amount'))
                if extruderCount > 1:
                        openglGui.glButton(self.glCanvas, 4, 'Load dual', (0,1), lambda : self.GetParent().GetParent().GetParent()._showModelLoadDialog(2))
index 438475259f4fd1fceb38659bb1ba3a90ad53506b..1782d1fe7f31b7a998dcb3b272ea6c5ed56907e3 100644 (file)
@@ -328,10 +328,14 @@ class glButton(glGuiControl):
                self._focus = False
                self._hidden = False
                self._disabled = False
+               self._showExpandArrow = False
 
        def setSelected(self, value):
                self._selected = value
 
+       def setExpandArrow(self, value):
+               self._showExpandArrow = value
+
        def setHidden(self, value):
                self._hidden = value
 
@@ -369,6 +373,11 @@ class glButton(glGuiControl):
                        glColor4ub(255,255,255,255)
                opengl.glDrawTexturedQuad(pos[0]-bs*scale/2, pos[1]-bs*scale/2, bs*scale, bs*scale, 0)
                opengl.glDrawTexturedQuad(pos[0]-bs*scale/2, pos[1]-bs*scale/2, bs*scale, bs*scale, self._imageID)
+               if self._showExpandArrow:
+                       if self._selected:
+                               opengl.glDrawTexturedQuad(pos[0]+bs*scale/2-bs*scale/4*1.2, pos[1]-bs*scale/2*1.2, bs*scale/4, bs*scale/4, 1)
+                       else:
+                               opengl.glDrawTexturedQuad(pos[0]+bs*scale/2-bs*scale/4*1.2, pos[1]-bs*scale/2*1.2, bs*scale/4, bs*scale/4, 1, 2)
                glPushMatrix()
                glTranslatef(pos[0], pos[1], 0)
                glDisable(GL_TEXTURE_2D)
index 51db5c73ed36b5feaa2a07d9e7c15308ce8328de..9d079212cc02f4294f4d313e8d14c6a5376ea39a 100644 (file)
Binary files a/Cura/resources/images/glButtons.png and b/Cura/resources/images/glButtons.png differ
index 9f4e585825359be223223e1049fc04c0cc8a945d..eecb3f4890d752fa3acd977bb1552c79b18ef421 100644 (file)
@@ -15,6 +15,7 @@ if not hasattr(sys, 'frozen'):
                sys.path.append(cura_sf_path)
 
 from Cura.util import profile
+from Cura.util import version
 from Cura.slice.cura_sf.skeinforge_application.skeinforge_plugins.craft_plugins import export
 
 def fixUTF8(input):
@@ -108,10 +109,12 @@ def main():
                                'machine': platform.machine(),
                                'platform': platform.platform(),
                                'profile': profile.getGlobalProfileString(),
+                               'preferences': profile.getGlobalPreferencesString(),
                                'modelhash': m.hexdigest(),
+                               'version': version.getVersion(),
                        }
                        try:
-                               f = urllib2.urlopen("http://software.ultimaker.com/upload_stats.php", data = urllib.urlencode(data), timeout = 5);
+                               f = urllib2.urlopen("http://platform.ultimaker.com/curastats/", data = urllib.urlencode(data), timeout = 5);
                                f.read()
                                f.close()
                        except:
index 823fe3e95cfde36cea9d67012b163582c01a3f6f..023fae49d865264f952f4acf4e4eb4521cd9c21a 100644 (file)
@@ -284,6 +284,24 @@ def getGlobalProfileString():
        ret = base64.b64encode(zlib.compress(ret, 9))
        return ret
 
+def getGlobalPreferencesString():
+       global globalPreferenceParser
+       if globalPreferenceParser is None:
+               globalPreferenceParser = ConfigParser.ConfigParser()
+               try:
+                       globalPreferenceParser.read(getPreferencePath())
+               except ConfigParser.ParsingError:
+                       pass
+
+       p = []
+       if globalPreferenceParser.has_section('preference'):
+               for key in globalPreferenceParser.options('preference'):
+                       p.append(key + "=" + globalPreferenceParser.get('preference', key))
+       ret = '\b'.join(p)
+       ret = base64.b64encode(zlib.compress(ret, 9))
+       return ret
+
+
 def getProfileSetting(name):
        if name in tempOverride:
                return unicode(tempOverride[name], "utf-8")