summaryrefslogtreecommitdiff
path: root/injector.py
diff options
context:
space:
mode:
authoryvesf <yvesf@d0e8fea9-7529-0410-93fb-d39fd5b9c1dd>2009-05-29 18:58:02 +0000
committeryvesf <yvesf@d0e8fea9-7529-0410-93fb-d39fd5b9c1dd>2009-05-29 18:58:02 +0000
commitc04a8621abde66c598569c0e1177b10fdbfe52eb (patch)
treec379c3f0c5248e86a656d9c05536f6617e6a7264 /injector.py
parent279f51e960b0716098add300fb66d3be0a76c6d1 (diff)
downloadomegle-c04a8621abde66c598569c0e1177b10fdbfe52eb.tar.gz
omegle-c04a8621abde66c598569c0e1177b10fdbfe52eb.zip
cleanup
git-svn-id: http://xapek.org/svn/common/omegle@1048 d0e8fea9-7529-0410-93fb-d39fd5b9c1dd
Diffstat (limited to 'injector.py')
-rw-r--r--injector.py122
1 files changed, 122 insertions, 0 deletions
diff --git a/injector.py b/injector.py
new file mode 100644
index 0000000..0934b1b
--- /dev/null
+++ b/injector.py
@@ -0,0 +1,122 @@
+import urwid.curses_display
+import urwid
+import sys,time
+
+class InjectorWindow(object):
+ def __init__(self):
+ self.column1_edit = urwid.Edit(caption="Send: ")
+ self.column1_check = urwid.CheckBox("Link to other",state=True,on_state_change=self.on_link1_changed)
+ self.column1_disconnect = urwid.Button("Disconnect", self.on_column1_disconnect)
+ self.column1 = urwid.ListBox([
+ self.column1_edit,
+ self.column1_check,
+ urwid.AttrWrap(self.column1_disconnect,'button')])
+
+ self.column2_edit = urwid.Edit(caption="Send: ")
+ self.column2_check = urwid.CheckBox("Link to other",state=True,on_state_change=self.on_link2_changed)
+ self.column2_disconnect = urwid.Button("Disconnect", self.on_column1_disconnect)
+ self.column2 = urwid.ListBox([
+ self.column2_edit,
+ self.column2_check,
+ urwid.AttrWrap(self.column2_disconnect,'button')])
+
+ self.columns = urwid.Columns([self.column1, self.column2])
+
+ self.messages = urwid.SimpleListWalker([urwid.Text("bbalasdasd"), urwid.Text("blasasd")])
+ self.textbox = urwid.ListBox(self.messages)
+ self.body = urwid.Pile([self.columns,self.textbox])
+
+ self.widget_header = urwid.Text("F2 Toggle Link 1 | F3 Toggle Link 2 | | F10 - EXIT")
+
+ self.top = urwid.Frame(body=self.body, header=urwid.AttrWrap(self.widget_header,'header'))
+
+ self.focus_ring = [
+ [(self.body,self.textbox)],
+ [(self.body,self.columns), (self.columns, self.column1), (self.column1, 0)],
+ [(self.body,self.columns), (self.columns, self.column1), (self.column1, 1)],
+ [(self.body,self.columns), (self.columns, self.column1), (self.column1, 2)],
+ [(self.body,self.columns), (self.columns, self.column2), (self.column2, 0)],
+ [(self.body,self.columns), (self.columns, self.column2), (self.column2, 1)],
+ [(self.body,self.columns), (self.columns, self.column2), (self.column2, 2)],
+ ]
+
+ def add_message(self,msg):
+ w=urwid.Text(msg)
+ self.messages.contents.append(w)
+ self.textbox.set_focus(len(self.messages.contents))
+
+ def main(self):
+ self.ui = urwid.curses_display.Screen()
+ self.ui.register_palette([
+ ('header', 'black', 'dark cyan', 'standout'),
+ ('button', 'white', 'dark blue', 'standout'),
+ ('keylabel', 'white', 'dark cyan', 'standout'),
+ ])
+ self.ui.run_wrapper( self.run )
+
+ def run(self):
+ size = self.ui.get_cols_rows()
+ running=True
+ try:
+ while running:
+ keys = self.ui.get_input()
+
+ for k in keys:
+ if k == "window resize":
+ size = self.ui.get_cols_rows()
+ elif k == "enter":
+ if self.body.get_focus() == self.columns \
+ and self.columns.get_focus() == self.column1 \
+ and self.column1.get_focus()[0] == self.column1_edit:
+ self.on_column1_send(self.column1_edit.get_text()[0])
+ elif self.body.get_focus() == self.columns \
+ and self.columns.get_focus() == self.column2 \
+ and self.column2.get_focus()[0] == self.column2_edit:
+ self.on_column2_send(self.column2_edit.get_text()[0])
+ else:
+ self.top.keypress( size, k )
+ elif k == "tab":
+ self.focus_ring.reverse()
+ elem = self.focus_ring.pop()
+ for pair in elem:
+ pair[0].set_focus(pair[1])
+ self.focus_ring.insert(0,elem)
+ self.focus_ring.reverse()
+ elif k == "f2":
+ self.column1_check.toggle_state()
+ elif k == "f3":
+ self.column2_check.toggle_state()
+ elif k == "f10":
+ running=False
+ else:
+ self.top.keypress( size, k )
+
+ self.draw_screen( size )
+ except KeyboardInterrupt:
+ pass
+
+ def draw_screen(self, size):
+ canvas = self.top.render( size, focus=True )
+ self.ui.draw_screen( size, canvas )
+
+ def on_link1_changed(self,*args):
+ self.add_message("DEBUG: on_link1_changed")
+
+ def on_link2_changed(self,a,b):
+ self.add_message("DEBUG: on_link2_changed")
+
+ def on_column1_send(self,message):
+ self.add_message("DEBUG: on_column1_send message=%s"%message)
+
+ def on_column2_send(self,message):
+ self.add_message("DEBUG: on_column2_send message=%s"%message)
+
+ def on_column1_disconnect(self,*args):
+ self.add_message("DEBUG: on_column1_disconnect")
+
+ def on_column2_disconnect(self,*args):
+ self.add_message("DEBUG: on_column2_disconnect")
+
+class Injector(InjectorWindow):
+ pass
+Injector().main()