[gitg] diff-stat: convert to use style classes



commit da1389b5d9f9c1eeba87011552c305bcd1556695
Author: Ignacio Casal Quinteiro <icq gnome org>
Date:   Sun Nov 22 19:30:07 2015 +0100

    diff-stat: convert to use style classes
    
    It seems that we cannot use regions anymore since they are deprecated

 libgitg/gitg-diff-stat.vala            |   48 ++++++++++++++++---------------
 libgitg/resources/ui/libgitg-style.css |   41 ++++++++++++++-------------
 2 files changed, 46 insertions(+), 43 deletions(-)
---
diff --git a/libgitg/gitg-diff-stat.vala b/libgitg/gitg-diff-stat.vala
index 2ec2207..9ce3716 100644
--- a/libgitg/gitg-diff-stat.vala
+++ b/libgitg/gitg-diff-stat.vala
@@ -144,29 +144,31 @@ public class Gitg.DiffStat : Gtk.DrawingArea
                        x -= padding.right + wbar;
                }
 
-               sctx.save();
-               sctx.add_region("added",
-                               Gtk.RegionFlags.FIRST |
-                               (removed == 0 ? Gtk.RegionFlags.ONLY : 0));
-
-               sctx.render_background(context, x, ybar, wbar, hbar);
-
-               sctx.restore();
-               sctx.save();
-
-               x += rtl ? (wbar - wrest) : wbar;
-
-               sctx.add_region("removed",
-                               Gtk.RegionFlags.LAST |
-                               (added == 0 ? Gtk.RegionFlags.ONLY : 0));
-
-               sctx.render_background(context,
-                                      x,
-                                      ybar,
-                                      wrest - wbar,
-                                      hbar);
-
-               sctx.restore();
+               if (added == 0 ||
+                   removed == 0)
+               {
+                       sctx.save();
+                       sctx.add_class(added == 0 ? "removed-only" : "added-only");
+                       sctx.render_background(context, x, ybar, wrest, hbar);
+                       sctx.restore();
+               }
+               else
+               {
+                       sctx.save();
+                       sctx.add_class("added");
+                       sctx.render_background(context, x, ybar, wbar, hbar);
+                       sctx.restore();
+
+                       sctx.save();
+                       sctx.add_class("removed");
+                       x += rtl ? (wbar - wrest) : wbar;
+                       sctx.render_background(context,
+                                              x,
+                                              ybar,
+                                              wrest - wbar,
+                                              hbar);
+                       sctx.restore();
+               }
 
                return false;
        }
diff --git a/libgitg/resources/ui/libgitg-style.css b/libgitg/resources/ui/libgitg-style.css
index 1a751fe..3d67cf3 100644
--- a/libgitg/resources/ui/libgitg-style.css
+++ b/libgitg/resources/ui/libgitg-style.css
@@ -44,6 +44,7 @@ GitgDiffStat {
        border: 1px inset shade(@borders, 1.2);
        border-radius: 5px;
        background-color: shade(@theme_base_color, 0.975);
+       padding: 1px 5px 1px 3px;
        -GitgDiffStat-bar-height: 5px;
 }
 
@@ -51,42 +52,42 @@ GitgDiffStat.no-frame {
        border: 0;
 }
 
-GitgDiffStat added,
-GitgDiffStat removed,
-GitgDiffStat.no-frame added,
-GitgDiffStat.no-frame removed {
+GitgDiffStat.added,
+GitgDiffStat.removed,
+GitgDiffStat.no-frame.added,
+GitgDiffStat.no-frame.removed {
        border: 0;
 }
 
-GitgDiffStat added,
-GitgDiffStat.no-frame added {
+GitgDiffStat.added,
+GitgDiffStat.added-only,
+GitgDiffStat.no-frame.added,
+GitgDiffStat.no-frame.added-only {
        background-color: #ddffdd;
        border-radius: 3px 0px 0px 3px;
 }
 
-GitgDiffStat added:dir(rtl),
-GitgDiffStat.no-frame added:dir(rtl) {
+GitgDiffStat.added:dir(rtl),
+GitgDiffStat.no-frame.added:dir(rtl) {
        border-radius: 0px 3px 3px 0px;
 }
 
-GitgDiffStat removed,
-GitgDiffStat.no-frame removed {
+GitgDiffStat.removed,
+GitgDiffStat.removed-only,
+GitgDiffStat.no-frame.removed,
+GitgDiffStat.no-frame.removed-only {
        background-color: #ffdddd;
        border-radius: 0px 3px 3px 0px;
 }
 
-GitgDiffStat removed:dir(rtl),
-GitgDiffStat.no-frame removed:dir(rtl) {
+GitgDiffStat.removed:dir(rtl),
+GitgDiffStat.no-frame.removed:dir(rtl) {
        border-radius: 3px 0px 0px 3px;
 }
 
-GitgDiffStat removed:only-child,
-GitgDiffStat added:only-child,
-GitgDiffStat.no-frame removed:only-child,
-GitgDiffStat.no-frame added:only-child {
+GitgDiffStat.removed-only,
+GitgDiffStat.added-only,
+GitgDiffStat.no-frame.removed-only,
+GitgDiffStat.no-frame.added-only {
        border-radius: 3px;
 }
-
-GitgDiffStat {
-       padding: 1px 5px 1px 3px;
-}


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]