Subversion Repositories pub

Compare Revisions

Ignore whitespace Rev 242 → Rev 243

/relevation/branches/1.2.1/gui.py
7,11 → 7,11
 
Simplistic Graphical User Interface.
This GUI is mainly intended to be used in systems where command-lines
are less common, like Widows.
are less common, like Windows.
"""
# Relevation Password Printer
#
# Copyright (c) 2011, Toni Corvera
# Copyright (c) 2011, 2013, Toni Corvera
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
38,22 → 38,26
import sys
import re
import Tkinter as tk
from Tkinter import Frame, Button, Entry, Listbox, Scrollbar, Label
from Tkinter import Frame, Button, Entry, Listbox, Scrollbar, Label, Radiobutton, StringVar
 
import relevation
 
old_fn = relevation.dump_result
 
def append_result(s):
def append_result(typeName, name, descr, notes, fields):
global gui
fields = s.split('\n')
name = fields[2]
name = re.sub('^Name: ', '', name)
gui.lst.insert(tk.END, name)
s = '\n'
s += 'Type: %s\n' % typeName
s += 'Name: %s\n' % name
s += 'Description: %s\n' % descr
s += 'Notes: %s\n' % notes
for field in fields:
s += '%s %s\n' % field
gui.items.append(s)
 
def dump_result_override(res, query_desc):
return old_fn(res,query_desc, append_result)
return old_fn(res, query_desc, append_result)
 
relevation.dump_result = dump_result_override
 
79,7 → 83,17
global rootw
search = self.search_text.get()
self.lst.delete(0, tk.END)
relevation.main(sys.argv[1:] + ['-s', search])
mode = '-O'
args = sys.argv[1:] + [ '-s', ]
if self.mode.get() == relevation.MODE_AND:
mode = '-A'
search = search.split(' ')
args += search
args += [ mode, ]
else:
args += [ search, mode ]
print args
relevation.main(args)
 
def display(self):
global rootw
112,7 → 126,8
relevation.printen = ignoreme
FILL = tk.N+tk.S+tk.E+tk.W
BTNROW = 2
BTNROW = 3
MODEROW = 2
RESROW = 1
# Populate
self.search_text = Entry(self.frame)
127,6 → 142,16
self.search = Button(self.frame, text='Search', command=self.do_find)
#self.search.pack(side=tk.RIGHT)
self.search.grid(row=BTNROW, column=2, padx=5)
 
self.mode = StringVar()
 
mode = relevation.load_config()[2]
self.mode.set(mode)
 
rbO = Radiobutton(self.frame, text="OR/Literal", variable=self.mode, value=relevation.MODE_OR)
rbA = Radiobutton(self.frame, text="AND", variable=self.mode, value=relevation.MODE_AND)
rbO.grid(row=MODEROW, column=0)
rbA.grid(row=MODEROW, column=1)
self.view = Button(self.frame, text='View', command=self.display)
#self.view.pack(side=tk.RIGHT)
/relevation/branches/1.2.1/CHANGELOG
1,5 → 1,8
$Date$
 
1.2.1 (?):
- Updated GUI to the changes in 1.2
 
1.2 (2013-10-21):
- Bugfix: Make case-insensitive search work on uppercase search
strings