#!/usr/bin/env python

import dbus
import dbus.mainloop.glib
import gobject
import gtk
import hildon
import sys

def callback(name):
    print "called back"
    counter = int(button.get_label())
    button.set_label(str(counter+1))



if len(sys.argv) > 1:
    from_file = sys.argv[1]
else:
    from_file = None


dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
if from_file:
    bus = dbus.SessionBus()
else:
    bus = dbus.SystemBus()
NAME = 'de.cryptobitch.muelli.Pwnitter'
IFACE_NAME = 'de.cryptobitch.muelli.Pwnitter'
pwnitter = dbus.Interface(bus.get_object(NAME, '/Pwnitter'), IFACE_NAME)
pwnitter.connect_to_signal("MessageSent", callback)

def quit(window, *args):
    pwnitter.Stop()
    gtk.main_quit()

def start(from_file=None):
    if from_file:
        pwnitter.StartFromFile(from_file) 
    else:
        pwnitter.Start()
    
window = hildon.Window ()
window.set_title ("pwnitter")
window.connect("destroy", quit)

button = gtk.Button ("0")
window.add (button)

window.show_all()

gobject.idle_add(start, from_file)

gtk.main()
