]> git.datanom.net - lensdatabase.git/blame - searchwindow.py
update .gitignore and add setup tools
[lensdatabase.git] / searchwindow.py
CommitLineData
29f0e748
MR
1import gi
2gi.require_version("Gtk", "3.0")
3from gi.repository import Gtk
4
5class SearchResultDialog():
6 def __init__(self, builder, db):
7 self.db = db
8 self.window = builder.get_object("search_result_window")
9 self.window.set_title("Lenses matching search")
10 self.window.connect("destroy", self.on_destroy)
11 self.window.set_default_size(600, 300)
12 self.okBtn = builder.get_object("search_result_ok_btn")
13 self.okBtn.connect("clicked", self.on_ok_btn_clicked)
14 box = builder.get_object("search_result_content")
15 self.liststore = Gtk.ListStore(str, int, str, str, int)
16 treeview = Gtk.TreeView()
17 treeview.set_model(self.liststore)
18 for i, title in enumerate(["Maker", "Serial No", "Lens", "Notes"]):
19 renderer = Gtk.CellRendererText()
20 column = Gtk.TreeViewColumn(title, renderer, text=i)
21 treeview.append_column(column)
22 self.scrollable_treelist = Gtk.ScrolledWindow()
23 self.scrollable_treelist.set_vexpand(True)
24 self.scrollable_treelist.add(treeview)
25 box.add(self.scrollable_treelist)
26 self.window.show_all()
27 self.okBtn.grab_focus()
28
29 def addLensData(self, searchData):
30 if self.emptyString(searchData[0]) == True and self.emptyString(searchData[1]) == False:
31 rows = self.db.getLensByPattern(searchData[1])
32 elif self.emptyString(searchData[0]) == False and self.emptyString(searchData[1]) == False:
33 rows = self.db.getLensByMakerPattern(searchData[0], searchData[1])
34 elif self.emptyString(searchData[0]) == False and self.emptyString(searchData[1]) == True:
35 rows = self.db.getLensByMaker(searchData[0])
36 else:
37 rows = None
38 if rows is not None:
39 for row in rows:
40 self.liststore.append(row)
41
42 def emptyString(self, str):
29f0e748
MR
43 return not (str and str.strip())
44
45 def on_ok_btn_clicked(self, button):
46 self.on_destroy(self)
47
48 def on_ok_clicked(self, button):
49 self.on_destroy(self)
50
51 def on_destroy(self, window):
52 self.scrollable_treelist.destroy()
53 self.window.hide()
This page took 0.033247 seconds and 5 git commands to generate.