From 7e82d756b0ebca559a8dd33051dbe32f56b75db6 Mon Sep 17 00:00:00 2001 From: Won Beom Kim Date: Sun, 22 Mar 2020 19:52:57 +0900 Subject: [PATCH 1/7] fix context menu behavior for touch events --- static/scripts/touch.js | 48 +++++++++++++++++++++++++++++++++++++++++ templates/base.html | 1 + 2 files changed, 49 insertions(+) create mode 100644 static/scripts/touch.js diff --git a/static/scripts/touch.js b/static/scripts/touch.js new file mode 100644 index 00000000..eab10b48 --- /dev/null +++ b/static/scripts/touch.js @@ -0,0 +1,48 @@ +var onlongtouch; +var timer; +var touchduration = 1500; //length of time we want the user to touch before we do something +var lastTouchEvent = null; + + +function touchstart(e) { + e.preventDefault(); + lastTouchEvent = e; + if (!timer) { + timer = setTimeout(function() { + onlongtouch(lastTouchEvent); + timer = null; + lastTouchEvent = null; + }, touchduration); + } +} + +function touchend(e) { + //stops short touches from firing the event + if (timer) { + clearTimeout(timer); + timer = null; + lastTouchEvent = null; + } +} + +onlongtouch = function(e) { + console.log("long touch detected", e.touches[0].clientX, e.touches[0].clientY); + event = { + clientX: e.touches[0].clientX, + clientY: e.touches[0].clientY + } + var pos = cursorPosition(); + x = pos.x; + x = x.toFixed(4); + pos.x = x; + + y = pos.y; + y = y.toFixed(4); + pos.y = y; + requestPage("screenAction",pos) +}; + +document.addEventListener("DOMContentLoaded", function(event) { + $("#workarea")[0].addEventListener("touchstart", touchstart, false); + $("#workarea")[0].addEventListener("touchend", touchend, false); +}); diff --git a/templates/base.html b/templates/base.html index 7b439a77..dd9526b4 100644 --- a/templates/base.html +++ b/templates/base.html @@ -10,6 +10,7 @@ + From 255983eb687214065e0164218561411b834b404f Mon Sep 17 00:00:00 2001 From: madgrizzle Date: Tue, 24 Mar 2020 18:44:48 +0000 Subject: [PATCH 2/7] fix release update --- DataStructures/data.py | 2 +- ReleaseManager/releaseManager.py | 9 +++------ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/DataStructures/data.py b/DataStructures/data.py index 56b49be7..9bc30d39 100644 --- a/DataStructures/data.py +++ b/DataStructures/data.py @@ -38,7 +38,7 @@ class Data: Version Updater ''' lastChecked = -1 - pyInstallCurrentVersion = 0.930 + pyInstallCurrentVersion = 0.931 pyInstallUpdateAvailable = False pyInstallUpdateBrowserUrl = "" pyInstallUpdateVersion = 0 diff --git a/ReleaseManager/releaseManager.py b/ReleaseManager/releaseManager.py index c92ba2fe..9d4443ef 100644 --- a/ReleaseManager/releaseManager.py +++ b/ReleaseManager/releaseManager.py @@ -35,8 +35,6 @@ def checkForLatestPyRelease(self): self.releases = repo.get_releases() latestVersionGithub = 0 self.latestRelease = None - # type = self.data.pyInstallType - platform = self.data.pyInstallPlatform for release in self.releases: tag_name = re.sub(r'[v]', r'', release.tag_name) tag_float = float(tag_name) @@ -50,7 +48,7 @@ def checkForLatestPyRelease(self): print("Latest release tag: " + self.latestRelease.tag_name) assets = self.latestRelease.get_assets() for asset in assets: - if asset.name.find(type) != -1 and asset.name.find(platform) != -1: + if asset.name.find(self.data.pyInstallType) != -1 and asset.name.find(self.data.pyInstallPlatform) != -1: print(asset.name) print(asset.url) self.data.ui_queue1.put("Action", "pyinstallUpdate", "on") @@ -127,17 +125,16 @@ def update(self, version): else: print("downgrade to ") print(version) - type = self.data.pyInstallType - platform = self.data.pyInstallPlatform for release in self.releases: if release.tag_name == version: assets = release.get_assets() for asset in assets: - if asset.name.find(type) != -1 and asset.name.find(platform) != -1: + if asset.name.find(self.data.pyInstallType) != -1 and asset.name.find(self.data.pyInstallPlatform) != -1: print(asset.name) print(asset.url) self.data.pyInstallUpdateBrowserUrl = asset.browser_download_url print(self.data.pyInstallUpdateBrowserUrl) return self.updatePyInstaller(True) + print("hmmm.. issue") From c9113b05cda44e1406d838413aab343244e7c368 Mon Sep 17 00:00:00 2001 From: madgrizzle Date: Thu, 26 Mar 2020 12:18:38 +0000 Subject: [PATCH 3/7] fix mobile display --- DataStructures/data.py | 2 +- templates/frontpage3d_mobile.html | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/DataStructures/data.py b/DataStructures/data.py index 9bc30d39..4b59cb47 100644 --- a/DataStructures/data.py +++ b/DataStructures/data.py @@ -38,7 +38,7 @@ class Data: Version Updater ''' lastChecked = -1 - pyInstallCurrentVersion = 0.931 + pyInstallCurrentVersion = 0.932 pyInstallUpdateAvailable = False pyInstallUpdateBrowserUrl = "" pyInstallUpdateVersion = 0 diff --git a/templates/frontpage3d_mobile.html b/templates/frontpage3d_mobile.html index d4091665..207b42ce 100644 --- a/templates/frontpage3d_mobile.html +++ b/templates/frontpage3d_mobile.html @@ -10,6 +10,7 @@ + From ce654a24f00c38edc1c0252a278e325e21ad0291 Mon Sep 17 00:00:00 2001 From: John Hogan Date: Fri, 3 Apr 2020 13:23:50 -0400 Subject: [PATCH 4/7] update release manager to filter 'experimental' releases --- ReleaseManager/releaseManager.py | 36 +++++++++++++++++++++++++++++--- defaultwebcontrol.json | 22 +++++++++---------- 2 files changed, 44 insertions(+), 14 deletions(-) diff --git a/ReleaseManager/releaseManager.py b/ReleaseManager/releaseManager.py index 9d4443ef..75ae90db 100644 --- a/ReleaseManager/releaseManager.py +++ b/ReleaseManager/releaseManager.py @@ -21,7 +21,16 @@ def __init__(self): latestRelease = None def getReleases(self): - return self.releases + tempReleases = [] + enableExperimental = self.data.config.getValue("WebControl Settings", "experimentalReleases") + for release in self.releases: + if not enableExperimental: + if not self.isExperimental(re.sub(r'[v]', r'', release.tag_name)): + tempReleases.append(release) + else: + tempReleases.append(release) + return tempReleases + def getLatestRelease(self): return self.latestRelease @@ -30,6 +39,7 @@ def checkForLatestPyRelease(self): if True: # self.data.platform=="PYINSTALLER": print("Checking latest pyrelease.") try: + enableExperimental = self.data.config.getValue("WebControl Settings", "experimentalReleases") g = Github() repo = g.get_repo("madgrizzle/WebControl") self.releases = repo.get_releases() @@ -38,8 +48,14 @@ def checkForLatestPyRelease(self): for release in self.releases: tag_name = re.sub(r'[v]', r'', release.tag_name) tag_float = float(tag_name) - # print(tag_name) - if tag_float > latestVersionGithub: + eligible = False + if not enableExperimental: + if not self.isExperimental(tag_name): + eligible = True + else: + eligible = True + #print("tag:"+tag_name+", eligible:"+str(eligible)) + if eligible and tag_float > latestVersionGithub: latestVersionGithub = tag_float self.latestRelease = release @@ -58,6 +74,20 @@ def checkForLatestPyRelease(self): except Exception as e: print("Error checking pyrelease: " + str(e)) + def isExperimental(self, tag): + ''' + Deternmines if release is experimental. All even releases are stable, odd releases are experimental + :param tag: + :return: + ''' + if float(tag) <= 0.931: # all releases before now are 'stable' + return False + lastDigit = tag[-1] + if (int(lastDigit) % 2) == 0: # only even releases are 'stable' + return False + else: + return True + def processAbsolutePath(self, path): index = path.find("main.py") self.data.pyInstallInstalledPath = path[0:index - 1] diff --git a/defaultwebcontrol.json b/defaultwebcontrol.json index 021557c7..de9d960d 100644 --- a/defaultwebcontrol.json +++ b/defaultwebcontrol.json @@ -975,13 +975,13 @@ "value": ".nc, .ngc, .text, .gcode" }, { - "default": "0", + "default": 0, "desc": "Use 3D render with orbital controls in lieu of standard 2D rendering with pan/zoom\ndefault setting: False", "key": "enable3D", "section": "WebControl Settings", "title": "Enable 3D Display", "type": "bool", - "value": "0" + "value": 0 }, { "default": 5000, @@ -991,6 +991,15 @@ "title": "Web Port Number", "type": "int", "value": 5000 + }, + { + "default": 0, + "desc": "Enable experimental releases to appear in release list\ndefault setting: No", + "key": "experimentalReleases", + "section": "WebControl Settings", + "title": "Enable Experimental Releases", + "type": "bool", + "value": 0 } ], "Camera Settings": [ @@ -1262,14 +1271,5 @@ "value": "" } - - - - - - - - - ] } \ No newline at end of file From ed877e6d51723032f2bec0d75319a0cb04996735 Mon Sep 17 00:00:00 2001 From: John Hogan Date: Fri, 3 Apr 2020 14:51:14 -0400 Subject: [PATCH 5/7] update release manager to filter 'experimental' releases --- ReleaseManager/releaseManager.py | 33 ++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/ReleaseManager/releaseManager.py b/ReleaseManager/releaseManager.py index 75ae90db..172918ec 100644 --- a/ReleaseManager/releaseManager.py +++ b/ReleaseManager/releaseManager.py @@ -150,21 +150,22 @@ def make_executable(self, path): def update(self, version): - if version == self.latestRelease.tag_name: - return self.updatePyInstaller() - else: - print("downgrade to ") - print(version) - for release in self.releases: - if release.tag_name == version: - assets = release.get_assets() - for asset in assets: - if asset.name.find(self.data.pyInstallType) != -1 and asset.name.find(self.data.pyInstallPlatform) != -1: - print(asset.name) - print(asset.url) - self.data.pyInstallUpdateBrowserUrl = asset.browser_download_url - print(self.data.pyInstallUpdateBrowserUrl) - return self.updatePyInstaller(True) - print("hmmm.. issue") + ''' + Need to clean this up. + :param version: + :return: + ''' + for release in self.releases: + if release.tag_name == version: + assets = release.get_assets() + for asset in assets: + if asset.name.find(self.data.pyInstallType) != -1 and asset.name.find(self.data.pyInstallPlatform) != -1: + print(asset.name) + print(asset.url) + self.data.pyInstallUpdateBrowserUrl = asset.browser_download_url + print(self.data.pyInstallUpdateBrowserUrl) + return self.updatePyInstaller(True) + print("hmmm.. issue") + return False From ee3b73af95d9a485a9a0736a825da977f29f213b Mon Sep 17 00:00:00 2001 From: John Hogan Date: Fri, 3 Apr 2020 14:51:57 -0400 Subject: [PATCH 6/7] update release manager to filter 'experimental' releases --- main.py | 1 - 1 file changed, 1 deletion(-) diff --git a/main.py b/main.py index fceddfb6..666a5199 100644 --- a/main.py +++ b/main.py @@ -7,7 +7,6 @@ import os import sys - monkey.patch_all() From 24e8bad36c004849b035501cb798ad12f5442581 Mon Sep 17 00:00:00 2001 From: gb0101010101 <7369439+gb0101010101@users.noreply.github.com> Date: Mon, 13 Apr 2020 09:14:15 -0700 Subject: [PATCH 7/7] Fix M3 with no spindle speed. --- File/gcodeFile.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/File/gcodeFile.py b/File/gcodeFile.py index b027b21c..bfae9c4f 100644 --- a/File/gcodeFile.py +++ b/File/gcodeFile.py @@ -338,14 +338,14 @@ def drawMCommand(self, mString): self.line3D[-1].dashed = False def getSpindleSpeed(self, mString): - code = mString[mString.find("S")+1:] - try: - if code!="": - return float(code) - else: - return 0 - except: - return -1 + sPos = mString.find("S") + speed = "" + if sPos != -1: + speed = mString[sPos+1:] + if speed != "": + return float(speed) + else: + return 0 def getToolNumber(self, mString): code0 = mString.find("T")