Skip to content

Commit fea4d95

Browse files
committed
add linux support and bugfixes
1 parent 43b2dad commit fea4d95

File tree

3 files changed

+34
-5
lines changed

3 files changed

+34
-5
lines changed

connector.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,14 @@ def listen(self):
5858
try:
5959
self.sock.bind(("", PORT))
6060
self.sock.listen(1)
61-
self.conn, addr = self.sock.accept()
61+
self.sock.settimeout(0.5)
62+
while True:
63+
if self.in_mainloop:
64+
try: self.conn, addr = self.sock.accept()
65+
except: continue
66+
break
67+
else: return
68+
self.sock.settimeout(0)
6269
except OSError as e:
6370
print(e)
6471
self.stop()
@@ -112,4 +119,4 @@ def get_results(self):
112119
input("close...")
113120
connection.close()
114121
elif connector.thread.is_alive(): connector.sock.close()
115-
122+

editor.py

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,43 @@ def __init__(self, master, filename, **kwargs):
1616
self.current_rect = -1
1717
self.blur = 0.0
1818
self.image = Image.open(filename)
19+
if self.image.mode not in ["RGB", "RGBA"]:
20+
new = self.image.convert("RGBA")
21+
self.image.close()
22+
self.image = new
1923
self.blurred = self.image.copy()
2024
self.image_gui = ImageTk.PhotoImage(self.blurred)
2125
kwargs["width"] = self.image_gui.width()
2226
kwargs["height"] = self.image_gui.height()
2327
super().__init__(master, **kwargs)
2428
self.image_id = self.create_image(0, 0, image=self.image_gui, anchor="nw")
2529
self.bind("<MouseWheel>", self.change_blur)
30+
self.timer = 0
31+
self.bind("<Up>", self.simulate_scroll)
32+
self.bind("<Down>", self.simulate_scroll)
2633
self.bind("<Button-1>", self.new_rect)
2734
self.bind("<B1-Motion>", self.resize_rect)
2835
self.bind("<ButtonRelease-1>", self.create_rect)
2936
self.bind("<Return>", self.finish)
3037
self.focus_force()
3138

39+
def simulate_scroll(self, event):
40+
if self.timer:
41+
self.timer -= 1
42+
return
43+
class ScrollEvent:
44+
def __init__(self, num):
45+
self.num = num
46+
self.delta = 0
47+
if event.keysym == "Up": event = ScrollEvent(4)
48+
elif event.keysym == "Down": event = ScrollEvent(5)
49+
self.change_blur(event)
50+
self.timer = 3
51+
3252
def change_blur(self, event):
33-
self.blur += 0.5 * (event.delta / 120)
53+
if event.num == 4 or event.delta == 120: sign = 1
54+
elif event.num == 5 or event.delta == -120: sign = -1
55+
self.blur += 0.5 * sign
3456
self.blur = max(0.0, self.blur)
3557
tmp = self.blurred
3658
self.blurred = self.image.filter(ImageFilter.GaussianBlur(self.blur))
@@ -83,4 +105,4 @@ def get_results(self):
83105
window = tk.Tk()
84106
editor = Editor(window, "test.png")
85107
editor.pack()
86-
window.mainloop()
108+
window.mainloop()

protocol.py

100644100755
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,4 @@ def main():
6363
window.destroy()
6464

6565

66-
if __name__ == "__main__": main()
66+
if __name__ == "__main__": main()

0 commit comments

Comments
 (0)