1 from gi.repository
import Gtk
as gtk
2 from gi.repository
import GObject
as gobject
7 from test_window
import TestWindow
12 self.
window = gtk.Window(gtk.WindowType.TOPLEVEL)
13 self.window.set_title(
'Load Check')
14 self.window.connect(
'destroy',
lambda w: self.window.destroy())
15 self.window.set_border_width(10)
16 self.window.set_default_size(1000, 400)
21 scrolled_win = gtk.ScrolledWindow()
22 scrolled_win.set_policy(gtk.PolicyType.AUTOMATIC, gtk.PolicyType.AUTOMATIC)
23 scrolled_win.add(treeview)
24 vbox.pack_start(scrolled_win,
True,
True, 0)
26 button_box = gtk.HButtonBox()
27 button_box.set_layout(gtk.ButtonBoxStyle.EDGE)
28 cancel_button = gtk.Button(stock=gtk.STOCK_CANCEL, label=
'Cancel')
29 cancel_button.connect(
'clicked',
lambda w: self.window.destroy())
30 button_box.pack_start(cancel_button,
False,
False, 0)
32 delete_button = gtk.Button(stock=gtk.STOCK_DELETE)
33 delete_button.connect(
'clicked',
lambda w: self.
_confirm_delete(treeview))
34 button_box.pack_start(delete_button,
False,
False, 0)
36 load_button = gtk.Button(
'Load')
37 load_image = gtk.Image()
38 load_image.set_from_stock(gtk.STOCK_EXECUTE, gtk.ICON_SIZE_BUTTON)
39 load_button.set_image(load_image)
40 load_button.connect(
'clicked',
lambda w: self.
_load(treeview))
41 button_box.pack_end(load_button,
False,
False, 0)
43 vbox.pack_end(button_box,
False,
False, 0)
44 vbox.pack_end(gtk.HSeparator(),
False,
False, 0)
47 self.window.show_all()
50 list_store = gtk.ListStore(gobject.TYPE_INT,
62 checks_list = Check.db_select(db)
63 for check
in checks_list:
64 created = UIUtils.get_db_timestamp_str(str(check.created))
if check.created !=
None else '-'
65 last_run = UIUtils.get_db_timestamp_str(str(check.last_run))
if check.last_run !=
None else '-'
66 completed = UIUtils.get_db_timestamp_str(str(check.completed))
if check.completed !=
None else '-'
72 for i
in range(len(check.filters)):
73 filters_str += check.filters[i].get_filter_desc_str()
74 if i < len(check.filters) - 1:
77 list_store.append([check.db_id,
84 check.default_context_padding,
85 str(check.pick_randomly),
95 treeview = gtk.TreeView(list_store)
98 col = gtk.TreeViewColumn(
'ID', gtk.CellRendererText(), text=0)
99 col.set_visible(
False)
100 treeview.append_column(col)
103 column_names = [
'Name',
'Created',
'Completed',
'Last Run',
'Input Filename',
'WAV Filename',
'Default Context padding (sec)',
'Pick Segs Randomly',
'Filters']
104 for i
in range(len(column_names)):
105 col = gtk.TreeViewColumn(column_names[i], gtk.CellRendererText(), text=(i + 1))
106 col.set_resizable(
True)
107 col.set_min_width( UIUtils.calc_treeview_col_min_width(column_names[i]) )
108 treeview.append_column(col)
113 (model, it) = treeview.get_selection().get_selected()
114 db_id = model.get_value(it, 0)
if it
else None
117 response = UIUtils.show_confirm_dialog(
'Are you sure you want to delete the selected check?')
121 rows_deleted = Check.db_select(db, [db_id])[0].db_delete(db)
128 UIUtils.show_message_dialog(
'An error occurred and the check could not be deleted.')
131 UIUtils.show_no_sel_dialog()
134 (model, it) = treeview.get_selection().get_selected()
135 db_id = model.get_value(it, 0)
if it
else None
139 check = Check.db_select(db, [db_id])[0]
142 self.window.destroy()
146 UIUtils.show_no_sel_dialog()