[gitg/long-lines] Change RenderText to TextView
- From: Alberto Fanjul <albfan src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gitg/long-lines] Change RenderText to TextView
- Date: Sat, 4 Sep 2021 13:57:44 +0000 (UTC)
commit 7cf64ed800da671b65cfdd35c71a0e66393088dc
Author: Alberto Fanjul <albertofanjul gmail com>
Date: Sat Sep 4 15:57:18 2021 +0200
Change RenderText to TextView
libgitg/gitg-diff-view-file-renderer-text.vala | 66 ++++++++++++----------
libgitg/gitg-diff-view-file-selectable.vala | 41 +++++++-------
.../ui/gitg-diff-view-file-renderer-text.ui | 2 +-
plugins/files/gitg-files.vala | 12 ++--
plugins/files/resources/view-files.ui | 2 +-
5 files changed, 66 insertions(+), 57 deletions(-)
---
diff --git a/libgitg/gitg-diff-view-file-renderer-text.vala b/libgitg/gitg-diff-view-file-renderer-text.vala
index 6ef2a984..a8e65200 100644
--- a/libgitg/gitg-diff-view-file-renderer-text.vala
+++ b/libgitg/gitg-diff-view-file-renderer-text.vala
@@ -18,7 +18,7 @@
*/
[GtkTemplate (ui = "/org/gnome/gitg/ui/gitg-diff-view-file-renderer-text.ui")]
-class Gitg.DiffViewFileRendererText : Gtk.SourceView, DiffSelectable, DiffViewFileRenderer
+class Gitg.DiffViewFileRendererText : Gtk.TextView, DiffSelectable, DiffViewFileRenderer
{
private enum RegionType
{
@@ -50,8 +50,8 @@ class Gitg.DiffViewFileRendererText : Gtk.SourceView, DiffSelectable, DiffViewFi
private bool d_highlight;
private Cancellable? d_higlight_cancellable;
- private Gtk.SourceBuffer? d_old_highlight_buffer;
- private Gtk.SourceBuffer? d_new_highlight_buffer;
+ private Gtk.TextBuffer? d_old_highlight_buffer;
+ private Gtk.TextBuffer? d_new_highlight_buffer;
private bool d_old_highlight_ready;
private bool d_new_highlight_ready;
@@ -82,8 +82,10 @@ class Gitg.DiffViewFileRendererText : Gtk.SourceView, DiffSelectable, DiffViewFi
public new int tab_width
{
- get { return (int)get_tab_width(); }
- set { set_tab_width((uint)value); }
+ //get { return (int)get_tab_width(); }
+ //set { set_tab_width((uint)value); }
+ get { return 3; }
+ set { ; }
}
public int maxlines { get; set; }
@@ -177,7 +179,7 @@ class Gitg.DiffViewFileRendererText : Gtk.SourceView, DiffSelectable, DiffViewFi
construct
{
- var gutter = this.get_gutter(Gtk.TextWindowType.LEFT);
+ //var gutter = this.get_gutter(Gtk.TextWindowType.LEFT);
d_old_lines = new DiffViewLinesRenderer(DiffViewLinesRenderer.Style.OLD);
d_new_lines = new DiffViewLinesRenderer(DiffViewLinesRenderer.Style.NEW);
@@ -190,9 +192,9 @@ class Gitg.DiffViewFileRendererText : Gtk.SourceView, DiffSelectable, DiffViewFi
d_new_lines.xpad = 8;
d_sym_lines.xpad = 6;
- gutter.insert(d_old_lines, 0);
- gutter.insert(d_new_lines, 1);
- gutter.insert(d_sym_lines, 2);
+ //gutter.insert(d_old_lines, 0);
+ //gutter.insert(d_new_lines, 1);
+ //gutter.insert(d_sym_lines, 2);
this.set_border_window_size(Gtk.TextWindowType.TOP, 1);
@@ -301,7 +303,7 @@ class Gitg.DiffViewFileRendererText : Gtk.SourceView, DiffSelectable, DiffViewFi
private async void init_highlighting_buffer_new(Cancellable cancellable)
{
- Gtk.SourceBuffer? buffer;
+ Gtk.TextBuffer? buffer;
var file = delta.get_new_file();
@@ -331,7 +333,7 @@ class Gitg.DiffViewFileRendererText : Gtk.SourceView, DiffSelectable, DiffViewFi
}
}
- private async Gtk.SourceBuffer? init_highlighting_buffer(Ggit.DiffFile file, bool from_workdir,
Cancellable cancellable)
+ private async Gtk.TextBuffer? init_highlighting_buffer(Ggit.DiffFile file, bool from_workdir,
Cancellable cancellable)
{
var id = file.get_oid();
var location = get_file_location(file);
@@ -383,21 +385,21 @@ class Gitg.DiffViewFileRendererText : Gtk.SourceView, DiffSelectable, DiffViewFi
return yield init_highlighting_buffer_from_stream(file, location, stream, content_type,
cancellable);
}
- private async Gtk.SourceBuffer? init_highlighting_buffer_from_stream(Ggit.DiffFile file, File
location, InputStream stream, string content_type, Cancellable cancellable)
+ private async Gtk.TextBuffer? init_highlighting_buffer_from_stream(Ggit.DiffFile file, File location,
InputStream stream, string content_type, Cancellable cancellable)
{
var manager = Gtk.SourceLanguageManager.get_default();
var language = manager.guess_language(location != null ? location.get_basename() : null,
content_type);
- var buffer = new Gtk.SourceBuffer(this.buffer.tag_table);
+ var buffer = new Gtk.TextBuffer(this.buffer.tag_table);
if (language != null)
{
- buffer.language = language;
+ //buffer.language = language;
}
var style_scheme_manager = Gtk.SourceStyleSchemeManager.get_default();
- buffer.highlight_syntax = true;
+ //buffer.highlight_syntax = true;
d_stylesettings = try_settings(Gitg.Config.APPLICATION_ID + ".preferences.interface");
if (d_stylesettings != null)
@@ -408,17 +410,22 @@ class Gitg.DiffViewFileRendererText : Gtk.SourceView, DiffSelectable, DiffViewFi
update_style();
} else {
- buffer.style_scheme = style_scheme_manager.get_scheme("classic");
+ //buffer.style_scheme = style_scheme_manager.get_scheme("classic");
}
var sfile = new Gtk.SourceFile();
sfile.location = location;
- var loader = new Gtk.SourceFileLoader.from_stream(buffer, sfile, stream);
+ //var loader = new Gtk.SourceFileLoader.from_stream(buffer, sfile, stream);
try
{
- yield loader.load_async(GLib.Priority.LOW, cancellable, null);
+ var dis = new DataInputStream (stream);
+ string line;
+ while ((line = dis.read_line (null)) != null) {
+ buffer.text += line;
+ }
+ //yield loader.load_async(GLib.Priority.LOW, cancellable, null);
this.strip_carriage_returns(buffer);
}
catch (Error e)
@@ -440,7 +447,7 @@ class Gitg.DiffViewFileRendererText : Gtk.SourceView, DiffSelectable, DiffViewFi
if (s != null)
{
- ((Gtk.SourceBuffer) buffer).style_scheme = s;
+ //((Gtk.TextBuffer) buffer).style_scheme = s;
}
}
@@ -461,19 +468,20 @@ class Gitg.DiffViewFileRendererText : Gtk.SourceView, DiffSelectable, DiffViewFi
return null;
}
- private void strip_carriage_returns(Gtk.SourceBuffer buffer)
+ private void strip_carriage_returns(Gtk.TextBuffer buffer)
{
var search_settings = new Gtk.SourceSearchSettings();
search_settings.regex_enabled = true;
search_settings.search_text = "\\r";
- var search_context = new Gtk.SourceSearchContext(buffer, search_settings);
+ /*var search_context = new Gtk.SourceSearchContext(buffer, search_settings);
try
{
search_context.replace_all("", 0);
} catch (Error e) {}
+ */
}
private void update_highlighting_ready()
@@ -495,7 +503,7 @@ class Gitg.DiffViewFileRendererText : Gtk.SourceView, DiffSelectable, DiffViewFi
// apply the tags that are applied to the highlighted source buffers.
foreach (var region in d_regions)
{
- Gtk.SourceBuffer? source;
+ Gtk.TextBuffer? source;
if (region.type == RegionType.REMOVED)
{
@@ -519,7 +527,7 @@ class Gitg.DiffViewFileRendererText : Gtk.SourceView, DiffSelectable, DiffViewFi
var source_end_iter = source_iter;
source_end_iter.forward_lines(region.length);
- source.ensure_highlight(source_iter, source_end_iter);
+ //source.ensure_highlight(source_iter, source_end_iter);
var buffer_end_iter = buffer_iter;
buffer_end_iter.forward_lines(region.length);
@@ -603,9 +611,9 @@ class Gitg.DiffViewFileRendererText : Gtk.SourceView, DiffSelectable, DiffViewFi
removed_attributes.background = Gdk.RGBA() { red = 1.0, green = 220.0 / 255.0, blue =
220.0 / 255.0, alpha = 1.0 };
}
- this.set_mark_attributes("header", header_attributes, 0);
- this.set_mark_attributes("added", added_attributes, 0);
- this.set_mark_attributes("removed", removed_attributes, 0);
+ //this.set_mark_attributes("header", header_attributes, 0);
+ //this.set_mark_attributes("added", added_attributes, 0);
+ //this.set_mark_attributes("removed", removed_attributes, 0);
}
protected override void constructed()
@@ -618,7 +626,7 @@ class Gitg.DiffViewFileRendererText : Gtk.SourceView, DiffSelectable, DiffViewFi
public void add_hunk(Ggit.DiffHunk hunk, Gee.ArrayList<Ggit.DiffLine> lines)
{
- var buffer = this.buffer as Gtk.SourceBuffer;
+ var buffer = this.buffer as Gtk.TextBuffer;
/* Diff hunk */
var h = hunk.get_header();
@@ -640,7 +648,7 @@ class Gitg.DiffViewFileRendererText : Gtk.SourceView, DiffSelectable, DiffViewFi
}
iter.set_line_offset(0);
- buffer.create_source_mark(null, "header", iter);
+ //buffer.create_source_mark(null, "header", iter);
var header = @"@@ -$(hunk.get_old_start()),$(hunk.get_old_lines())
+$(hunk.get_new_start()),$(hunk.get_new_lines()) @@ $h\n";
buffer.insert(ref iter, header, -1);
@@ -783,7 +791,7 @@ class Gitg.DiffViewFileRendererText : Gtk.SourceView, DiffSelectable, DiffViewFi
if (category != null)
{
buffer.get_iter_at_line(out iter, line_hunk_start + i);
- buffer.create_source_mark(null, category, iter);
+ //buffer.create_source_mark(null, category, iter);
}
}
diff --git a/libgitg/gitg-diff-view-file-selectable.vala b/libgitg/gitg-diff-view-file-selectable.vala
index c80fe9a5..871945f2 100644
--- a/libgitg/gitg-diff-view-file-selectable.vala
+++ b/libgitg/gitg-diff-view-file-selectable.vala
@@ -35,7 +35,7 @@ class Gitg.DiffViewFileSelectable : Object
private Gdk.Cursor d_cursor_hand;
private bool d_is_rubber_band;
- public Gtk.SourceView source_view
+ public Gtk.TextView source_view
{
get; construct set;
}
@@ -50,19 +50,19 @@ class Gitg.DiffViewFileSelectable : Object
var ret = new int[0];
Gtk.TextIter iter;
- unowned Gtk.SourceBuffer buffer = (Gtk.SourceBuffer) source_view.buffer;
+ unowned Gtk.TextBuffer buffer = (Gtk.TextBuffer) source_view.buffer;
buffer.get_start_iter(out iter);
- while (buffer.forward_iter_to_source_mark(ref iter, d_selection_category))
+ /*while (buffer.forward_iter_to_source_mark(ref iter, d_selection_category))
{
ret += iter.get_line();
- }
+ }*/
return ret;
}
- public DiffViewFileSelectable(Gtk.SourceView source_view)
+ public DiffViewFileSelectable(Gtk.TextView source_view)
{
Object(source_view: source_view);
}
@@ -152,7 +152,7 @@ class Gitg.DiffViewFileSelectable : Object
d_selection_tag.foreground_rgba = theme_selected_fg_color;
}
- source_view.set_mark_attributes(d_selection_category, selection_attributes, 0);
+ //source_view.set_mark_attributes(d_selection_category, selection_attributes, 0);
}
private bool get_line_selected(Gtk.TextIter iter)
@@ -161,9 +161,9 @@ class Gitg.DiffViewFileSelectable : Object
start.set_line_offset(0);
- unowned Gtk.SourceBuffer buffer = (Gtk.SourceBuffer) source_view.buffer;
+ unowned Gtk.TextBuffer buffer = (Gtk.TextBuffer) source_view.buffer;
- return buffer.get_source_marks_at_iter(start, d_selection_category) != null;
+ return true;//buffer.get_source_marks_at_iter(start, d_selection_category) != null;
}
private bool get_line_is_diff(Gtk.TextIter iter)
@@ -172,10 +172,10 @@ class Gitg.DiffViewFileSelectable : Object
start.set_line_offset(0);
- unowned Gtk.SourceBuffer buffer = (Gtk.SourceBuffer) source_view.buffer;
+ unowned Gtk.TextBuffer buffer = (Gtk.TextBuffer) source_view.buffer;
- return (buffer.get_source_marks_at_iter(start, "added") != null) ||
- (buffer.get_source_marks_at_iter(start, "removed") != null);
+ return true;//(buffer.get_source_marks_at_iter(start, "added") != null) ||
+ //(buffer.get_source_marks_at_iter(start, "removed") != null);
}
private bool get_line_is_hunk(Gtk.TextIter iter)
@@ -184,9 +184,9 @@ class Gitg.DiffViewFileSelectable : Object
start.set_line_offset(0);
- unowned Gtk.SourceBuffer buffer = (Gtk.SourceBuffer) source_view.buffer;
+ unowned Gtk.TextBuffer buffer = (Gtk.TextBuffer) source_view.buffer;
- return buffer.get_source_marks_at_iter(start, "header") != null;
+ return false;//buffer.get_source_marks_at_iter(start, "header") != null;
}
private bool get_iter_from_pointer_position(out Gtk.TextIter iter)
@@ -225,7 +225,7 @@ class Gitg.DiffViewFileSelectable : Object
private void update_selection_range(Gtk.TextIter start, Gtk.TextIter end, bool select)
{
- unowned Gtk.SourceBuffer buffer = (Gtk.SourceBuffer) source_view.buffer;
+ unowned Gtk.TextBuffer buffer = (Gtk.TextBuffer) source_view.buffer;
Gtk.TextIter real_start, real_end;
@@ -263,7 +263,7 @@ class Gitg.DiffViewFileSelectable : Object
if (select)
{
- buffer.create_source_mark(null, d_selection_category, current);
+ //buffer.create_source_mark(null, d_selection_category, current);
var line_end = current;
@@ -286,7 +286,7 @@ class Gitg.DiffViewFileSelectable : Object
if (!select)
{
- buffer.remove_source_marks(real_start, real_end, d_selection_category);
+ //buffer.remove_source_marks(real_start, real_end, d_selection_category);
buffer.remove_tag(d_selection_tag, real_start, real_end);
}
}
@@ -319,12 +319,13 @@ class Gitg.DiffViewFileSelectable : Object
{
iter.forward_line();
- unowned Gtk.SourceBuffer buffer = (Gtk.SourceBuffer) source_view.buffer;
+ unowned Gtk.TextBuffer buffer = (Gtk.TextBuffer) source_view.buffer;
- if (!buffer.forward_iter_to_source_mark(ref iter, "header"))
+ /*if (!buffer.forward_iter_to_source_mark(ref iter, "header"))
{
iter.forward_to_end();
}
+ */
}
private bool hunk_is_all_selected(Gtk.TextIter iter)
@@ -480,7 +481,7 @@ class Gitg.DiffViewFileSelectable : Object
private void update_has_selection()
{
- unowned Gtk.SourceBuffer buffer = (Gtk.SourceBuffer) source_view.buffer;
+ unowned Gtk.TextBuffer buffer = (Gtk.TextBuffer) source_view.buffer;
Gtk.TextIter iter;
buffer.get_start_iter(out iter);
@@ -493,7 +494,7 @@ class Gitg.DiffViewFileSelectable : Object
}
else
{
- something_selected = buffer.forward_iter_to_source_mark(ref iter,
d_selection_category);
+ //something_selected = buffer.forward_iter_to_source_mark(ref iter,
d_selection_category);
}
if (something_selected != has_selection)
diff --git a/libgitg/resources/ui/gitg-diff-view-file-renderer-text.ui
b/libgitg/resources/ui/gitg-diff-view-file-renderer-text.ui
index cec9a3e5..c4cb5f37 100644
--- a/libgitg/resources/ui/gitg-diff-view-file-renderer-text.ui
+++ b/libgitg/resources/ui/gitg-diff-view-file-renderer-text.ui
@@ -16,7 +16,7 @@
<property name="right_margin">6</property>
<property name="buffer">buffer</property>
</template>
- <object class="GtkSourceBuffer" id="buffer">
+ <object class="GtkTextBuffer" id="buffer">
<property name="highlight_matching_brackets">False</property>
<property name="implicit_trailing_newline">False</property>
</object>
diff --git a/plugins/files/gitg-files.vala b/plugins/files/gitg-files.vala
index b878fc7a..e50d10fc 100644
--- a/plugins/files/gitg-files.vala
+++ b/plugins/files/gitg-files.vala
@@ -97,8 +97,8 @@ namespace GitgFiles
if (s != null)
{
- var buf = d_source.get_buffer() as Gtk.SourceBuffer;
- buf.set_style_scheme(s);
+ var buf = d_source.get_buffer() as Gtk.TextBuffer;
+ //buf.set_style_scheme(s);
}
}
@@ -154,9 +154,9 @@ namespace GitgFiles
update_style();
} else {
- var buf = d_source.get_buffer() as Gtk.SourceBuffer;
+ var buf = d_source.get_buffer() as Gtk.TextBuffer;
var style_scheme_manager = Gtk.SourceStyleSchemeManager.get_default();
- buf.style_scheme = style_scheme_manager.get_scheme("classic");
+ //buf.style_scheme = style_scheme_manager.get_scheme("classic");
}
d_whenMapped = new Gitg.WhenMapped(d_paned);
@@ -199,7 +199,7 @@ namespace GitgFiles
Gtk.TreeModel mod;
Gtk.TreeIter iter;
- var buf = d_source.get_buffer() as Gtk.SourceBuffer;
+ var buf = d_source.get_buffer() as Gtk.TextBuffer;
buf.set_text("");
if (!selection.get_selected(out mod, out iter) || d_model.get_isdir(iter))
@@ -249,7 +249,7 @@ namespace GitgFiles
var manager = Gtk.SourceLanguageManager.get_default();
buf.set_text((string)content);
- buf.language = manager.guess_language(fname, ct);
+ //buf.language = manager.guess_language(fname, ct);
wid = d_source;
}
diff --git a/plugins/files/resources/view-files.ui b/plugins/files/resources/view-files.ui
index 39d76fdd..4c5e2307 100644
--- a/plugins/files/resources/view-files.ui
+++ b/plugins/files/resources/view-files.ui
@@ -2,7 +2,7 @@
<interface>
<!-- interface-requires gtk+ 3.0 -->
<!-- interface-requires gtksourceview 3.0 -->
- <object class="GtkSourceBuffer" id="source_buffer_file"/>
+ <object class="GtkTextBuffer" id="source_buffer_file"/>
<object class="GtkPaned" id="paned_files">
<property name="visible">True</property>
<property name="can_focus">True</property>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]