[gitg] lines-renderer: use a list instead of a map
- From: Ignacio Casal Quinteiro <icq src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gitg] lines-renderer: use a list instead of a map
- Date: Sun, 20 Dec 2015 11:25:40 +0000 (UTC)
commit 59c2de304443552b40d1a01f3fd04dbd8452b2a7
Author: Ignacio Casal Quinteiro <icq gnome org>
Date: Sun Dec 20 12:24:43 2015 +0100
lines-renderer: use a list instead of a map
The map was actually useless here since were were iterating either
the values or the keys
libgitg/gitg-diff-view-lines-renderer.vala | 16 +++++++++-------
1 files changed, 9 insertions(+), 7 deletions(-)
---
diff --git a/libgitg/gitg-diff-view-lines-renderer.vala b/libgitg/gitg-diff-view-lines-renderer.vala
index fcec858..bc23e7b 100644
--- a/libgitg/gitg-diff-view-lines-renderer.vala
+++ b/libgitg/gitg-diff-view-lines-renderer.vala
@@ -35,10 +35,11 @@ class Gitg.DiffViewLinesRenderer : Gtk.SourceGutterRendererText
{
int start;
int end;
+ Ggit.DiffHunk hunk;
string[] line_infos;
}
- private Gee.HashMap<Ggit.DiffHunk, HunkInfo?> d_hunks_map;
+ private Gee.ArrayList<HunkInfo?> d_hunks_list;
public Style style
{
@@ -69,7 +70,7 @@ class Gitg.DiffViewLinesRenderer : Gtk.SourceGutterRendererText
construct
{
- d_hunks_map = new Gee.HashMap<Ggit.DiffHunk, HunkInfo?>();
+ d_hunks_list = new Gee.ArrayList<HunkInfo?>();
set_alignment(1.0f, 0.5f);
calculate_num_digits();
@@ -85,7 +86,7 @@ class Gitg.DiffViewLinesRenderer : Gtk.SourceGutterRendererText
var line = start.get_line();
HunkInfo? info = null;
- foreach (var i in d_hunks_map.values)
+ foreach (var i in d_hunks_list)
{
if (line >= i.start && line <= i.end)
{
@@ -143,10 +144,10 @@ class Gitg.DiffViewLinesRenderer : Gtk.SourceGutterRendererText
if (style == Style.OLD || style == Style.NEW)
{
- foreach (var hunk in d_hunks_map.keys)
+ foreach (var info in d_hunks_list)
{
- var oldn = hunk.get_old_start() + hunk.get_old_lines();
- var newn = hunk.get_new_start() + hunk.get_new_lines();
+ var oldn = info.hunk.get_old_start() + info.hunk.get_old_lines();
+ var newn = info.hunk.get_new_start() + info.hunk.get_new_lines();
var num = int.max(int.max(oldn, newn), d_maxlines);
@@ -257,9 +258,10 @@ class Gitg.DiffViewLinesRenderer : Gtk.SourceGutterRendererText
info.start = buffer_line_start;
info.end = buffer_line_end;
+ info.hunk = hunk;
info.line_infos = precalculate_line_strings(hunk, lines);
- d_hunks_map[hunk] = info;
+ d_hunks_list.add(info);
recalculate_size();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]