Highlight default log on activity start
Fixes https://github.com/sugarlabs/log-activity/issues/15
[remove whitespace change, initialise variable]
Signed-off-by: James Cameron <quozl@laptop.org>
nswarup14 authored 4 years ago
James Cameron committed 4 years ago
64 | 64 | self.extra_files = extra_files |
65 | 65 | # Hold a reference to the monitors so they don't get disposed |
66 | 66 | self._gio_monitors = [] |
67 | self.first_file_open = '|' | |
67 | 68 | |
68 | 69 | self.active_log = None |
69 | 70 | self.logs = {} |
77 | 78 | |
78 | 79 | self._configure_watcher() |
79 | 80 | self._find_logs() |
81 | ||
82 | def _format_col(self, col, cell, model, iterator, user_data): | |
83 | treestore, text_iter = self._treeview.get_selection().get_selected() | |
84 | direc, filename = self.first_file_open.split('|') | |
85 | if text_iter is None: | |
86 | if filename == model.get_value(iterator, 0): | |
87 | parent_iter = model.iter_parent(iterator) | |
88 | if parent_iter is None: | |
89 | cell.props.background_rgba = Gdk.RGBA(1.0, 1.0, 1.0, 1) | |
90 | else: | |
91 | if direc == model.get_value(parent_iter, 0): | |
92 | cell.props.background_rgba = \ | |
93 | Gdk.RGBA(0.75, 0.75, 0.75, 1) | |
94 | else: | |
95 | cell.props.background_rgba = Gdk.RGBA(1.0, 1.0, 1.0, 1) | |
96 | else: | |
97 | cell.props.background_rgba = Gdk.RGBA(1.0, 1.0, 1.0, 1) | |
98 | else: | |
99 | cell.props.background_rgba = Gdk.RGBA(1.0, 1.0, 1.0, 1) | |
80 | 100 | |
81 | 101 | def _build_treeview(self): |
82 | 102 | self._treeview = Gtk.TreeView() |
96 | 116 | |
97 | 117 | renderer = Gtk.CellRendererText() |
98 | 118 | col = Gtk.TreeViewColumn(_('Log Files'), renderer, text=0) |
119 | col.set_cell_data_func(renderer, self._format_col, 0) | |
99 | 120 | self._treeview.append_column(col) |
100 | 121 | |
101 | 122 | renderer = Gtk.CellRendererText() |
221 | 242 | |
222 | 243 | def _show_log(self, logfile): |
223 | 244 | if logfile in self.logs: |
245 | if self.active_log is None: | |
246 | try: | |
247 | direc, filename = os.path.split(logfile) | |
248 | self.first_file_open = time.ctime(float(direc)) + \ | |
249 | '|' + filename | |
250 | except ValueError: | |
251 | self.first_file_open = env.get_profile_path('logs') + \ | |
252 | '|' + logfile | |
224 | 253 | log = self.logs[logfile] |
225 | 254 | self._textview.set_buffer(log) |
226 | 255 | self._textview.scroll_to_mark( |
284 | 313 | written = log._written |
285 | 314 | |
286 | 315 | if self.active_log is None: |
316 | self._show_log(logfile) | |
287 | 317 | self.active_log = log |
288 | self._show_log(logfile) | |
289 | 318 | success, log_iter = \ |
290 | 319 | self._treeview.get_model().convert_child_iter_to_iter(log.iter) |
291 | 320 | self._treeview.get_selection().select_iter(log_iter) |