#!/usr/bin/env python

# passworddialog.py

import pygtk
pygtk.require('2.0')
import gtk

class PasswordDialog:
	def callback(self, widget, data):
		self.window.hide()
		self.onClose(self.userText.get_text(), self.passwordText.get_text())
		return False
	
	def delete_event(self, widget, event, data=None):
		gtk.main_quit()
		return False
	
	def doNothing(self, data=None, data2=None):
		return True
	
	def setPasswordCallback(self, fnc):
		self.onClose = fnc
	
	def __init__(self):
		
		self.onClose = self.doNothing
			
		self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
		
		self.window.set_title("Enter Info")
		
		self.window.connect("delete_event", self.delete_event)
		
		self.window.set_border_width(10)
		
		self.column = gtk.VBox(False, 0)
		
		self.row1 = gtk.HBox(False, 0)
		self.row2 = gtk.HBox(False, 0)
		#self.row3 = gtk.HBox(False, 0)
		
		self.userLabel = gtk.Label("Username:")
		self.userText = gtk.Entry()
		self.passwordLabel = gtk.Label("Password:")
		self.passwordText = gtk.Entry()
		self.passwordText.set_visibility(False)
		self.connectButton = gtk.Button("Connect")
		
		self.row1.pack_start(self.userLabel, True, True, 0)
		self.row1.pack_start(self.userText, True, True, 0)
		self.row2.pack_start(self.passwordLabel, True, True, 0)
		self.row2.pack_start(self.passwordText, True, True, 0)
		
		self.window.add(self.column)
		self.column.pack_start(self.row1, True, True, 0)
		self.column.pack_start(self.row2, True, True, 0)
		
		self.connectButton.connect("clicked", self.callback, "'Connect' clicked!")
		self.column.pack_start(self.connectButton, True, True, 0)
		self.connectButton.show()
		
		self.userLabel.show()
		self.userText.show()
		self.passwordLabel.show()
		self.passwordText.show()
		self.connectButton.show()
		self.row1.show()
		self.row2.show()
		self.column.show()
		self.window.show()
