Skip to content

Commit 5561f26

Browse files
author
somebody
committed
show line numbers in a seperate column
1 parent 54c985e commit 5561f26

File tree

1 file changed

+27
-13
lines changed

1 file changed

+27
-13
lines changed

Diff for: sourcecodebrowser/plugin.py

+27-13
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ def __init__(self):
3232
self.expanded_rows = {}
3333

3434
# preferences (should be set by plugin)
35-
self.show_line_numbers = True
3635
self.ctags_executable = 'ctags'
3736
self.expand_rows = True
3837
self.sort_list = True
@@ -81,18 +80,39 @@ def create_ui(self):
8180
GObject.TYPE_STRING, # kind
8281
GObject.TYPE_STRING, # uri
8382
GObject.TYPE_STRING, # line
84-
GObject.TYPE_STRING) # markup
83+
GObject.TYPE_STRING) # markup
84+
8585
self._treeview = Gtk.TreeView.new_with_model(self._store)
86-
self._treeview.set_headers_visible(False)
86+
self._treeview.set_headers_visible(True)
87+
8788
column = Gtk.TreeViewColumn("Symbol")
89+
column.set_expand(True)
90+
column.set_resizable(True)
91+
#column.set_sizing(Gtk.TreeViewColumnSizing.AUTOSIZE)
92+
column.set_min_width(100)
8893
cell = Gtk.CellRendererPixbuf()
8994
column.pack_start(cell, False)
9095
column.add_attribute(cell, 'pixbuf', 0)
9196
cell = Gtk.CellRendererText()
97+
cell.set_property('family','Monospace')
98+
cell.set_property('width',-1)
99+
#cell.set_property('editable',True)
92100
column.pack_start(cell, True)
93101
column.add_attribute(cell, 'markup', 5)
94102
self._treeview.append_column(column)
95103

104+
self.line_column = Gtk.TreeViewColumn("Line")
105+
self.line_column.set_expand(False)
106+
self.line_column.set_resizable(False)
107+
self.line_column.set_sizing(Gtk.TreeViewColumnSizing.AUTOSIZE)
108+
self.line_column.set_min_width(30)
109+
cell = Gtk.CellRendererText()
110+
cell.set_property('family','Monospace')
111+
cell.set_property('xalign',1)
112+
self.line_column.pack_start(cell, True)
113+
self.line_column.add_attribute(cell, 'markup', 4)
114+
self._treeview.append_column(self.line_column)
115+
96116
self._treeview.connect("row-activated", self.on_row_activated)
97117

98118
sw = Gtk.ScrolledWindow()
@@ -146,10 +166,7 @@ def load(self, kinds, tags, uri):
146166
if "class" not in tag.fields:
147167
parent_iter = None
148168
pixbuf = self.get_pixbuf(tag.kind.icon_name())
149-
if 'line' in tag.fields and self.show_line_numbers:
150-
markup = "%s [%s]" % (tag.name, tag.fields['line'])
151-
else:
152-
markup = tag.name
169+
markup = tag.name
153170
kind_iter = self._get_kind_iter(tag.kind, uri, parent_iter)
154171
new_iter = self._store.append(kind_iter, (pixbuf,
155172
tag.name,
@@ -161,10 +178,7 @@ def load(self, kinds, tags, uri):
161178
for tag in tags:
162179
if "class" in tag.fields and "." not in tag.fields['class']:
163180
pixbuf = self.get_pixbuf(tag.kind.icon_name())
164-
if 'line' in tag.fields and self.show_line_numbers:
165-
markup = "%s [%s]" % (tag.name, tag.fields['line'])
166-
else:
167-
markup = tag.name
181+
markup = tag.name
168182
for parent_tag in tags:
169183
if parent_tag.name == tag.fields['class']:
170184
break
@@ -327,7 +341,7 @@ def do_activate(self):
327341
self._version_check()
328342
self._sourcetree = SourceTree()
329343
self._sourcetree.ctags_executable = self.ctags_executable
330-
self._sourcetree.show_line_numbers = self.show_line_numbers
344+
self._sourcetree.line_column.set_visible(self.show_line_numbers)
331345
self._sourcetree.expand_rows = self.expand_rows
332346
self._sourcetree.sort_list = self.sort_list
333347
panel = self.window.get_side_panel()
@@ -446,7 +460,7 @@ def on_setting_changed(self, settings, key, data=None):
446460

447461
if self._sourcetree is not None:
448462
self._sourcetree.ctags_executable = self.ctags_executable
449-
self._sourcetree.show_line_numbers = self.show_line_numbers
463+
self._sourcetree.line_column.set_visible(self.show_line_numbers)
450464
self._sourcetree.expand_rows = self.expand_rows
451465
self._sourcetree.sort_list = self.sort_list
452466
self._sourcetree.expanded_rows = {}

0 commit comments

Comments
 (0)