import sys, PyQt4
from PyQt4 import QtGui, QtCore
from VoteUniqueUI import Ui_VoteUnique
from ScrutinIO import Scrutin, Votes, Registre
class VoteUniqueDialog(QtGui.QDialog):
def __init__(self, scrutin):
QtGui.QDialog.__init__(self)
self.ui = Ui_VoteUnique()
self.ui.setupUi(self)
self.scrutin = scrutin
self.ui.candidatList.clear()
for candidat in self.scrutin["Candidats"]:
self.ui.candidatList.addItem(candidat)
self.connect(self.ui.voteBlancBouton, QtCore.SIGNAL("clicked()"), self.voteBlanc)
self.connect(self.ui.candidatList, QtCore.SIGNAL("currentRowChanged(int)"), self.selectCandidat)
def closeEvent(self, event):
reply = QtGui.QMessageBox.question(self, 'Message',"Voulez-vous vraiment quitter ?", QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.Yes:
event.accept()
else:
event.ignore()
def resetVote( self ):
self.ui.electeurEdit.setText("")
self.ui.choixActuelLabel.setText("")
self.ui.candidatList.clear()
for candidat in self.scrutin["Candidats"]:
self.ui.candidatList.addItem(candidat)
def selectCandidat(self, index):
self.ui.choixActuelLabel.setText(self.ui.candidatList.item(index).text())
def voteBlanc( self ):
self.ui.choixActuelLabel.setText("Vote Blanc")
def getVoteHash( self ):
vHash = {"choix":unicode(self.ui.choixActuelLabel.text())}
return vHash
def validateVote( self, electeurs, dejavotes ):
if not(unicode(self.ui.electeurEdit.text()) in electeurs):
self.erreur("L'identifiant de l'électeur est invalide pour cette élection !")
return False
elif unicode(self.ui.electeurEdit.text()) in dejavotes:
self.erreur("Vous avez déjà voté !\nVote refusé !")
return False
elif self.ui.choixActuelLabel.text() == "":
self.erreur("Vote invalide ! Sélectionnez un candidat ou le vote blanc.")
return False
else:
return True
def getVotant( self ):
return unicode(self.ui.electeurEdit.text())
def erreur( self, message ):
QtGui.QMessageBox.warning(self, "Scrutin", message)
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
window = VoteUniqueDialog()
window.show()
sys.exit(app.exec_())