summaryrefslogtreecommitdiff
path: root/gui.py
diff options
context:
space:
mode:
authorYves <yvesf-git@xapek.org>2010-03-13 15:55:29 +0100
committerYves <yvesf-git@xapek.org>2010-03-13 15:55:29 +0100
commit69247decb19a5c3b366e3489ffdf8426367a9b40 (patch)
treea24476966a8ae628be726bf719f04d36be00572b /gui.py
parenta71a8ebe8fd2c7a25bf7188fbfcf73c068b0b84d (diff)
parenta0297c212e5a9a4c2c478e538c23ddd0e96ac56e (diff)
downloadmagicproxy-69247decb19a5c3b366e3489ffdf8426367a9b40.tar.gz
magicproxy-69247decb19a5c3b366e3489ffdf8426367a9b40.zip
Merge branch 'master' of git@github.com:yvesf/magicproxy
Diffstat (limited to 'gui.py')
-rw-r--r--gui.py56
1 files changed, 56 insertions, 0 deletions
diff --git a/gui.py b/gui.py
new file mode 100644
index 0000000..8c82434
--- /dev/null
+++ b/gui.py
@@ -0,0 +1,56 @@
+#!/usr/bin/python -t
+from threading import Thread
+import gtk, sys, proxy, time
+
+gtk.gdk.threads_init()
+
+class ProxyGUI(gtk.Window):
+ def __init__(self):
+ super(ProxyGUI, self).__init__(gtk.WINDOW_TOPLEVEL)
+
+ self.set_border_width(8)
+ self.set_title("Magicproxy GUI client")
+ self.set_resizable(False)
+
+ table = gtk.Table(rows=2, columns=2, homogeneous=False);
+
+ b_endpoints = gtk.Button("Configure Endpoints")
+ b_start = gtk.Button("Start")
+ b_stop = gtk.Button("Stop")
+ b_settings = gtk.Button("Configure Settings")
+ b_quit = gtk.Button("Quit")
+
+ b_endpoints.connect("clicked", self.on_endpoints)
+ b_start.connect("clicked", self.on_start)
+ b_settings.connect("clicked", self.on_settings)
+ b_quit.connect("clicked", self.on_quit)
+ self.connect("destroy", self.on_quit)
+
+ table.attach(b_endpoints, 0, 1, 0, 1)
+ table.attach(b_start, 1, 2, 0, 1)
+ table.attach(b_settings, 0, 1, 1, 2)
+ table.attach(b_quit, 1, 2, 1, 2)
+
+
+ self.add(table)
+ self.show_all()
+
+ self.proxy = None
+
+ def on_endpoints(self, widget):
+ pass
+ def on_start(self, widget):
+ if not self.proxy:
+ self.proxy = proxy.HTTPProxyServer()
+ Thread(target=proxy.asyncore.loop).start()
+
+ def on_settings(self, widget):
+ pass
+ def on_quit(self, widget):
+ if self.proxy:
+ self.proxy.shutdown()
+ gtk.main_quit(widget)
+
+ProxyGUI()
+gtk.main()
+