When activating a bottom view row, navigate the log view there
This commit is contained in:
parent
ad32656ecb
commit
ea08ca6805
@ -1007,11 +1007,17 @@ class LineViewLogModel (FilteredLogModel):
|
|||||||
self.line_offsets = []
|
self.line_offsets = []
|
||||||
self.line_levels = []
|
self.line_levels = []
|
||||||
|
|
||||||
|
self.parent_indices = []
|
||||||
|
|
||||||
def reset (self):
|
def reset (self):
|
||||||
|
|
||||||
del self.line_offsets[:]
|
del self.line_offsets[:]
|
||||||
del self.line_levels[:]
|
del self.line_levels[:]
|
||||||
|
|
||||||
|
def parent_line_index (self, line_index):
|
||||||
|
|
||||||
|
return self.parent_indices[line_index]
|
||||||
|
|
||||||
def insert_line (self, position, parent_line_index):
|
def insert_line (self, position, parent_line_index):
|
||||||
|
|
||||||
if position == -1:
|
if position == -1:
|
||||||
@ -1019,6 +1025,7 @@ class LineViewLogModel (FilteredLogModel):
|
|||||||
li = parent_line_index
|
li = parent_line_index
|
||||||
self.line_offsets.insert (position, self.parent_model.line_offsets[li])
|
self.line_offsets.insert (position, self.parent_model.line_offsets[li])
|
||||||
self.line_levels.insert (position, self.parent_model.line_levels[li])
|
self.line_levels.insert (position, self.parent_model.line_levels[li])
|
||||||
|
self.parent_indices.insert (position, parent_line_index)
|
||||||
|
|
||||||
path = (position,)
|
path = (position,)
|
||||||
tree_iter = self.get_iter (path)
|
tree_iter = self.get_iter (path)
|
||||||
@ -1029,6 +1036,7 @@ class LineViewLogModel (FilteredLogModel):
|
|||||||
li = line_index
|
li = line_index
|
||||||
self.line_offsets[li] = self.parent_model.line_offsets[parent_line_index]
|
self.line_offsets[li] = self.parent_model.line_offsets[parent_line_index]
|
||||||
self.line_levels[li] = self.parent_model.line_levels[parent_line_index]
|
self.line_levels[li] = self.parent_model.line_levels[parent_line_index]
|
||||||
|
self.parent_indices[li] = parent_line_index
|
||||||
|
|
||||||
path = (line_index,)
|
path = (line_index,)
|
||||||
tree_iter = self.get_iter (path)
|
tree_iter = self.get_iter (path)
|
||||||
@ -1093,8 +1101,9 @@ class LineView (object):
|
|||||||
def attach (self, window):
|
def attach (self, window):
|
||||||
|
|
||||||
self.line_view = window.widgets.line_view
|
self.line_view = window.widgets.line_view
|
||||||
|
self.line_view.connect ("row-activated", self.handle_line_view_row_activated)
|
||||||
|
|
||||||
log_view = window.log_view
|
self.log_view = log_view = window.log_view
|
||||||
log_view.connect ("notify::model", self.handle_log_view_notify_model)
|
log_view.connect ("notify::model", self.handle_log_view_notify_model)
|
||||||
log_view.connect ("row-activated", self.handle_log_view_row_activated)
|
log_view.connect ("row-activated", self.handle_log_view_row_activated)
|
||||||
sel = log_view.get_selection ()
|
sel = log_view.get_selection ()
|
||||||
@ -1102,6 +1111,14 @@ class LineView (object):
|
|||||||
|
|
||||||
self.column_manager.attach (window)
|
self.column_manager.attach (window)
|
||||||
|
|
||||||
|
def handle_line_view_row_activated (self, view, path, column):
|
||||||
|
|
||||||
|
line_index = path[0]
|
||||||
|
line_model = view.props.model
|
||||||
|
parent_index = line_model.parent_line_index (line_index)
|
||||||
|
path = (parent_index,)
|
||||||
|
self.log_view.scroll_to_cell (path, use_align = True, row_align = .5)
|
||||||
|
|
||||||
def handle_log_view_notify_model (self, view, gparam):
|
def handle_log_view_notify_model (self, view, gparam):
|
||||||
|
|
||||||
log_model = view.props.model
|
log_model = view.props.model
|
||||||
|
Loading…
x
Reference in New Issue
Block a user