Change the status image if a card is found or lost

git-svn-id: https://vsmartcard.svn.sourceforge.net/svnroot/vsmartcard@208 96b47cad-a561-4643-ad3b-153ac7d7599c
This commit is contained in:
oepen
2010-07-11 14:21:01 +00:00
parent 9909bcbb0f
commit fca21ee0c2
4 changed files with 19 additions and 7 deletions

View File

@@ -1,7 +1,8 @@
pixmapsdir = $(datadir)/pace-gui/
pixmaps_DATA = \
OpenPACElogo.png \
apply.png
apply.png \
error.png
EXTRA_DIST = \
$(pixmaps_DATA)

BIN
pace-gui/images/error.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -378,7 +378,11 @@ class PinpadGTK:
#Look for card and set the label accordingly
lbl_cardStatus = self.builder.get_object("lbl_cardStatus")
self.cardChecker = cardChecker(lbl_cardStatus, ePA_ATR)
#Fetch the status image
img_cardStatus = self.builder.get_object("img_cardStatus")
img_cardStatus.set_from_file(image_dir + "/error.png")
self.cardChecker = cardChecker(lbl_cardStatus, img_cardStatus, ePA_ATR)
gobject.idle_add(self.cardChecker.start)
#Change the font for the buttons
@@ -526,11 +530,12 @@ class cardChecker(Thread):
""" This class searches for a card with a given ATR and displays
wether or not it was found on the label of a widget """
def __init__(self, widget, atr, intervall=1):
def __init__(self, lbl, img, atr, intervall=1):
Thread.__init__(self)
self._finished = Event()
self._paused = Event()
self.widget = widget
self.lbl = lbl
self.img = img
self.targetATR = atr
self.intervall = intervall
@@ -546,9 +551,11 @@ class cardChecker(Thread):
line = p.stdout.readline().rstrip()
if line == self.targetATR:
gobject.idle_add(self.widget.set_label, STR_CARD_FOUND)
gobject.idle_add(self.lbl.set_label, STR_CARD_FOUND)
gobject.idle_add(self.img.set_from_file, FILE_CARD_FOUND)
else:
gobject.idle_add(self.widget.set_label, STR_NO_CARD)
gobject.idle_add(self.lbl.set_label, STR_NO_CARD)
gobject.idle_add(self.img.set_from_file, FILE_NO_CARD)
except OSError, e:
pass #FIXME

View File

@@ -1,10 +1,14 @@
name = "pace-gui"
version = "@VERSION@"
image_dir = "@prefix@/share/pixmaps"
image_dir = "@prefix@/share/" + name
glade_dir = "@prefix@/share/" + name
STR_NO_CARD = "<span fgcolor=\"red\" font=\"12\">Ausweis</span>"
STR_CARD_FOUND = "<span fgcolor=\"green\" font=\"12\">Ausweis</span>"
FILE_NO_CARD = image_dir + "/error.png"
FILE_CARD_FOUND = image_dir + "/apply.png"
ePA_ATR = "3b:84:80:01:00:00:90:00:95"
TEST_CVC = "\x7F\x21\x82\x01\x41\x7F\x4E\x81\xFA\x5F\x29\x01\x00\x42\x0D\x5A\x5A\x44\x56\x43\x41\x41\x54\x41\x30\x30\x30\x33\x7F\x49\x4F\x06\x0A\x04\x00\x7F\x00\x07\x02\x02\x02\x02\x03\x86\x41\x04\x19\xD1\x75\x45\xD3\xFE\x0B\x34\x3E\x7E\xE2\xAE\x4E\x2B\xC9\x2D\x51\x35\x1C\xC1\x17\xA4\x7F\xA9\x51\x9A\xDB\x1E\x40\x5E\xE6\xB8\x12\x12\x80\xBC\xC2\xFF\xF0\x35\x7A\x19\x7D\xE7\x39\xA7\xFD\x2E\xF0\x22\x10\xEF\x34\x3C\xDB\xE7\x9E\xF9\x4B\x8E\x28\x59\x1B\xB9\x5F\x20\x0B\x5A\x5A\x44\x4B\x42\x32\x30\x30\x30\x30\x52\x7F\x4C\x12\x06\x09\x04\x00\x7F\x00\x07\x03\x01\x02\x02\x53\x05\x00\x03\x01\xDF\x04\x5F\x25\x06\x01\x00\x00\x02\x01\x07\x5F\x24\x06\x01\x00\x00\x03\x03\x01\x65\x5E\x73\x2D\x06\x09\x04\x00\x7F\x00\x07\x03\x01\x03\x01\x80\x20\x75\xE0\xC4\xAC\x36\xC2\x5A\x33\xAC\x0E\x9A\x75\xEB\x79\x2A\x72\xF3\x31\xA5\x1E\x28\x63\x4E\xCC\x2E\xD6\x2E\x54\xF3\xC6\x93\xDA\x73\x2D\x06\x09\x04\x00\x7F\x00\x07\x03\x01\x03\x02\x80\x20\x18\x12\x65\x74\x49\xFC\xF1\xD3\xDA\xD8\x3D\x13\x14\x29\x17\x5C\x61\x8B\x21\xBA\xF0\xAF\x44\xAC\xE3\x8C\xB2\xC1\x2C\xEB\x2A\x56\x5F\x37\x40\x54\x0F\x85\x09\x12\xAB\xD3\x51\xF8\xF5\x56\x9B\x53\x4A\x5C\x8F\x64\x54\x5B\x51\xA7\x34\x70\xBE\x5A\xD2\x89\xC1\x9A\x5E\x13\x52\x53\xD3\xBB\x15\x52\x26\x21\x7B\x41\xE7\xF0\x68\xB3\x52\x3F\x3A\x63\x92\x22\xAF\x2B\x62\x8C\x39\x7D\x4F\xD4\x02\x1E\xDE\x00\xDC"