[gitg: 6/6] Add diff highlight preference
- From: Jesse van den Kieboom <jessevdk src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gitg: 6/6] Add diff highlight preference
- Date: Sun, 3 Jan 2016 19:46:57 +0000 (UTC)
commit a8eda0f3122f184ef290cc16a1612e6a390b5281
Author: Jesse van den Kieboom <jessevdk gnome org>
Date: Sun Jan 3 20:46:23 2016 +0100
Add diff highlight preference
data/org.gnome.gitg.gschema.xml.in.in | 8 +
gitg/Makefile.am | 1 -
gitg/commit/gitg-commit.vala | 14 +-
gitg/preferences/gitg-preferences-dialog.vala | 1 -
gitg/preferences/gitg-preferences-diff.vala | 104 ------------
gitg/preferences/gitg-preferences-interface.vala | 8 +
gitg/resources/gitg-resources.xml.in | 1 -
gitg/resources/ui/gitg-preferences-diff.ui | 192 ----------------------
gitg/resources/ui/gitg-preferences-interface.ui | 44 +++++
libgitg/gitg-diff-view.vala | 3 +
plugins/diff/gitg-diff.vala | 23 ++--
po/POTFILES.in | 2 -
po/POTFILES.skip | 1 -
13 files changed, 82 insertions(+), 320 deletions(-)
---
diff --git a/data/org.gnome.gitg.gschema.xml.in.in b/data/org.gnome.gitg.gschema.xml.in.in
index 03ee81c..bf5e751 100644
--- a/data/org.gnome.gitg.gschema.xml.in.in
+++ b/data/org.gnome.gitg.gschema.xml.in.in
@@ -60,6 +60,14 @@
Automatically update when external changes to .git are detected
</_description>
</key>
+ <key name="enable-diff-highlighting" type="b">
+ <default>true</default>
+ <_summary>Enable Diff Highlighting</_summary>
+ <_description>
+ Setting that determines whether to enable syntax highlighting in diff
+ views.
+ </_description>
+ </key>
</schema>
<schema gettext-domain="@GETTEXT_PACKAGE@" id="org.gnome.gitg.preferences.history"
path="/org/gnome/gitg/preferences/history/">
<key name="collapse-inactive-lanes" type="i">
diff --git a/gitg/Makefile.am b/gitg/Makefile.am
index e57c41a..cba3577 100644
--- a/gitg/Makefile.am
+++ b/gitg/Makefile.am
@@ -98,7 +98,6 @@ gitg_gitg_VALASOURCES = \
gitg/history/gitg-history.vala \
gitg/preferences/gitg-preferences-commit.vala \
gitg/preferences/gitg-preferences-dialog.vala \
- gitg/preferences/gitg-preferences-diff.vala \
gitg/preferences/gitg-preferences-history.vala \
gitg/preferences/gitg-preferences-interface.vala \
libgitg-ext/libgitg-ext-1.0.vapi \
diff --git a/gitg/commit/gitg-commit.vala b/gitg/commit/gitg-commit.vala
index 156bd71..10f9632 100644
--- a/gitg/commit/gitg-commit.vala
+++ b/gitg/commit/gitg-commit.vala
@@ -1908,22 +1908,24 @@ namespace GitgCommit
settings.bind("context-lines",
d_main.diff_view,
"context-lines",
- SettingsBindFlags.GET |
- SettingsBindFlags.SET);
+ SettingsBindFlags.GET | SettingsBindFlags.SET);
settings.bind("tab-width",
d_main.diff_view,
"tab-width",
- SettingsBindFlags.GET |
- SettingsBindFlags.SET);
+ SettingsBindFlags.GET | SettingsBindFlags.SET);
settings = new Settings("org.gnome.gitg.preferences.interface");
settings.bind("use-gravatar",
d_main.diff_view,
"use-gravatar",
- SettingsBindFlags.GET |
- SettingsBindFlags.SET);
+ SettingsBindFlags.GET | SettingsBindFlags.SET);
+
+ settings.bind("enable-diff-highlighting",
+ d_main.diff_view,
+ "highlight",
+ SettingsBindFlags.GET | SettingsBindFlags.SET);
d_main.diff_view.bind_property("has-selection",
d_main.button_stage,
diff --git a/gitg/preferences/gitg-preferences-dialog.vala b/gitg/preferences/gitg-preferences-dialog.vala
index 84a47ed..c013b9f 100644
--- a/gitg/preferences/gitg-preferences-dialog.vala
+++ b/gitg/preferences/gitg-preferences-dialog.vala
@@ -67,7 +67,6 @@ class PreferencesDialog : Gtk.Dialog, Gtk.Buildable
add_page(new PreferencesInterface(), pages);
add_page(new PreferencesHistory(), pages);
add_page(new PreferencesCommit(), pages);
- add_page(new PreferencesDiff(), pages);
ext.foreach((s, info, e) => {
add_page(e as GitgExt.Preferences, pages);
diff --git a/gitg/preferences/gitg-preferences-interface.vala
b/gitg/preferences/gitg-preferences-interface.vala
index 6456050..aea3b69 100644
--- a/gitg/preferences/gitg-preferences-interface.vala
+++ b/gitg/preferences/gitg-preferences-interface.vala
@@ -40,6 +40,9 @@ public class PreferencesInterface : Gtk.Grid, GitgExt.Preferences
[GtkChild (name = "monitoring_enabled" )]
private Gtk.CheckButton d_monitoring_enabled;
+ [GtkChild (name = "diff_highlighting_enabled")]
+ private Gtk.CheckButton d_diff_highlighting_enabled;
+
construct
{
d_settings = new Settings("org.gnome.gitg.preferences.interface");
@@ -74,6 +77,11 @@ public class PreferencesInterface : Gtk.Grid, GitgExt.Preferences
d_monitoring_enabled,
"active",
SettingsBindFlags.GET | SettingsBindFlags.SET);
+
+ d_settings.bind("enable-diff-highlighting",
+ d_diff_highlighting_enabled,
+ "active",
+ SettingsBindFlags.GET | SettingsBindFlags.SET);
}
public override void dispose()
diff --git a/gitg/resources/gitg-resources.xml.in b/gitg/resources/gitg-resources.xml.in
index 3d1fb5e..3ba23df 100644
--- a/gitg/resources/gitg-resources.xml.in
+++ b/gitg/resources/gitg-resources.xml.in
@@ -5,7 +5,6 @@
<file compressed="true" preprocess="xml-stripblanks">ui/gitg-menus.ui</file>
<file compressed="true" preprocess="xml-stripblanks">ui/gitg-preferences-history.ui</file>
<file compressed="true" preprocess="xml-stripblanks">ui/gitg-preferences-commit.ui</file>
- <file compressed="true" preprocess="xml-stripblanks">ui/gitg-preferences-diff.ui</file>
<file compressed="true" preprocess="xml-stripblanks">ui/gitg-preferences-interface.ui</file>
<file compressed="true" preprocess="xml-stripblanks">ui/gitg-preferences.ui</file>
<file compressed="true" preprocess="xml-stripblanks">ui/gitg-clone-dialog.ui</file>
diff --git a/gitg/resources/ui/gitg-preferences-interface.ui b/gitg/resources/ui/gitg-preferences-interface.ui
index 821dc95..34ea7f7 100644
--- a/gitg/resources/ui/gitg-preferences-interface.ui
+++ b/gitg/resources/ui/gitg-preferences-interface.ui
@@ -204,6 +204,50 @@
<property name="top_attach">7</property>
</packing>
</child>
+ <child>
+ <object class="GtkLabel" id="label6">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Diff</property>
+ <property name="margin_top">12</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">8</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid6">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_start">12</property>
+ <property name="hexpand">True</property>
+ <property name="row_spacing">6</property>
+ <child>
+ <object class="GtkCheckButton" id="diff_highlighting_enabled">
+ <property name="label" translatable="yes">Enable syntax highlighting of source code in diff
views</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">start</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">9</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="left_attach">0</property>
diff --git a/libgitg/gitg-diff-view.vala b/libgitg/gitg-diff-view.vala
index b7ae386..0584e5f 100644
--- a/libgitg/gitg-diff-view.vala
+++ b/libgitg/gitg-diff-view.vala
@@ -308,6 +308,7 @@ public class Gitg.DiffView : Gtk.Grid
private void update_diff(Ggit.Diff diff, bool preserve_expanded, Cancellable? cancellable)
{
var files = new Gee.ArrayList<Gitg.DiffViewFile>();
+
Gitg.DiffViewFile? current_file = null;
Ggit.DiffHunk? current_hunk = null;
Gee.ArrayList<Ggit.DiffLine>? current_lines = null;
@@ -350,6 +351,8 @@ public class Gitg.DiffView : Gtk.Grid
add_file();
current_file = new Gitg.DiffViewFile(repository, delta,
new_is_workdir, handle_selection);
+ this.bind_property("highlight", current_file, "highlight",
BindingFlags.SYNC_CREATE);
+
return 0;
},
diff --git a/plugins/diff/gitg-diff.vala b/plugins/diff/gitg-diff.vala
index a1fedec..494242a 100644
--- a/plugins/diff/gitg-diff.vala
+++ b/plugins/diff/gitg-diff.vala
@@ -46,40 +46,39 @@ namespace GitgDiff
settings.bind("ignore-whitespace",
d_diff,
"ignore-whitespace",
- SettingsBindFlags.GET |
- SettingsBindFlags.SET);
+ SettingsBindFlags.GET | SettingsBindFlags.SET);
settings.bind("changes-inline",
d_diff,
"changes-inline",
- SettingsBindFlags.GET |
- SettingsBindFlags.SET);
+ SettingsBindFlags.GET | SettingsBindFlags.SET);
settings.bind("context-lines",
d_diff,
"context-lines",
- SettingsBindFlags.GET |
- SettingsBindFlags.SET);
+ SettingsBindFlags.GET | SettingsBindFlags.SET);
settings.bind("tab-width",
d_diff,
"tab-width",
- SettingsBindFlags.GET |
- SettingsBindFlags.SET);
+ SettingsBindFlags.GET | SettingsBindFlags.SET);
settings.bind("wrap",
d_diff,
"wrap-lines",
- SettingsBindFlags.GET |
- SettingsBindFlags.SET);
+ SettingsBindFlags.GET | SettingsBindFlags.SET);
settings = new Settings("org.gnome.gitg.preferences.interface");
settings.bind("use-gravatar",
d_diff,
"use-gravatar",
- SettingsBindFlags.GET |
- SettingsBindFlags.SET);
+ SettingsBindFlags.GET | SettingsBindFlags.SET);
+
+ settings.bind("enable-diff-highlighting",
+ d_diff,
+ "highlight",
+ SettingsBindFlags.GET | SettingsBindFlags.SET);
d_whenMapped = new Gitg.WhenMapped(d_diff);
diff --git a/po/POTFILES.in b/po/POTFILES.in
index bfb1ed6..1db2072 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -29,7 +29,6 @@ gitg/history/gitg-history-command-line.vala
gitg/history/gitg-history-refs-list.vala
gitg/history/gitg-history.vala
gitg/preferences/gitg-preferences-commit.vala
-gitg/preferences/gitg-preferences-diff.vala
gitg/preferences/gitg-preferences-history.vala
gitg/preferences/gitg-preferences-interface.vala
libgitg/gitg-date.vala
@@ -52,7 +51,6 @@ plugins/files/gitg-files.vala
[type: gettext/glade]gitg/resources/ui/gitg-history-paned.ui
[type: gettext/glade]gitg/resources/ui/gitg-menus.ui
[type: gettext/glade]gitg/resources/ui/gitg-preferences-commit.ui
-[type: gettext/glade]gitg/resources/ui/gitg-preferences-diff.ui
[type: gettext/glade]gitg/resources/ui/gitg-preferences-history.ui
[type: gettext/glade]gitg/resources/ui/gitg-preferences-interface.ui
[type: gettext/glade]gitg/resources/ui/gitg-preferences.ui
diff --git a/po/POTFILES.skip b/po/POTFILES.skip
index 1a7de8c..9807321 100644
--- a/po/POTFILES.skip
+++ b/po/POTFILES.skip
@@ -28,7 +28,6 @@ gitg/history/gitg-history.c
gitg/history/gitg-history-command-line.c
gitg/history/gitg-history-refs-list.c
gitg/preferences/gitg-preferences-commit.c
-gitg/preferences/gitg-preferences-diff.c
gitg/preferences/gitg-preferences-history.c
gitg/preferences/gitg-preferences-interface.c
libgitg/gitg-authentication-dialog.c
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]