diff options
author | Martin Sivak <msivak@redhat.com> | 2010-06-21 13:12:32 +0200 |
---|---|---|
committer | Martin Sivak <msivak@redhat.com> | 2010-06-21 13:12:32 +0200 |
commit | 3e49679c9223518dd2b77897bd50f8f993f74540 (patch) | |
tree | 4d0671c83c580b28c456628622c21b2036fb3374 /frontend/frontend_gtk.py | |
parent | f28abaaab97f85a0d22f682942860389a3111c6f (diff) | |
download | firstaidkit-3e49679c9223518dd2b77897bd50f8f993f74540.tar.gz firstaidkit-3e49679c9223518dd2b77897bd50f8f993f74540.tar.xz firstaidkit-3e49679c9223518dd2b77897bd50f8f993f74540.zip |
Add a finer grained possibility to interrupt execution and do some tweaks in Gtk UI
Diffstat (limited to 'frontend/frontend_gtk.py')
-rw-r--r-- | frontend/frontend_gtk.py | 47 |
1 files changed, 23 insertions, 24 deletions
diff --git a/frontend/frontend_gtk.py b/frontend/frontend_gtk.py index 739a1a4..8917387 100644 --- a/frontend/frontend_gtk.py +++ b/frontend/frontend_gtk.py @@ -46,13 +46,11 @@ class CallbacksMainWindow(object): def _o(pages, stopbutton): """Always return False -> remove from the idle queue after first execution""" - gtk.gdk.threads_enter() - try: - for i in range(pages.get_n_pages()): - pages.get_nth_page(i).set_sensitive(True) - stopbutton.set_sensitive(False) - finally: - gtk.gdk.threads_leave() + + for i in range(pages.get_n_pages()): + pages.get_nth_page(i).set_sensitive(True) + stopbutton.set_sensitive(False) + return False def worker(*args): @@ -444,19 +442,23 @@ class MainWindow(object): self.result_list_iter = {} def result_rend_text_func(column, cell_renderer, tree_model, iter, - user_data): + (use_state_fg, use_state_bg, col)): colors = [ - gtk.gdk.Color(red=50000, green=50000, blue=50000), - gtk.gdk.Color(red=10000, green=50000, blue=10000), - gtk.gdk.Color(red=50000, green=10000, blue=10000), - gtk.gdk.Color(red=30000, green=45000, blue=65500) + None, + gtk.gdk.Color(red=40000, green=62000, blue=40000), + gtk.gdk.Color(red=62000, green=40000, blue=40000), + gtk.gdk.Color(red=50000, green=55000, blue=65500) ] + state = tree_model.get_value(iter, 3) - cell_renderer.set_property("cell-background-set", True) - cell_renderer.set_property("cell-background-gdk", colors[state]) + if colors[state] and use_state_bg: + cell_renderer.set_property("cell-background-set", True) + cell_renderer.set_property("cell-background-gdk", colors[state]) + else: + cell_renderer.set_property("cell-background-set", False) - if user_data==2 and state!=2: + if use_state_fg and state!=2: cell_renderer.set_property("foreground-set", True) cell_renderer.set_property("foreground-gdk", gtk.gdk.Color(red=40000, green=40000, blue=40000)) @@ -464,7 +466,7 @@ class MainWindow(object): cell_renderer.set_property("foreground-set", False) cell_renderer.set_property("text", - tree_model.get_value(iter, user_data)) + tree_model.get_value(iter, col)) return self.result_rend_text = gtk.CellRendererText() @@ -472,17 +474,17 @@ class MainWindow(object): self.result_list_col_0 = gtk.TreeViewColumn('Name') self.result_list_col_0.pack_start(self.result_rend_text, True) self.result_list_col_0.set_cell_data_func(self.result_rend_text, - result_rend_text_func, 0) + result_rend_text_func, (False, False, 0)) self.result_list_col_1 = gtk.TreeViewColumn('Status') self.result_list_col_1.pack_start(self.result_rend_text, True) self.result_list_col_1.set_cell_data_func(self.result_rend_text, - result_rend_text_func, 1) + result_rend_text_func, (False, True, 1)) self.result_list_col_2 = gtk.TreeViewColumn('Description') self.result_list_col_2.pack_start(self.result_rend_text, True) self.result_list_col_2.set_cell_data_func(self.result_rend_text, - result_rend_text_func, 2) + result_rend_text_func, (True, False, 2)) self.result_list_col_3 = gtk.TreeViewColumn('Status ID') self.result_list_col_3.pack_start(self.result_rend_text, True) @@ -499,11 +501,8 @@ class MainWindow(object): def _o(func, *args, **kwargs): """Always return False -> remove from the idle queue after first execution""" - try: - gtk.gdk.threads_enter() - func(*args, **kwargs) - finally: - gtk.gdk.threads_leave() + + func(*args, **kwargs) return False def issue_state(self): |